Coder Social home page Coder Social logo

r10k's Introduction

r10k

Puppet environment and module deployment

Build Status

R10k is supported and maintained by Puppet, but we consider it to be feature complete and currently have no plans for any new development. We will keep it working within the context of Puppet Enterprise, but we cannot make any other maintenance promises at this time.

Description

R10k provides a general purpose toolset for deploying Puppet environments and modules. It implements the Puppetfile format and provides a native implementation of Puppet environments.

You might also consider g10k as a non-ruby based alternative.

Requirements

R10k supports the Ruby versions >= 2.4.0. It's tested on Ruby 2.4.0 up to Ruby 3.1.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

Installation

Rubygems

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

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

Bundler

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 https://github.com/puppetlabs/r10k
cd r10k
bundle install
bundle exec r10k help

Arch Linux

Arch Linux provides a system package for r10k. This is built against the system Ruby (which is Ruby 3.0.2 as of 2021-08-03). This package is maintained by Tim Meusel.

Usage

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:

For more general questions, see the FAQ.

Development

i18n

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.

l10n

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.

Releasing

To release a new version of the r10k gem, ensure the changelog is up to date and open a pull request updating the version file. When the PR is merged, a new release of the gem will be triggered.

By default, a patch (Z) release will be triggered. To release a new major (X) or minor (Y) version, include #major or #minor (respectively) in your commit message to trigger the appropriate release.

Getting help

Maintenance

See CODEOWNERS for current project owners.

r10k's People

Contributors

adreyer avatar adrienthebo avatar ajroetker avatar alexjfisher avatar andersonmills avatar bastelfreak avatar baurmatt avatar binford2k avatar carlosvelarde avatar chrisleicester avatar danieldreier avatar elyscape avatar haus avatar iristyle avatar jonathannewman avatar justinstoller avatar libbymo avatar magisus avatar mwaggett avatar nabertrand avatar nmaludy avatar nwolfe avatar puppetlabs-jenkins avatar reidmv avatar rnelson0 avatar sarameisburger avatar scotje avatar tvpartytonight avatar underscorgan avatar zreichert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.