STD-015: Antora Attribute Standards
The antora.yml file is the single source of truth for all mutable values across the captures component. Every IP address, hostname, port, path, status indicator, and statistical counter is defined here as an attribute. Hardcoded literals in .adoc files are a defect. This standard governs how attributes are structured, organized, and maintained.
Principles
-
Attributes over literals. No mutable value is ever hardcoded in a document. IPs, hostnames, ports, MACs, VLANs, paths, policy names, statistics, dates, and status indicators are ALL expressed as
{attribute-name}. This is not a preference — it is a build-quality invariant. -
Organized by section with comment headers. Attributes are grouped into logical sections, each separated by a comment banner (
# ===…). This makes visual scanning and maintenance tractable as the attribute count grows. -
Maintenance cadence is defined. Each section carries inline comments specifying WHEN and HOW to update. Stale attributes (wrong month, outdated stats) erode trust in the entire system.
-
attribute-missing: warncatches typos. This setting is non-negotiable. When an{attribute}reference has no definition, the Antora build emits a warning instead of silently rendering the literal{attribute-name}. This is the primary defense against attribute typos.
Section Organization
The antora.yml attributes block is organized into the following sections, in order:
| Section | Purpose | Example Attributes |
|---|---|---|
AsciiDoc Features |
Rendering behavior, syntax highlighting, section linking, error handling |
|
Custom Admonitions |
Emoji-prefixed captions for admonition blocks |
|
Document Types |
Reusable labels for document type identification |
|
Status Indicators |
Icon-based status labels for tables and inline use |
|
Maintenance: Current Period |
Calendar attributes for the current month |
|
Quarterly Statistics |
Worklog and case study counts per quarter |
|
Case Study Statistics |
Aggregate counts across all case study types |
|
Monthly Focus Areas |
Comma-separated initiatives per month |
|
Author Information |
Contact details and identity |
|
Skill Levels |
Progression tracking across tools and languages |
|
Review Cycles |
Dates for audits and review cadence |
|
Carryover Origin Dates |
Start dates for age-in-days calculations |
|
Personal Peripherals |
Bluetooth MACs and device names |
|
Infrastructure |
IPs, hostnames, ports for all lab infrastructure |
|
Maintenance Cadence
| What | When | Action |
|---|---|---|
Current Period |
First day of each month |
Update |
Monthly Focus Areas |
First day of each month |
Add |
Quarterly Statistics |
Weekly, or when adding case studies |
Update |
Case Study Statistics |
On event (new TAC, incident, change, RCA, deployment) |
Increment the relevant |
Skill Levels |
Monthly or on significant progress |
Adjust |
Review Cycles |
After each review session |
Update |
Author Information |
On change only |
Update |
Infrastructure |
On change only |
Update IPs, hostnames, ports. Must match |
Carryover Origin Dates |
On event (new long-running item) |
Add |
Adding New Attributes
When adding a new attribute:
-
Identify the correct section by consulting the section table above.
-
Place the attribute within that section, maintaining alphabetical order within subsections where practical.
-
Add an inline comment if the attribute’s purpose is not self-evident.
-
If no existing section fits, create a new section with a comment banner following the established format:
# ========================================================================= # SECTION NAME # UPDATE: [cadence description] # =========================================================================
Requirements
-
Every mutable value in any
.adocfile MUST be an attribute defined inantora.yml. -
New attributes MUST be added to the correct section, respecting comment headers and grouping.
-
Monthly maintenance MUST be performed on the first day of each month: current period, focus areas, and statistics.
-
Case study statistics MUST be updated when adding any case study (TAC, incident, change, RCA, deployment).
-
attribute-missingMUST be set towarn— neverskipordrop. -
Infrastructure attributes MUST remain consistent with
domus-infra-ops/antora.ymlas the upstream source of truth. -
Deprecated attributes (e.g., pfSense) MUST be retained with a
# DEPRECATEDcomment and date for historical document references. -
Code blocks referencing attributes MUST include
subs=attributes+.
Compliance
| Check | Method | Pass Criterion |
|---|---|---|
No hardcoded IPs |
|
Zero matches |
No hardcoded hostnames |
|
Zero matches |
Maintenance dates current |
|
Matches actual calendar month |
|
|
Value is |
Stats updated date recent |
|
Within 30 days of current date |
Sections have comment headers |
Visual inspection of |
Every attribute group has a |
No orphaned attributes |
|
Every referenced attribute has a definition |
Related
-
STD-004: AsciiDoc Conventions — attribute usage rules in documents
-
STD-009: Repository Architecture — where
antora.ymlfits in the spoke structure