Puppet environment and module deployment
R10k supports the Ruby versions
>= 2.4.0. It's tested on Ruby 2.4.0 up to
Ruby 2.7.0 + Jruby.
R10k requires additional components, depending on how you plan on managing environments and modules.
- Installing modules from the Puppet Forge requires Puppet 5.0.0+ or later. Puppet 3 or 4 may work, but is generally not recommended.
- Git is required for creating environments and modules from Git
- SVN is required for creating environments and modules from SVN
For general use, you should install r10k from Ruby gems:
gem install r10k r10k help
Puppet Enterprise 3.x
Puppet Enterprise bundles a copy of Ruby, so if you do not want to use the system version of Ruby with r10k, you need to use the bundled PE gem command for installation:
/opt/puppet/bin/gem install r10k r10k help
Puppet 4 bundles a copy of Ruby, so if you do not want to use the system version of Ruby with r10k, you need to use the bundled puppet gem command for installation.
/opt/puppetlabs/puppet/bin/gem install r10k /opt/puppetlabs/puppet/bin/r10k help
If you have more specific needs or plan on modifying r10k you can run it out of a git repository using Bundler for dependencies:
git clone git://github.com/puppetlabs/r10k cd r10k bundle install bundle exec r10k help
R10k has two primary roles: installing Puppet modules using a standalone Puppetfile, and managing Git and SVN based dynamic environments. For more information see the topic specific documentation:
- Puppetfile Documentation
- Updating your Puppetfile
- Environment Deployment Documentation
- Common Patterns
- Workflow Guide
For more general questions, see the FAQ.
R10k has now had all user-facing strings in error messages and log messages externalized. When adding new error or log messages please follow the instructions for writing translatable code.
When localizing the strings found in R10k, follow the prescribed translation workflow. The workflow describes the rake tasks provided to generate the .po files for each locale.
By default, a patch (Z) release will be triggered. To release a new major (X) or minor (Y) version, include
#minor (respectively) in your commit message to trigger the appropriate release.
NOTE: This currently only works for the default branch. If you would like to release from a different branch, please contact the CODEOWNERS.
- IRC: r10k has a dedicated channel,
#r10k, on Freenode where r10k questions can be directed. Questions about r10k can frequently be asked in
- Mailing lists: puppet-users
- Q&A: Puppet Ask
Please see the CHANGELOG for a listing of the (very awesome) contributors.
See CODEOWNERS for active repo maintainers.
Open issues directly in the r10k repo.