Skip to content

Add basic facter.conf creation and management to module #947

@ikonia

Description

@ikonia

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions