From 7797da19f941f90432869f0b420ccb8a789222e2 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 22 Oct 2023 21:50:25 -0500 Subject: [PATCH] jenkins: Add Argo CD pre-sync hook Argo CD will delete and re-create this Job each time it synchronizes the *jenkins* application. The job creates a snapshot of the Jenkins volume using an HTTP request to the Longhorn UI. --- jenkins/argocd-sync-hook.yaml | 25 +++++++++++++++++++++++++ jenkins/kustomization.yaml | 1 + 2 files changed, 26 insertions(+) create mode 100644 jenkins/argocd-sync-hook.yaml diff --git a/jenkins/argocd-sync-hook.yaml b/jenkins/argocd-sync-hook.yaml new file mode 100644 index 0000000..9c0fc29 --- /dev/null +++ b/jenkins/argocd-sync-hook.yaml @@ -0,0 +1,25 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: jenkins-snapshot-hook + namespace: jenkins + annotations: + argocd.argoproj.io/hook: PreSync + argocd.argoproj.io/hook-delete-policy: BeforeHookCreation +spec: + template: + metadata: + labels: + app.kubernetes.io/name: jenkins-snapshot-hook + spec: + containers: + - name: jenkins-snapshot + image: docker.io/curlimages/curl + command: + - curl + - http://longhorn-frontend.longhorn-system/v1/volumes/pvc-4d42f4d3-2f9d-4edd-b82c-b51a385a3276?action=snapshotCreate + - -H + - 'Content-Type: application/json' + - -d + - '{}' + restartPolicy: Never diff --git a/jenkins/kustomization.yaml b/jenkins/kustomization.yaml index d8e2dd5..2018765 100644 --- a/jenkins/kustomization.yaml +++ b/jenkins/kustomization.yaml @@ -7,6 +7,7 @@ labels: resources: - jenkins.yaml +- argocd-sync-hook.yaml configMapGenerator: - name: ssh-known-hosts