mail-address-semantics/deploy/railiance/README.md
tegwick f18eb0b8df Add an on/off switch for the MAS facility.
MAS-WP-0007 is finished. power.sh scales the MX and statute together
and records the power annotation. apply.sh keeps an off facility off.
The live facility was annotated power=on and was not restarted.

Assistant: grok
Assistant-Session: 01a198fa-fd27-7e41-a0a2-57355c3e4efd
2026-11-01 22:46:46 +01:00

1.5 KiB

MAS facility

The MX and the statute for mas.coulomb.social. Replies go out through Scaleway TEM and stay capped at 300. MAS-WP-0007.

On and off

power.sh scales deploy/mas-mx and deploy/mas-statute together. It writes annotation mas.coulomb.social/power on namespace mas.

Power What runs What stays
on both Deployments at 1 replica evidence PVC, Services, Ingress, ExternalSecret, DNS, OpenBao role
off both Deployments at 0 the same durable parts; port 25 has no ready pod
KUBECONFIG=~/.kube/config-railiance01 deploy/railiance/power.sh status
KUBECONFIG=~/.kube/config-railiance01 deploy/railiance/power.sh off
KUBECONFIG=~/.kube/config-railiance01 deploy/railiance/power.sh on

The workstation's default kubeconfig is ops-mason-builder. That identity can see Services and cannot scale these Deployments. Use the railiance01 admin kubeconfig for power.sh and apply.sh.

apply.sh IMAGE renders manifests.yaml and applies it. When the annotation is off, both Deployments are rendered at 0 replicas, so a later apply does not turn the facility back on. A missing annotation means on. The script stops if it cannot read the namespace.

Limits

One replica. The image is side-loaded into k3s containerd, not pulled from a registry. SMTP TLS is the image's snakeoil certificate. The running image is docker.io/library/mas-live:v0.2-480e69a, whose banner still says MAS live test. These stay until a later decision. This switch does not roll a new image.