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

37 lines
1.5 KiB
Markdown

# 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 |
```bash
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.