diff --git a/argocd/_app-of-apps.yaml b/argocd/_app-of-apps.yaml index 1372e53..2c54fe2 100644 --- a/argocd/_app-of-apps.yaml +++ b/argocd/_app-of-apps.yaml @@ -1,43 +1,37 @@ apiVersion: argoproj.io/v1alpha1 -kind: ApplicationSet +kind: Application metadata: - name: infrastructure-apps + name: infrastructure-app-of-apps namespace: argocd + labels: + app.kubernetes.io/name: infrastructure-app-of-apps + app.kubernetes.io/part-of: platform + app.kubernetes.io/managed-by: argocd + annotations: + argocd.argoproj.io/sync-wave: "-1" spec: - goTemplate: true - generators: - - git: - repoURL: https://github.com/snothub/sturdy-adventure.git - revision: HEAD - directories: - - path: argocd/infra/*.yaml - template: - metadata: - name: "{{ .path.basenameNormalized }}" - labels: - app.kubernetes.io/name: "{{ .path.basenameNormalized }}" - app.kubernetes.io/part-of: platform - app.kubernetes.io/managed-by: argocd - spec: - project: default - source: - repoURL: https://github.com/snothub/sturdy-adventure.git - targetRevision: HEAD - path: "{{ .path.dir }}" - destination: - server: https://kubernetes.default.svc - namespace: argocd - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true - - Validate=true - - ServerSideApply=true - retry: - limit: 5 - backoff: - duration: 5s - factor: 2 - maxDuration: 3m + project: default + source: + repoURL: https://github.com/fortedigital/sturdy-adventure.git + targetRevision: HEAD + path: argocd + kustomize: + enable: true + destination: + server: https://kubernetes.default.svc + namespace: argocd + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - Validate=true + - ServerSideApply=true + timeout: 300s + retry: + limit: 5 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m diff --git a/argocd/kustomization.yaml b/argocd/kustomization.yaml new file mode 100644 index 0000000..67d305f --- /dev/null +++ b/argocd/kustomization.yaml @@ -0,0 +1,23 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +metadata: + name: infrastructure + +# Include all infrastructure Application manifests as-is (no templating or modification) +resources: + # Platform components + - infra/traefik-application.yaml + - infra/cert-manager-application.yaml + - infra/cluster-resources-application.yaml + - infra/kyverno.yaml + - infra/sealedsecrets.yaml + - infra/trivy.yaml + + # Monitoring stack + - infra/prometheus.yaml + - infra/grafana.yaml + - infra/loki.yaml + - infra/fluent-bit.yaml + + # Business applications (currently empty, will auto-include any YAML files added) + - apps/