36 lines
960 B
Bash
Executable File
36 lines
960 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Usage
|
|
if [ $# -ne 2 -o ! -d "$1" -o ! -d "$1/$2" ]; then
|
|
echo "usage: $0 <environmentpath> <environment>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# For portability, identify a preferred ruby executable to use
|
|
ruby() {
|
|
[ -x /opt/puppetlabs/puppet/bin/ruby ] \
|
|
&& /opt/puppetlabs/puppet/bin/ruby "$@" \
|
|
|| /usr/bin/env ruby "$@"
|
|
}
|
|
|
|
# Determine how best to calculate a config_version
|
|
if [ -e $1/$2/.r10k-deploy.json ]; then
|
|
# The environment was deployed using r10k. We will calculate the config
|
|
# version using the r10k data.
|
|
ruby $1/$2/scripts/config_version-r10k.rb $1 $2
|
|
|
|
elif [ -e /opt/puppetlabs/server/pe_version ]; then
|
|
# This is a Puppet Enterprise system and we can rely on the rugged ruby gem
|
|
# being available.
|
|
ruby $1/$2/scripts/config_version-rugged.rb $1 $2
|
|
|
|
elif type git >/dev/null; then
|
|
# The git command is available.
|
|
git --git-dir $1/$2/.git rev-parse HEAD
|
|
|
|
else
|
|
# Nothing else available; just use the date.
|
|
date +%s
|
|
|
|
fi
|