From 51104edd2c53da48b8a6f4646a10282c9d5e8396 Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Fri, 13 Jun 2025 15:26:50 +0200 Subject: [PATCH 1/2] add installation and update Readme --- .vscode/settings.json | 1 + README.md | 1 + manifests/main/install.pp | 10 ++++++++++ manifests/params.pp | 10 ++++++++++ 4 files changed, 22 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 2a19134..52f999b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "reqpackage", "rpms", "sslcacert", "sslverify" diff --git a/README.md b/README.md index 2ac8bc1..cb8986b 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach. `prometheus_cd` is a Puppet module to automate installation and configuration of prometheus and node exporter. +This module supports either managing prometheus or node_exporter or both. You need to set the parameters `$manage_prometheus`and / or `$manage_node_exporter`to true ( false by default) ## WARNING diff --git a/manifests/main/install.pp b/manifests/main/install.pp index 8a0664b..ba8dca3 100644 --- a/manifests/main/install.pp +++ b/manifests/main/install.pp @@ -6,4 +6,14 @@ class prometheus_cd::main::install ( ) inherits prometheus_cd::params { require prometheus_cd::main::yumrepo + if $manage_prometheus == true { + package { $reqpackage_prom: + ensure => $pkg_ensure, + } + } + if $manage_node_exporter == true { + package { $reqpackage_ne: + ensure => $pkg_ensure, + } + } } diff --git a/manifests/params.pp b/manifests/params.pp index 371e82e..97298b0 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -2,8 +2,18 @@ # Module name: prometheus_cd # Author: Arne Teuke (arne_teuke@confdroid.com) # @summary Class holds all parameters for the prometheus_cd module. +# @param [String] reqpackage_prom the prometheus package +# @param [String] reqpackage_ne the node_exporter package +# @param [String] pkg_ensure which version of the package to install +# @param [boolean] manage_prometheus whether to manage prometheus +# @param [boolean] manage_node_exporter whether to manage node exporter ############################################################################## class prometheus_cd::params ( + String $reqpackage_prom = 'prometheus', + String $reqpackage_ne = 'node_exporter', + String $pkg_ensure = 'present', + Boolean $manage_prometheus = false, + Boolean $manage_node_exporter = false, ) { # includes must be last From d3f3f286b0265d9909bc6d21a6d0f42262445ffb Mon Sep 17 00:00:00 2001 From: Jenkins Server Date: Fri, 13 Jun 2025 15:27:42 +0200 Subject: [PATCH 2/2] Recommit for updates in build 6 --- doc/file.README.html | 2 +- doc/index.html | 2 +- .../prometheus_cd_3A_3Amain_3A_3Ainstall.html | 22 +++- .../prometheus_cd_3A_3Aparams.html | 118 ++++++++++++++++-- 4 files changed, 134 insertions(+), 10 deletions(-) diff --git a/doc/file.README.html b/doc/file.README.html index e764b9b..19eb6cd 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -68,7 +68,7 @@

Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.

-

prometheus_cd is a Puppet module to automate installation and configuration of prometheus and node exporter.

+

prometheus_cd is a Puppet module to automate installation and configuration of prometheus and node exporter. This module supports either managing prometheus or node_exporter or both. You need to set the parameters $manage_prometheusand / or $manage_node_exporterto true ( false by default)

WARNING

diff --git a/doc/index.html b/doc/index.html index 6bd83e7..8f24fbf 100644 --- a/doc/index.html +++ b/doc/index.html @@ -68,7 +68,7 @@

Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.

-

prometheus_cd is a Puppet module to automate installation and configuration of prometheus and node exporter.

+

prometheus_cd is a Puppet module to automate installation and configuration of prometheus and node exporter. This module supports either managing prometheus or node_exporter or both. You need to set the parameters $manage_prometheusand / or $manage_node_exporterto true ( false by default)

WARNING

diff --git a/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Ainstall.html index d56c200..eba0f59 100644 --- a/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Ainstall.html +++ b/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Ainstall.html @@ -104,7 +104,17 @@ 6 7 8 -9 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19
# File 'manifests/main/install.pp', line 6
@@ -112,6 +122,16 @@
 class prometheus_cd::main::install (
 ) inherits prometheus_cd::params {
   require prometheus_cd::main::yumrepo
+  if $manage_prometheus  == true {
+    package { $reqpackage_prom:
+      ensure => $pkg_ensure,
+    }
+  }
+  if $manage_node_exporter == true {
+    package { $reqpackage_ne:
+      ensure => $pkg_ensure,
+    }
+  }
 }
diff --git a/doc/puppet_classes/prometheus_cd_3A_3Aparams.html b/doc/puppet_classes/prometheus_cd_3A_3Aparams.html index 189dc73..3583b47 100644 --- a/doc/puppet_classes/prometheus_cd_3A_3Aparams.html +++ b/doc/puppet_classes/prometheus_cd_3A_3Aparams.html @@ -105,7 +105,101 @@
+

Parameters:

+
    +
  • + + reqpackage_prom + + + (String) + + + (defaults to: 'prometheus') + + + — +
    +

    the prometheus package

    +
    + +
  • + +
  • + + reqpackage_ne + + + (String) + + + (defaults to: 'node_exporter') + + + — +
    +

    the node_exporter package

    +
    + +
  • + +
  • + + pkg_ensure + + + (String) + + + (defaults to: 'present') + + + — +
    +

    which version of the package to install

    +
    + +
  • + +
  • + + manage_prometheus + + + (Boolean) + + + (defaults to: false) + + + — +
    +

    whether to manage prometheus

    +
    + +
  • + +
  • + + manage_node_exporter + + + (Boolean) + + + (defaults to: false) + + + — +
    +

    whether to manage node exporter

    +
    + +
  • + +
+
@@ -115,17 +209,27 @@
 
 
-6
-7
-8
-9
-10
-11
+11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 -
# File 'manifests/params.pp', line 6
+        
# File 'manifests/params.pp', line 11
 
 class prometheus_cd::params (
+  String $reqpackage_prom       = 'prometheus',
+  String $reqpackage_ne         = 'node_exporter',
+  String $pkg_ensure            = 'present',
+  Boolean $manage_prometheus    = false,
+  Boolean $manage_node_exporter = false,
 
 ) {
   # includes must be last