2.2 KiB
2.2 KiB
Wave-1 Kubernetes Rail Contract
Purpose
Summarize the initial contract rail-kubernetes owns in wave 1.
This repo starts from already-reviewed source documents rather than inventing a new runtime model:
railiance-master/docs/rail-kubernetes-boundary.mdrailiance-cluster/docs/rail-kubernetes-extraction-map.mdrailiance-cluster/docs/rail-kubernetes-substrate-profile.md
What rail-kubernetes Owns
Wave 1 assigns these concerns to the rail:
- the generic workload-on-Kubernetes execution contract
- the generic
railiance/app.tomlworkload declaration surface - generic stage 1 / stage 2 / stage 3 lifecycle semantics
- generic canary, observe, promote, and rollback behavior
- generic wrapper and overlay guidance for workloads that still use the current overlay pattern during migration
What Stays In railiance-cluster
Wave 1 keeps these concerns in the S2 ownership repo:
- k3s bootstrap and host-to-cluster installation
- cluster backup, restore, smoke, and preflight operations
- operator ownership for ingress, TLS, and other cluster-level components
- cluster access delivery and kubeconfig handling
- substrate-level safety rails
Published Substrate Assumptions
Wave 1 rail-kubernetes may assume:
- a Kubernetes API backed by k3s
- Helm-based apply paths
- operator-driven kubeconfig access
- isolated canary exposure as the safe default
- namespace creation during workload rollout
Wave 1 rail-kubernetes must not assume:
- guaranteed weighted routing
- a generic workload RBAC model
- a generic persistent-storage contract
- a secret-delivery contract at the S2 layer
Migration Constraint
Until the extraction is complete, railiance-cluster remains the compatibility
surface for current operators.
The current migration-window handoff is:
rail-kubernetes/bin/railianceis the canonical owner for the six generic lifecycle commands;railiance-cluster/bin/railiancekeeps those command names as a thin delegation shim with a temporary local fallback;- retained S2 operations and non-rail helper debt stay outside this handoff.
See docs/cluster-compatibility-handoff.md for the command-resolution path and
operator migration steps.