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.

Cross-Component References

Link between any component:

See the xref:netapi::cli/ise/backup.adoc[ISE Backup] command.

Diagram-as-Code

D2 diagrams rendered by Kroki server:

client -> server: HTTPS
server -> database: SQL