Files
Mukul SharmaandClaude Opus 5 5aa0439a20 GKE: app registry and bootstrap Application for gke-toolshed-prd-usc1
Adds the GCP counterpart of the homelab's cluster entry point, alongside
it rather than replacing it, so the two clusters never share a values
file:

- values/incubator-infra-gke-toolshed-prd-usc1-values.yaml, starting with
  only argocd, gitea and cert-manager. Every appSpec entry's nameOverride
  equals the Helm release name each is installed under by hand, which is
  what makes ArgoCD adopt those releases instead of rendering a second
  copy of each.
- incubator/incubator-infra-gke-toolshed-prd-usc1.yaml, the parent
  Application, applied once by hand.
- app-of-projects.yaml and the devops AppProject now point at this
  cluster's Gitea over cluster DNS, not the homelab's LAN hostname.

Sources are reached at gitea-http.gitea.svc.cluster.local:3000 rather
than through an Ingress: ArgoCD has to read them before Contour exists,
since Contour is itself one of the Applications it installs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LEsTefWWifp4ikvhHF5s6N
2026-09-12 13:16:01 +05:30

31 lines
1015 B
YAML

# Bootstrap Application, applied once by hand (like incubator/*.yaml) —
# ArgoCD can't sync its own entry points. Syncs everything under projects/
# so AppProject objects (like "devops") are GitOps-managed instead of a
# manual one-off kubectl apply. Mirrors devops-argo-config's
# app-of-projects.yaml, which this repo never had an equivalent of.
#
# Uses the built-in "default" project (always exists) — no chicken-and-egg
# problem, since what it deploys (AppProject CRs) doesn't itself require a
# pre-existing project.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app-of-projects
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: 'http://gitea-http.gitea.svc.cluster.local:3000/gitadmin/devops-infra-argo-config-gcp.git'
targetRevision: main
path: projects
directory:
recurse: true
destination:
name: in-cluster
namespace: argocd
syncPolicy:
automated:
prune: true