diff --git a/.vscode/settings.json b/.vscode/settings.json index 52f999b..403056c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "changeme", "reqpackage", "rpms", "sslcacert", diff --git a/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Afiles.html b/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Afiles.html index 7dbf95e..5c1db14 100644 --- a/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Afiles.html +++ b/doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Afiles.html @@ -104,7 +104,19 @@ 6 7 8 -9 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21
# File 'manifests/main/files.pp', line 6
@@ -112,6 +124,18 @@
class prometheus_cd::main::files (
) inherits prometheus_cd::params {
require prometheus_cd::main::dirs
+ file { $ps_main_file:
+ ensure => file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => etc_t,
+ seluser => system_u,
+ content => template('prometheus_cd/prometheus.yml.erb'),
+ notify => Service[ps_prom_service],
+ }
}
the username for authentication
+the password for authentication
+-15 -16 17 18 19 @@ -312,10 +359,21 @@ 41 42 43 -44+44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55
# File 'manifests/params.pp', line 15
+ # File 'manifests/params.pp', line 17
class prometheus_cd::params (
@@ -334,6 +392,10 @@ class prometheus_cd::params (
String $ps_fw_prefix = '50',
String $ps_main_port = '9090',
+ # auth
+ String $ps_auth_user = 'changeme',
+ String $ps_auth_pass = 'changeme',
+
) {
# defaults
$fqdn = $facts['networking']['fqdn']
@@ -344,6 +406,11 @@ class prometheus_cd::params (
# dirs
$ps_main_dir = '/etc/prometheus'
+ # files
+
+ # services
+ $ps_prom_service = 'prometheus'
+ $ps_ne_service = 'node_exporter'
# includes must be last
include prometheus_cd::main::config
}
diff --git a/manifests/main/files.pp b/manifests/main/files.pp
index 71f70ca..7a1185d 100644
--- a/manifests/main/files.pp
+++ b/manifests/main/files.pp
@@ -6,4 +6,16 @@
class prometheus_cd::main::files (
) inherits prometheus_cd::params {
require prometheus_cd::main::dirs
+ file { $ps_main_file:
+ ensure => file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => etc_t,
+ seluser => system_u,
+ content => template('prometheus_cd/prometheus.yml.erb'),
+ notify => Service[ps_prom_service],
+ }
}
diff --git a/manifests/main/service.pp b/manifests/main/service.pp
index 26eaeaf..0acde91 100644
--- a/manifests/main/service.pp
+++ b/manifests/main/service.pp
@@ -8,7 +8,7 @@ class prometheus_cd::main::service (
require prometheus_cd::main::files
require prometheus_cd::firewall::iptables
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
- service { 'prometheus':
+ service { $ps_prom_service:
ensure => running,
hasstatus => true,
hasrestart => true,
@@ -16,7 +16,7 @@ class prometheus_cd::main::service (
}
}
if $manage_node_exporter == true {
- service { 'node_exporter':
+ service { $ps_ne_service:
ensure => running,
hasstatus => true,
hasrestart => true,
diff --git a/manifests/params.pp b/manifests/params.pp
index 3e04ed9..ce0ce1b 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -11,6 +11,8 @@
# @param [String] ps_prom_host the fqdn of the prometheus server
# @param [String] ps_fw_prefix the firewall rule prefix
# @param [String] ps_main_port the firewall main port for prometheus
+# @param [String] ps_auth_user the username for authentication
+# @param [String] ps_auth_user the password for authentication
##############################################################################
class prometheus_cd::params (
@@ -29,6 +31,10 @@ class prometheus_cd::params (
String $ps_fw_prefix = '50',
String $ps_main_port = '9090',
+ # auth
+ String $ps_auth_user = 'changeme',
+ String $ps_auth_pass = 'changeme',
+
) {
# defaults
$fqdn = $facts['networking']['fqdn']
@@ -39,6 +45,11 @@ class prometheus_cd::params (
# dirs
$ps_main_dir = '/etc/prometheus'
+ # files
+
+ # services
+ $ps_prom_service = 'prometheus'
+ $ps_ne_service = 'node_exporter'
# includes must be last
include prometheus_cd::main::config
}
diff --git a/templates/prometheus.yaml b/templates/prometheus.yml.erb
similarity index 67%
rename from templates/prometheus.yaml
rename to templates/prometheus.yml.erb
index 7092154..e75b941 100644
--- a/templates/prometheus.yaml
+++ b/templates/prometheus.yml.erb
@@ -25,10 +25,10 @@ scrape_configs:
- targets:
- localhost:9090
basic_auth:
- username_file: /etc/prometheus/secrets/prometheus-auth/username
- password_file: /etc/prometheus/secrets/prometheus-auth/password
+ username: <%= @ps_auth_user %>
+ password: <%= @ps_auth_pass %>
remote_write:
- url: "http://localhost:9090/api/v1/write"
basic_auth:
- username_file: /etc/prometheus/secrets/prometheus-auth/username
- password_file: /etc/prometheus/secrets/prometheus-auth/password
\ No newline at end of file
+ username: <%= @ps_auth_user %>
+ password: <%= @ps_auth_pass %>
\ No newline at end of file