From 162fa1aabf5fc2da1414e56d1c5c4960de579d82 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Mon, 17 Jul 2017 11:29:35 +0200 Subject: [PATCH] Add systemd override unit --- modules/systemd/manifests/override.pp | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 modules/systemd/manifests/override.pp diff --git a/modules/systemd/manifests/override.pp b/modules/systemd/manifests/override.pp new file mode 100644 index 000000000..7492a5574 --- /dev/null +++ b/modules/systemd/manifests/override.pp @@ -0,0 +1,44 @@ +define systemd::override ( + $source=undef, + $content=undef, + $ensure=present +) { + + $dir = "/etc/systemd/system/${name}.service.d" + $dest = "${dir}/override.conf" + case $ensure { + present: { + if ! ($source or $content) { + fail ( "No configuration found for ${name}" ) + } + + file { "${dir}": + ensure => directory, + mode => '0755' + } + if $content { + file { "${dest}": + ensure => $ensure, + content => $content, + notify => Exec['systemctl daemon-reload'], + } + } elsif $source { + file { "${dest}": + ensure => $ensure, + source => $source, + notify => Exec['systemctl daemon-reload'], + } + } + } + absent: { + file { "${dest}": + ensure => $ensure, + notify => Exec['service apache2 reload'], + } + file { "${dir}": + ensure => $ensure + } + } + default: { fail ( "Unknown ensure value: '$ensure'" ) } + } +} -- 2.20.1