100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
argo-cd:
|
|
global:
|
|
image:
|
|
tag: "v2.13.8"
|
|
|
|
# Single-node homelab VM (8GB RAM / 6 cores, see claude.md) — no dedicated
|
|
# devops node pool here, so the GKE nodeSelector/toleration pair from the
|
|
# fleet's admin cluster doesn't apply. Every component below is trimmed to
|
|
# a single replica with small resource requests to fit the ~700MB total
|
|
# budget claude.md tracks for ArgoCD.
|
|
|
|
# SSO deferred per claude.md ("not yet implemented") — Dex stays off until
|
|
# that's picked back up. Revisit this file when it is.
|
|
dex:
|
|
enabled: false
|
|
|
|
controller:
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
cpu: 200m
|
|
memory: 400Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 768Mi
|
|
|
|
redis-ha:
|
|
enabled: false
|
|
redis:
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
memory: 128Mi
|
|
|
|
repoServer:
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: 300m
|
|
memory: 512Mi
|
|
|
|
server:
|
|
replicas: 1
|
|
extraArgs:
|
|
- --insecure
|
|
ingress:
|
|
enabled: true
|
|
ingressClassName: contour
|
|
# LAN hostname, matching claude.md's documented access URL. Add the
|
|
# Tailscale nip.io variant (argocd.100.90.248.118.nip.io) the same
|
|
# way Gitea does it if remote access is needed later.
|
|
hostname: "argocd.192.168.1.7.nip.io"
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
# Not used by this repo's Applications (plain Application manifests
|
|
# rendered by generic-argo-apps-chart, not the ApplicationSet CRD) and
|
|
# notifications has no configured trigger/service — both off to save RAM.
|
|
applicationSet:
|
|
enabled: false
|
|
notifications:
|
|
enabled: false
|
|
|
|
configs:
|
|
cm:
|
|
url: "https://argocd.192.168.1.7.nip.io"
|
|
timeout.reconciliation: 3m
|
|
timeout.reconciliation.jitter: 60s
|
|
# ArgoCD's built-in Ingress health check waits for
|
|
# status.loadBalancer.ingress to be populated — that only happens
|
|
# behind a Service type=LoadBalancer. Contour here is exposed via
|
|
# hostPort (MetalLB is installed but not load-bearing, see
|
|
# claude.md), so nothing ever writes that status field and every
|
|
# Ingress sits "Progressing" forever even though it's actually
|
|
# serving traffic fine. Override: an Ingress existing is enough.
|
|
resource.customizations.health.networking.k8s.io_Ingress: |
|
|
hs = {}
|
|
hs.status = "Healthy"
|
|
hs.message = "Ingress considered healthy on sight — this cluster's Contour has no LoadBalancer status to wait on (hostPort, not MetalLB)."
|
|
return hs
|
|
# No custom RBAC policy: single-user homelab, the initial admin secret
|
|
# (kubectl -n argocd get secret argocd-initial-admin-secret) is enough.
|
|
# The fleet's role:admins / role:backend / GitHub-team policy.csv and
|
|
# real teammate emails from the source cluster are dropped here.
|
|
repositories:
|
|
devops-infra-helm-charts:
|
|
url: http://gitea.192.168.1.7.nip.io/mukul/devops-infra-helm-charts.git
|
|
devops-infra-argo-config:
|
|
url: http://gitea.192.168.1.7.nip.io/mukul/devops-infra-argo-config.git
|