This is the Puppet configuration / control repository behind my personal development VPS.
Authenticated pushes to the repository trigger the following:
- Travis CI clones the repo and builds an image that includes the docker service
- Travis decrypts a GitHub deploy key that is passed to docker during
docker build
to allow r10k-git interaction with this repo - A test container is built using centos 7 + Dockerfile.centos-7 and installs Puppet 5.x and the r10k gem
- Travis begins
docker run
and starts entrypoint.sh- r10k pulls this control repo and creates dynamic environments
- Puppet runs a module dependency check
Puppet apply
compiles and applies the catalog(s), configuring the container
- On success - Travis notifies the development VPS via a webhook which a Sinatra app listens for on the VPS
- Development VPS clones the control repo and reruns r10k / Puppet apply locally