#!/bin/bash
set -eux

install-packages python-virtualenv build-essential libz-dev libxslt-dev libxml2-dev python-dev

virtualenv --setuptools /opt/stack/venvs/os-collect-config

/opt/stack/venvs/os-collect-config/bin/pip install -U os-collect-config

ln -s /opt/stack/venvs/os-collect-config/bin/os-collect-config /usr/local/bin/os-collect-config

# Minimal static config for bootstrapping
cat > /etc/os-collect-config.conf <<eof
[DEFAULT]
command=os-refresh-config
eof
chmod 600 /etc/os-collect-config.conf

if [ "$DIB_INIT_SYSTEM" == "upstart" ] ; then
    cat > /etc/init/os-collect-config.conf <<eof
start on runlevel [2345]
stop on runlevel [016]
respawn
exec os-collect-config
eof

elif [ "$DIB_INIT_SYSTEM" == "systemd" ] ; then
    cat > /lib/systemd/system/os-collect-config.service <<eof
[Unit]
Description=Collect metadata and run hook commands.
After=cloud-final.service
Before=crond.service

[Service]
ExecStart=/usr/local/bin/os-collect-config
Restart=on-failure

[Install]
WantedBy=multi-user.target
eof

  # Enable the service
  systemctl enable os-collect-config.service

else
    echo Only systems with systemd or upstart are supported.
    exit 1
fi
