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');