# this is the base class, which will be used by all servers class profiles::base ( Array $ntp_servers, Array $puppet_servers, ) { class { 'chrony': servers => $ntp_servers, } case $facts['os']['family'] { 'RedHat': { include profiles::yum::global include profiles::firewall::firewalld } 'Debian': { include profiles::apt::global } default: { fail("Unsupported OS family ${facts['os']['family']}") } } # include the base packages profile class { 'profiles::base::packages': packages => hiera('profiles::base::packages::common'), ensure => 'installed', } # manage puppet clients if ! member($puppet_servers, $trusted['certname']) { include profiles::puppet::client } # include admin scripts include profiles::base::scripts # include admin scripts include profiles::base::hosts # include the python class class { 'python': manage_python_package => true, manage_venv_package => true, manage_pip_package => true, use_epel => false, } # all hosts will have sudo applied class { 'sudo': secure_path => '/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/puppetlabs/bin' } # default users include profiles::accounts::sysadmin }