From 5b100712c03c9233ec89d6a30d568d3d296eab1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 20 Jun 2023 22:32:35 +0200 Subject: fixes --- manifests/conf.pp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 manifests/conf.pp (limited to 'manifests/conf.pp') diff --git a/manifests/conf.pp b/manifests/conf.pp new file mode 100644 index 0000000..86802ee --- /dev/null +++ b/manifests/conf.pp @@ -0,0 +1,45 @@ +# @summary Sets up a environment file. +# +# Configures an environment file along with a systemd dropin unit for +# loading that file. +# +# @param env +# Environment to set. +# @param service +# Which service this environment belongs to. +# Also configures which service file a dropin will be created for, +# along with which service should be notified that its environment +# was updated. +# @param path +# Absolute path to the configuration file. Should generally not be +# manually set. +# @param ensure +# @api private +define concourse::conf ( + Hash[String, String] $env, + String $service, + Stdlib::Abspath $path = "${concourse::confdir::conf_dir}/${name}", + Enum['absent', 'present'] $ensure = 'present', +) { + include concourse::confdir + + file { $path: + ensure => $ensure, + content => epp("${module_name}/env.epp", { 'entries' => $env }), + show_diff => false, + mode => '0600', + notify => Service[$service], + } + + $dropin_content = @("EOF") + [Service] + EnvironmentFile=${path} + | EOF + + systemd::dropin_file { "concourse-${name}.conf": + ensure => $ensure, + unit => $concourse::web::service_unit, + content => $dropin_content, + notify_service => true, + } +} -- cgit v1.2.3