stack-orchestrator/stack_orchestrator/deploy/k8s
Prathamesh Musale 782c71ae36 feat(k8s): enforce kind extraMount compatibility on cluster reuse
Kind applies extraMounts only at cluster creation. When a deployment joins
an existing shared cluster, any extraMount its kind-config declares that
isn't already active on the running control-plane is silently ignored —
PVs backed by those mounts fall through to the node's overlay filesystem
and lose data on cluster destroy.

Validate this up front in create_cluster():
- On cluster reuse, compare the new deployment's extraMounts against the
  live bind mounts on the control-plane container (via docker inspect).
  Fail with a DeployerException listing every mismatched mount and
  pointing at docs/deployment_patterns.md.
- On first-time cluster creation without a /mnt umbrella mount
  (kind-mount-root unset), print a warning that future stacks may
  require a full recreate to add new host-path mounts.

Document the umbrella-mount convention (kind-mount-root) and the
migration path for existing clusters in docs/deployment_patterns.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 09:30:12 +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 so-ad7: build per-pod Service for maintenance container (#744) 2026-04-16 15:07:25 +05:30
deploy_k8s.py so-o2o: kubectl-level Caddy cert backup/restore (#746) 2026-04-17 15:36:40 +05:30
helpers.py feat(k8s): enforce kind extraMount compatibility on cluster reuse 2026-04-20 09:30:12 +00:00
k8s_command.py Apply pre-commit linting fixes 2026-01-21 20:58:31 -05:00