Use Puppet to configure a CoreOS host
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci
ci
test
.dockerignore
.editorconfig
.gitattributes
.gitignore
.pre-commit-config.yaml
Dockerfile
LICENSE
README.md
puppet.service

README.md

Puppet v3 on CoreOS

Download size  Version Docker Registry  Circle CI

Project URL: https://github.com/jumanjihouse/puppet-on-coreos

Docker registry: https://registry.hub.docker.com/u/jumanjiman/puppet/

Image metadata: http://microbadger.com/images/jumanjiman/puppet

Overview

Run Puppet inside a container such that it affects the state of the underlying CoreOS host.

This repo and docker image tracks the latest Puppet 3.x version. If you want an image that tracks Puppet 4.x, see the PuppetLabs repo.

If you want to run Puppet Master in a container, see my docker-puppet git repo.

Wat? Why?

Cloud-init is fine for bootstrapping CoreOS hosts, but sometimes you want to:

  • consolidate inventory data (facter facts) in PuppetDB for all your hosts
  • use a single cloud-config for all CoreOS hosts, then use Puppet to make minor config changes in an idempotent manner

See also these blog posts:

How-to

Build images:

ci/build.sh

Run simple tests:

ci/test.sh

The test harness uses BATS. Output resembles:

1..6
ok 1 list users inside container
ok 2 list groups inside container
ok 3 # skip (requires systemctl) manipulate systemd on host OS
ok 4 facter works against host OS
ok 5 show puppet help
ok 6 puppet works against host OS

License

See LICENSE in this git repo.