36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/proxy/functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/config/functions"
|
|
|
|
proxy_ports_remove_cmd() {
|
|
declare desc="remove specific proxy port mappings from an app"
|
|
local cmd="proxy:ports-remove"
|
|
local APP="$2"; verify_app_name "$APP"
|
|
local PROXY_PORT_MAP="$(config_get "$APP" DOKKU_PROXY_PORT_MAP || true)"
|
|
shift 2
|
|
|
|
local INPUT_PORTS="$*"
|
|
if [[ -n "$INPUT_PORTS" ]]; then
|
|
local port
|
|
for port in $INPUT_PORTS; do
|
|
PROXY_PORT_MAP="$(sed -r "s/[[:alnum:]]+:$port:[[:alnum:]]+//g" <<< "$PROXY_PORT_MAP")"
|
|
done
|
|
PROXY_PORT_MAP="$(echo "$PROXY_PORT_MAP" | xargs)"
|
|
PROXY_PORT_MAP="$(merge_dedupe_list "$PROXY_PORT_MAP" " ")"
|
|
if [[ -n "$PROXY_PORT_MAP" ]]; then
|
|
config_set --no-restart "$APP" DOKKU_PROXY_PORT_MAP="$PROXY_PORT_MAP"
|
|
else
|
|
config_unset --no-restart "$APP" DOKKU_PROXY_PORT_MAP
|
|
fi
|
|
plugn trigger post-proxy-ports-update "$APP" "remove"
|
|
else
|
|
dokku_log_warn "No port mapping specified. Please supply a valid configured host port"
|
|
list_app_proxy_ports "$APP"
|
|
dokku_log_fail "exiting..."
|
|
fi
|
|
}
|
|
|
|
proxy_ports_remove_cmd "$@"
|