Last active
August 29, 2015 14:04
-
-
Save spjmurray/e7e50ce334e5f7948e08 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
PUPPET_REPO='deb http://apt.puppetlabs.com trusty main dependencies' | |
REPO='[email protected]:datacentred/datacentred-myrepo' | |
ENVDIR='/etc/puppet/environments' | |
PRODENV="${ENVDIR}/production" | |
## We need a recent version of puppet so force bleeding edge | |
wget -q http://apt.puppetlabs.com/pubkey.gpg -O- | apt-key add - | |
echo $PUPPET_REPO > /etc/apt/sources.list.d/puppetlabs.list | |
apt-get update | |
## Install required packages | |
apt-get -y install puppet git | |
gem install r10k | |
## Install the production environment | |
mkdir -p /root/.ssh | |
cat > /root/.ssh/id_rsa.deploy <<EOF | |
-----BEGIN RSA PRIVATE KEY----- | |
MIIEpQIBAAKCAQEAvdpFOOLSLtERnqlSvky2q2BGR2udqJYIRCAW5un1NNQmlHRD | |
+lDX9jQeU0a0CiVk372BEb7FrfJKuiszBSxQ3rnQELa/qmj1HL6krNo4F37L2q0W | |
WqyeB10olTfE1cKr8uyLkKzX0b7C4w54gG5Rc0Md6mW6Yf+28GVn9m6Zq7N63hzJ | |
UP02D6/4lRLF0Yut1Fh0Ij6lIyxsXGP/9jISyrPGOSr1kfpVLaN9/X57svizTkCQ | |
IalipjlxsomqQWmqT6JeIO82iQFnGXPQ80KC8UYgNzX4jAspnFQO2KlTMRCcDOPN | |
8HUrf5e0ToOveym4/7wL0I2C0eiIUmVvCuSzbQIDAQABAoIBAQCwbm919hQtvc0K | |
DYD/qHr5uHaXWMMjMIpuBQRDg5iEh8NyormpngeUncqwyTv3Udj0tD+GJiu/AzO+ | |
3vaDEDP3R+a8IZjs3K0tEV4n5IPMEeGQTto/WbtiTIiyYylhHZB+KKVqxbWrDgQ+ | |
zeveLqcy3mSmt/MFr4Zq0VJUCWR10rPS6vO34XKw/oe/FKBwY3wHhE2eI+QeiX5a | |
P1yNPblLK5BAQuHwftm18fe0yhrWqpBFKFkgA7vjRrhejYdGrAUUOyPo12r8aIfc | |
ao0EvjoqFfGNmFxlsGLViTirbt1e1aL2jSCae7KbHerdyZ/Nzz71bZiHNL8qhJLP | |
m4VkCfhhAoGBANzDw1pcbHTvJZLuexGgp1C1a3saaHX6EFfwnnxwa91cXH/OaC62 | |
Im/cCe/qeUz/tX4fdWHYEbIulffff7MOiXjx1oD4N1IP6iEs8ePU5VL1L2iwnPi2 | |
Vu6Ud6qTyYSpjsIFAZSamm7gH7AsPEgERHrBdQr1fMTNdM4+EodJ07tnAoGBANwn | |
eAoY07G/29Z6dLvwCxVIFVY7yJbsHvN8FxBDuMw+M2GJpo4D9OgFuPjgvaBa76Zf | |
FDmm2kD3I9jmA2JINwBN0p9NhovIiTdPH91iYI4A7jcOk3FMp7ghd6dVsIY1PmOU | |
efwaUS6n8Mcvz8VAbJqp1Hq7d79mMGre9x32VWoLAoGBAIrT/LyNVJLwdOOCXxhF | |
vBIQFGgUwk42lCKJKVE97UcGNxEUPwXo+Zz4dbNO8zsNrxeCNvHxy6cOjraS8R4r | |
7R2Gj4sJDNjpMyXruq24iwHxOAAQ2JW7LM3ZxasaRubLLgAq38SQuL8y6BqEpt/u | |
9xVvJOhgWjb0sRilhkdXkPPPAoGBALxgNVGGbtVgUm5SN8J8Ii+ij0dLPlcNUWqM | |
Gnv7RovVCUgDbXWFIzDJfL3QJ9GnHfpgzsCJ6aS/E3hLUEfvfMiQzpEq196Rx/+A | |
f8aBoBbB6xNHMJg4vCZM1MJlCve7ZVf1uu8hYaenYdo+Ke0hNAyfFsWx1UP736AC | |
irajifCDAoGAWiolXpPwZ8MQ1xNAQ4zgUxxsuPy9cyiy245BRlqybCrPfkOqL0ut | |
21qTz7ZG+Wz7wwuAxE9dykj390QupXficLG7XAFB13AhZ6y8sblIgkmt8tvN2TSS | |
ZGCz4FRFB1V3L1DJOhvQpEln39nMeQI5xWm1IeVAUNoNa4bluhVIkf8= | |
-----END RSA PRIVATE KEY----- | |
EOF | |
chmod 400 /root/.ssh/id_rsa.deploy | |
cat >> /root/.ssh/config <<EOF | |
Host github.com | |
StrictHostKeyChecking no | |
IdentityFile /root/.ssh/id_rsa.deploy | |
EOF | |
mkdir -p ${ENVDIR} | |
git clone ${REPO} ${PRODENV} | |
pushd ${PRODENV} | |
r10k puppetfile install | |
popd | |
# Enable hiera data | |
cp ${PRODENV}/modules/puppet/files/master/hiera.yaml /etc/puppet | |
# Provision! | |
puppet apply --modulepath ${PRODENV}/modules:${PRODENV}/site ${PRODENV}/manifests | |
# Update DNS | |
cat > /etc/dhcp/dhclient.conf <<EOF | |
prepend domain-name-servers 10.0.0.3; | |
EOF | |
ifdown eth0 && ifup eth0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment