add fixture-invoicing example, sample-room wrap, kind cluster support

- examples/fixture-invoicing/: FastAPI + Vue + Postgres demo (4-entity invoice fixture)
- cfg/sample/: wraps the fixture (managed.repos points at examples/)
- ctrl/kind-{up,down,status}.sh + per-room k8s render in soleprint/ctrl/k8s/
- build.py: relative repo paths, resilient rmtree, optional k8s render hook
- cfg/.gitignore: stop ignoring sample/ and standalone/ template rooms

Manifests render cleanly but kind cluster has not been run end-to-end yet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-29 05:30:52 -03:00
parent b886455431
commit 5f9cac1947
78 changed files with 3025 additions and 201 deletions

20
ctrl/k8s/kind-config.yaml Normal file
View File

@@ -0,0 +1,20 @@
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
# Single shared cluster for all soleprint rooms.
# Each room deploys into its own namespace; gateway Services pick a
# NodePort from the 30080-30099 range mapped here.
name: spr
nodes:
- role: control-plane
extraPortMappings:
# Room gateway NodePorts (one per active room).
- {containerPort: 30080, hostPort: 30080, protocol: TCP}
- {containerPort: 30081, hostPort: 30081, protocol: TCP}
- {containerPort: 30082, hostPort: 30082, protocol: TCP}
- {containerPort: 30083, hostPort: 30083, protocol: TCP}
- {containerPort: 30084, hostPort: 30084, protocol: TCP}
- {containerPort: 30085, hostPort: 30085, protocol: TCP}
- {containerPort: 30086, hostPort: 30086, protocol: TCP}
- {containerPort: 30087, hostPort: 30087, protocol: TCP}
- {containerPort: 30088, hostPort: 30088, protocol: TCP}
- {containerPort: 30089, hostPort: 30089, protocol: TCP}