shmgmt is a very simple configuration management tool in pure shell - Except for a Go binary that will handle
It tries to be fully POSIX shell compliant and has been tested with bash, dash, busybox ash.
When working with minimalist installs under 100MB on disk, it doesn't really make sense to install a configuration manager that can take even more size than your full system.
Typically this VoidLinux install with an added
unbound service takes ~70MB on disk.
As an example here's the size of some tools on VoidLinux:
Using one of this tools would amount to roughly double the disk space, while you already have a shell installed and usable at not cost.
As of now the following modules exist:
You can check per module documentation here
wget https://git.mauras.ch/shmgmt/shmgmt/raw/branch/master/shmgmt.sh -P /tmp sh /tmp/shmgmt.sh -i rm -f /tmp/shmgmt
shmgmt will point its
$STATEREPO path to the example repo.
$STATEREPO in your own config file.
echo "STATEREPO=<my own state repo>" > ~/.shmgmt shmgmt
You can also call
shmgmt to look at an arbitrary located config file
shmgmt -c /arbitrary/path/to/shmgmt/config
-i: Install itself locally -c <CONFIG>: Specify config file -r <STATEREPO>: Git repo containing your state files -d <STATEDIR>: Where to clone your states files locally