# data — a cluster with the dependency containers a soleprint room asks for. # # The point of this profile is that a room declares what it needs once, in # cfg//data/cabinets.json, and gets it on either target: `build.py` # composes those services into docker-compose.yml for a laptop, and the addons # below install the same ones here. The names match deliberately — # soleprint/station/cabinets//cabinet.json carries a `rig_addon` field # pointing at ctrl/addons/.sh. # # Everything lands in the `data` namespace (DATA_NAMESPACE to move it), so # `make cluster reset` on the app namespace leaves the databases alone. # # Costs roughly 2-3 GB with airflow, under 1 without. Airflow's first boot runs # the whole metadata migration, so expect a few minutes before it is ready. PROFILE_NAME=data K8S_VERSION=v1_36 KIND_CONFIG=kind-config.yaml.tpl # Order matters: addons.sh installs in the order listed, and airflow refuses to # start without a metadata database, so postgres comes first. ADDONS="metallb postgres redis airflow" # local, not none — see minimal.env: `none` has no outward-push guard. REGISTRY_MODE=local INGRESS_MODE=hostport DNS_MODE=hosts # Namespace for the dependency containers. DATA_NAMESPACE=data # Postgres identity. The password is not here: postgres.sh generates one on # first install and keeps it across re-runs, so re-running the addon never # rotates the credential out from under whatever is already connected. POSTGRES_DB=soleprint POSTGRES_USER=soleprint POSTGRES_STORAGE=2Gi AIRFLOW_ADMIN_USER=admin # Ports derive from the directory name by default — see ctrl/ports.sh. Reach # the databases with port-forward rather than binding more host ports: # kubectl -n data port-forward svc/postgres 5432:5432 # kubectl -n data port-forward svc/airflow 8080:8080