Holo is a radically simple configuration management tool that relies as much as possible on package management for the whole system setup and maintenance process. This is achieved by using metapackages to define personal package selections for all systems or for certain types of systems.
Holo has a plugin interface to extend its capabilities. It comes with the following core plugins:
holo-files
provisions configuration files.holo-run-scripts
invokes custom scripts during the provisioning phase.holo-ssh-keys
provisions.ssh/authorized_keys
.holo-users-groups
creates and modifies UNIX user accounts and groups, as stored in/etc/passwd
and/etc/group
.
If you've written a new plugin, send me a link via the issue tracker and I'll link to it here.
It is recommended to install Holo as a package. The website lists distributions that have a package.
Holo requires Go and Perl as
build-time dependencies; and git-diff
and shadow
as runtime dependencies. Once you're all set, the build is done with
make
make check
sudo make install
User documentation is available in man page form:
- holo(8)
- holo-files(8)
- holo-run-scripts(8)
- holo-ssh-keys(8)
- holo-users-groups(8)
- holorc(5)
- holo-plugin-interface(7)
- holo-generators(7)
- holo-test(7) (not a public interface)
For further information, visit holocm.org.