Remove linked app from links file when destroying app
This commit is contained in:
19
functions
19
functions
@@ -257,18 +257,13 @@ service_unlink() {
|
||||
local SERVICE="$1"
|
||||
local SERVICE_URL=$(service_url "$SERVICE")
|
||||
local SERVICE_NAME=$(get_service_name "$SERVICE")
|
||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||
local EXISTING_CONFIG=$(dokku config "$APP")
|
||||
local DATABASE_NAME=$(get_database_name "$SERVICE")
|
||||
local SERVICE_ALIAS=$(service_alias "$SERVICE")
|
||||
local LINK=($(echo "$EXISTING_CONFIG" | grep "$PLUGIN_SCHEME://.*/$DATABASE_NAME" | cut -d: -f1)) || true
|
||||
local LINKS_FILE="$SERVICE_ROOT/LINKS"
|
||||
|
||||
[[ -z ${LINK[*]} ]] && dokku_log_fail "Not linked to app $APP"
|
||||
mkdir -p "$SERVICE_ROOT" || dokku_log_fail "Unable to create service directory"
|
||||
touch "$LINKS_FILE"
|
||||
sed -i "/^$APP\$/d" "$LINKS_FILE"
|
||||
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
||||
remove_from_links_file "$SERVICE" "$APP"
|
||||
|
||||
dokku docker-options:remove "$APP" build,deploy,run "--link $SERVICE_NAME:$SERVICE_ALIAS"
|
||||
dokku config:unset "$APP" "${LINK[*]}"
|
||||
@@ -343,3 +338,15 @@ promote() {
|
||||
NEW_CONFIG_VARS+="$PLUGIN_DEFAULT_CONFIG_VAR=$PROMOTE_URL"
|
||||
dokku config:set "$APP" $NEW_CONFIG_VARS
|
||||
}
|
||||
|
||||
remove_from_links_file() {
|
||||
local SERVICE="$1"
|
||||
local APP="$2"
|
||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||
local LINKS_FILE="$SERVICE_ROOT/LINKS"
|
||||
|
||||
mkdir -p "$SERVICE_ROOT" || dokku_log_fail "Unable to create service directory"
|
||||
touch "$LINKS_FILE"
|
||||
sed -i "/^$APP\$/d" "$LINKS_FILE"
|
||||
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user