55 lines
2.0 KiB
Bash
Executable File
55 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
[[ " docker-options docker-options:add docker-options:remove help docker-options:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
|
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/docker-options/functions"
|
|
|
|
declare APP # global assigned in case
|
|
|
|
case "$1" in
|
|
# Display applications docker options
|
|
docker-options)
|
|
verify_app_name "$2" && APP="$2"
|
|
read -ra passed_phases <<< "$(get_phases "$3")"
|
|
if [[ ! "${passed_phases[@]}" ]]; then
|
|
display_all_phases_options
|
|
else
|
|
display_passed_phases_options passed_phases[@]
|
|
fi
|
|
;;
|
|
|
|
# Add a docker option to application
|
|
docker-options:add)
|
|
verify_app_name "$2" && APP="$2"
|
|
read -ra passed_phases <<< "$(get_phases "$3")"
|
|
shift 3 # everything else passed is the docker option
|
|
passed_docker_option="$*"
|
|
[[ -z "$passed_docker_option" ]] && dokku_log_fail "Please specify docker options to add to the phase"
|
|
add_passed_docker_option passed_phases[@] "${passed_docker_option[@]}"
|
|
;;
|
|
|
|
# Remove a docker option from application
|
|
docker-options:remove)
|
|
verify_app_name "$2" && APP="$2"
|
|
read -ra passed_phases <<< "$(get_phases "$3")"
|
|
shift 3 # everything else passed is the docker option
|
|
[[ -z ${passed_docker_option="$@"} ]] && dokku_log_fail "Please specify docker options to add to the phase"
|
|
remove_passed_docker_option passed_phases[@] "${passed_docker_option[@]}"
|
|
;;
|
|
|
|
# Display usage help
|
|
help | docker-options:help)
|
|
cat<<EOF
|
|
docker-options <app>, Display app's Docker options for all phases
|
|
docker-options <app> <phase(s)>, Display app's Docker options for phase (comma separated phase list)
|
|
docker-options:add <app> <phase(s)> OPTION, Add Docker option to app for phase (comma separated phase list)
|
|
docker-options:remove <app> <phase(s)> OPTION, Remove Docker option from app for phase (comma separated phase list)
|
|
EOF
|
|
;;
|
|
|
|
*)
|
|
exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
|
|
;;
|
|
|
|
esac
|