class profiles::puppetserver ( Hash $hiera, ) { # required for the git hook ensure_packages(['ruby']) file { '/usr/libexec': ensure => directory, } ensure_packages(['python3-yaml']) inifile::create_ini_settings( { common => { node_fmt => yaml, nodes => '/puppet/nodes.yaml', }, }, { path => '/etc/node-classifier.ini', } ) file { '/usr/libexec/external-node-classifier': mode => '0555', source => 'puppet:///modules/profiles/node-classifier.py', } class { 'puppet': server => true, server_foreman => false, server_reports => 'puppetdb', server_storeconfigs => true, server_git_repo => true, server_git_repo_path => '/var/lib/puppet.git', server_external_nodes => '/usr/libexec/external-node-classifier', server_strict_variables => true, } file { "/etc/puppetlabs/puppet/hiera.yaml": ensure => file, content => hash2yaml($hiera, { 'header' => '# This file is managed by puppet', }), } }