Documentation for Ansible Lockdown security benchmark roles, hosted on Read the Docs.
├── .github/
│ └── workflows/main.yml # CI/CD pipeline
├── docs/
│ ├── source/
│ │ ├── conf.py # Sphinx configuration
│ │ ├── index.rst # Main landing page
│ │ ├── audit/ # Audit documentation
│ │ ├── remediate/ # Remediate documentation
│ │ ├── combined/ # Combined workflow docs
│ │ ├── CIS/ # CIS benchmark tables
│ │ ├── STIG/ # STIG benchmark tables
│ │ └── _static/ # Images and assets
│ └── Makefile
├── requirements/
│ ├── requirements.txt # Build dependencies
│ └── requirements-dev.txt # Development dependencies
├── .pre-commit-config.yaml # Pre-commit hooks
├── .readthedocs.yaml # RTD build configuration
└── pyproject.toml # Python project config
- Python 3.10+
- pip
-
Clone the repository:
git clone https://github.com/ansible-lockdown/MPG-AL-READTHEDOCS.git cd MPG-AL-READTHEDOCS -
Install dependencies:
pip install -r requirements/requirements-dev.txt
-
Install pre-commit hooks:
pre-commit install
Build HTML documentation:
sphinx-build -b html docs/source docs/build/htmlBuild with live reload (auto-refreshes on changes):
sphinx-autobuild docs/source docs/build/htmlView the built documentation by opening docs/build/html/index.html in a browser.
Run all pre-commit hooks:
pre-commit run --all-filesRun specific checks:
# RST linting
doc8 docs/source
# RST syntax checking
rstcheck --recursive docs/source
# Link checking
sphinx-build -b linkcheck docs/source docs/build/linkcheckThe GitHub Actions workflow (.github/workflows/main.yml) runs on push/PR to main and devel branches:
| Job | Description |
|---|---|
| build | Builds Sphinx HTML documentation |
| linkcheck | Validates external links |
| lint | Runs doc8 and rstcheck |
- Add entry to the appropriate table in
docs/source/CIS/CIS_table.rstordocs/source/STIG/STIG_table.rst - Update
docs/source/intro.rstif needed - Run
pre-commit run --all-filesto validate changes
- Create
.rstfile in the appropriate directory - Add to relevant
toctreedirective in parent document - Follow existing formatting conventions
Dependencies are managed in requirements/requirements.txt with pinned versions for reproducible builds. Dependabot automatically creates PRs for updates weekly.
MIT License - see LICENSE for details.