Commit graph

141 commits

Author SHA1 Message Date
sjat
4153c8d1d9 feat(rack): draw shelf-mounted tower heights in the elevation
All checks were successful
Build docs site / build (push) Successful in 50s
Build slides / build (push) Successful in 1m11s
Add an optional `chassis_u` field for shelf-mounted devices (their height
in U where they stand on the shelf) and render it:
- gen_rack draws each tower chassis_u U's tall, rising above the 1U shelf
  line; rail-mounted devices now paint on top so a PDU within a tower's
  span (e.g. pdu03 over srv05/06) stays visible
- occupancy table shows each tower's real U-span (e.g. srv01 U37-U46)
- validate_item checks chassis_u is a positive integer; absent chassis_u
  renders byte-identically to before
- set chassis_u for srv01-07 (10/8/6/6/7/7/6U); document the field in the
  editing guide; regenerate rack01 artifacts

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 22:11:19 +02:00
sjat
4dc975062a docs(hardware): reconcile rack01 to as-mounted layout and document cabling
All checks were successful
Build docs site / build (push) Successful in 49s
Build slides / build (push) Successful in 1m11s
Rebuild rack01 from the physically remounted hardware:
- Correct stale positions/ports/outlets for pp01, pp02, sw01, pdu01-04
- Model shelves as 1U trays (towers stand above without consuming rack U's);
  add shf02 and empty half-depth shf03/shf04
- Add ups01/ups02; reseat nas01/02 and sw02-05; move srv04-07 onto shf02
- Add `wan` hardware kind; add WAN demarcation hosts wan01 (active) and
  wan02 (staging)
- Document full live network wiring: srv01-07 -> pp02 -> sw01 (LAN) and
  srv01 eth0 -> pp02 -> pp01 -> wan01 (WAN); keep non-active lines
  (wan2, working-table patches, sw01 mgmt) in notes only
- Regenerate hardware index + rack01 elevation/network/power artifacts

Also includes the in-progress generator updates (gen_rack.py, gen_overview.py,
Makefile, tests) that the regenerated artifacts depend on.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 21:31:48 +02:00
sjat
8f4047cdd7 fix(hardware): add missing source files for 9 racked devices
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m10s
Camilla's "added all devices to rack" commit committed the regenerated
index/rack artifacts but not the new per-device source files, so CI's
drift check failed (regeneration dropped 9 devices that had no source).

Recreate the source files for sw02-sw05, pp02, srv06-srv07 and nas01-nas02
from the committed artifacts (placement, power feeds, network links, and
cluster:tappaas on the servers; specs left as '?' placeholders, optional
port counts omitted). Regeneration is now drift-clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 22:41:30 +02:00
Camila Baruĥ
4a6f8f07a8 added all devices to rack
Some checks failed
Build slides / build (push) Successful in 1m15s
Build docs site / build (push) Failing after 42s
2026-06-29 22:27:52 +02:00
Camila Baruĥ
dac2ad51ae added Rear/Front rack_u for pdu*
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m10s
2026-06-29 21:54:07 +02:00
Camila Baruĥ
271e24c389 test
All checks were successful
Build docs site / build (push) Successful in 49s
Build slides / build (push) Successful in 1m11s
2026-06-29 21:48:44 +02:00
Camila Baruĥ
fbd99be414 test 2026-06-29 21:48:09 +02:00
sjat
9d7b4684c4 docs: publish hardware naming scheme and link it from the editing guide
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m11s
Move the naming-scheme spec from notes/dev/specs/ into docs/guides/ so it
publishes to docs.makerfloss.eu, add it under the Hardware nav, and link it
from the editing guide. Repoint the stale references in CLAUDE.md and the
migration plan to the new path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:40:09 +02:00
sjat
95399640d1 docs: add hardware-docs editing guide and link it in nav
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m9s
Add docs/guides/editing-hardware-docs.md covering the frontmatter schema,
rack/shelf/PDU/power/network fields, the `make docs-index` workflow and
CI drift gate, plus dos and don'ts. Kept under docs/guides/ so the
hardware generators don't parse it as a host file. Linked under the
Hardware nav section so it publishes to docs.makerfloss.eu.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:32:32 +02:00
sjat
ebe193d9d8 docs(hardware): update srv01-03 notes
All checks were successful
Build docs site / build (push) Successful in 48s
Build slides / build (push) Successful in 1m12s
Mark srv02/srv03 as TaPPaaS nodes 2/3 and clear the completed
BIOS/UEFI todo items on srv01.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:19:24 +02:00
sjat
5b3251f848 fix(hardware): set pdu03/pdu04 to rack01 and regenerate indices
Camilla's "Changed PDU values" commit added pdu03/pdu04 frontmatter but
left the auto-generated docs/hardware/index.md stale, failing the CI
drift check. Correct both PDUs from the placeholder racks rack33/rack11
to rack01 (where all current hardware lives) and regenerate the hardware
index and rack01 elevation via `make docs-index`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 21:19:20 +02:00
Camila Baruĥ
7cad66b466 Changed PDU values
Some checks failed
Build docs site / build (push) Failing after 53s
Build slides / build (push) Successful in 1m14s
2026-06-29 21:09:20 +02:00
sjat
3a0f062f37 slides: fix TaPPaaS deck overflow + stray tag
All checks were successful
Build docs site / build (push) Successful in 53s
Build slides / build (push) Successful in 1m12s
Shrink global font and tighten spacing so dense slides fit; split the
phasing slide into VPS-edge (1-3) and internal/later (4-5). Remove a
stray </content> line that leaked into the source. Verified all 13
slides fit via per-slide PNG render.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 10:59:46 +02:00
sjat
125d1d67e9 slides: TaPPaaS VPS publishing (technical review)
All checks were successful
Build docs site / build (push) Successful in 54s
Build slides / build (push) Successful in 1m12s
Marp deck for the split-horizon DNS + public exposure design: reuses the
mf01 pattern (TLS at VPS, plain HTTP over wg1 to TaPPaaS Caddy). Two
Mermaid request-flow diagrams, decisions, phasing, isolation, risks.
Publishes to slides.makerfloss.eu on CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 10:11:53 +02:00
sjat
a6033e2038 fix(rack): centre 0U rail labels across the bar (dominant-baseline)
All checks were successful
Build docs site / build (push) Successful in 52s
Build slides / build (push) Successful in 1m11s
2026-06-24 19:07:10 +02:00
sjat
e1c05a6c88 test(rack): cover off-rack peer (styled, not clickable) in network graph
All checks were successful
Build docs site / build (push) Successful in 49s
Build slides / build (push) Successful in 1m8s
2026-06-24 18:48:13 +02:00
sjat
d3d5e9c69e feat(rack): colour and link mermaid power/network nodes by kind 2026-06-24 18:43:52 +02:00
sjat
08862fde51 feat(rack): add elevation legend, both-gutter U-numbers, column frames
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 18:39:56 +02:00
sjat
8d39fbcdf5 feat(rack): inline interactive elevation with links, tooltips, status borders 2026-06-24 18:34:06 +02:00
sjat
d5cfe9665c docs(rack): graphical presentation improvements implementation plan 2026-06-24 18:29:36 +02:00
sjat
aad5672a6b docs(rack): graphical presentation improvements design spec 2026-06-24 18:22:41 +02:00
sjat
c24978436d feat(rack): place TaPPaaS nodes on shelf shf01 (provisional)
All checks were successful
Build docs site / build (push) Successful in 50s
Build slides / build (push) Successful in 1m9s
2026-06-24 17:51:52 +02:00
sjat
e08862b81d fix(rack): draw shelves after rails (match spec placement) 2026-06-24 17:49:49 +02:00
sjat
aab58e3692 feat(rack): render shelf strip, occupant boxes, and mounted occupancy rows 2026-06-24 17:45:39 +02:00
sjat
b85479b9a0 feat(rack): validate shelf-mounted devices (mounted_on/shelf_face/shelf_slot) 2026-06-24 17:42:07 +02:00
sjat
4961a748d4 docs(rack): shelf-mounted devices implementation plan 2026-06-24 17:39:34 +02:00
sjat
d8b1fd3272 docs(rack): shelf-mounted devices design spec 2026-06-24 17:27:02 +02:00
sjat
613a5c3cab docs(hardware): clarify provisional cluster note in naming spec
All checks were successful
Build docs site / build (push) Successful in 50s
Build slides / build (push) Successful in 1m10s
2026-06-24 16:29:28 +02:00
sjat
34243bbf6f docs: record hardware naming scheme, refresh stale mf0x hints 2026-06-24 16:26:11 +02:00
sjat
fd21d4807d refactor(hardware): rename mf00-mf04 to srv01-srv05, add cluster field
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 16:23:23 +02:00
sjat
9869da5c6b docs(hardware): naming migration implementation plan 2026-06-24 16:16:25 +02:00
sjat
bcd5748d28 docs(hardware): hardware naming scheme design 2026-06-24 15:55:43 +02:00
sjat
773fec952f test(rack): cover peer_port below 1 in validate_links
All checks were successful
Build docs site / build (push) Successful in 52s
Build slides / build (push) Successful in 1m10s
2026-06-24 15:13:15 +02:00
sjat
e54cbb3f0f feat(rack): populate provisional network topology (sw01, pp01, links)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 15:09:02 +02:00
sjat
39644541f1 feat(rack): render mermaid network graph into the rack page 2026-06-24 15:05:42 +02:00
sjat
ed5bda83e0 feat(rack): validate network links against peer files and ports 2026-06-24 15:02:34 +02:00
sjat
734a6522c1 docs(rack): Phase 3 network implementation plan 2026-06-24 15:00:07 +02:00
sjat
8b137291c7 docs(rack): Phase 3 network design spec 2026-06-24 14:56:28 +02:00
sjat
1b5e8316ea docs(rack): note render_power precondition (validate_power first)
All checks were successful
Build docs site / build (push) Successful in 49s
Build slides / build (push) Successful in 1m9s
2026-06-24 14:46:29 +02:00
sjat
5c3dab55a4 feat(rack): enable mermaid, populate provisional power data
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 14:41:46 +02:00
sjat
d2744db4ee feat(rack): render mermaid power graph into the rack page 2026-06-24 14:38:23 +02:00
sjat
ed4e7c751a feat(rack): validate power feeds against PDU outlets 2026-06-24 14:35:19 +02:00
sjat
a45d6d0266 docs(rack): Phase 2 power implementation plan 2026-06-24 14:33:18 +02:00
sjat
f4022edf3b docs(rack): Phase 2 power design spec 2026-06-24 14:28:48 +02:00
sjat
9253d1ca0d docs(services): regenerate index after moving coursemanagement out of docs
All checks were successful
Build docs site / build (push) Successful in 51s
Build slides / build (push) Successful in 1m9s
The service note was moved to notes/coursemanagement.md but the generated
index still listed it, which fails the CI drift check.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:19:11 +02:00
sjat
4f13962812 Moved a note out of docs
Some checks failed
Build docs site / build (push) Failing after 51s
Build slides / build (push) Successful in 1m13s
2026-06-24 14:15:27 +02:00
sjat
74b43ed5af test(rack): guard empty rack value and cover 0U/both/multi-rack rendering
All checks were successful
Build docs site / build (push) Successful in 54s
Build slides / build (push) Successful in 1m13s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 14:05:56 +02:00
sjat
b7fb69cf9a ci(rack): generate rack artifacts, run tests, add nav entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 14:00:48 +02:00
sjat
b0c933011b fix(services): commit regenerated services index after coursemanagement fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:56:15 +02:00
sjat
15666e0470 feat(rack): populate rack01 and wire gen_rack into make targets
Add rack placement frontmatter to mf00–mf04, fix pre-existing schema
error in docs/services/coursemanagement.md (missing kind/name fields),
extend Makefile docs-index and docs-check targets to also run gen_rack,
add test target, generate rack01.md and rack01-elevation.svg.

Positions are provisional placeholders to prove the pipeline; correct when mounting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 13:56:09 +02:00