This utility collection should make your life with Puppet easier. You'll love it especially when deploying your Puppet Code with r10k. It allows you to trigger annoying tasks like deploying module refs to specific environments with short commands immediately from your working directory.
In the contrib directory you find the GIT hooks and the r10k deploy shell, used by this tool.
Hint: after cloning this repository, you should symlink bin/ris-puppet
to /usr/local/bin
or similar.
This shows a list of availble applications and commands.
Hint: use --help
for further information.
While being in a module directory the deploy
action allows you to
pin this module to your current commit rev in the control_repo
and
immediately deploys the desired environment to the Puppet master:
ris-puppet module deploy --env test
As an alternative you can also provide a specific ref
(branch, commit,
tag):
ris-puppet module deploy --env test --ref v1.2
For this operation you do not need to be in a module directory.
In order to remove a module from the specified environment, use the
remove
action:
ris-puppet module remove --env test --module ris_helloworld
Also this action works outside a module directory.
Analogue to deploy
and remove
there exist also pin
and unpin
,
which work in exact the same way, except they do not push the
control_repo
to the remote git server at the end.
The validate
action performs Puppet, Ruby and YAML syntax checks
and tells you whether there are errors or warnings.
This application provides means for creating and removing Puppet environments.
The create
action creates a new branch, i.e. environment, in the
control_repo
, out of the branch specified by the --from
parameter:
ris-puppet environment create --env sandbox --from test
The destroy
action removes the specified environment:
ris-puppet environment destroy --env sandbox
The list
action shows a list of all available environments:
ris-puppet environment list
This application provides means to interact with Foreman. It offers the folowing actions:
- dashboard
- hosts
- hostsclasses
- import
The import
action triggers the Puppet class import in Foreman:
ris-puppet foreman import
The dashboard
action returns a dashboard as JSON:
ris-puppet foreman dashboard
The hosts
actions returns a list of all hosts in a given environment:
ris-puppet foreman hosts --env sandbox
The hostsclasses
action returns for each host the assigned Puppet classes:
ris-puppet foreman hostsclasses