NAV DBT dokumentasjon
Felles katalogløsning for generert DBT docs.
Publisering
Publisering gjøres med en HTTP PUT
til https://{HOST}/docs/{TEAM}/{DBT_PROSJEKT}
.
[!WARNING]
HTTP PUT
operasjonen vil erstatte alt du tidligere har publisert for DBT prosjektet du prøver å oppdatere.
Man kan bruke HTTP PATCH
mot samme endepunkt for å gjøre endringer på enkeltfiler.
{HOST}
erstattes med miljøet du vil publisere til
- For prod:
dbt.intern.nav.no
- For dev:
dbt.intern.dev.nav.no
{TEAM}
erstattes med navnet på teamet som eier dbt-prosjektet
{DBT_PROSJEKT}
erstattes med navnet på dbt prosjektet
Alle følgende genererte filer for dokumentasjonen er nødvendig:
index.html
catalog.json
manifest.json
Under er eksempler på publisering med Curl og Python.
Begge eksemplene forutsetter at kommando eller skript kjøres fra katalogen med filene, og igjen må {HOST}
, {TEAM}
og {DBT_PROSJEKT}
erstattes.
Eksempel med curl
curl -X PUT \
-F manifest.json=@manifest.json \
-F catalog.json=@catalog.json \
-F index.html=@index.html \
https://{HOST}/docs/{TEAM}/{DBT_PROSJEKT}
Eksempel med python
import os
import requests
files = [
"manifest.json",
"catalog.json",
"index.html",
]
multipart_form_data={}
for file_path in files:
file_name = os.path.basename(file_path)
with open(file_path, "rb") as file:
file_contents = file.read()
multipart_form_data[file_path] = (file_name, file_contents)
res = requests.put("https://{HOST}/docs/{TEAM}/{DBT_PROSJEKT}", files=multipart_form_data, allow_redirects=False)
res.raise_for_status()
if res.status_code not in ["200", "201"]:
raise requests.exceptions.HTTPError(f"uploading dbt docs, expected status code 200 or 201, got {res.status_code}")
Utvikling
Generer CSS
Du kan manuelt generere CSS med kommandoen nedenfor.
Kommandoen blir også kjørt automatisk ved bruk av Air
.
npx tailwindcss --postcss -i templates/input.css -o assets/css/main.css
Kjøre lokalt med Air
air