diff options
| author | varac <varacanero@zeromail.org> | 2017-01-16 14:39:14 +0100 | 
|---|---|---|
| committer | varac <varacanero@zeromail.org> | 2017-01-16 14:39:14 +0100 | 
| commit | e9a3d71fd1c9fbdb1b468c633a6cbe310e3d6880 (patch) | |
| tree | e26d0aec9b57eb3dd2b3544534e0d2c0a11cdf93 /puppet/modules/systemd/manifests | |
| parent | 77d11c7ddeaeb123bf871bd2bfce0e5ace0c158e (diff) | |
git subrepo clone --force https://leap.se/git/puppet_systemd puppet/modules/systemd
subrepo:
  subdir:   "puppet/modules/systemd"
  merged:   "f3c4059"
upstream:
  origin:   "https://leap.se/git/puppet_systemd"
  branch:   "master"
  commit:   "f3c4059"
git-subrepo:
  version:  "0.3.0"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "841aa43"
Diffstat (limited to 'puppet/modules/systemd/manifests')
| -rw-r--r-- | puppet/modules/systemd/manifests/enable.pp | 8 | ||||
| -rw-r--r-- | puppet/modules/systemd/manifests/init.pp | 8 | ||||
| -rw-r--r-- | puppet/modules/systemd/manifests/service_limits.pp | 50 | ||||
| -rw-r--r-- | puppet/modules/systemd/manifests/tmpfile.pp | 20 | ||||
| -rw-r--r-- | puppet/modules/systemd/manifests/unit_file.pp | 22 | 
5 files changed, 107 insertions, 1 deletions
| diff --git a/puppet/modules/systemd/manifests/enable.pp b/puppet/modules/systemd/manifests/enable.pp new file mode 100644 index 00000000..e1bee18a --- /dev/null +++ b/puppet/modules/systemd/manifests/enable.pp @@ -0,0 +1,8 @@ +# enables a systemd resource +define systemd::enable () { + +  exec { "enable_systemd_${name}": +    refreshonly => true, +    command     => "/bin/systemctl enable ${name}" +  } +} diff --git a/puppet/modules/systemd/manifests/init.pp b/puppet/modules/systemd/manifests/init.pp index 5e6ad792..e669f093 100644 --- a/puppet/modules/systemd/manifests/init.pp +++ b/puppet/modules/systemd/manifests/init.pp @@ -1,4 +1,8 @@ -class systemd { +# -- Class systemd   +# This module allows triggering systemd commands once for all modules  +class systemd ( +  $service_limits = {} +){    Exec {      refreshonly => true, @@ -15,4 +19,6 @@ class systemd {        command => 'systemd-tmpfiles --create',    } +  create_resources('systemd::service_limits', $service_limits, {}) +  } diff --git a/puppet/modules/systemd/manifests/service_limits.pp b/puppet/modules/systemd/manifests/service_limits.pp new file mode 100644 index 00000000..a9cdc25a --- /dev/null +++ b/puppet/modules/systemd/manifests/service_limits.pp @@ -0,0 +1,50 @@ +# -- Define: systemd::service_limits +# Creates a custom config file and reloads systemd +define systemd::service_limits( +  $ensure          = file, +  $path            = '/etc/systemd/system', +  $limits          = undef, +  $source          = undef, +  $restart_service = true +) { +  include ::systemd + +  if $limits { +    validate_hash($limits) +    $content = template('systemd/limits.erb') +  } +  else { +    $content = undef +  } + +  if $limits and $source { +    fail('You may not supply both limits and source parameters to systemd::service_limits') +  } elsif $limits == undef and $source == undef { +    fail('You must supply either the limits or source parameter to systemd::service_limits') +  } + +  file { "${path}/${title}.d/": +    ensure => 'directory', +    owner  => 'root', +    group  => 'root', +  } +  -> +  file { "${path}/${title}.d/limits.conf": +    ensure  => $ensure, +    content => $content, +    source  => $source, +    owner   => 'root', +    group   => 'root', +    mode    => '0444', +    notify  => Exec['systemctl-daemon-reload'], +  } + +  if $restart_service { +    exec { "systemctl restart ${title}": +      path        => $::path, +      refreshonly => true, +      subscribe   => File["${path}/${title}.d/limits.conf"], +      require     => Exec['systemctl-daemon-reload'], +    } +  } +} diff --git a/puppet/modules/systemd/manifests/tmpfile.pp b/puppet/modules/systemd/manifests/tmpfile.pp new file mode 100644 index 00000000..c4d1a05f --- /dev/null +++ b/puppet/modules/systemd/manifests/tmpfile.pp @@ -0,0 +1,20 @@ +# -- Define: systemd::tmpfile +# Creates a tmpfile and reloads systemd +define systemd::tmpfile( +  $ensure = file, +  $path = '/etc/tmpfiles.d', +  $content = undef, +  $source = undef, +) { +  include ::systemd + +  file { "${path}/${title}": +    ensure  => $ensure, +    content => $content, +    source  => $source, +    owner   => 'root', +    group   => 'root', +    mode    => '0444', +    notify  => Exec['systemd-tmpfiles-create'], +  } +}
\ No newline at end of file diff --git a/puppet/modules/systemd/manifests/unit_file.pp b/puppet/modules/systemd/manifests/unit_file.pp new file mode 100644 index 00000000..94bc845b --- /dev/null +++ b/puppet/modules/systemd/manifests/unit_file.pp @@ -0,0 +1,22 @@ +# -- Define: systemd::unit_file +# Creates a unit file and reloads systemd +define systemd::unit_file( +  $ensure = file, +  $path = '/etc/systemd/system', +  $content = undef, +  $source = undef, +  $target = undef, +) { +  include ::systemd + +  file { "${path}/${title}": +    ensure  => $ensure, +    content => $content, +    source  => $source, +    target  => $target, +    owner   => 'root', +    group   => 'root', +    mode    => '0444', +    notify  => Exec['systemctl-daemon-reload'], +  } +} | 
