Merge pull request #2 from Gijutsu/pre_and_post-tasks
Updated pre and post tasks
This commit is contained in:
commit
5294261f2c
|
@ -4,11 +4,19 @@ if [ -z "$COSMOS_KEYS" ]; then
|
||||||
COSMOS_KEYS=/etc/cosmos/keys
|
COSMOS_KEYS=/etc/cosmos/keys
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Install new keys discovered in the $COSMOS_KEYS directory
|
||||||
for k in $COSMOS_KEYS/*.pub; do
|
for k in $COSMOS_KEYS/*.pub; do
|
||||||
fp=`cosmos gpg --with-colons --with-fingerprint < $k | awk -F: '$1 == "pub" {print $5}'`
|
fp=`cosmos gpg --with-colons --with-fingerprint < $k | awk -F: '$1 == "pub" {print $5}'`
|
||||||
cosmos gpg --with-colons --fingerprint | grep -q ":$fp:" || cosmos gpg --import < $k
|
fp_in_db=`cosmos gpg --with-colons --fingerprint | grep ":$fp:"`
|
||||||
|
if [ "x`echo $fp_in_db | grep '^pub:e:'`" != "x" ]; then
|
||||||
|
echo "$0: Key expired, will re-import it from $k"
|
||||||
|
cosmos gpg --fingerprint $fp
|
||||||
|
fi
|
||||||
|
# The removal of any ^pub:e: entrys means to ignore expired keys - thereby importing them again.
|
||||||
|
echo $fp_in_db | grep -v "^pub:e:" | grep -q ":$fp:" || cosmos gpg --import < $k
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Delete keys no longer present in $COSMOS_KEYS directory
|
||||||
for fp in `cosmos gpg --with-colons --fingerprint | awk -F: '$1 == "pub" {print $5}'`; do
|
for fp in `cosmos gpg --with-colons --fingerprint | awk -F: '$1 == "pub" {print $5}'`; do
|
||||||
seen="no"
|
seen="no"
|
||||||
for k in $COSMOS_KEYS/*.pub; do
|
for k in $COSMOS_KEYS/*.pub; do
|
||||||
|
|
|
@ -24,8 +24,8 @@ if [ -f $CONFIG ]; then
|
||||||
# First pass to clone any new modules, and update those marked for updating.
|
# First pass to clone any new modules, and update those marked for updating.
|
||||||
grep -E -v "^#" $CONFIG | (
|
grep -E -v "^#" $CONFIG | (
|
||||||
while read module src update pattern; do
|
while read module src update pattern; do
|
||||||
# We only support git:// urls atm
|
# We only support git:// urls and https:// urls atm
|
||||||
if [ "${src:0:6}" = "git://" ]; then
|
if [ "${src:0:6}" = "git://" -o "${src:0:8}" = "https://" ]; then
|
||||||
if [ ! -d $CACHE_DIR/scm/$module ]; then
|
if [ ! -d $CACHE_DIR/scm/$module ]; then
|
||||||
git clone -q $src $CACHE_DIR/scm/$module
|
git clone -q $src $CACHE_DIR/scm/$module
|
||||||
elif [ -d $CACHE_DIR/scm/$module/.git ]; then
|
elif [ -d $CACHE_DIR/scm/$module/.git ]; then
|
||||||
|
@ -63,7 +63,7 @@ if [ -f $CONFIG ]; then
|
||||||
grep -E -v "^#" $CONFIG | (
|
grep -E -v "^#" $CONFIG | (
|
||||||
while read module src update pattern; do
|
while read module src update pattern; do
|
||||||
# We only support git:// urls atm
|
# We only support git:// urls atm
|
||||||
if [ "${src:0:6}" = "git://" ]; then
|
if [ "${src:0:6}" = "git://" -o "${src:0:8}" = "https://" ]; then
|
||||||
# Verify git tag
|
# Verify git tag
|
||||||
cd $CACHE_DIR/scm/$module
|
cd $CACHE_DIR/scm/$module
|
||||||
TAG=$(git tag -l "${pattern:-*}" | sort | tail -1)
|
TAG=$(git tag -l "${pattern:-*}" | sort | tail -1)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [ "x$COSMOS_VERBOSE" = "xy" ]; then
|
if [ "x$COSMOS_VERBOSE" = "xy" ]; then
|
||||||
args="--verbose"
|
args="--verbose --show_diff"
|
||||||
else
|
else
|
||||||
args="--logdest=syslog"
|
args="--logdest=syslog"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f /usr/bin/puppet -a -d /etc/puppet/manifests ]; then
|
if [ -f /usr/bin/puppet -a -d /etc/puppet/manifests ]; then
|
||||||
for m in `find /etc/puppet/manifests -name \*.pp`; do
|
for m in `find /etc/puppet/manifests -name \*.pp`; do
|
||||||
puppet apply $args < $m
|
puppet apply $args $m
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
if (( $RANDOM % 20 == 0)); then
|
||||||
apt-get -qq update
|
apt-get -qq update
|
||||||
apt-get -qq -y autoremove
|
apt-get -qq -y autoremove
|
||||||
|
fi
|
||||||
|
|
|
@ -9,9 +9,13 @@ stamp="$COSMOS_BASE/stamps/puppet-tools-v01.stamp"
|
||||||
|
|
||||||
if ! test -f $stamp -a -f /usr/bin/puppet; then
|
if ! test -f $stamp -a -f /usr/bin/puppet; then
|
||||||
codename=`lsb_release -c| awk '{print $2}'`
|
codename=`lsb_release -c| awk '{print $2}'`
|
||||||
wget -c http://apt.puppetlabs.com/puppetlabs-release-${codename}.deb
|
puppetdeb="$COSMOS_REPO/apt/puppetlabs-release-${codename}.deb"
|
||||||
dpkg -i puppetlabs-release-${codename}.deb
|
if [ ! -f $puppetdeb ]; then
|
||||||
rm -f puppetlabs-release-${codename}.deb*
|
echo "$0: Puppet deb for release $codename not found in $COSMOS_REPO/apt/"
|
||||||
|
echo " Get it from https://apt.puppetlabs.com/ and put it in the Cosmos repo."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dpkg -i $puppetdeb
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install puppet-common
|
apt-get -y install puppet-common
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue