42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
# data — a cluster with the cabinets an environment asks for.
|
|
#
|
|
# A cabinet is a public service dropped in as-is — the upstream image,
|
|
# unmodified, reachable at a known address. It is declared once and installs on
|
|
# either target: a `service.yml` composes it for a laptop, and the addons below
|
|
# install the same one here. The names match deliberately — each cabinet.json
|
|
# carries a `rig_addon` field pointing at ctrl/addons/<name>.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=app
|
|
POSTGRES_USER=app
|
|
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
|