Integration Map
Integration Map
The UI bundle is the presentation layer for the entire Domus Digitalis documentation ecosystem. Every page across all 15 spoke repositories renders through the same bundle.
Architecture
domus-antora-ui │ ├── npm run build / make │ │ │ ▼ │ build/ui-bundle.zip (~320 KB) │ │ │ ├── Cloudflare Pages ──▶ ui.domusdigitalis.dev/ui-bundle.zip │ │ │ │ │ (CF Access auth) │ │ │ │ └── Local path ─────────┐ │ │ │ │ │ ▼ ▼ │ domus-docs (hub) │ antora-playbook.yml │ │ │ ┌───────────────────┼───────────────────┐ │ ▼ ▼ ▼ │ 15 spoke repos Kroki diagrams Lunr search │ (GitHub HTTPS) (local/remote) (index_latest_only) │ │ │ ▼ │ build/site/index.html │ │ │ ▼ │ https://docs.domusdigitalis.dev
Playbook Configuration
The UI bundle is referenced in both playbook variants:
Production (antora-playbook.yml):
ui:
bundle:
url: ./ui-bundle.zip
snapshot: true
The build.sh script fetches the bundle from ui.domusdigitalis.dev via Cloudflare Access authentication before running Antora.
Local development (antora-playbook-local.yml):
ui:
bundle:
url: /home/evanusmodestus/atelier/_bibliotheca/domus-antora-ui/build/ui-bundle.zip
snapshot: true
snapshot: true forces Antora to re-read the bundle on every build (no caching).
Bundle Contents
The ui-bundle.zip contains the compiled UI assets:
ui-bundle.zip ├── css/ │ └── site.css Compiled + minified CSS (all 18 files merged) ├── js/ │ ├── site.js Bundled files 01-07 │ └── vendor/ │ ├── domus-ui.js Theme toggle, focus mode, code enhancements │ └── highlight.js Syntax highlighting (async-loaded) ├── layouts/ │ ├── default.hbs Main page layout │ └── 404.hbs Error page layout ├── partials/ All 27 Handlebars partials ├── helpers/ 9 Handlebars helper functions ├── img/ SVG icons (back, caret, chevron, home, menu, octicons) └── font/ Roboto + Roboto Mono web fonts
How Changes Propagate
-
Edit CSS, JS, or HBS files in
domus-antora-ui -
Build:
makeornpm run build -
Push to GitHub
-
Cloudflare Pages auto-builds
domus-antora-ui→ newui-bundle.zipatui.domusdigitalis.dev -
Push to any spoke repo (or domus-docs)
-
Cloudflare Pages builds
domus-docs→build.shfetches fresh bundle via CF Access → Antora generates site with updated UI -
Site live at
docs.domusdigitalis.dev
|
UI changes alone don’t trigger a docs rebuild.
Either push to a spoke repo or push an empty commit to |
Spoke Registry
| Repository | Component | start_path | Category | Notes |
|---|---|---|---|---|
domus-docs |
|
|
Core |
Hub aggregator — contains playbook, build.sh, landing pages |
domus-captures |
|
|
Core |
Work chronicles — |
domus-infra-ops |
|
|
Infrastructure |
PKI, VyOS HA, k3s, Vault, DNS, hypervisors (~500+ attributes) |
domus-automation-ops |
|
|
Infrastructure |
Ansible, GitOps, IaC workflows |
domus-linux-ops |
|
|
Infrastructure |
Arch, RHEL, Fedora, Debian, Ubuntu, Alpine |
domus-windows-ops |
|
|
Infrastructure |
PowerShell, WSL, certificates, Active Directory |
domus-ise-ops |
|
|
Network Security |
ISE cluster management, policy, profiling (multi-module) |
domus-ise-linux |
|
|
Network Security |
Linux 802.1X/EAP-TLS deployment methodology |
domus-ise-windows |
|
|
Network Security |
Windows EAP-TLS/TEAP deployment methodology |
domus-netapi-docs |
|
|
Network Security |
CLI docs — 15+ vendor commands (ISE, WLC, Vault, etc.) |
domus-identity-ops |
|
|
Identity |
Keycloak, SAML, Active Directory, LDAP |
domus-secrets-ops |
|
|
Identity |
HashiCorp Vault PKI, gopass, age, dsec |
domus-siem-ops |
|
|
Observability |
QRadar, Sentinel, Wazuh, Splunk |
domus-o11y-ops |
|
|
Observability |
Prometheus, Grafana, Loki, Wazuh monitoring |
domus-python |
|
|
Development |
Python 3.11+, uv package manager, automation |
Ecosystem Improvement Proposals
|
Cross-cutting proposals from full ecosystem audit — 2026-04-04. For team review. These affect multiple spoke repos and the domus-docs hub. |
Spoke Consistency
| Priority | Proposal | Rationale | Effort |
|---|---|---|---|
P1 |
Standardize |
windows-ops, ise-windows, captures, gabriel-docs, secrets-ops, and o11y-ops lack |
S |
P1 |
Add |
Missing |
S |
P2 |
Document component name vs repo name mapping |
3 repos have confusing name mismatches: |
S |
P2 |
Standardize |
Only infra-ops and netapi-docs define |
S |
Hub (domus-docs) Improvements
| Priority | Proposal | Rationale | Effort |
|---|---|---|---|
P1 |
Fix Lunr search config in local playbook |
|
S |
P2 |
Add gabriel-docs to production playbook |
|
S |
P2 |
Create "Getting Started" guide in hub |
New team members have no onboarding path. A guide mapping: "I need X" → "Go to component Y" would reduce ramp-up time. |
M |
P3 |
Evaluate Algolia for captures search inclusion |
domus-captures (176 pages) is excluded from Lunr search via |
M |
P3 |
Delete or re-enable GitHub Actions workflow |
|
S |
Playbook Consistency
| Priority | Proposal | Rationale | Effort |
|---|---|---|---|
P1 |
Align component lists across 3 playbooks |
|
S |
P2 |
Add Antora extension config consistency |
Lunr, tabs, and Kroki extensions are configured differently across playbooks. Standardize extension blocks. |
S |