Apply Railiance01 firewall-only converge and close RAIL-HO-WP-0009
Some checks are pending
CI Smoke / container-smoke (push) Waiting to run
CI Smoke / host-smoke (push) Successful in 0s

Operator-approved playbooks/firewall.yaml --tags firewall removed the
three public 6443 grants. Live UFW now matches ADR-005 (OpenSSH + Nydus).
This commit is contained in:
codex 2026-08-15 17:57:17 +02:00
parent 4d9e77c968
commit d0e8f9f24e
4 changed files with 18 additions and 15 deletions

View file

@ -292,7 +292,7 @@ converge-tags: ## Run only certain tags: make converge-tags TAGS="base,ufw"
converge-firewall: ## Apply only UFW tasks: make converge-firewall HOST=Railiance01
@test -n "$(HOST)" || (echo "Usage: make converge-firewall HOST=Railiance01"; exit 1)
cd $(ANS_DIR) && ansible-playbook $(PLAY) $(ANSIBLE_USER_FLAG) -l $(HOST) --tags firewall
cd $(ANS_DIR) && ansible-playbook playbooks/firewall.yaml $(ANSIBLE_USER_FLAG) -l $(HOST) --tags firewall
converge-check: ## Dry-run (no changes), great for previews
cd $(ANS_DIR) && ansible-playbook $(PLAY) $(ANSIBLE_USER_FLAG) --check

View file

@ -86,9 +86,8 @@ higher layer (Kubernetes, platform, etc.) can run.
higher-layer and future reef planning. `railiance-hosts` is **superseded** by
this repo and carries a banner saying so; its retirement is pending in
`railiance-master`
- **Open security work**: `RAIL-HO-WP-0009` — k3s API is declared tunnel-only
(ADR-005). Live `Railiance01` still has three public 6443 grants until an
operator-approved `make converge-firewall HOST=Railiance01`. CoulombCore
- **Firewall posture**: `RAIL-HO-WP-0009` finished. k3s API is tunnel-only
(ADR-005); live `Railiance01` UFW matches the declaration. CoulombCore
UFW stays unmanaged (`ufw_manage: false`)
---

View file

@ -0,0 +1,9 @@
---
# Firewall-only converge. Does not load SOPS secrets or other bootstrap roles.
# Usage: make converge-firewall HOST=Railiance01
- hosts: all
become: true
vars_files:
- ../inventory/group_vars/all.yaml
roles:
- role: base

View file

@ -4,7 +4,7 @@ type: workplan
title: "Firewall declared-state integrity and k3s API exposure"
domain: financials
repo: railiance-infra
status: active
status: finished
owner: codex
topic_slug: railiance
created: "2026-08-12"
@ -98,7 +98,7 @@ session (`89.244.90.236` granted; `kubectl` verified, node Ready v1.35.1+k3s1).
```task
id: RAIL-HO-WP-0009-T02
status: wait
status: done
priority: high
state_hub_task_id: "7d91dfc2-481b-4943-90e9-bb1b814a23dc"
```
@ -148,11 +148,7 @@ operator-approved prune of those three grants. SSH stays; kubectl goes via
`k3s-api-railiance01` (`:16444`). CoulombCore is not touched
(`ufw_manage: false`).
Waiting on operator approval. Command:
```bash
make converge-firewall HOST=Railiance01
```
**Done 2026-08-15.** Operator approved. `ansible-playbook playbooks/firewall.yaml -l Railiance01 --tags firewall` deleted the three live 6443 grants (`.248`, `.236`, `.255`). Live UFW is now OpenSSH + Nydus 2224 only. SSH verified. `sudo k3s kubectl get nodes` → Ready v1.35.1+k3s1. Public `:6443` times out. Tunnel `k3s-api-railiance01` still answers on `:16444`.
```task
id: RAIL-HO-WP-0009-T03
@ -307,7 +303,6 @@ rollout) is not this repo.
## Outcome
T01, T03, T04, T05, T06 done. T02 waits on operator approval to run
`make converge-firewall HOST=Railiance01`, which will delete the three live
6443 grants and make the host match ADR-005. CoulombCore UFW is intentionally
not enabled.
Finished 2026-08-15. Declaration and live Railiance01 UFW now match ADR-005:
no public 6443 grants, no blanket VXLAN allow, Nydus 2224 declared. CoulombCore
UFW remains unmanaged (`ufw_manage: false`).