From 06545c629825f4f9d4d3b85cec655e14b8bbdd7c Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Fri, 7 Jun 2024 23:36:00 +1000 Subject: [PATCH] feat: change hiera_include, hiera_exclude - change hiera_classes to hiera_include - add method to remove classes from hiera_include through hiera_exclude --- hieradata/common.yaml | 2 +- hieradata/roles/infra/cobbler/server.yaml | 2 +- hieradata/roles/infra/proxmox.yaml | 3 +++ site/profiles/manifests/base.pp | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/hieradata/common.yaml b/hieradata/common.yaml index 2eb5e99..964012b 100644 --- a/hieradata/common.yaml +++ b/hieradata/common.yaml @@ -117,7 +117,7 @@ lookup_options: facts_path: '/opt/puppetlabs/facter/facts.d' -hiera_classes: +hiera_include: - timezone - networking diff --git a/hieradata/roles/infra/cobbler/server.yaml b/hieradata/roles/infra/cobbler/server.yaml index 6709152..42dbef9 100644 --- a/hieradata/roles/infra/cobbler/server.yaml +++ b/hieradata/roles/infra/cobbler/server.yaml @@ -17,5 +17,5 @@ profiles::pki::vault::alt_names: profiles::cobbler::params::service_cname: 'cobbler.main.unkin.net' profiles::selinux::setenforce::mode: permissive -hiera_classes: +hiera_include: - profiles::selinux::setenforce diff --git a/hieradata/roles/infra/proxmox.yaml b/hieradata/roles/infra/proxmox.yaml index 7a1b911..05e6a9b 100644 --- a/hieradata/roles/infra/proxmox.yaml +++ b/hieradata/roles/infra/proxmox.yaml @@ -5,3 +5,6 @@ sudo::configs: content: | ceph ALL=NOPASSWD: /usr/sbin/smartctl -x --json=o /dev/* ceph ALL=NOPASSWD: /usr/sbin/nvme * smart-log-add --json /dev/* + +hiera_exclude: + - networking diff --git a/site/profiles/manifests/base.pp b/site/profiles/manifests/base.pp index 13f6b10..91b59c1 100644 --- a/site/profiles/manifests/base.pp +++ b/site/profiles/manifests/base.pp @@ -56,7 +56,9 @@ class profiles::base ( } # include classes from hiera - lookup('hiera_classes', Array[String], 'unique').include + $hiera_include = lookup('hiera_include', Array[String], 'unique', []) + $hiera_exclude = lookup('hiera_exclude', Array[String], 'unique', []) + ($hiera_include - $hiera_exclude).include # specifc ordering constraints Class['profiles::pki::vaultca']