- Want an easy-to-scale Puppet Server that's quick to start and a LOT lighter than Trapperkeeper?
- Missing the days of running
puppet master --no-daemonize --debug --verbose
to debug your janky server-side compiles? - Good news: This project is for you!
Forked from https://github.com/puppetlabs/puppet, commit fd4024d
—the final
commit before the tragic merge of puppet#6794.
🔥
For executing directly with Ruby:
bundle update
bundle exec ruby puppet_server --no-daemonize --debug -v
podman build --tag "puppet_webrick" --file Dockerfile
podman run --hostname puppet -p 8140:8140 -d puppet_webrick
podman build --tag "puppet_passenger" --file Dockerfile.passenger
podman run --hostname puppet -p 8140:8140 -d puppet_passenger
- Install
minikube
minikube start
- Run a local registry
kubectl create -f k8s/local_registry.yml
kubectl port-forward --namespace kube-system $(kubectl get pod -n kube-system | grep kube-registry-v0 | \awk '{print $1;}') 5000:5000
- Create the container image
buildah bud -t puppetmaster:latest -f Dockerfile
- Update your
podman
configuration- Add
localhost
to theregistries
array of[registries.insecure]
in/etc/containers/registries.conf
- Add
- Push the container image
podman push localhost/puppetmaster localhost:5000/puppetmaster
- Run the pod
kubectl create -f k8s/puppetmaster.yml
- Enable the puppetmaster cluster
kubectl apply -f k8s/puppetmaster_deployment.yml
- Expose the port
minikube addons enable ingress
- Attach some clients
- Autoscale puppetmaster compilers as a cluster
- Compare and contrast to the "real thing"
- Create a shared volume for the CA materials
- Create a shared volume for the environment code