all: clean remote modules
+deps:
+ bin/dependencies
+
modules:
mr up
git clone git://git.sarava.org/puppet-bootstrap.git puppet
cd puppet && git tag -v # check integrity
+ make deps # install dependencies
make submodules # add all needed puppet module as as git submodules
make config # basic configuration
TODO
====
-* Make `deps` target:
- * Installs all needed packages (puppet, ruby-hiera-puppet, mr, etc).
* Make `config` target:
* Check if already ran.
* Move from `config.pp` to hiera.
--- /dev/null
+#!/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 basic packages are installed.
+for package in puppet ruby-hiera-puppet mr; do
+ provision_package $package
+done
# 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
+# Install dependencies
+source /vagrant/puppet/bin/dependencies
+
+# Ensure additional dependencies are installed.
+for package in sqlite3 libsqlite3-ruby libactiverecord-ruby ruby-sqlite3 usbutils; do
provision_package $package
done