Each pod entry in stack.yml now creates its own k8s Deployment with
independent lifecycle and update strategy. Pods with PVCs get Recreate,
pods without get RollingUpdate. This enables maintenance services that
survive main pod restarts.
- cluster_info: get_deployments() builds per-pod Deployments, Services
- cluster_info: Ingress routes to correct per-pod Service
- deploy_k8s: _create_deployment() iterates all Deployments/Services
- deployment: restart swaps Ingress to maintenance service during Recreate
- spec: add maintenance-service key
Single-pod stacks are backward compatible (same resource names).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix contract deployment script in fixturenet-optimism stack
* Configure relay node's announce domain from env
* Configure relay peers list for the relay node from env
* Create and use peer ids from a mounted volume
* Fix command to create watcher config
* Fix mobymask-app deployment script
Former-commit-id: 882f0b16aa