- change the puppetdb::master::config from include to class statement - set the puppetdb_host value to match what is stored in hiera - disable firewall management on the puppetdb host
40 lines
1.3 KiB
Puppet
40 lines
1.3 KiB
Puppet
# profiles::puppet::puppetdb
|
|
#
|
|
# This class manages the installation and configuration of PuppetDB
|
|
# and its underlying PostgreSQL database on a single node.
|
|
#
|
|
# It makes use of the puppetlabs-puppetdb module to manage both the
|
|
# PuppetDB service and its PostgreSQL backend.
|
|
#
|
|
class profiles::puppet::puppetdb(
|
|
String $puppetdb_host,
|
|
String $listen_address = $facts['networking']['ip'],
|
|
) {
|
|
|
|
# disable the postgresql dnf module for el8+
|
|
if $facts['os']['family'] == 'RedHat' and $facts['os']['release']['major'] >= '8' {
|
|
# based on https://github.com/puppetlabs/puppetlabs-postgresql/blob/main/manifests/dnfmodule.pp
|
|
package { 'postgresql dnf module':
|
|
ensure => 'disabled',
|
|
name => 'postgresql',
|
|
provider => 'dnfmodule',
|
|
before => Class['puppetdb::database::postgresql'],
|
|
}
|
|
}
|
|
|
|
# Install and configure PostgreSQL for PuppetDB
|
|
class { 'puppetdb::database::postgresql':
|
|
listen_addresses => $listen_address,
|
|
postgresql_ssl_on => false,
|
|
postgres_version => '15',
|
|
puppetdb_server => $puppetdb_host,
|
|
before => Class['puppetdb::server'],
|
|
}
|
|
|
|
class { 'puppetdb::server':
|
|
database_host => $listen_address,
|
|
postgresql_ssl_on => false,
|
|
manage_firewall => false,
|
|
}
|
|
}
|