From cbb2c25bf2f71c7840bd599739e8d2569b159c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 11 Aug 2016 01:13:22 +0200 Subject: Add etckeeper --- modules/etckeeper/files/additional_gitignore | 11 ++++++++++ modules/etckeeper/manifests/init.pp | 31 ++++++++++++++++++++++++++++ modules/etckeeper/manifests/run.pp | 7 +++++++ 3 files changed, 49 insertions(+) create mode 100644 modules/etckeeper/files/additional_gitignore create mode 100644 modules/etckeeper/manifests/init.pp create mode 100644 modules/etckeeper/manifests/run.pp (limited to 'modules/etckeeper') diff --git a/modules/etckeeper/files/additional_gitignore b/modules/etckeeper/files/additional_gitignore new file mode 100644 index 0000000..5c6a485 --- /dev/null +++ b/modules/etckeeper/files/additional_gitignore @@ -0,0 +1,11 @@ +/ca-certificates/extracted/* +/puppetlabs/* +/pacman.d/gnupg/* +!/pacman.d/gnupg/gpg.conf +/ssl/certs/* +/postfix/aliases.db +/udev/hwdb.bin +passwd- +group- +shadow- +gshadow- diff --git a/modules/etckeeper/manifests/init.pp b/modules/etckeeper/manifests/init.pp new file mode 100644 index 0000000..d7039a2 --- /dev/null +++ b/modules/etckeeper/manifests/init.pp @@ -0,0 +1,31 @@ +class etckeeper { + ensure_packages('etckeeper') + + exec { 'etckeeper-gitignore': + environment => ['VCS=git', 'LOWLEVEL_PACKAGE_MANAGER=pacman'], + path => '/usr/bin', + command => 'mkdir -p /tmp/etckeeper/.git && cd /tmp/etckeeper && /etc/etckeeper/update-ignore.d/01update-ignore && cp /tmp/etckeeper/.gitignore /etc/.gitignore_etckeeper && rm -r /tmp/etckeeper/', + cwd => '/tmp', + creates => '/etc/.gitignore_etckeeper' + } + + file { 'etckeeper-additional_gitignore': + source => 'puppet:///modules/etckeeper/additional_gitignore', + path => '/etc/.gitignore_additional' + } + + exec { 'etckeeper-concat_files': + path => '/usr/bin', + command => 'cat /etc/.gitignore_etckeeper /etc/.gitignore_additional > /etc/.gitignore', + refreshonly => true, + subscribe => [Exec['etckeeper-gitignore'], File['etckeeper-additional_gitignore']] + } + + exec { 'etckeeper-init': + command => 'etckeeper init', + path => '/usr/bin', + cwd => '/etc', + creates => '/etc/.git' + } + +} diff --git a/modules/etckeeper/manifests/run.pp b/modules/etckeeper/manifests/run.pp new file mode 100644 index 0000000..ddbb4e1 --- /dev/null +++ b/modules/etckeeper/manifests/run.pp @@ -0,0 +1,7 @@ +define etckeeper::run ($stages = [Stage['main']], $refreshonly = true, $reason = 'puppet run') { + exec { "etckeeper::run::${name}": + refreshonly => $refreshonly, + command => "/usr/bin/etckeeper commit '${reason}' || true", + subscribe => $stages + } +} -- cgit v1.2.3