https://github.com/holocm/holo
Minimalistic configuration management
https://github.com/holocm/holo
configuration-management devops minimalistic
Last synced: 15 days ago
JSON representation
Minimalistic configuration management
- Host: GitHub
- URL: https://github.com/holocm/holo
- Owner: holocm
- License: gpl-3.0
- Created: 2015-12-03T21:34:02.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2023-02-02T22:08:38.000Z (almost 3 years ago)
- Last Synced: 2024-06-20T14:28:26.641Z (over 1 year ago)
- Topics: configuration-management, devops, minimalistic
- Language: Go
- Homepage: http://holocm.org
- Size: 731 KB
- Stars: 94
- Watchers: 5
- Forks: 5
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Holo - minimalistic config management
[](https://github.com/holocm/holo/actions)
[](https://coveralls.io/github/holocm/holo?branch=master)
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](http://holocm.org) lists distributions that have a package.
Holo requires [Go](https://golang.org) and [Perl](https://perl.org) as
build-time dependencies; and `git-diff` and [shadow](https://pkg-shadow.alioth.debian.org/)
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:
* [holo(8)](doc/holo.8.pod)
* [holo-files(8)](doc/holo-files.8.pod)
* [holo-run-scripts(8)](doc/holo-run-scripts.8.pod)
* [holo-ssh-keys(8)](doc/holo-ssh-keys.8.pod)
* [holo-users-groups(8)](doc/holo-users-groups.8.pod)
* [holorc(5)](doc/holorc.5.pod)
* [holo-plugin-interface(7)](doc/holo-plugin-interface.7.pod)
* [holo-generators(7)](doc/holo-generators.7.pod)
* [holo-test(7)](doc/holo-test.7.pod) (not a public interface)
For further information, visit [holocm.org](http://holocm.org).