3462ea37a4
Argo CD's bundled schema is missing terminatingReplicas from the Deployment status spec, causing a ComparisonError on every sync. Ignoring /status entirely is safe — Argo CD never manages status fields; they're owned by kube-controller-manager.
47 lines
1.8 KiB
YAML
47 lines
1.8 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: gitea-gke
|
|
namespace: argocd
|
|
annotations:
|
|
# Apply to the Legion Argo CD instance after registering the GKE cluster.
|
|
# See vault-gke.yaml for the cluster registration steps.
|
|
#
|
|
# Migration checklist (Gitea from Legion to GKE):
|
|
# 1. terraform apply (creates GKE cluster, Cloud SQL gitea DB, secrets)
|
|
# 2. Register GKE cluster with Legion Argo CD (see vault-gke.yaml)
|
|
# 3. Install ESO on GKE: helm install external-secrets external-secrets/external-secrets
|
|
# --namespace external-secrets --create-namespace
|
|
# 4. Apply this Application to Legion Argo CD
|
|
# 5. Verify gitea pod is running on GKE with DB connectivity
|
|
# 6. Take a tar of /data from the Legion Gitea pod and restore to GKE PVC
|
|
# 7. Update Cloudflare Tunnel on Legion: remove git.neuralplatform.ai route
|
|
# 8. Add GKE ingress / GCP LB rule for git.neuralplatform.ai
|
|
# 9. Decommission Gitea on Legion (remove gitea*.yaml from servers/legion/apps/)
|
|
spec:
|
|
project: default
|
|
source:
|
|
repoURL: https://git.neuralplatform.ai/will/infrastructure.git
|
|
targetRevision: main
|
|
path: servers/gcp/k8s/gitea
|
|
destination:
|
|
# Replace GKE_CLUSTER_ENDPOINT after `terraform apply`:
|
|
# terraform -chdir=servers/gcp output -raw gke_cluster_endpoint
|
|
server: https://34.63.89.52
|
|
namespace: gitea
|
|
# terminatingReplicas is a newer Deployment status field that Argo CD's
|
|
# bundled schema doesn't know about — causes ComparisonError during diff.
|
|
# Ignoring /status entirely is safe: Argo CD never manages status fields.
|
|
ignoreDifferences:
|
|
- group: apps
|
|
kind: Deployment
|
|
jsonPointers:
|
|
- /status
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true
|