voxpupuli/r10k

Sponsored OSS

By voxpupuli

Updated 3 months ago

Vox Pupuli r10k container

Image

58

Vox Pupuli R10K

CILicenseSponsored by betadots GmbH

Introduction

This container is designed for deploying Puppet code using r10k. It includes the r10k gem along with all necessary dependencies pre-installed, ensuring a seamless deployment process.

Usage

To run r10k, simply execute the container. The r10k binary is set as the default entrypoint. The container operates as the puppet user with a UID/GID of 999. You can use a shared volume with a Puppet server and mount it at /etc/puppetlabs/code/environments.

podman run -it --rm -v code_dir:/etc/puppetlabs/code/environments:Z ghcr.io/voxpupuli/r10k:latest deploy environment -mv
services:
  r10k:
    image: ghcr.io/voxpupuli/r10k:5.0.0-latest
    environment:
      - PUPPET_CONTROL_REPO=https://github.com/my-org/control-repo.git
    volumes:
      - puppetserver-code-dir:/etc/puppetlabs/code/environments:Z
    entrypoint: ["/docker-entrypoint.sh"]
    command: ["deploy", "environment", "-mv"]
Environment Variables
NameDescription
PUPPET_CONTROL_REPOThe control repo url to get the Puppetfile from. Defaults to https://github.com/voxpupuli/controlrepo.git

Build

Build Arguments
NameDescription
RUBYGEM_R10KThe r10k version to install
RUBYGEM_PUPPETThe puppet version to install
PUPPET_CONTROL_REPOThe control repo url to get the Puppetfile from. Defaults to https://github.com/voxpupuli/controlrepo.git
UIDThe user id to use for the puppet user. Defaults to 999
GIDThe group to use for the puppet user. Defaults to ping

Version Schema

The version schema has the following layout:

<r10k.major>.<r10k.minor>.<r10k.patch>-v<container.major>.<container.minor>.<container.patch>
<r10k.major>.<r10k.minor>.<r10k.patch>-latest
latest

Example usage:

docker pull ghcr.io/voxpupuli/r10k:4.1.0-v1.2.3
docker pull ghcr.io/voxpupuli/r10k:4.1.0-latest
docker pull ghcr.io/voxpupuli/r10k:latest
NameDescription
r10k.majorDescribes the contained major r10k version
r10k.minorDescribes the contained minor r10k version
r10k.patchDescribes the contained patch r10k version
container.majorDescribes breaking changes without backward compatibility
container.minorDescribes new features or refactoring with backward compatibility
container.patchDescribes if minor changes or bugfixes have been implemented

How to release?

see RELEASE.md

How to contribute?

see CONTRIBUTING.md

Docker Pull Command

docker pull voxpupuli/r10k