etckeeper
Table of Contents
Description
This module ensures that etckeeper is set up and configured to keep the
/etc
directory under version control.
RHEL/CentOS, Ubuntu, Debian, SLES and Arch Linux are supported using Puppet 5 or later.
Setup
What etckeeper affects
This module will remove any VCS state directories under /etc
for any supported VCS except the one chosen to be used. So for example, if
you're using git, any directories matching /etc/.bzr
,
/etc/.hg
and /etc/_darcs
will be removed. This
also means that if you change VCS you will lose any previous commits.
Setup Requirements
On RHEL/CentOS platforms you will need to have access to the EPEL repository by using puppet/epel or by other means.
Beginning with etckeeper
In the very simplest case, you can just include the following:
include etckeeper
Usage
For example to configure etckeeper to use a specific VCS instead of going with the default:
class { 'etckeeper':
vcs => 'bzr',
}
Reference
The reference documentation is generated with puppet-strings and the latest version of the documentation is hosted at bodgit.github.io/puppet-etckeeper/ and available also in the REFERENCE.md.
Limitations
This module has been built on and tested against Puppet 5 and higher.
The module has been tested on:
-
Red Hat/CentOS Enterprise Linux 6/7
-
Ubuntu 14.04/16.04
-
Debian 7/8
It should also work on SLES 11 & 12 and Arch Linux.
Development
The module relies on PDK and has both rspec-puppet and beaker-rspec tests. Run them with:
$ bundle exec rake spec
$ PUPPET_INSTALL_TYPE=agent PUPPET_INSTALL_VERSION=x.y.z bundle exec rake beaker:<nodeset>
Please log issues or pull requests at github.