Project

General

Profile

« Previous | Next » 

Revision d1e9632b

Added by Greg Sutcliffe almost 10 years ago

Migrate old proxy settings if upgrading from old monolithic setup

View differences:

debian/trusty/foreman-proxy/postinst
USERNAME="foreman-proxy"
GROUPNAME="foreman-proxy"
FOREMAN_HOME="/usr/share/foreman-proxy"
CONFIGDIR="/etc/foreman-proxy"
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
......
# the debian-policy package
case "$1" in
configure)
getent group $GROUPNAME >/dev/null || groupadd -r $GROUPNAME
getent passwd $USERNAME >/dev/null || \
useradd -r -g $GROUPNAME -d $FOREMAN_HOME -s /usr/sbin/nologin -c "Foreman" $USERNAME
mkdir -p "$FOREMAN_HOME/tmp"
mkdir -p "/var/log/foreman-proxy"
mkdir -p "/var/run/foreman-proxy"
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/tmp"
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/logs"
chown $USERNAME:$GROUPNAME "/var/log/foreman-proxy"
chown $USERNAME:$GROUPNAME "/var/run/foreman-proxy"
chown $USERNAME:root "$FOREMAN_HOME/config.ru"
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
configure)
getent group $GROUPNAME >/dev/null || groupadd -r $GROUPNAME
getent passwd $USERNAME >/dev/null || \
useradd -r -g $GROUPNAME -d $FOREMAN_HOME -s /usr/sbin/nologin -c "Foreman" $USERNAME
mkdir -p "$FOREMAN_HOME/tmp"
mkdir -p "/var/log/foreman-proxy"
mkdir -p "/var/run/foreman-proxy"
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/tmp"
chown $USERNAME:$GROUPNAME "$FOREMAN_HOME/logs"
chown $USERNAME:$GROUPNAME "/var/log/foreman-proxy"
chown $USERNAME:$GROUPNAME "/var/run/foreman-proxy"
chown $USERNAME:root "$FOREMAN_HOME/config.ru"
if [ -d /var/lib/foreman-proxy ] ; then
# Migrate legacy monolithic proxy config
# To detect if a migration is needed, we run the script in a tmpdir and
# check if the data in the tmpdir is the same as what's already in place
cd /var/lib/foreman-proxy
if $FOREMAN_HOME/extra/migrate_settings.rb ./settings.yml; then
mv settings.yml $CONFIGDIR/settings.yml
ls *.yml >/dev/null 2>&1 && mv *.yml $CONFIGDIR/settings.d/
fi
cd /tmp && rm -rf /var/lib/foreman-proxy
# If we migrated, we also need to fix the settings.d dir
if grep -q ^:settings_directory: $CONFIGDIR/settings.yml
sed -i "s|:settings_directory:.*|:settings_directory: $CONFIGDIR/settings.d|" $CONFIGDIR/settings.yml
else
echo ":settings_directory: $CONFIGDIR/settings.d" >> $CONFIGDIR/settings.yml
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

Also available in: Unified diff