diff --git a/apps/argocd/Chart.yaml b/apps/argocd/Chart.yaml new file mode 100644 index 0000000..7018ecb --- /dev/null +++ b/apps/argocd/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +name: argocd +version: 1.0.0 +dependencies: + - name: argo-cd + version: 9.1.0 + repository: https://argoproj.github.io/argo-helm diff --git a/apps/argocd/application.yaml b/apps/argocd/application.yaml new file mode 100644 index 0000000..be5cfb9 --- /dev/null +++ b/apps/argocd/application.yaml @@ -0,0 +1,41 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: argocd + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "-1" # Sync before other apps + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: https://git.mvzijl.nl/marco/veda.git + targetRevision: applicationset-rewrite + path: apps/argocd + helm: + releaseName: argocd + valueFiles: + - values.yaml + destination: + server: https://kubernetes.default.svc + namespace: argocd + syncPolicy: + automated: + prune: false # Be careful with pruning ArgoCD itself + selfHeal: true # Auto-fix configuration drift + syncOptions: + - CreateNamespace=true + - PruneLast=true + - PrunePropagationPolicy=foreground + ignoreDifferences: + # Ignore certain fields that change frequently + - group: apps + kind: Deployment + jsonPointers: + - /spec/replicas # If using HPA + - group: "" + kind: Secret + name: argocd-initial-admin-secret + jsonPointers: + - /data # Don't sync the initial password secret diff --git a/apps/argocd/templates/httproute.yaml b/apps/argocd/templates/httproute.yaml new file mode 100644 index 0000000..9c7e227 --- /dev/null +++ b/apps/argocd/templates/httproute.yaml @@ -0,0 +1,20 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: argocd-server + namespace: {{ .Release.Namespace }} +spec: + parentRefs: + - name: traefik-gateway + namespace: traefik + sectionName: web + hostnames: + - {{ index .Values "argo-cd" "global" "domain" | quote }} + rules: + - matches: + - path: + type: PathPrefix + value: / + backendRefs: + - name: argocd-server + port: 80 diff --git a/apps/argocd/values.yaml b/apps/argocd/values.yaml new file mode 100644 index 0000000..106d1b9 --- /dev/null +++ b/apps/argocd/values.yaml @@ -0,0 +1,7 @@ +argo-cd: + global: + domain: argocd.noxxos.nl + + server: + ingress: + enabled: false