stack-orchestrator/stack_orchestrator/deploy/k8s
A. F. Dudley 7f205732f2 fix(k8s): expand etcd cleanup whitelist to preserve core cluster services
_clean_etcd_keeping_certs() only preserved /registry/secrets/caddy-system,
deleting everything else including the kubernetes ClusterIP service in the
default namespace. When kind recreated the cluster with the cleaned etcd,
kube-apiserver saw existing data and skipped bootstrapping the service.
kindnet panicked on KUBERNETES_SERVICE_HOST missing, blocking all pod
networking.

Expand the whitelist to also preserve:
- /registry/services/specs/default/kubernetes
- /registry/services/endpoints/default/kubernetes

Loop over multiple prefixes instead of a single etcdctl get --prefix call.

See docs/bug-laconic-so-etcd-cleanup.md in biscayne-agave-runbook.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:56:13 +00:00
..
helm Fix pyright type errors across codebase 2026-01-22 01:10:36 -05:00
__init__.py Rename app -> stack_orchestrator (#625) 2023-11-07 00:06:55 -07:00
cluster_info.py feat(k8s): per-service resource layering in deployer 2026-03-07 10:26:10 +00:00
deploy_k8s.py feat(k8s): namespace-per-deployment for resource isolation and cleanup 2026-02-03 18:04:52 -05:00
helpers.py fix(k8s): expand etcd cleanup whitelist to preserve core cluster services 2026-03-07 17:56:13 +00:00
k8s_command.py Apply pre-commit linting fixes 2026-01-21 20:58:31 -05:00