Socket
Book a DemoInstallSign in
Socket

puppet_litmus

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

puppet_litmus

2.3.2
bundlerRubygems
Version published
Maintainers
2
Created
Source

Litmus

Code Owners ci Gem Version

litmus logo

Overview

Litmus is a command line tool that allows you to run acceptance tests against Puppet modules.

Litmus allows you to:

  • Provision targets to test against
  • Install a Puppet agent
  • Install a module
  • Run tests
  • Tear down the infrastructure

Litmus also facilitates parallel test runs and running tests in isolation. Each step is standalone, allowing other operations between test runs, such as debugging or configuration updates on the test targets.

Install Litmus as a gem by running gem install puppet_litmus.

  • Note if you choose to override the litmus_inventory.yaml location, please ensure that the directory structure you define exists.

Agent installs

Install a specific puppet agent version

To install a specific version of the puppet agent, you can export the PUPPET_VERSION env var, like below:

export PUPPET_VERSION=8.8.1

When set, the litmus:install_agent rake task will install the specified version. The default is latest.

Installing puppetcore agents

To install a puppetcore puppet agent through the litmus:install_agent rake task, you need to export your Forge API key as an env var, like below:

export PUPPET_FORGE_TOKEN='<your_forge_api_key>'

matrix_from_metadata_v3

matrix_from_metadata_v3 tool generates a github action matrix from the supported operating systems listed in the module's metadata.json.

How to use it: in the project module root directory run bundle exec matrix_from_metadata_v3

Optional arguments

argumentvaluedefaultdescription
--matrixFILEbuilt-inFile containing possible collections and provisioners
--metadataFILEmetadata.jsonFile containing module metadata json
--debugEnable debug messages
--quietDisable notice messages
--outputTYPEautoType of output to generate; auto, github or stdout
--runnerNAMEubuntu-latestDefault Github action runner
--puppet-includeMAJORSelect puppet major version
--puppet-excludeMAJORFilter puppet major version
--platform-includeREGEXSelect platform
--platform-excludeREGEXFilter platform
--arch-includeREGEXSelect architecture
--arch-excludeREGEXFilter architecture
--provision-preferNAMEdockerPrefer provisioner
--provision-includeNAMEallSelect provisioner
--provision-excludeNAMEprovision_serviceFilter provisioner
--nightlyInstall from the nightly puppetcore images
--latest-agentReturn the latest agent version as part of the matrix. Note: This changes how the collection is returned

Refer to the built-in matrix.json for a list of supported collection, provisioners, and platforms.

Examples

  • Only specific platforms
    matrix_from_metadata_v3 --platform-include redhat --platform-include 'ubuntu-(20|22).04'
    
  • Exclude platforms
    matrix_from_metadata_v3 --platform-exclude redhat-7 --platform-exclude ubuntu-18.04
    
  • Exclude architecture
    matrix_from_metadata_v3 --arch-exclude x86_64
    
  • Run against the nightly puppetcore images
    matrix_from_metadata_v3 --nightly
    

Documentation

For documentation, see our Litmus Docs Site.

License

This codebase is licensed under Apache 2.0. However, the open source dependencies included in this codebase might be subject to other software licenses such as AGPL, GPL2.0, and MIT.

Other Resources

FAQs

Package last updated on 13 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.