Files
platform/argocd/argocd.yaml
Mayne0213 0d38963837 FEAT(argocd): enable GitOps self-management
- Add ArgoCD Application for Helm chart deployment
- Add helm-values.yaml with custom settings
- Configure GOMEMLIMIT=400MiB, GOGC=50
- Disable reconciliation (webhook only)
- Enable anonymous access (Authelia handles auth)
- Move main ingress to helm-values.yaml
- Add separate webhook-ingress.yaml
- Remove ConfigMap files (now in helm-values)
2026-01-09 21:43:36 +09:00

56 lines
1.4 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd
namespace: argocd
annotations:
# Sync early in the wave order
argocd.argoproj.io/sync-wave: "-10"
spec:
project: default
sources:
# Source 1: ArgoCD Helm Chart
- repoURL: https://argoproj.github.io/argo-helm
chart: argo-cd
targetRevision: 7.7.10
helm:
valueFiles:
- $values/argocd/helm-values.yaml
# Source 2: Helm values from Git repo
- repoURL: https://github.com/K3S-HOME/platform.git
targetRevision: main
ref: values
# Source 3: Additional manifests (Ingress, Namespace)
- repoURL: https://github.com/K3S-HOME/platform.git
targetRevision: main
path: argocd/manifests
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
- RespectIgnoreDifferences=true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
# Ignore differences for self-managed resources
ignoreDifferences:
- group: ""
kind: Secret
name: argocd-secret
jsonPointers:
- /data
- group: ""
kind: Secret
name: argocd-initial-admin-secret
jsonPointers:
- /data