Document how to fix BASE-IS-OLD
[mirror/dsa-wiki.git] / input / howto / puppet-setup.mdwn
index 20d89cb..ca88b20 100644 (file)
@@ -10,10 +10,10 @@ Make sure you have set up the IP address for the new machine in ud-ldap.
 After that run puppet on puppetmaster once, so the ferm config get
 adjusted.
 
-        : __handel__ && puppet agent -t --environment=production
+        : __handel__ && puppet agent --no-daemonize --onetime --environment=production
 
         : ::client:: && me=$(hostname -f) && [ "$me" != "${me%debian.org}" ] && apt-get update &&
-                apt-get install -y --no-install-recommends puppet libaugeas-ruby1.8 augeas-lenses lsb-release &&
+                apt-get install -y --no-install-recommends puppet ruby-augeas augeas-lenses lsb-release &&
                 service puppet stop &&
                 (puppet agent -t || true ) &&
                 cd /var/lib/puppet/ssl/certificate_requests &&
@@ -34,7 +34,7 @@ on handel, paste the sha256output::
                 cd /var/lib/puppet/ssl/ca/requests &&
                 ( [ -e $filename ] || (echo "$filename does not exist."; exit 1) ) &&
                 echo -e "$sha256  $filename" | sha256sum -c &&
-                puppetca --sign $(basename "$filename" .pem) &&
+                puppet ca sign $(basename "$filename" .pem) &&
                 echo && echo && echo &&
                 echo 'cat > /var/lib/puppet/ssl/certs/ca.pem << EOF ' &&
                 cat /var/lib/puppet/ssl/certs/ca.pem &&
@@ -42,7 +42,10 @@ on handel, paste the sha256output::
                 echo "cat > /var/lib/puppet/ssl/certs/$filename << EOF " &&
                 cat /var/lib/puppet/ssl/ca/signed/$filename &&
                 echo 'EOF' &&
-                cd /
+                cd / &&
+                echo 'puppet agent --enable' &&
+                echo 'puppet agent -t --pluginsync' &&
+                echo 'puppet agent -t --pluginsync'
 
 and execute this on the client.
 
@@ -51,6 +54,12 @@ and execute this on the client.
 If this is a busy mail host, you might want to stop exim before proceeding
 although the config files should remain identical before and after.
 
+Try this once if you're nervous:
+
+        : ::client:: && puppet agent -t --pluginsync --noop
+
+It will tell you what would have changed without actually doing it.
+
 Then run (this will change the configs in /etc):
 
         : ::client:: && puppet agent -t --pluginsync
@@ -71,4 +80,10 @@ almost certainly be different than the config file on the machine, so it
 will result in 1000s of files changed.
 You may need to run samhain update after getting puppet going.
 
-# vim:textwidth=72 sw=8 ts=8 et
+The puppet repository is public, but we sometimes need to keep passwords
+in puppet.  There are many ways to do this - hiera-gpg, ENC, etc.  We've
+settled on a fairly simple one.  Log into handel, create a new manifest
+in the relevant module (call is something like "params.pp").  You can add
+passwords to this file.  To stop git complaining on push, make sure you
+update .gitignore for the new file.  Now you can import this file where
+you need passwords and use them.