diff --git a/README.md b/README.md index cb8986b..1ec56f0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ INSTALLATION CONFIGURATION * manage directories and files including templates -* manages the main alloy jenkins for loki and prometheus * manage service ## Repo Documentation diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp index 31126c6..ba46ea2 100644 --- a/manifests/main/dirs.pp +++ b/manifests/main/dirs.pp @@ -7,7 +7,7 @@ class prometheus_cd::main::dirs ( ) inherits prometheus_cd::params { require prometheus_cd::main::install if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) { - # prometheus directors + # prometheus directory file { $ps_main_dir: ensure => directory, owner => 'root', @@ -18,5 +18,16 @@ class prometheus_cd::main::dirs ( seltype => etc_t, seluser => system_u, } + # service systemfile directory + file { $ps_system_file_dir: + ensure => directory, + owner => 'root', + group => 'root', + mode => '0755', + selrange => s0, + selrole => object_r, + seltype => systemd_unit_file_t, + seluser => unconfined_u, + } } } diff --git a/manifests/main/files.pp b/manifests/main/files.pp index a7529c9..06011b3 100644 --- a/manifests/main/files.pp +++ b/manifests/main/files.pp @@ -5,8 +5,8 @@ ############################################################################## class prometheus_cd::main::files ( ) inherits prometheus_cd::params { - require prometheus_cd::main::dirs - if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) { + if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) { + require prometheus_cd::main::dirs file { $ps_main_file: ensure => file, owner => 'root', @@ -19,5 +19,17 @@ class prometheus_cd::main::files ( content => template('prometheus_cd/prometheus.yml.erb'), notify => Service[$ps_prom_service], } + file { $ps_system_service_file: + ensure => file, + owner => 'root', + group => 'root', + mode => '0644', + selrange => s0, + selrole => object_r, + seltype => systemd_unit_file_t, + seluser => unconfined_u, + content => template('prometheus_cd/override.conf.erb'), + notify => Service[$ps_prom_service], + } } } diff --git a/manifests/params.pp b/manifests/params.pp index c6f0a22..6381c2f 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -44,9 +44,11 @@ class prometheus_cd::params ( # dirs $ps_main_dir = '/etc/prometheus' + $ps_system_file_dir = '/etc/systemd/system/prometheus.service.d' # files $ps_main_file = "${ps_main_dir}/prometheus.yml" + $ps_system_service_file = "${ps_system_file_dir}/override.conf" # services $ps_prom_service = 'prometheus' diff --git a/templates/override.conf.erb.erb b/templates/override.conf.erb.erb new file mode 100644 index 0000000..97e5da5 --- /dev/null +++ b/templates/override.conf.erb.erb @@ -0,0 +1,10 @@ +############################################################################## +##### File created by Puppet - manual changes will be overwritten ##### +############################################################################### +[Service] +ExecStart= +ExecStart=/usr/bin/prometheus \ + --config.file=/etc/prometheus/prometheus.yml \ + --storage.tsdb.path=/var/lib/prometheus \ + --web.enable-remote-write-receiver \ + --web.enable-lifecycle \ No newline at end of file