github.com/nais/knorten@v0.0.0-20240104110906-55926958e361/pkg/helm/airflow.go (about) 1 package helm 2 3 import ( 4 "context" 5 6 "github.com/nais/knorten/pkg/database/gensql" 7 ) 8 9 func (c Client) createKnauditInitContainer(ctx context.Context) (map[string]any, error) { 10 knauditImage, err := c.repo.GlobalValueGet(ctx, gensql.ChartTypeAirflow, "knauditImage,omit") 11 if err != nil { 12 return nil, err 13 } 14 15 return map[string]any{ 16 "workers": map[string]any{ 17 "extraInitContainers": []map[string]any{ 18 { 19 "name": "knaudit", 20 "image": knauditImage.Value, 21 "env": []map[string]any{ 22 { 23 "name": "NAMESPACE", 24 "valueFrom": map[string]any{"fieldRef": map[string]string{"fieldPath": "metadata.namespace"}}, 25 }, 26 { 27 "name": "KNAUDIT_PROXY_URL", 28 "value": "http://knaudit-proxy.knada-system.svc.cluster.local", 29 }, 30 { 31 "name": "CA_CERT_PATH", 32 "value": "/etc/pki/tls/certs/ca-bundle.crt", 33 }, 34 { 35 "name": "GIT_REPO_PATH", 36 "value": "/dags", 37 }, 38 { 39 "name": "AIRFLOW_DAG_ID", 40 "valueFrom": map[string]any{"fieldRef": map[string]string{"fieldPath": "metadata.annotations['dag_id']"}}, 41 }, 42 { 43 "name": "AIRFLOW_RUN_ID", 44 "valueFrom": map[string]any{"fieldRef": map[string]string{"fieldPath": "metadata.annotations['run_id']"}}, 45 }, 46 { 47 "name": "AIRFLOW_TASK_ID", 48 "valueFrom": map[string]any{"fieldRef": map[string]string{"fieldPath": "metadata.annotations['task_id']"}}, 49 }, 50 { 51 "name": "AIRFLOW_DB_URL", 52 "valueFrom": map[string]any{"secretKeyRef": map[string]string{"name": "airflow-db", "key": "connection"}}, 53 }, 54 }, 55 "resources": map[string]any{ 56 "requests": map[string]string{ 57 "cpu": "200m", 58 "memory": "128Mi", 59 }, 60 }, 61 "volumeMounts": []map[string]any{ 62 { 63 "mountPath": "/dags", 64 "name": "dags", 65 }, 66 { 67 "mountPath": "/etc/pki/tls/certs/ca-bundle.crt", 68 "name": "ca-bundle-pem", 69 "readOnly": true, 70 "subPath": "ca-bundle.pem", 71 }, 72 }, 73 }, 74 }, 75 }, 76 }, nil 77 }