github.com/nais/knorten@v0.0.0-20240104110906-55926958e361/pkg/database/migrations/026_use_git_sync_from_chart.sql (about) 1 -- +goose Up 2 DELETE FROM chart_global_values WHERE "key" IN ('scheduler.extraContainers','scheduler.extraInitContainers','webserver.extraContainers','workers.extraInitContainers'); 3 DELETE FROM chart_global_values WHERE "key" IN ('webserver.extraVolumes','webserver.extraVolumeMounts','scheduler.extraVolumes','scheduler.extraVolumeMounts','workers.extraVolumes','workers.extraVolumeMounts'); 4 5 INSERT INTO chart_global_values ("key","value","chart_type") VALUES 6 ('dags.gitSync.enabled','true','airflow'), 7 ('dags.gitSync.extraVolumeMounts','[{"mountPath":"/keys","name":"github-app-secret"}]','airflow'), 8 ('dags.gitSync.uid','50000','airflow'), 9 ('dags.gitSync.wait','30','airflow'), 10 ('images.gitSync.repository','europe-north1-docker.pkg.dev/knada-gcp/knada-north/git-sync','airflow'), 11 ('images.gitSync.tag','2023-09-20-3eab00d','airflow'); 12 13 INSERT INTO chart_global_values ("key","value","chart_type") VALUES 14 ('webserver.extraVolumes','[{"name":"airflow-auth","configMap":{"name":"airflow-auth-cm"}},{"name":"airflow-webserver","configMap":{"name":"airflow-webserver-cm"}}]','airflow'), 15 ('webserver.extraVolumeMounts','[{"mountPath":"/opt/airflow/auth.py","subPath":"auth.py","name":"airflow-auth"},{"mountPath":"/opt/airflow/webserver_config.py","subPath":"webserver_config.py","name":"airflow-webserver"}]','airflow'), 16 ('scheduler.extraVolumes','[{"name":"github-app-secret","secret":{"defaultMode":448,"secretName":"github-secret"}}]','airflow'), 17 ('scheduler.extraVolumeMounts','[{"mountPath":"/dags","name":"dags"}]','airflow'), 18 ('workers.extraVolumes','[{"name":"github-app-secret","secret":{"defaultMode":448,"secretName":"github-secret"}},{"name":"ca-bundle-pem","configMap":{"defaultMode":420,"name":"ca-bundle-pem"}}]','airflow'), 19 ('workers.extraVolumeMounts','[{"mountPath":"/dags","name":"dags"},{"mountPath":"/etc/pki/tls/certs/ca-bundle.crt","name":"ca-bundle-pem","readOnly":true,"subPath":"ca-bundle.pem"}]','airflow'); 20 21 INSERT INTO chart_global_values ("key","value","chart_type") VALUES 22 ('workers.extraInitContainers','[{"name":"knaudit","env":[{"name":"NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}},{"name":"ORACLE_URL","valueFrom":{"secretKeyRef":{"name":"oracle-url","key":"ORACLE_URL"}}},{"name":"CA_CERT_PATH","value":"/etc/pki/tls/certs/ca-bundle.crt"},{"name":"GIT_REPO_PATH","value":"/dags"},{"name":"AIRFLOW_DAG_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''dag_id'']"}}},{"name":"AIRFLOW_RUN_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''run_id'']"}}},{"name":"AIRFLOW_TASK_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''task_id'']"}}},{"name":"AIRFLOW_DB_URL","valueFrom":{"secretKeyRef":{"name":"airflow-db","key":"connection"}}}],"image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/knaudit:2023-09-04-34a8e3c","volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/etc/pki/tls/certs/ca-bundle.crt","name":"ca-bundle-pem","readOnly":true,"subPath":"ca-bundle.pem"}]}]','airflow'); 23 24 UPDATE chart_team_values SET "key" = 'dags.gitSync.repo' WHERE "key" = 'scheduler.extraContainers.[0].args.[0]'; 25 UPDATE chart_team_values SET "key" = 'dags.gitSync.branch' WHERE "key" = 'scheduler.extraContainers.[0].args.[1]'; 26 27 DELETE FROM chart_team_values WHERE "key" IN ( 28 'scheduler.extraInitContainers.[0].args.[0]', 29 'scheduler.extraInitContainers.[0].args.[1]', 30 'workers.extraInitContainers.[0].args.[0]', 31 'workers.extraInitContainers.[0].args.[1]', 32 'webserver.extraContainers.[0].args.[0]', 33 'webserver.extraContainers.[0].args.[1]' 34 ); 35 36 -- +goose Down 37 DELETE FROM chart_global_values WHERE "key" = 'workers.extraInitContainers'; 38 DELETE FROM chart_global_values WHERE "key" IN ('dags.gitSync.enabled','dags.gitSync.extraVolumeMounts','images.gitSync.repository','images.gitSync.tag'); 39 40 INSERT INTO chart_global_values ("key","value","chart_type") VALUES 41 ('scheduler.extraContainers','[{"name":"git-sync","image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/git-sync:2023-08-31-2f998de","resources":{"requests":{"cpu":"100m","memory":"128Mi","ephemeral-storage":"64Mi"}},"command":["/bin/sh","/git-sync.sh"],"args":["","","/dags","60"],"volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"}]}]','airflow'), 42 ('scheduler.extraInitContainers','[{"name":"git-clone","image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/git-sync:2023-08-31-2f998de","resources":{"requests":{"cpu":"100m","memory":"128Mi","ephemeral-storage":"64Mi"}},"command":["/bin/sh","/git-clone.sh"],"args":["","","/dags","60"],"volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"}]}]','airflow'), 43 ('webserver.extraContainers','[{"name":"git-sync","image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/git-sync:2023-08-31-2f998de","resources":{"requests":{"cpu":"100m","memory":"128Mi","ephemeral-storage":"64Mi"}},"command":["/bin/sh","/git-sync.sh"],"args":["","","/dags","60"],"volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"}]}]','airflow'), 44 ('workers.extraInitContainers','[{"name":"git-clone","image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/git-sync:2023-08-31-2f998de","command":["/bin/sh","/git-clone.sh"],"args":["","","/dags","60"],"volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"}]},{"name":"knaudit","env":[{"name":"NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.namespace"}}},{"name":"ORACLE_URL","valueFrom":{"secretKeyRef":{"name":"oracle-url","key":"ORACLE_URL"}}},{"name":"CA_CERT_PATH","value":"/etc/pki/tls/certs/ca-bundle.crt"},{"name":"GIT_REPO_PATH","value":"/dags"},{"name":"AIRFLOW_DAG_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''dag_id'']"}}},{"name":"AIRFLOW_RUN_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''run_id'']"}}},{"name":"AIRFLOW_TASK_ID","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations[''task_id'']"}}},{"name":"AIRFLOW_DB_URL","valueFrom":{"secretKeyRef":{"name":"airflow-db","key":"connection"}}}],"image":"europe-north1-docker.pkg.dev/knada-gcp/knada-north/knaudit:2023-09-04-34a8e3c","volumeMounts":[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/etc/pki/tls/certs/ca-bundle.crt","name":"ca-bundle-pem","readOnly":true,"subPath":"ca-bundle.pem"}]}]','airflow'); 45 46 INSERT INTO chart_global_values ("key","value","chart_type") VALUES 47 ('scheduler.extraVolumes','[{"name":"dags-data","emptyDir":{}},{"name":"github-app-secret","secret":{"defaultMode":448,"secretName":"github-secret"}}]','airflow'), 48 ('scheduler.extraVolumeMounts','[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"}]','airflow'), 49 ('workers.extraVolumes','[{"name":"dags-data","emptyDir":{}},{"name":"github-app-secret","secret":{"defaultMode":448,"secretName":"github-secret"}},{"name":"ca-bundle-pem","configMap":{"defaultMode":420,"name":"ca-bundle-pem"}}]','airflow'), 50 ('workers.extraVolumeMounts','[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"},{"mountPath":"/etc/pki/tls/certs/ca-bundle.crt","name":"ca-bundle-pem","readOnly":true,"subPath":"ca-bundle.pem"}]','airflow'), 51 ('webserver.extraVolumes','[{"name":"airflow-auth","configMap":{"name":"airflow-auth-cm"}},{"name":"airflow-webserver","configMap":{"name":"airflow-webserver-cm"}},{"name":"dags-data","emptyDir":{}},{"name":"github-app-secret","secret":{"defaultMode":448,"secretName":"github-secret"}}]','airflow'), 52 ('webserver.extraVolumeMounts','[{"mountPath":"/dags","name":"dags-data"},{"mountPath":"/keys","name":"github-app-secret"},{"mountPath":"/opt/airflow/auth.py","subPath":"auth.py","name":"airflow-auth"},{"mountPath":"/opt/airflow/webserver_config.py","subPath":"webserver_config.py","name":"airflow-webserver"}]','airflow'); 53 54 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 55 (SELECT 'scheduler.extraInitContainers.[0].args.[0]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.repo'); 56 57 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 58 (SELECT 'scheduler.extraInitContainers.[0].args.[1]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.branch'); 59 60 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 61 (SELECT 'scheduler.extraContainers.[0].args.[0]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.repo'); 62 63 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 64 (SELECT 'scheduler.extraContainers.[0].args.[1]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.branch'); 65 66 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 67 (SELECT 'webserver.extraContainers.[0].args.[0]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.repo'); 68 69 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 70 (SELECT 'webserver.extraContainers.[0].args.[1]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.branch'); 71 72 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 73 (SELECT 'workers.extraInitContainers.[0].args.[0]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.repo'); 74 75 INSERT INTO chart_team_values ("key","value","chart_type","team_id","created") 76 (SELECT 'workers.extraInitContainers.[0].args.[1]', "value", "chart_type", "team_id", "created" FROM chart_team_values WHERE "key" = 'dags.gitSync.branch'); 77 78 DELETE FROM chart_team_values WHERE "key" IN ('dags.gitSync.repo','dags.gitSync.branch','dags.gitSync.extraVolumeMounts','images.gitSync.repository','images.gitSync.tag');