From 596f9fefb01f1419e640f3f3a878443adc047b07 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Mon, 8 Aug 2016 17:54:33 +0200 Subject: [PATCH] Add cron-puppet module --- manifests/site.pp | 3 +++ modules/cron-puppet/files/post-merge | 14 ++++++++++++++ modules/cron-puppet/manifests/init.pp | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 manifests/site.pp create mode 100644 modules/cron-puppet/files/post-merge create mode 100644 modules/cron-puppet/manifests/init.pp diff --git a/manifests/site.pp b/manifests/site.pp new file mode 100644 index 0000000..1464586 --- /dev/null +++ b/manifests/site.pp @@ -0,0 +1,3 @@ +node default { + include cron-puppet +} diff --git a/modules/cron-puppet/files/post-merge b/modules/cron-puppet/files/post-merge new file mode 100644 index 0000000..b8dc266 --- /dev/null +++ b/modules/cron-puppet/files/post-merge @@ -0,0 +1,14 @@ +#!/bin/bash -e +## Run Puppet locally using puppet apply +/usr/bin/puppet apply /etc/puppetlabs/puppet/manifests/site.pp + +## Log status of the Puppet run +if [ $? -eq 0 ] +then + /usr/bin/logger -i "Puppet has run successfully" -t "puppet-run" + exit 0 +else + /usr/bin/logger -i "Puppet has ran into an error, please run Puppet manually" -t "puppet-run" + exit 1 +fi + diff --git a/modules/cron-puppet/manifests/init.pp b/modules/cron-puppet/manifests/init.pp new file mode 100644 index 0000000..4ce0be4 --- /dev/null +++ b/modules/cron-puppet/manifests/init.pp @@ -0,0 +1,17 @@ +class cron-puppet { + file { 'post-hook': + ensure => file, + path => '/etc/puppetlabs/puppet/.git/hooks/post-merge', + source => 'puppet:///modules/cron-puppet/post-merge', + mode => 0755, + owner => root, + group => root, + } + cron { 'puppet-apply': + ensure => present, + command => "cd /etc/puppetlabs/puppet ; /usr/bin/git pull", + user => root, + minute => '*/30', + require => File['post-hook'], + } +} -- 2.41.0