Forge Home

find_legacy_facts

Detect legacy facts in use within a Puppet Environment

70 downloads

57 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.0 (latest)
  • 0.1.0
released Aug 14th 2024
This version is compatible with:
  • Puppet Enterprise 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2021.7.x
  • Puppet >= 7.24 < 9.0.0
  • , , ,
Tasks:
  • find_legacy_facts
Plans:
  • find_legacy_facts

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'benjaminrobertson-find_legacy_facts', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add benjaminrobertson-find_legacy_facts
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install benjaminrobertson-find_legacy_facts --version 0.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

benjaminrobertson/find_legacy_facts — version 0.2.0 Aug 14th 2024

find_legacy_facts

A module containing a task and plan to scan entire code environments for legacy facts.

Table of Contents

  1. Description
  2. Setup - The basics of getting started with find_legacy_facts
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Description

Puppet 8 by default no longer saves legacy facts to PuppetDB. This will case any Puppet manifest code to fail compilation if legacy facts are still in use after upgrading to Puppet 8.

For more information on legacy facts and what they are. See Legacy Facts

Setup

Beginning with find_legacy_facts

Add legacy facts to your Puppetfile and deploy code to your Puppet primary.

Legacy facts task and plan accepts two parameters.

Environment: Required: Name of the environment you wish to scan. This could be production, development etc. Note: the plan limits environment names to valid environment names.

check_ruby: Whether to scan ruby files for legacy facts. Note: local ruby functions/facts can still contain legacy facts as these are still collected on Puppet 8, however they are no longer submitted to PuppetDB.

The plan find_legacy_facts will automatically locate your Puppet primary server. To manually target a Puppet server use the task find_legacy_facts and select the desired target.

These plans should also function when run by Puppet Bolt.

Usage

From within the Puppet Enterprise console, goto plans or tasks and select find_legacy_facts. Fill in required values then run the task/plan.

Depending on the size of your Puppet code environment, it may take a while to return the results.

Limitations

Find_legacy_facts can be used to help prepare for the migration to Puppet 8. However it should not solely relied upon to catch all legacy fact issues. Running your code on a Puppet 8 server within your test environment is vital before performing production upgrades.

Development

If you find any issues with this module, please log them in the issues register of the GitHub project. Issues

PR's glady accepted.