# configure the puppetdb api service class profiles::puppet::puppetdb_api ( String $postgres_host = lookup('profiles::puppet::puppetdb::postgres_host'), String $listen_address = $facts['networking']['ip'], Stdlib::Absolutepath $java_bin = '/usr/bin/java', Hash $java_args = {}, ) { class { 'java': package => 'java-11-openjdk-devel', before => Class['puppetdb::server'], } class { 'puppetdb::server': database_host => $postgres_host, manage_firewall => false, ssl_listen_address => $listen_address, listen_address => $listen_address, java_bin => $java_bin, java_args => $java_args, } contain ::puppetdb::server class { 'prometheus::puppetdb_exporter': puppetdb_url => "http://${listen_address}:8080/pdb/query", export_scrape_job => true, } # export haproxy balancemember profiles::haproxy::balancemember { "${facts['networking']['fqdn']}_8080": service => 'be_puppetdbapi', ports => [8080], options => [ "cookie ${facts['networking']['hostname']}", 'check', 'inter 2s', 'rise 3', 'fall 2', ] } }