This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
Architecture
Rendered infrastructure architecture diagrams
These diagrams render every page of the checked-in Drawio source.
They describe the source document, not a live inventory or health check. Pages
marked Archive retain the source’s historical classification.
Open an image for its full-size SVG.
DC1

Vault

Flux

Forgejo

www

Threexui

DNS

Ingress

T3code

Truenas

Archive/Harvester

Archive/Opencode

Archive/Hermes

Archive/Proxmox

Archive/Harbor

Edit and regenerate
Open the canonical source with the pinned Drawio desktop tool:
bazel_agent bazel run //infra/arch
Regenerate the maintained SVGs after editing arch.drawio:
bazel_agent bazel run //infra/arch:update
bazel_agent bazel test //infra/arch:update_tests
The update target renders all 15 named pages in Bazel sandboxes with Drawio
30.2.6 web assets from the pinned desktop archive
and the repository’s pinned headless Chrome.
A pinned Liberation font set and isolated
Fontconfig configuration keep text measurement independent of host fonts.
The renderer loads only local assets, fails on missing pages and export errors,
and records the source SHA-256 in each SVG. No display server, live infrastructure
access, or runtime download is required. The freshness test compares rendered
output with the maintained SVGs; documentation consumes those checked-in images.
1 -
Infrastructure architecture Specification
Purpose
Describe the maintained infrastructure diagrams owned by infra/arch.
The baseline is checked-in source at revision
550d7e79b1f5fdbc2b6017b75178471d6914082f, observed on 2026-09-08.
These diagrams describe their source document; they do not establish live
inventory, deployment, or health.
Requirements
Requirement: Canonical multi-page architecture source
The project SHALL use arch.drawio as the canonical source for its maintained
SVG diagrams and SHALL expose the source through the //infra/arch editor
target. The named render mapping SHALL preserve all 15 source pages, including
the five pages classified as archives.
Sources: project documentation,
target and page definitions, and
Drawio source.
Scenario: Render the maintained page set
- WHEN the
//infra/arch:rendered target processes the canonical document
- THEN it produces the SVG output mapped to each of the 15 named pages,
including separate outputs for archived pages.
Requirement: Reproducible diagram refresh
The project SHALL render diagrams through the repository’s pinned Drawio,
headless Chrome, and font inputs. The //infra/arch:update target SHALL update
the maintained SVGs, and //infra/arch:update_tests SHALL compare them with
freshly rendered output. Rendering SHALL use local assets and report missing
pages or export failures.
Sources: rendering guarantees and
render and update targets.
Scenario: A maintained diagram becomes stale
- WHEN a source edit changes a rendered SVG without updating its maintained copy
- THEN the freshness test reports a mismatch, and the update target provides
the regenerated source file.
Requirement: Documentation preserves historical classification
Documentation SHALL display the maintained SVGs with links to their full-size
images and SHALL retain the source’s Archive classification. The diagrams
SHALL remain documentation artifacts rather than evidence of live service
availability.
Source: diagram documentation.
Scenario: Consult a historical architecture page
- WHEN a reader opens the Proxmox architecture section
- THEN it is labeled
Archive/Proxmox and links to the maintained SVG.