Root cause of widespread 'Unknown' sync status / Skipping auto-sync across almost every Application: CoreDNS rewrites forgejo.riotpiao.com to the nginx ingress controller service (rewrite name forgejo.riotpiao.com -> ingress-nginx- controller...), which only listens on 80/443, not 3000. Every git fetch from argocd-repo-server to the :3000 repoURL was timing out (context deadline exceeded), so ArgoCD couldn't compare desired vs live state for any app. Fix: use https://forgejo.riotpiao.com (no port, TLS via nginx + wildcard cert) consistent with the 'all external endpoints HTTPS' requirement. Verified git smart-http response 200 on the new URL before committing.
29 lines
825 B
YAML
29 lines
825 B
YAML
# Phase 1 entry point — the app-of-apps root.
|
|
# Apply once (kubectl apply -k k8s/argocd/root) then sync it; it renders every
|
|
# Application manifest under k8s/argocd/apps/ and those deploy the whole cluster
|
|
# in sync-wave order. Requires Forgejo to be serving the repo (Phase 0 first).
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: homelab-root
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "0"
|
|
spec:
|
|
project: homelab
|
|
source:
|
|
repoURL: https://forgejo.riotpiao.com/riotpiao.com/homelab.git
|
|
targetRevision: main
|
|
path: k8s/argocd/apps
|
|
directory:
|
|
recurse: false
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: argocd
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|