From 708e52dfbb790f89e8c1fb15cd43df54068e81ae Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Sun, 30 Nov 2025 21:00:21 -0600 Subject: [PATCH] add new stack --- clusters/cl01tl/helm/stack/Chart.yaml | 16 ++++ .../helm/stack/templates/application-set.yaml | 80 +++++++++++++++++++ .../helm/stack/templates/application.yaml | 37 +++++++++ 3 files changed, 133 insertions(+) create mode 100644 clusters/cl01tl/helm/stack/Chart.yaml create mode 100644 clusters/cl01tl/helm/stack/templates/application-set.yaml create mode 100644 clusters/cl01tl/helm/stack/templates/application.yaml diff --git a/clusters/cl01tl/helm/stack/Chart.yaml b/clusters/cl01tl/helm/stack/Chart.yaml new file mode 100644 index 000000000..ca492bbd9 --- /dev/null +++ b/clusters/cl01tl/helm/stack/Chart.yaml @@ -0,0 +1,16 @@ +apiVersion: v2 +name: stack +version: 1.0.0 +description: Stack +keywords: + - argocd + - stack + - deployment +home: https://wiki.alexlebens.dev/s/0c2d1896-710d-4972-9bc8-08d71987428a +sources: + - https://github.com/argoproj/argo-cd + - https://gitea.alexlebens.dev/alexlebens/infrastructure +maintainers: + - name: alexlebens +icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png +appVersion: 1.0.0 diff --git a/clusters/cl01tl/helm/stack/templates/application-set.yaml b/clusters/cl01tl/helm/stack/templates/application-set.yaml new file mode 100644 index 000000000..bc22ef8f7 --- /dev/null +++ b/clusters/cl01tl/helm/stack/templates/application-set.yaml @@ -0,0 +1,80 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: application-set-cl01tl + namespace: argocd + labels: + app.kubernetes.io/name: application-set-cl01tl + app.kubernetes.io/instance: argocd + app.kubernetes.io/part-of: argocd +spec: + syncPolicy: + applicationsSync: create-update + preserveResourcesOnDeletion: true + generators: + - git: + repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure + revision: HEAD + directories: + - path: clusters/cl01tl/manifests/* + - path: clusters/cl01tl/manifests/stack + exclude: true + template: + metadata: + name: '{{ .path.basename }}' + spec: + project: default + source: + repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure + targetRevision: HEAD + path: '{{.path.path}}' + helm: + releaseName: '{{ .path.basename }}' + destination: + name: in-cluster + namespace: '{{ .path.basename }}' + revisionHistoryLimit: 3 + ignoreDifferences: + - group: "" + kind: Service + jqPathExpressions: + - .spec.externalName + - group: "apps" + kind: "Deployment" + jsonPointers: + - /spec/template/metadata/annotations/checksum~1secret + - /spec/template/metadata/annotations/checksum~1secret-core + - /spec/template/metadata/annotations/checksum~1secret-jobservice + - /spec/template/metadata/annotations/checksum~1tls + - group: "apps" + kind: "StatefulSet" + jsonPointers: + - /spec/template/metadata/annotations/checksum~1secret + - /spec/template/metadata/annotations/checksum~1tls + - group: "apps" + kind: StatefulSet + jqPathExpressions: + - .spec.volumeClaimTemplates[]?.apiVersion + - .spec.volumeClaimTemplates[]?.kind + - .spec.volumeClaimTemplates[]?.metadata.creationTimestamp + - group: "" + kind: GpuDevicePlugin + jqPathExpressions: + - .metadata.annotations[] + syncPolicy: + automated: + prune: true + selfHeal: false + retry: + limit: 3 + backoff: + duration: 1m + factor: 2 + maxDuration: 15m + syncOptions: + - CreateNamespace=true + - ApplyOutOfSyncOnly=true + - ServerSideApply=true + - PruneLast=true + - RespectIgnoreDifferences=true diff --git a/clusters/cl01tl/helm/stack/templates/application.yaml b/clusters/cl01tl/helm/stack/templates/application.yaml new file mode 100644 index 000000000..cb2ca2413 --- /dev/null +++ b/clusters/cl01tl/helm/stack/templates/application.yaml @@ -0,0 +1,37 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: stack-cl01tl + namespace: argocd + labels: + app.kubernetes.io/name: stack-cl01tl + app.kubernetes.io/instance: argocd + app.kubernetes.io/part-of: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: http://gitea-http.gitea:3000/alexlebens/infrastructure + targetRevision: HEAD + path: clusters/cl01tl/manifests/stack + destination: + name: in-cluster + namespace: argocd + revisionHistoryLimit: 3 + syncPolicy: + automated: + prune: true + selfHeal: false + retry: + limit: 3 + backoff: + duration: 1m + factor: 2 + maxDuration: 15m + syncOptions: + - CreateNamespace=false + - ApplyOutOfSyncOnly=true + - ServerSideApply=true + - PruneLast=true + - RespectIgnoreDifferences=true