diff --git a/k8s/argocd/apps/-1-projects.yaml b/k8s/argocd/apps/-1-projects.yaml new file mode 100644 index 0000000..1129a5c --- /dev/null +++ b/k8s/argocd/apps/-1-projects.yaml @@ -0,0 +1,25 @@ +# Wave -1 — AppProject definitions (must sync before any Application that references them). +# Syncs k8s/argocd/projects/ which was previously applied by hand. +# Enabled by Stage 1 (A2). +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: argocd-projects + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io + annotations: + argocd.argoproj.io/sync-wave: "-1" +spec: + project: homelab + revisionHistoryLimit: 3 + syncPolicy: + automated: + prune: true + selfHeal: true + source: + repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git + targetRevision: main + path: k8s/argocd/projects + destination: + server: https://kubernetes.default.svc diff --git a/k8s/argocd/projects/homelab-project.yaml b/k8s/argocd/projects/homelab-project.yaml index 70d19b2..3673708 100644 --- a/k8s/argocd/projects/homelab-project.yaml +++ b/k8s/argocd/projects/homelab-project.yaml @@ -12,9 +12,9 @@ spec: description: Homelab GitOps — single-repo, in-cluster destinations only sourceRepos: - https://github.com/Riotpiaole/riotpiao.homelab.com.git - # In-cluster Forgejo — api-gw (k8s/argocd/apps/55-api-gateway.yaml) sources - # rock/homelab-frontend from here. - - https://forgejo.riotpiao.com/rock/homelab-frontend.git + # In-cluster Forgejo wildcard — all rock/* repos can be onboarded without + # touching this AppProject. Enabled by Stage 1 (A1). + - https://forgejo.riotpiao.com/rock/* # Public Helm chart repos referenced by k8s/argocd/apps/* and bootstrap/* - https://cloudnative-pg.github.io/charts - https://dl.gitea.com/charts/ diff --git a/k8s/argocd/projects/kustomization.yaml b/k8s/argocd/projects/kustomization.yaml new file mode 100644 index 0000000..14e8c96 --- /dev/null +++ b/k8s/argocd/projects/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +metadata: + name: argocd-projects + +# AppProject definitions for ArgoCD. Synced by wave -1 Application +# (k8s/argocd/apps/-1-projects.yaml) so they exist before any Application +# references them. Enabled by Stage 1 (A2). +resources: + - homelab-project.yaml