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-filesprovisions configuration files.holo-run-scriptsinvokes custom scripts during the provisioning phase.holo-ssh-keysprovisions.ssh/authorized_keys.holo-users-groupscreates and modifies UNIX user accounts and groups, as stored in/etc/passwdand/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.