OP#470 add dir

This commit is contained in:
2026-02-27 15:18:08 +01:00
parent f1cb23c414
commit ec52f8f388
9 changed files with 35 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::firewall::iptables.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the firewall rules for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::firewall::iptables (

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::init.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class initializes the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus {

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::main::config.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the module logic for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::config (

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::main::dirs.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages directories for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::dirs (
@@ -43,7 +43,20 @@ class confdroid_prometheus::main::dirs (
}
if $ps_enable_pruning == false {
file { $ps_pruning_dir:
ensure => absent,
ensure => absent,
}
}
# binary install directory
if $install_from_binary == true {
file { $ps_install_dir:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => usr_,
seluser => unconfined_u,
}
}
}

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::main::files.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages configuration files for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::files (

View File

@@ -1,16 +1,22 @@
# confdroid_prometheus::main::install.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class install binaries for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::install (
) inherits confdroid_prometheus::params {
require confdroid_prometheus::main::yumrepo
if $manage_prometheus == true {
package { $reqpackage_prom:
ensure => $pkg_ensure,
if $install_from_binary == false {
package { $reqpackage_prom:
ensure => $pkg_ensure,
}
}
if $install_from_binary == true {
# place function here to install from binary releases, e.g. using the archive module
}
}
if $manage_node_exporter == true {
package { $reqpackage_ne:
ensure => $pkg_ensure,

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::main::service.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the services for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::service (

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::main::yumrepo.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages yumrepo for the confdroid_prometheus module.
##############################################################################
class confdroid_prometheus::main::yumrepo (

View File

@@ -1,6 +1,6 @@
# confdroid_prometheus::params.pp
# Module name: confdroid_prometheus
# Author: Arne Teuke (arne_teuke@confdroid.com)
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class holds all parameters for the confdroid_prometheus module.
# @param [String] reqpackage_prom the prometheus package
# @param [String] reqpackage_ne the node_exporter package
@@ -41,6 +41,8 @@
# @param [String] ps_min_age_hours Minimum block age in hours before pruning
# @param [String] ps_grace_hours Grace period in hours to be extra safe
# @param [String] ps_sql_template the SQL template to use for checks.
# @param [Boolean] install_from_binary whether to install from binary releases
# instead of packages
##############################################################################
class confdroid_prometheus::params (
@@ -48,6 +50,7 @@ class confdroid_prometheus::params (
String $reqpackage_prom = 'prometheus2',
String $reqpackage_ne = 'node_exporter',
String $pkg_ensure = 'present',
Boolean $install_from_binary = false,
# config logic
Boolean $manage_prometheus = false,
@@ -112,6 +115,7 @@ class confdroid_prometheus::params (
$ps_main_dir = '/etc/prometheus'
$ps_system_file_dir = '/etc/systemd/system/prometheus.service.d'
$ps_system_dir = '/etc/systemd/system/'
$ps_install_dir = '/opt/prometheus'
# files
$ps_main_file = "${ps_main_dir}/prometheus.yml"