Files
cd/manifests/ha/base/overlays/cd-server-deployment.yaml
zeekay 8b4639d4db Add a native Helm chart for Hanzo CD
charts/cd installs the same hanzocd-* objects manifests/install.yaml does
(59/59 identical by kind+name) so `helm install` is a first-class path
alongside kubectl -k. HA mode (ha.enabled) swaps in the redis-ha dependency,
matching manifests/ha/install.yaml outside the redis subsystem (53/53
identical); hack/verify-helm-chart.sh enforces both on every run and is
wired into `make release-precheck`.

Fixes discovered getting there: the four HA kustomize overlays and the
redis-ha proxy NetworkPolicy still targeted pre-rename cd-* names, so
`kustomize build manifests/ha/cluster-install` was broken and the committed
manifests/ha/*.yaml were stale (still shipping cd-server et al). Regenerated
all four ha/*.yaml from the fixed base. The Helm chart also closes a second
gap: nothing created the hanzocd-redis secret for HA installs (the vendored
redis-ha chart's own pods never run our redis-initial-password bootstrap),
so charts/cd runs it once as a pre-install hook.
2026-09-05 00:53:35 -07:00

30 lines
824 B
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: hanzocd-server
spec:
replicas: 2
template:
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: hanzocd-server
topologyKey: kubernetes.io/hostname
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: hanzocd-server
topologyKey: topology.kubernetes.io/zone
containers:
- name: hanzocd-server
env:
- name: CD_API_SERVER_REPLICAS
value: '2'
args:
- /usr/local/bin/hanzocd-server