1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/nomad_ynh.git synced 2024-09-03 19:55:53 +02:00
nomad_ynh/scripts/remove

152 lines
4.8 KiB
Text
Raw Normal View History

2022-07-20 12:04:29 +02:00
#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
2022-07-23 05:05:47 +02:00
source ynh_install_go
2022-07-20 12:04:29 +02:00
source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Loading installation settings..." --weight=1
2022-07-20 12:04:29 +02:00
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain)
2022-07-21 08:24:29 +02:00
config_path=$(ynh_app_setting_get --app=$app --key=config_path)
2022-07-20 12:04:29 +02:00
datadir=$(ynh_app_setting_get --app=$app --key=datadir)
2022-07-21 08:24:29 +02:00
node_type=$(ynh_app_setting_get --app=$app --key=node_type)
2022-07-23 04:57:16 +02:00
driver_lxc=$(ynh_app_setting_get --app=$app --key=driver_lxc)
2022-07-21 08:24:29 +02:00
rpc_port=$(ynh_app_setting_get --app=$app --key=rpc_port)
serf_port=$(ynh_app_setting_get --app=$app --key=serf_port)
2022-07-20 12:04:29 +02:00
#=================================================
# STANDARD REMOVE
#=================================================
# REMOVE SERVICE INTEGRATION IN YUNOHOST
#=================================================
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
if ynh_exec_warn_less yunohost service status $app >/dev/null
then
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing $app service integration..." --weight=1
2022-07-20 12:04:29 +02:00
yunohost service remove $app
fi
#=================================================
# STOP AND REMOVE SERVICE
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Stopping and removing the systemd service..." --weight=1
2022-07-20 12:04:29 +02:00
ynh_exec_warn_less timeout 25 nomad node drain -self -enable -yes -deadline 20s
2022-07-20 12:04:29 +02:00
# Remove the dedicated systemd config
ynh_remove_systemd_config
#=================================================
# REMOVE LOGROTATE CONFIGURATION
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing logrotate configuration..." --weight=1
2022-07-20 12:04:29 +02:00
# Remove the app-specific logrotate config
ynh_remove_logrotate
#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1
2022-07-20 12:04:29 +02:00
# Remove the dedicated NGINX config
ynh_remove_nginx_config
#=================================================
# CLOSE A PORT
#=================================================
2022-07-21 08:24:29 +02:00
if yunohost firewall list | grep -q "\- $rpc_port$"
2022-07-20 12:04:29 +02:00
then
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Closing port $rpc_port..." --weight=1
2022-07-21 08:24:29 +02:00
ynh_exec_warn_less yunohost firewall disallow TCP $rpc_port
2022-07-20 12:04:29 +02:00
fi
2022-07-21 08:24:29 +02:00
if yunohost firewall list | grep -q "\- $serf_port$"
then
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Closing port $serf_port..." --weight=1
2022-07-21 08:24:29 +02:00
ynh_exec_warn_less yunohost firewall disallow TCP $serf_port
fi
2022-07-20 12:04:29 +02:00
2022-07-21 08:24:29 +02:00
if [ "$node_type" == "client" ]
then
2022-07-23 04:57:16 +02:00
if [ $driver_lxc -eq 1 ]
then
2022-07-23 16:56:59 +02:00
client_lxc_bridge=$(ynh_app_setting_get --app=$app --key=client_lxc_bridge)
2022-07-23 04:57:16 +02:00
ynh_systemd_action --service_name=lxc-net --action="stop"
systemctl disable lxc-net --quiet
ynh_secure_remove --file="/etc/default/lxc-net"
ynh_secure_remove --file="/etc/lxc/default.conf"
ynh_secure_remove --file="/etc/dnsmasq.d/lxd"
systemctl restart dnsmasq
fi
2022-07-21 08:24:29 +02:00
fi
2022-07-20 12:04:29 +02:00
2022-07-22 02:31:36 +02:00
#=================================================
# REMOVE DEPENDENCIES
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing dependencies..." --weight=1
2022-07-22 02:31:36 +02:00
# Remove metapackage and its dependencies
ynh_remove_app_dependencies
2022-07-23 15:56:06 +02:00
if [ "$node_type" == "client" ]
then
2022-07-23 15:58:32 +02:00
if [ $driver_lxc -eq 1 ]
then
ynh_remove_go
fi
2022-07-23 15:56:06 +02:00
fi
2022-07-22 02:31:36 +02:00
2022-07-22 03:42:13 +02:00
#=================================================
# REMOVE DATA DIR
#=================================================
# Remove the data directory if --purge option is used
if [ "${YNH_APP_PURGE:-0}" -eq 1 ]
then
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing app data directory..." --weight=1
2022-07-22 03:42:13 +02:00
ynh_secure_remove --file="$datadir"
fi
2022-07-20 12:04:29 +02:00
#=================================================
# SPECIFIC REMOVE
#=================================================
# REMOVE VARIOUS FILES
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing various files..." --weight=1
2022-07-20 12:04:29 +02:00
# Remove a directory securely
2022-07-21 08:24:29 +02:00
ynh_secure_remove --file="$config_path"
2022-07-20 12:04:29 +02:00
# Remove the log files
ynh_secure_remove --file="/var/log/$app"
#=================================================
# GENERIC FINALIZATION
#=================================================
# REMOVE DEDICATED USER
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removing the dedicated system user..." --weight=1
2022-07-20 12:04:29 +02:00
# Delete a system user
ynh_system_user_delete --username=$app
#=================================================
# END OF SCRIPT
#=================================================
2022-09-03 18:58:58 +02:00
ynh_script_progression --message="Removal of $app completed" --last