Confine Puppet providers based on libs (Gems)

Joshua Hoblitt



7,720 latest version

4.1 quality score

Version information

  • 0.1.0 (latest)
released Jul 19th 2015

Start using this module


jhoblitt/confinelibs — version 0.1.0 Jul 19th 2015

Puppet confinelibs Module

Build Status

Table of Contents

  1. Overview
  2. Description
  3. Usage
  4. Limitations
  5. Versioning
  6. Support
  7. Contributing
  8. See Also


Confine Puppet providers based on libs (Gems)


Create a Puppet::Confine instance that requires a list of libs (Gems). A separate Puppet::Util::Feature is created for each lib. This is similar to Puppet::Confine::Feature for lib dependencies except that a feature does not need to be manually declared.



Single lib

confine :libs => "simple-graphite"

Ruby 1.9+ JSON style

confine libs: "simple-graphite"

Multiple libs

confine :libs => ["openstack", "slackcat"]

Equivalent to:

confine :libs => "openstack"
confine :libs => "slackcat"

Equivalent to:

confine :libs => ["openstack"]
confine :libs => ["slackcat"]

Ruby 1.9+ JSON style

confine libs: ["openstack", "slackcat"]


Tested Puppets

  • 3.7.5
  • 4.0.0


This module is versioned according to the Semantic Versioning 2.0.0 specification.


Please log tickets and issues at github


  1. Fork it on github
  2. Make a local clone of your fork
  3. Create a topic branch. Eg, feature/mousetrap
  4. Make/commit changes
    • Commit messages should be in imperative tense
    • Check that linter warnings or errors are not introduced - bundle exec rake lint
    • Check that Rspec-puppet unit tests are not broken and coverage is added for new features - bundle exec rake spec
    • Documentation of API/features is updated as appropriate in the README
    • If present, beaker acceptance tests should be run and potentially updated - bundle exec rake beaker
  5. When the feature is complete, rebase / squash the branch history as necessary to remove "fix typo", "oops", "whitespace" and other trivial commits
  6. Push the topic branch to github
  7. Open a Pull Request (PR) from the topic branch onto parent repo's master branch

See Also