Non-Functional Delta: 010-kubernetes-runtime
Parent state: 009-order-management-matcher
This state changes runtime and operations model while keeping baseline functional behavior stable.
Runtime / Operationsβ
- Local runtime target is Kubernetes (Kind baseline by default, optional Minikube path).
- Generated state includes:
- Kind cluster config with fixed host port mapping (
8080 -> nodePort 30080) - Kubernetes manifests (namespace, deployments, services, edge-proxy config)
- Kubernetes observability manifests (Prometheus, Grafana, Loki, Tempo, OpenTelemetry collector, blackbox exporter)
- Build plan for deterministic local image build/load flow.
- Kind cluster config with fixed host port mapping (
- Canonical runtime scripts:
scripts/start-state-010-kubernetes-runtime-generated.shscripts/stop-state-010-kubernetes-runtime-generated.shscripts/status-state-010-kubernetes-runtime-generated.shscripts/test-state-010-kubernetes-runtime.sh
Security / Complianceβ
- No new authn/authz model introduced in this state (intentionally baseline/legacy-like).
- Network surface is reduced to one browser entrypoint (
localhost:8080) plus internal cluster service networking.
Deployment Profile Planningβ
- Kubernetes lineage deploy bundles should use profile
aws-ec2-k8s(notaws-ec2-compose). - Profile is specification-defined but intentionally disabled until generator support is implemented.
- Enablement requires generated Kubernetes deploy assets, host prerequisite checks, and profile smoke tests.
Performance / Scalabilityβ
- Services run as Kubernetes Deployments with explicit replica counts (default
1for baseline determinism). - State prepares topology for later horizontal scaling and autoscaling overlays without changing baseline contracts.
Reliability / Observabilityβ
- Startup scripts gate readiness by waiting for Kubernetes deployment availability and edge health endpoint.
- State status script provides deployment/pod/service visibility plus ingress health probes.
- Inherited observability capabilities from state
009-order-management-matcherare preserved through ingress-routed endpoints:- Grafana:
http://localhost:8080/grafana - Prometheus:
http://localhost:8080/prometheus
- Grafana: