Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / manifests / rules / node_exporter.pp @ 2ad7193b

Historique | Voir | Annoter | Télécharger (874 octets)

1 09cba182 Steve Traylen
# @summary manage in node exporter
2
# @param prometheus_server Specify server name
3
# @param port Specify port to open
4 11bf7237 Steve Traylen
class nftables::rules::node_exporter (
5 31b17627 Steve Traylen
  Optional[Variant[String,Array[String,1]]] $prometheus_server = undef,
6 94a80621 Steve Traylen
  Stdlib::Port $port = 9100,
7 cb50fd79 tr
) {
8 e5eb7424 tr
  if $prometheus_server {
9
    any2array($prometheus_server).each |$index,$prom| {
10 11bf7237 Steve Traylen
      nftables::rule {
11 e5eb7424 tr
        "default_in-node_exporter-${index}":
12
      }
13
      if $prom =~ /:/ {
14 11bf7237 Steve Traylen
        Nftables::Rule["default_in-node_exporter-${index}"] {
15 e5eb7424 tr
          content => "ip6 saddr ${prom} tcp dport ${port} accept",
16
        }
17
      } else {
18 11bf7237 Steve Traylen
        Nftables::Rule["default_in-node_exporter-${index}"] {
19 e5eb7424 tr
          content => "ip saddr ${prom} tcp dport ${port} accept",
20
        }
21
      }
22
    }
23
  } else {
24 11bf7237 Steve Traylen
    nftables::rule {
25 e5eb7424 tr
      'default_in-node_exporter':
26
        content => "tcp dport ${port} accept";
27
    }
28 cb50fd79 tr
  }
29
}