Properly handle dokku data removal
- remove deployed applications during dpkg purge - disable all core plugins during dpkg purge - ensure init files are removed - ensure motd is removed - remove all core plugins, dokku config files (including tls/sshcommand entries etc.) during purge - remove all empty directories and broken symlinks in the DOKKU_ROOT and DOKKU_LIB_ROOT directories during purge Note that we do not delete the dokku user itself as there might be other data we don't know about in this directory.
This commit is contained in:
40
debian/postrm
vendored
40
debian/postrm
vendored
@@ -1,7 +1,39 @@
|
||||
#!/bin/bash
|
||||
set -eo pipefail; [[ $TRACE ]] && set -x
|
||||
|
||||
if [[ "$1" == "purge" ]] && [[ -e /usr/share/debconf/confmodule ]]; then
|
||||
. /usr/share/debconf/confmodule
|
||||
db_purge
|
||||
fi
|
||||
readonly DOKKU_ROOT="${DOKKU_ROOT:-/home/dokku}"
|
||||
readonly DOKKU_LIB_ROOT="${DOKKU_LIB_PATH:-/var/lib/dokku}"
|
||||
|
||||
main() {
|
||||
rm -f /etc/init/dokku-installer.conf
|
||||
rm -f /etc/init/dokku-redeploy.conf
|
||||
rm -f /etc/systemd/system/dokku-installer.conf
|
||||
rm -f /etc/systemd/system/dokku-redeploy.service
|
||||
rm -f /etc/update-motd.d/99-dokku
|
||||
|
||||
if [[ "$1" == "purge" ]]; then
|
||||
rm -f ${DOKKU_ROOT}/.dokkurc ${DOKKU_ROOT}/dokkurc ${DOKKU_ROOT}/tls
|
||||
rm -f ${DOKKU_ROOT}/.ssh/authorized_keys ${DOKKU_ROOT}/.sshcommand
|
||||
rm -f ${DOKKU_ROOT}/ENV ${DOKKU_ROOT}/HOSTNAME ${DOKKU_ROOT}/VERSION
|
||||
rm -rf ${DOKKU_ROOT}/.cache
|
||||
rm -rf ${DOKKU_LIB_ROOT}/core-plugins
|
||||
|
||||
rm -f ${DOKKU_LIB_ROOT}/plugins/config.toml
|
||||
if [[ -d ${DOKKU_LIB_ROOT} ]]; then
|
||||
find -L ${DOKKU_LIB_ROOT} -type l -delete
|
||||
find ${DOKKU_LIB_ROOT} -type d -empty -delete
|
||||
fi
|
||||
|
||||
if [[ -d ${DOKKU_ROOT} ]]; then
|
||||
find -L ${DOKKU_ROOT} -type l -delete
|
||||
find ${DOKKU_ROOT} -type d -empty -delete
|
||||
fi
|
||||
|
||||
if [[ -e /usr/share/debconf/confmodule ]]; then
|
||||
. /usr/share/debconf/confmodule
|
||||
db_purge
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user