puppetlabs/facter

provide a schema for each facter release

bastelfreak opened this issue · 4 comments

Use Case

We've some tests in facterDB to validate factsets. Some factsets are created by hand to generated. To ensure they are complete/correct, it would be nice to have a schema we can use to validate the factsets.

Describe the Solution You Would Like

Provide a schema for each facter version factset.

Describe Alternatives You've Considered

A clear and concise description of any alternative solutions or features you've considered.

Additional Context

Add any other context or screenshots about the feature request here.

Facter currently does have a schema https://github.com/puppetlabs/facter/blob/main/lib/schema/facter.yaml though it is likely in need of updating. Facter 3 also had a test to verify the output matched the schema, but we seem to have lost that in Facter 4. So for this issue, I think we should:

  • Update the facter.yaml schema to include any facts added since the schema was last updated in 71be25d
  • Add CONTRIBUTING.md to mention that new facts need to be added to the schema. Currently we're inheriting the org-wide version.
  • Add an acceptance test the facter output conforms to the schema on each platform

Some facts that come to mind are os.macosx.extra, processors.extensions, openbsd related facts, dmi.product.version

Migrated issue to FACT-3474

This is addressed in #2746

Fixed in #2746