Skip to content

docs: phoenix is built at 10.0.30.70 on Saruman, the lab has its first off-host client, and Saruman admits it to 8006 (#436) - #544

Merged
Gerrrt merged 10 commits into
mainfrom
gerrrt/phoenix-built-7c1e42
Sep 20, 2026
Merged

Gerrrt merged 10 commits into
mainfrom
gerrrt/phoenix-built-7c1e42

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Draft until build-the-jumpbox.md §7 is green. Every 2026-09-DD and every (pending the §N report) in this diff is a placeholder for what the build reports back — see the checklist on #436. Filling them in and marking this ready is the last step of the build; merging it closes the issue.

What changed

Nothing on the running lab — this is the repository half of a build that happens on Saruman, morpheus, phoenix and the Mac. It records that phoenix exists: the network.md row, the **Not built yet** marker gone from architecture.md, Saruman at two guests running and seven planned, hardware.md at five Alloy agents, observability.md naming the lab stores' first client from off alexander, the roadmap entry, the SSD runbook's §9 (two guests to move), and a status block at the top of the jumpbox runbook.

Why

check_docs.py inverts the check on a **Not built yet** row: while the marker stands, the host must be absent from network.md, and its Alloy agent is not counted. So the row, the marker and the count must change together, and they must not change before the guest is real. This is that change, held as a draft. The ports the agent pushes to were opened ahead of it in #543.

Closes #436 — on merge, which waits for §7.

Blast radius

None from this diff. The build it records changes two things the checkboxes ask about, both decided by ADR-0043 and written up there and in the runbook:

  • No change to network segmentation or firewall rules — one line in /etc/pve/nodes/saruman/host.fw admitting 10.0.30.70 to 8006, the first address on VLAN 30 with a path to the Proxmox API (ADR-0014's rule superseded on that one point, ADR-0039's first consequence amended). Outside pf, so firewall-claims.yaml cannot see it; network.md says it in prose instead.
  • No new port published to a VLAN that could not already reach the service — that was feat(lab): prometheus and loki publish 9090 and 3100 on alexander for phoenix's agent (#436) #543
  • No credential added outside secrets/*.sops.yamlthe Proxmox API token lives in ~/.config/proxmox/phoenix.env on phoenix, mode 600, not in the repository: check_sops_rules.py fails a secrets/phoenix rule until a stacks/phoenix exists, and ADR-0043 records the deviation from the issue's "credential into secrets/".

Verification

  • make check-docs passes with the marker gone, the row present and "five Alloy agents"; scripts/lint.sh passes
  • make validate — CI runs the full set on this PR
  • Deployed to the lab and confirmed working — the §7 results (up{instance="phoenix"} with both jobs at 1, three or more Loki jobs, make validate green in phoenix's own checkout) go here and into the runbook's status block before this leaves draft
  • Docs updated

🤖 Generated with Claude Code

…t off-host client, and Saruman admits it to 8006 (#436)

The build-day commit build-the-jumpbox.md §8 describes, landed as one change
because check_docs.py makes the "Not built yet" marker and a network.md row
mutually exclusive and ties hardware.md's Alloy agent count to the marker:

- network.md gains the phoenix row in the ImaginationLAN table; the planned
  guest note becomes a description, keeping the sentence that this is the one
  address on the segment with a path to 8006, which firewall-claims.yaml cannot
  say; Saruman's guest count goes to two; the WAN note stops saying the jumpbox
  does not exist and keeps saying the endpoint question is open.
- architecture.md drops the marker from the phoenix row and recounts Saruman's
  guests: two running, seven planned.
- hardware.md: five Alloy agents.
- observability.md names phoenix as the lab stores' first client from off
  alexander, and says it too reaches nothing on VLAN 99.
- roadmap.md and fit-the-saruman-ssds.md §9 (two guests to move, not one).
- build-the-jumpbox.md gains a status block in the shape of the lab guest's.

The build date and the §1, §4 and §7 results are placeholders until the
runbook has been run; this must not merge before then.

Refs #436

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Gerrrt and others added 6 commits September 19, 2026 22:38
…erver ISO (#436)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…row assumed (#436)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…moved and 9 rejects, and the token secret goes into the file and nowhere else (#436)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Gerrrt and others added 3 commits September 20, 2026 07:24
… never enabled — phoenix's 8006 line is decided and unwritten (#436, #566)

Two findings from running build-the-jumpbox.md §4. The node name is the
hostname with its capital, so the runbook's /nodes/saruman ACL, host.fw path
and API URL were wrong; all three now read Saruman, with a note that pveum
does not check the path. And pve-firewall on Saruman is disabled with neither
cluster.fw nor host.fw present: ADR-0014's rules are applied by the playground
runbook, which has not run. The door section says so, the line was not
written, and #566 carries enabling the firewall with all four rules. The
sentences in network.md and architecture.md that said the rule stands now say
decided and unwritten, and ADR-0043 gets a marked note on the premise.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ur Loki jobs (#436)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…eholder left (#436)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Gerrrt
Gerrrt marked this pull request as ready for review September 20, 2026 08:28
@Gerrrt
Gerrrt merged commit 2d9e32d into main Sep 20, 2026
3 checks passed
@Gerrrt
Gerrrt deleted the gerrrt/phoenix-built-7c1e42 branch September 20, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build phoenix, the deployment host on ImaginationLAN (ADR-0043)

1 participant