# EXAMPLE PROFILE. rig needs none of these: with no profile it runs on its # built-in defaults (lib/config.sh). To use this one, copy it to data.env in this # directory and name it — PROFILE=data in ctrl/.env, or on the command line. It # then overlays the defaults; anything it does not set, they still supply. # # data — databases and a scheduler for an environment that needs them: postgres, # redis and airflow, each an upstream image run unmodified. # # 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 # 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 the defaults in lib/config.sh: `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