Puppet Class: prometheus::service_catalog_metrics

Defined in:
modules/prometheus/manifests/service_catalog_metrics.pp

Overview

service_catalog_infostate=“bar” 1

Parameters:

  • services_config (Hash[String, Wmflib::Service])
  • outfile (Stdlib::Absolutepath)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'modules/prometheus/manifests/service_catalog_metrics.pp', line 2

class prometheus::service_catalog_metrics (
  Hash[String, Wmflib::Service] $services_config,
  Stdlib::Absolutepath $outfile,
) {

  # Iterate over services
  $info_by_service = $services_config.reduce({}) |$memo, $el| {
    $service_name = $el[0]
    $service_config = $el[1]

    $port = $service_config['port']
    $state = $service_config['state']
    $page = pick($service_config['page'], true)

    $memo.merge({
      "${service_name}:${port}" => {
        'state' => $state,
        'page'  => Integer($page),
      }
    })
  }

  file { $outfile:
    content => template('prometheus/service_catalog_metrics.prom.erb'),
  }
}