-
Notifications
You must be signed in to change notification settings - Fork 241
Description
I have recently come across a use case where I needed to black list certain puppet facts on certain node classification, for performance reasons.
I looked at some setups in customer environments and the majority would benefit from having the ability conditionally manage fact blacklisting as part of manifests, eg: removing EC2 and GCE facts for non AWS/GCP hosted nodes, removing XEN facts in non-XEN/virtual environments, disabling AIX / Solaris facts in environments without those OS's, or disabling specific facts depending on use case, (stripping out non-essential facts on edge devices which are normally low powered).
while facter.conf provides much wider configuration options, starting with a basic facter.conf template that could feed a parameter has to generate something like
facts : {
blocklist : [ "EC2","ZFS","GCE","XEN" ],
}
where puppet::facter::blocklist is a hash of parameters to generate the files of blocklist in the template.
I apprecaite this is an edge use case, but I think this would be a valuable feature, and actually being able to tune and remove unneeded blocks of facts such as EC2 in non-ec2 environments could be very beneficial.
it also opens the door for wider facter.conf values if needed.