Apply Railiance01 firewall-only converge and close RAIL-HO-WP-0009
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:
parent
4d9e77c968
commit
d0e8f9f24e
4 changed files with 18 additions and 15 deletions
2
Makefile
2
Makefile
|
|
@ -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
|
converge-firewall: ## Apply only UFW tasks: make converge-firewall HOST=Railiance01
|
||||||
@test -n "$(HOST)" || (echo "Usage: make converge-firewall HOST=Railiance01"; exit 1)
|
@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
|
converge-check: ## Dry-run (no changes), great for previews
|
||||||
cd $(ANS_DIR) && ansible-playbook $(PLAY) $(ANSIBLE_USER_FLAG) --check
|
cd $(ANS_DIR) && ansible-playbook $(PLAY) $(ANSIBLE_USER_FLAG) --check
|
||||||
|
|
|
||||||
5
SCOPE.md
5
SCOPE.md
|
|
@ -86,9 +86,8 @@ higher layer (Kubernetes, platform, etc.) can run.
|
||||||
higher-layer and future reef planning. `railiance-hosts` is **superseded** by
|
higher-layer and future reef planning. `railiance-hosts` is **superseded** by
|
||||||
this repo and carries a banner saying so; its retirement is pending in
|
this repo and carries a banner saying so; its retirement is pending in
|
||||||
`railiance-master`
|
`railiance-master`
|
||||||
- **Open security work**: `RAIL-HO-WP-0009` — k3s API is declared tunnel-only
|
- **Firewall posture**: `RAIL-HO-WP-0009` finished. k3s API is tunnel-only
|
||||||
(ADR-005). Live `Railiance01` still has three public 6443 grants until an
|
(ADR-005); live `Railiance01` UFW matches the declaration. CoulombCore
|
||||||
operator-approved `make converge-firewall HOST=Railiance01`. CoulombCore
|
|
||||||
UFW stays unmanaged (`ufw_manage: false`)
|
UFW stays unmanaged (`ufw_manage: false`)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
9
ansible/playbooks/firewall.yaml
Normal file
9
ansible/playbooks/firewall.yaml
Normal 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
|
||||||
|
|
@ -4,7 +4,7 @@ type: workplan
|
||||||
title: "Firewall declared-state integrity and k3s API exposure"
|
title: "Firewall declared-state integrity and k3s API exposure"
|
||||||
domain: financials
|
domain: financials
|
||||||
repo: railiance-infra
|
repo: railiance-infra
|
||||||
status: active
|
status: finished
|
||||||
owner: codex
|
owner: codex
|
||||||
topic_slug: railiance
|
topic_slug: railiance
|
||||||
created: "2026-08-12"
|
created: "2026-08-12"
|
||||||
|
|
@ -98,7 +98,7 @@ session (`89.244.90.236` granted; `kubectl` verified, node Ready v1.35.1+k3s1).
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: RAIL-HO-WP-0009-T02
|
id: RAIL-HO-WP-0009-T02
|
||||||
status: wait
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "7d91dfc2-481b-4943-90e9-bb1b814a23dc"
|
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
|
`k3s-api-railiance01` (`:16444`). CoulombCore is not touched
|
||||||
(`ufw_manage: false`).
|
(`ufw_manage: false`).
|
||||||
|
|
||||||
Waiting on operator approval. Command:
|
**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`.
|
||||||
|
|
||||||
```bash
|
|
||||||
make converge-firewall HOST=Railiance01
|
|
||||||
```
|
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: RAIL-HO-WP-0009-T03
|
id: RAIL-HO-WP-0009-T03
|
||||||
|
|
@ -307,7 +303,6 @@ rollout) is not this repo.
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
||||||
T01, T03, T04, T05, T06 done. T02 waits on operator approval to run
|
Finished 2026-08-15. Declaration and live Railiance01 UFW now match ADR-005:
|
||||||
`make converge-firewall HOST=Railiance01`, which will delete the three live
|
no public 6443 grants, no blanket VXLAN allow, Nydus 2224 declared. CoulombCore
|
||||||
6443 grants and make the host match ADR-005. CoulombCore UFW is intentionally
|
UFW remains unmanaged (`ufw_manage: false`).
|
||||||
not enabled.
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue