aboutsummaryrefslogtreecommitdiff
path: root/bin/provision
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-03-03 14:52:24 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-03-03 14:52:24 -0300
commit6b42c1987fe568b1331ce369f0426c3dab76953a (patch)
tree7935755752432a0e73c115ac9ce5634c14492fdf /bin/provision
parente938bde4c45f3ea63c98a64eff1eaefa654a5417 (diff)
downloadpuppet-bootstrap-6b42c1987fe568b1331ce369f0426c3dab76953a.tar.gz
puppet-bootstrap-6b42c1987fe568b1331ce369f0426c3dab76953a.tar.bz2
Adding a custom provision script
Diffstat (limited to 'bin/provision')
-rwxr-xr-xbin/provision33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/provision b/bin/provision
new file mode 100755
index 0000000..fa76b53
--- /dev/null
+++ b/bin/provision
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# Simple shell provisioner for Vagrant instances.
+#
+
+# Install a package, thanks to the Hydra Suite.
+function provision_package {
+ if [ -z "$1" ]; then
+ return
+ fi
+
+ dpkg -s $1 &> /dev/null
+
+ if [ "$?" == "1" ]; then
+ echo "Installing package $1..."
+ DEBIAN_FRONTEND=noninteractive apt-get install $1 -y
+ fi
+}
+
+# Ensure the system is updated.
+sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean
+
+# Ensure basic packages are installed.
+for package in sqlite3 libsqlite3-ruby ruby-hiera-puppet libactiverecord-ruby ruby-sqlite3 usbutils; do
+ provision_package $package
+done
+
+# Make sure we have an initial hiera configuration.
+if [ ! -e "/etc/puppet/hiera.yaml" ]; then
+ sudo cp /vagrant/puppet/hiera/hiera.yaml /etc/puppet/hiera.yaml
+ sudo chown root. /etc/puppet/hiera.yaml
+ sudo chmod 644 /etc/puppet/hiera.yaml
+fi