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)
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
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
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)
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
...
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
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
...
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
sjat
039b1212b9
feat(rack): render page and orchestrate generation
2026-06-24 13:51:52 +02:00
sjat
2fd0df1597
feat(rack): render SVG elevation (U1 at top, front/rear columns)
2026-06-24 13:48:19 +02:00
sjat
a1b889209a
feat(rack): detect U overlaps within a rack face
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:45:08 +02:00
sjat
3324c01810
feat(rack): gen_rack placement parsing and validation
2026-06-24 13:42:21 +02:00
sjat
717de70eca
feat(hardware): allow rack item kinds (pdu, patch-panel, shelf, blank, ups, kvm)
2026-06-24 13:40:01 +02:00
sjat
f8bcd7ec7f
docs(plan): rack elevation Phase 1 implementation plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:32:52 +02:00
sjat
c362c93f65
docs(spec): rack documentation design (md → CI → SVG/mermaid)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:25:28 +02:00
sjat
6b06550447
docs(hardware): record DDR4-2666 RAM type for mf01/mf02, fix mf00 status
...
Build docs site / build (push) Failing after 45s
Build slides / build (push) Successful in 1m13s
Add ram_type (DDR4-2666 non-ECC UDIMM) to mf01 and mf02 frontmatter, and
set mf00's placeholder status to staging so the overview index regenerates.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 20:42:13 +02:00
22749de762
first cut of a VPN presentation
Build docs site / build (push) Failing after 40s
Build slides / build (push) Successful in 1m6s
2026-06-01 16:10:26 +02:00
sjat
1f9b203cb4
test: re-trigger ntfy alert after phone settings update
...
Build docs site / build (push) Failing after 40s
Build slides / build (push) Successful in 1m1s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 11:58:29 +02:00
sjat
87d4b66bd0
test: re-trigger ntfy alert to verify phone delivery
...
Build docs site / build (push) Failing after 44s
Build slides / build (push) Successful in 1m5s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 11:52:31 +02:00
sjat
df4637e269
test: deliberately break CI to verify ntfy alert (will revert)
...
Build docs site / build (push) Failing after 39s
Build slides / build (push) Successful in 1m2s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 11:46:44 +02:00
sjat
baf1992b0e
ci(docs): notify ntfy when main build fails
...
Build docs site / build (push) Successful in 44s
Build slides / build (push) Successful in 1m4s
Adds an `if: failure()` step that POSTs to ntfy.sh on a failed push-to-main
run. Topic comes from the NTFY_TOPIC secret so it stays out of the public
repo; missing secret silently no-ops via `|| true`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 11:24:29 +02:00
sjat
7b59a9c1b8
docs(hardware): drop the model field
...
Build docs site / build (push) Successful in 43s
Build slides / build (push) Successful in 1m6s
Removed from per-host frontmatter, the index column, and the Specs table.
Model values kept churning (case manufacturer vs. "custom") without adding
useful information.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:37:04 +02:00
sjat
c0b6986984
Updated notes on mf00
Build docs site / build (push) Successful in 43s
Build slides / build (push) Successful in 1m1s
2026-05-27 10:35:04 +02:00
sjat
41c4834dbd
fix(docs-ci): unblock build by tolerating "?" placeholders in hardware frontmatter
...
Build docs site / build (push) Successful in 46s
Build slides / build (push) Successful in 1m7s
mf00.md used bare ? in YAML (a complex-key indicator), breaking gen_overview.py.
Quoted the placeholders and taught fmt_cpu/fmt_ram/fmt_storage/fmt_nic to render
string values literally so unknown specs show as "?" in both the per-host Specs
table and the hardware index. Also regenerates docs/hardware/index.md to clear
the accumulated drift (mf02 16 GB, mf04 entry, mf00 custom).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:31:46 +02:00
sjat
c50a3b5acf
Updated hardware descriptions to custom instead of case manufactorers
Build docs site / build (push) Failing after 28s
Build slides / build (push) Successful in 48s
2026-05-20 09:18:48 +02:00
sjat
69d1f16a69
Added mf04 - an old stationary. Details needs updating.
Build docs site / build (push) Failing after 28s
Build slides / build (push) Successful in 48s
2026-05-19 17:43:18 +02:00