Minimalistic configuration management
Clone or download
majewsky make the tests work on systems using Busybox instead of coreutils
See test/binwrap/README.md added in this commit for details.

Closes #37.
Latest commit 22108f1 Mar 6, 2018

README.md

Holo - minimalistic config management

Build Status Coverage Status

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.

Installation

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

Documentation

User documentation is available in man page form:

For further information, visit holocm.org.