Use this for files, scripts, aliases, etc to deploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.1 KiB

#!/bin/bash
# HEADER: ===========================================================
# HEADER: This file is automanaged by puppet
# HEADER: While it can still be managed manually, it is definitely not recommended.
# HEADER: Any manual changes to this file run the risk of being overwritten!
# HEADER: ===========================================================
## "repofix" keeps the puppet manifests updated from gitea
## a quick check confirms alterationa to local files
## else.. those are updated with latest from gitea
set -u
## -- path to the Puppet manifest dirs
REPOBASE=/var/lib/puppet/manifests
echo "$(date +'%F_%R:%S') ==== START ==== "
## -- check each repo in turn
cd ${REPOBASE}
for REPO in $(ls -d *)
do
cd ${REPOBASE}/${REPO}
echo -e "$(date +'%F_%R:%S') checking ${REPO} ... \c"
STATUS="$(git status | tail -n1)"
if [[ ! ${STATUS} =~ "nothing to commit" ]]
then
echo "need to fix $REPO, showing diff on next line"
git diff
git fetch origin &> /dev/null
git reset --hard origin/master &> /dev/null
else
echo " ${STATUS}"
fi
git pull &> /dev/null
done
echo "$(date +'%F_%R:%S') ------ END ------"