Forge Home


Functions, data types, templates, all backed by official standards.


120 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.0.1 (latest)
  • 0.0.0
released Feb 1st 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, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0

Start using this module

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

Add this module to your Puppetfile:

mod 'kb-standard', '0.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add kb-standard
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install kb-standard --version 0.0.1

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.



kb/standard — version 0.0.1 Feb 1st 2024


table of contents

  1. module description – what the module does and why it is useful
  2. setup – the basics of getting started with standard
  3. limitations – OS compatibility, etc.
  4. development – guide for contributing to the module

module description

  • This module provides a select collection of standardized functions and data types within the Puppet ® ecosystem. If you are familiar with the referenced standards, e. g. POSIX™ or RFC number so-and-so, you will know how something works. Minor extensions that amount to de-facto standards are provided, too, and there are some bonus templates.
  • “You write code for humans.” Identifiers are kept human-readable: No abbreviations are used. Particularly in a large code base the function of objects should be apparent without consulting other sources.


what standard affects

The standard module affects nothing (except occupying the standard identifier/namespace, duh!).

setup requirements

There are no setup requirements.

beginning with standard

Simply put the module data at its right location and use the functions, data types or templates it provides. There are no manifests. You cannot include this module.


The standard module has a number of limitations:

  • Implementation limitations are documented in the
  • There is no Standard::InternetProtocolVersion6address data type. ☹
  • Not everything that was desired/considered for inclusion is indeed formally standardized.
  • Standards that focus on one operating system are deliberately ignored (e. g. ISO/IEC 23360‑* “Linux Standard Base”).


  • Make your case (how is something useful for a system managed by Puppet), reference specific sections of standards, if possible provide implementation and documentation, and do not forgot a copyright statement (public domain) in the commit message(s) of any commit(s) you may provide.
  • Note, this module focuses on free open-source systems. Access to standards needs to be royalty-free (cmp. ISO standards).