aboutsummaryrefslogtreecommitdiff
path: root/bin/provision
blob: fa76b53c519c9999df5d8cfdd2042202d4b40b34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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