Architecture & Features
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ CONTENT SOURCES │
├──────────┬──────────┬──────────┬──────────┬──────────┬─────────────┤
│ infra- │ ise- │ linux- │ secrets- │ netapi- │ +14 more │
│ ops │ linux │ ops │ ops │ docs │ components │
├──────────┴──────────┴──────────┴──────────┴──────────┴─────────────┤
│ │
│ domus-docs AGGREGATOR │
│ • antora-playbook.yml - defines all sources │
│ • domus-antora-ui - custom theme │
│ • Shared attributes - IPs, hostnames, domains │
│ │
├─────────────────────────────────────────────────────────────────────┤
│ BUILD PIPELINE │
│ GitHub Actions → Antora + Kroki → Wrangler → Cloudflare Pages │
└─────────────────────────────────────────────────────────────────────┘
│
▼
docs.domusdigitalis.dev
(Cloudflare Access protected)
Key Features
Multi-Repo Aggregation
One playbook pulls from 19 repositories:
content:
sources:
- url: https://github.com/EvanusModestus/domus-infra-ops
start_path: docs/asciidoc
- url: https://github.com/EvanusModestus/domus-ise-linux
start_path: docs/asciidoc
# ... 17 more sources
Shared Attributes
Infrastructure values defined once, used everywhere:
# antora.yml
asciidoc:
attributes:
domain: inside.domusdigitalis.dev
ad-dc-ip: 10.50.1.50
ise-pan-ip: 10.50.1.20
The domain controller at {ad-dc-ip} handles Kerberos.