diff --git a/manifests/init.pp b/manifests/init.pp index 734374b2..d677b255 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -39,6 +39,7 @@ $node_ttl = $puppetdb::params::node_ttl, $node_purge_ttl = $puppetdb::params::node_purge_ttl, $report_ttl = $puppetdb::params::report_ttl, + $facts_blacklist_type = $puppetdb::params::facts_blacklist_type, Optional[Array] $facts_blacklist = $puppetdb::params::facts_blacklist, $gc_interval = $puppetdb::params::gc_interval, $node_purge_gc_batch_limit = $puppetdb::params::node_purge_gc_batch_limit, @@ -119,6 +120,7 @@ node_ttl => $node_ttl, node_purge_ttl => $node_purge_ttl, report_ttl => $report_ttl, + facts_blacklist_type => $facts_blacklist_type, facts_blacklist => $facts_blacklist, gc_interval => $gc_interval, node_purge_gc_batch_limit => $node_purge_gc_batch_limit, diff --git a/manifests/params.pp b/manifests/params.pp index 8d278a9f..504a0ae4 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -42,6 +42,7 @@ $node_purge_ttl = '14d' $report_ttl = '14d' + $facts_blacklist_type = undef $facts_blacklist = undef $gc_interval = '60' diff --git a/manifests/server.pp b/manifests/server.pp index 105e5e8a..b2b4e950 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -33,6 +33,7 @@ $node_ttl = $puppetdb::params::node_ttl, $node_purge_ttl = $puppetdb::params::node_purge_ttl, $report_ttl = $puppetdb::params::report_ttl, + $facts_blacklist_type = $puppetdb::params::facts_blacklist_type, Optional[Array] $facts_blacklist = $puppetdb::params::facts_blacklist, $gc_interval = $puppetdb::params::gc_interval, $node_purge_gc_batch_limit = $puppetdb::params::node_purge_gc_batch_limit, @@ -129,6 +130,10 @@ fail("read_database must be 'postgres'. You provided '${read_database}'") } + if !($facts_blacklist_type in [undef, 'literal', 'regex']) { + fail("facts_blacklist_type must be literal (default if not supplied) or regex. You provided '${facts_blacklist_type}'") + } + package { $puppetdb_package: ensure => $puppetdb::params::puppetdb_version, notify => Service[$puppetdb_service], @@ -175,6 +180,7 @@ node_ttl => $node_ttl, node_purge_ttl => $node_purge_ttl, report_ttl => $report_ttl, + facts_blacklist_type => $facts_blacklist_type, facts_blacklist => $facts_blacklist, gc_interval => $gc_interval, node_purge_gc_batch_limit => $node_purge_gc_batch_limit, diff --git a/manifests/server/database.pp b/manifests/server/database.pp index 68f89d73..e0d8e14e 100644 --- a/manifests/server/database.pp +++ b/manifests/server/database.pp @@ -13,6 +13,7 @@ $node_ttl = $puppetdb::params::node_ttl, $node_purge_ttl = $puppetdb::params::node_purge_ttl, $report_ttl = $puppetdb::params::report_ttl, + $facts_blacklist_type = $puppetdb::params::facts_blacklist_type, $facts_blacklist = $puppetdb::params::facts_blacklist, $gc_interval = $puppetdb::params::gc_interval, $node_purge_gc_batch_limit = $puppetdb::params::node_purge_gc_batch_limit, @@ -185,6 +186,18 @@ } } + if !($facts_blacklist_type in [undef, 'literal']) { + ini_setting { 'puppetdb_facts_blacklist_type': + setting => 'facts-blacklist-type', + value => $facts_blacklist_type, + } + } else { + ini_setting { 'puppetdb_facts_blacklist_type': + ensure => absent, + setting => 'facts-blacklist-type', + } + } + if ($facts_blacklist) and length($facts_blacklist) != 0 { $joined_facts_blacklist = join($facts_blacklist, ', ') ini_setting { 'puppetdb_facts_blacklist':