#!/bin/bash

set -eux
set -o pipefail

function puppet_apply {
    set +e
    $@ 2>&1 | awk '{print strftime("%Y-%m-%d %H:%M:%S") " - "$0; fflush()}'
    rc=$?
    set -e

    echo "puppet apply exited with exit code $rc"

    if [ $rc != 2 -a $rc != 0 ]; then
        exit $rc
    fi
}

puppet_apply puppet apply --summarize --detailed-exitcodes /etc/puppet/manifests/puppet-stack-config.pp
