Refactor service removal process in entrypoint script to streamline deletion of directories, files, and Docker volumes
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -160,23 +160,48 @@ remove_additionals() {
|
|||||||
|
|
||||||
debug "UNINSTALL: $NAME"
|
debug "UNINSTALL: $NAME"
|
||||||
|
|
||||||
|
# delete firewall rules
|
||||||
|
FIREWALLS=""
|
||||||
|
FIREWALLS="$(ls $SERVICE_DIR/firewall-*.json | grep $NAME)"
|
||||||
|
for FIREWALL in $(echo $FIREWALLS); do
|
||||||
|
cat $FIREWALL | jq '.containers[] |= (
|
||||||
|
if (.ENVS | map(has("OPERATION")) | any) then
|
||||||
|
# If any entry has OPERATION key, update it
|
||||||
|
.ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end]
|
||||||
|
else
|
||||||
|
# If no entry has OPERATION key, add new entry
|
||||||
|
.ENVS += [{"OPERATION": "DELETE"}]
|
||||||
|
end
|
||||||
|
)' >$FIREWALL.tmp
|
||||||
|
debug "$service_exec $FIREWALL.tmp start info"
|
||||||
|
$service_exec $FIREWALL.tmp start info
|
||||||
|
rm $FIREWALL.tmp
|
||||||
|
done
|
||||||
|
|
||||||
|
# delete domains
|
||||||
|
DOMMAINS=""
|
||||||
|
DOMAINS="$(ls $SERVICE_DIR/domain-*.json | grep $NAME)"
|
||||||
|
for DOMAIN in $(echo $DOMAINS); do
|
||||||
|
cat $DOMAIN | jq '.containers[] |= (
|
||||||
|
if (.ENVS | map(has("OPERATION")) | any) then
|
||||||
|
# If any entry has OPERATION key, update it
|
||||||
|
.ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end]
|
||||||
|
else
|
||||||
|
# If no entry has OPERATION key, add new entry
|
||||||
|
.ENVS += [{"OPERATION": "DELETE"}]
|
||||||
|
end
|
||||||
|
)' >$DOMAIN.tmp
|
||||||
|
debug "$service_exec $DOMAIN.tmp start info"
|
||||||
|
$service_exec $DOMAIN.tmp start info
|
||||||
|
rm $DOMAIN.tmp
|
||||||
|
done
|
||||||
|
|
||||||
# stop service
|
# stop service
|
||||||
# force - remove stopped container, docker rm
|
# force - remove stopped container, docker rm
|
||||||
debug "$service_exec service-$NAME.json stop force dns-remove"
|
debug "$service_exec service-$NAME.json stop force dns-remove"
|
||||||
$service_exec service-$NAME.json stop force dns-remove
|
$service_exec service-$NAME.json stop force dns-remove
|
||||||
|
|
||||||
# remove related directories and files
|
# remove related directories and files
|
||||||
# get env files path
|
|
||||||
ENVIRONMENT_FILES=""
|
|
||||||
ENVIRONMENT_FILES=$(cat $SERVICE_DIR/service-$NAME.json | jq -r '[.containers[] | select(has("ENV_FILES")) | .ENV_FILES[]] | unique []')
|
|
||||||
|
|
||||||
for ENV_FILE in $(echo $ENVIRONMENT_FILES); do
|
|
||||||
if [ -f "$ENV_FILE" ]; then
|
|
||||||
rm $ENV_FILE
|
|
||||||
debug "deleted env file: $ENV_FILE"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# get volume destinations
|
# get volume destinations
|
||||||
DESTINATIONS=""
|
DESTINATIONS=""
|
||||||
VOLUMES=""
|
VOLUMES=""
|
||||||
@@ -197,46 +222,8 @@ remove_additionals() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# delete firewall rules
|
|
||||||
FIREWALLS=""
|
|
||||||
FIREWALLS="$(ls $SERVICE_DIR/firewall-*.json | grep $NAME)"
|
|
||||||
for FIREWALL in $(echo $FIREWALLS); do
|
|
||||||
cat $FIREWALL | jq '.containers[] |= (
|
|
||||||
if (.ENVS | map(has("OPERATION")) | any) then
|
|
||||||
# If any entry has OPERATION key, update it
|
|
||||||
.ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end]
|
|
||||||
else
|
|
||||||
# If no entry has OPERATION key, add new entry
|
|
||||||
.ENVS += [{"OPERATION": "DELETE"}]
|
|
||||||
end
|
|
||||||
)' >$FIREWALL.tmp
|
|
||||||
debug "$service_exec $FIREWALL.tmp start info"
|
|
||||||
$service_exec $FIREWALL.tmp start info
|
|
||||||
rm $FIREWALL.tmp
|
|
||||||
rm $FIREWALL
|
|
||||||
done
|
|
||||||
|
|
||||||
# delete domains
|
|
||||||
DOMMAINS=""
|
|
||||||
DOMAINS="$(ls $SERVICE_DIR/domain-*.json | grep $NAME)"
|
|
||||||
for DOMAIN in $(echo $DOMAINS); do
|
|
||||||
cat $DOMAIN | jq '.containers[] |= (
|
|
||||||
if (.ENVS | map(has("OPERATION")) | any) then
|
|
||||||
# If any entry has OPERATION key, update it
|
|
||||||
.ENVS = [.ENVS[] | if has("OPERATION") then {"OPERATION": "DELETE"} else . end]
|
|
||||||
else
|
|
||||||
# If no entry has OPERATION key, add new entry
|
|
||||||
.ENVS += [{"OPERATION": "DELETE"}]
|
|
||||||
end
|
|
||||||
)' >$DOMAIN.tmp
|
|
||||||
debug "$service_exec $DOMAIN.tmp start info"
|
|
||||||
$service_exec $DOMAIN.tmp start info
|
|
||||||
rm $DOMAIN.tmp
|
|
||||||
rm $DOMAIN
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove service files
|
# remove service files
|
||||||
#rm $SERVICE_DIR/*"-"$NAME.json # service, domain, etc.
|
rm $SERVICE_DIR/*"-"$NAME.json # service, domain, etc.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user