Configure myks with global repoURL pointing to Forgejo, in-cluster destination, and disabled placeholder cluster Secret. Implement App of Apps pattern with a root Application that syncs all child apps. Add argocd-deploy-key-init Job that generates an ed25519 SSH keypair, registers it as a deploy key via Forgejo API, and creates the ArgoCD repository secret with insecure host key verification (avoids chicken-and-egg with ArgoCD managing its own known hosts ConfigMap). Additional changes: - Ignore /status field diffs globally (K8s 1.32 compat) - Add Replace=true sync option on Jobs (immutable resource compat) - Switch job images from bitnami/kubectl to alpine/k8s - Update CLAUDE.md with ArgoCD status and no-bitnami rule Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
632 B
YAML
26 lines
632 B
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
annotations:
|
|
myks.dev/environment: production
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
name: app-production-forgejo
|
|
namespace: argocd
|
|
spec:
|
|
destination:
|
|
namespace: forgejo
|
|
server: https://kubernetes.default.svc
|
|
project: env-production
|
|
source:
|
|
path: rendered/envs/production/forgejo
|
|
repoURL: ssh://git@git.tr1ceracop.de:222/gitea_admin/k8s-and-chill.git
|
|
targetRevision: main
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true
|