suil

suil is the Irish and Scottish Gaelic word for eye or vision, and drochshuil is the evil eye, the eye of the Fomorian king in the old myths. The package is named after it.

suil provisions Linux hosts from declarative data, on top of pyinfra. A workspace holds the site data and declares its modules in modules.yaml; suil resolves them into the configuration of each node, collects facts, applies only what differs and checks that the node converged.

Install

pip install droch-shuil

The package is published as droch-shuil and imported as suil. It installs the same command under two names, suil and droch-shuil.

Development

make install
make test
make lint
make docs

make install creates .venv, installs the tooling from requirements.txt and the pre-commit hooks. Commits go through commitizen: cz commit.

Releases

A vX.Y.Z tag that matches the version in pyproject.toml builds the sdist and the wheel and publishes them to PyPI. The documentation is rebuilt and published to GitHub Pages on every push to main that changes docs/, README.md or mkdocs.yml.

License

MIT