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/doc/file.README.html b/doc/file.README.html index 19eb6cd..b3a1a3f 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -87,8 +87,6 @@
manage directories and files including templates
manages the main alloy jenkins for loki and prometheus
-manage service
manage directories and files including templates
manages the main alloy jenkins for loki and prometheus
-manage service
# File 'manifests/main/dirs.pp', line 6
@@ -126,7 +137,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',
@@ -137,6 +148,17 @@ 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,
+ }
}
}
# File 'manifests/main/files.pp', line 6
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',
@@ -139,6 +151,18 @@ 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],
+ }
}
}
# File 'manifests/params.pp', line 17
@@ -394,9 +396,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/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