r10k what it do
we might not be smart
/opt/puppet/bin/r10k deploy environment bind9-internal-whyyy
r10k protects us from ourselves
r10k why we do
simpler puppet development pipeline
puppet enterprise shop
use git branches as puppet environments
r10k why we do two
use Puppet environment flag in /etc/ puppet.conf to
manage app environments
app1fe_dev
app1db_dev
app2fe_dev
app2fe_prod
r10k how we do
clone repos locally
vagrant oscar for local Puppet Enterprise dev
vagrant ssh
/opt/puppet/bin/r10k deploy environment app1_dev
test
modify puppet code
repeat
r10k git
git branches are cheap
environment management is expensive
good communication is key, esp since terminology is reused ad nauseam
environment branch repo class fork deploy role profile
r10k blame git
good communication is key
r10k robots all the way down
abstract app data in hiera
generalized code in separate git repos
protected code in ur-module from hades
environment data per git branch for r10k
too many layers of abstraction
r10k it do it
at its best it can still feel like standalone
at its worst it's like juggling jugglers juggling chainsaws
git merge new_feature env1
git merge new_feature env2
git merge new_feature env3