You are not logged in.

#1 2015-12-21 08:40:21

EvanPurkhiser
Member
From: San Francisco
Registered: 2010-08-17
Posts: 225
Website

Lightweight configuration management?

Hey guys,

Does anyone here use some kind of configuration management software (such as puppet, chef, salt, etc) to manage single arch boxes?

I have a couple machines at home that are pretty bare-bone single-job boxes and I thought it would be nice to have all their configuration stored away in version control (my htpc and home file server).

I was curious what people's favorite solutions to this are?

Thanks!

Last edited by EvanPurkhiser (2015-12-21 08:58:02)

Offline

#2 2015-12-21 09:49:35

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: Lightweight configuration management?

There is etckeeper.

It keeps track of all changes done in /etc via VCS. You can commit changes manually and also enable periodic automatic commits.
I don't know whether it has an option to automatically push the config to a remote, though, but I guess that should be possible too (I haven't personally set up an etckeeper on my own machines yet).


pkgshackscfgblag

Offline

#3 2015-12-21 09:59:06

EvanPurkhiser
Member
From: San Francisco
Registered: 2010-08-17
Posts: 225
Website

Re: Lightweight configuration management?

Thanks ayekat,

I think I'm actually looking for something I suppose slightly heavier than that. I would basically like to be able to go from a clean installation of arch to the precise configuration of each machine. I would want this to be idempotent, so any configurations changes that I'd like to make can be done in the configuration source, and then can be applied to the machine.

I know I'm basically describing more or less what puppet, chef, salt, etc can do. I was just wondering if anyone had any solutions that weren't as designed for managing hundreds of servers.

Offline

#4 2015-12-21 17:41:03

pypi
Wiki Maintainer
Registered: 2014-04-22
Posts: 250

Re: Lightweight configuration management?

I'm quite interested in this as well; I did work on a program written in Go to handle config management for a while.

My original/current scheme involves a whole bunch of meta-packages: packages depending on other packages, enabling systemd services, installing config files.
They have a couple of limitations, namely that patching config files is ugly currently, and that the dependencies are "hard". But I'm hoping that the config file patch management will be simplified by pacman hooks, which are due in the not-too-distant-future.
It's quite simple to set up, especially if you are familiar with writing PKGBUILDs.

Offline

#5 2015-12-22 06:52:36

danielgreve
Member
Registered: 2015-12-11
Posts: 11

Re: Lightweight configuration management?

I experimented with a home-grown solution for a bit:
    gnu stow with --target=/ for system-wide configuration files
    xargs pacman -S + text files for installing packages (I wish we had something like Gemfiles for pacman)
    custom scripts for enabling services and fetching packages from the aur

It broke easily and was more trouble than it was worth, but I learned a lot. Now I just use stow for dotfiles in $HOME and document my system-wide configurations. Documentation > Automation?

https://www.gnu.org/software/stow/manual/stow.html

Last edited by danielgreve (2015-12-22 06:55:06)

Offline

#6 2015-12-23 03:16:07

firecat53
Member
From: Lake Stevens, WA, USA
Registered: 2007-05-14
Posts: 1,542
Website

Re: Lightweight configuration management?

I use Ansible for managing my two Arch machines  + 1 Ubuntu VPS. It does take some setup work, but it's lightweight, idempotent (generally) and probably the easiest to get up and doing useful work quickly of the various major CM programs (Ansible, Chef, Salt, Puppet). I also use Stow for managing dotfiles, but for the rest of the setup (especially for installing a list of packages, installing custom scripts, and getting my Docker containers built and running), using Ansible is a significantly better solution than trying to reinvent the CM wheel (although we almost all do that in some way or another anyways smile ).

Scott

Offline

#7 2015-12-23 07:08:46

EvanPurkhiser
Member
From: San Francisco
Registered: 2010-08-17
Posts: 225
Website

Re: Lightweight configuration management?

Thanks Scott. Going to dig into Ansible, it looks like it may be what I want!

Offline

Board footer

Powered by FluxBB