#!/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 "$@"