# a class to define some global facts class profiles::base::facts { # The path where external facts are stored $facts_d_path = '/opt/puppetlabs/facter/facts.d' # Ensure the directory exists file { $facts_d_path: ensure => directory, owner => 'root', group => 'root', mode => '0755', } # cleanup old facts files $fact_list = [ 'enc_role', 'enc_env' ] $fact_list.each | String $item | { file { "${facts_d_path}/${item}.txt": ensure => absent, } } # ensure the path to the custom store exists file { '/root/.cache': ensure => directory, owner => 'root', group => 'root', mode => '0750', } # create the file that will be read file { '/root/.cache/custom_facts.yaml': ensure => absent, owner => 'root', group => 'root', mode => '0644', content => template('profiles/base/facts/custom_facts.yaml.erb'), } }