The simple, flexible, robust and powerful toolbox for Ansible. It contains roles for managing Linux and Windows devices.
The site is published as Sphinx HTML built on top of antsibull-docs.
Collection documentation for arillso.system, arillso.agent, and
arillso.container is generated from the upstream collections and
themed with the custom CSS/JS bundle in _static/.
| Path | Purpose |
|---|---|
src/ |
Frontend sources (CSS tokens/base/layout/components, JS feature modules). PostCSS + esbuild emit the bundles into _static/. See src/README.md. |
_templates/ |
Jinja2 overrides for the Sphinx theme, including reusable component macros under _templates/components/. |
scripts/ |
Python and shell helpers — collection_cache.py (collection cache), normalize_collections.py (normalisation pass), build_frontend.sh (frontend bundle). |
rst/ |
Hand-written Sphinx sources plus the generated collection trees that antsibull-docs writes during the build. |
_static/ |
Build artefacts consumed by Sphinx (custom.css, custom.js). Regenerated by the frontend build — do not edit by hand. |
tests/ |
Pytest suite for the build scripts (collection cache, normaliser). |
versions.env |
Pinned collection versions consumed by build.sh and collection_cache.py. |
build.sh |
Top-level build entry point — orchestrates the steps below. |
conf.py / antsibull-docs.cfg |
Sphinx and antsibull-docs configuration. |
Prerequisites: Python 3.11+, Node.js 20+, and ansible-galaxy on PATH
(only needed when the collection cache is cold and you are online).
The repository ships a dde v2 setup, so
the simplest path is a containerised build that serves the site behind
Traefik on a per-checkout .test hostname:
dde project:up # build + serve; prints the .test URLFor a host-local build without dde:
# 1. Install Python and Node dependencies
npm ci
pip install -r requirements.txt -r requirements-dev.txt
# 2a. Full build (collections + Sphinx + frontend)
./build.sh
# 2b. Or only rebuild the frontend bundle into _static/
npm run buildTo work offline against an already-populated collection cache, set
ARILLSO_OFFLINE=1 before invoking ./build.sh. The cache root can be
overridden with ARILLSO_COLLECTIONS_CACHE (defaults to
~/.cache/arillso-collections).
Watch mode while editing the frontend:
npm run build:watch:css # PostCSS, in one shell
npm run build:watch:js # esbuild, in another shell./build.sh runs the pipeline in this order:
- Frontend build —
scripts/build_frontend.shruns PostCSS oversrc/styles/index.cssand esbuild oversrc/scripts/index.js, writing_static/custom.cssand_static/custom.js. - Collection cache —
scripts/collection_cache.py ensurereadsversions.env, populates~/.cache/arillso-collections/(offline whenARILLSO_OFFLINE=1), and exportsANSIBLE_COLLECTIONS_PATH. - antsibull-docs — generates RST for
arillso.system,arillso.agent,arillso.containerintotemp-rst/, then rsyncs intorst/collections/. - Normalisation —
scripts/normalize_collections.py --root rstrewrites collection names to the canonical short form. - Sphinx —
sphinx-build -M html rst build -W --keep-goingrenders the site intobuild/html/. - PostCSS optimisation — when
postcssis onPATH, the producedbuild/html/_static/custom.cssis run throughautoprefixerandcssnanofor the final minified asset.
See CONTRIBUTING.md for development setup, build instructions, and the pull request process.
src/README.md— frontend module map, token usage, component macros, and frontend build commands.docs/regression-checklist.md— manual regression checklist.
MIT — see LICENSE.