Add support for flags on the service:info command

This commit is contained in:
Jose Diaz-Gonzalez
2016-08-28 05:38:03 -04:00
parent f02aaf39d8
commit c806328cc8
5 changed files with 86 additions and 20 deletions

View File

@@ -139,13 +139,37 @@ service_exposed_ports() {
}
service_info() {
local SERVICE="$1"
local SERVICE="$1" INFO_FLAG="$2"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local SERVICE_URL=$(service_url "$SERVICE")
local PORT_FILE="$SERVICE_ROOT/PORT"
local flag key valid_flags
echo " DSN: $SERVICE_URL"
echo " Config dir: $SERVICE_ROOT/config"
echo " Data dir: $SERVICE_ROOT/data"
local flag_map=(
"--config-dir: ${SERVICE_ROOT}/config"
"--data-dir: ${SERVICE_ROOT}/data"
"--dsn: ${SERVICE_URL}"
"--exposed-ports: $(service_exposed_ports "$SERVICE")"
"--links: $(service_linked_apps "$SERVICE")"
"--status: $(service_status "$SERVICE")"
"--version: $(service_version "$SERVICE")"
)
if [[ -z "$INFO_FLAG" ]]; then
dokku_log_info2 "Container Information"
for flag in "${flag_map[@]}"; do
key="$(echo "${flag#--}" | cut -f1 -d' ' | tr - ' ')"
dokku_log_verbose "$(printf "%-20s %-25s" "${key^}" "${flag#*: }")"
done
else
local match=false
for flag in "${flag_map[@]}"; do
valid_flags="${valid_flags} $(echo "$flag" | cut -d':' -f1)"
if [[ "$flag" == "${INFO_FLAG}:"* ]]; then
echo "${flag#*: }" && match=true
fi
done
[[ "$match" == "true" ]] || dokku_log_fail "Invalid flag passed, valid flags:${valid_flags}"
fi
}
service_link() {
@@ -387,7 +411,7 @@ service_create_container() {
local SERVICE="$1"
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
local SERVICE_NAME="$(get_service_name "$SERVICE")"
local ROOTPASSWORD=$(cat "$SERVICE_ROOT/ROOTPASSWORD")
local ROOTPASSWORD="$(cat "$SERVICE_ROOT/ROOTPASSWORD")"
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
# shellcheck disable=SC2086
@@ -442,7 +466,7 @@ service_start() {
dokku_log_info1_quiet "Starting container"
local PREVIOUS_ID=$(docker ps -f status=exited | grep -e "$SERVICE_NAME$" | awk '{print $1}') || true
local IMAGE_EXISTS=$(docker images | grep -e "^$PLUGIN_IMAGE " | grep -q " $PLUGIN_IMAGE_VERSION " && true)
local ROOTPASSWORD=$(cat "$SERVICE_ROOT/ROOTPASSWORD")
local ROOTPASSWORD="$(cat "$SERVICE_ROOT/ROOTPASSWORD")"
local PASSWORD="$(cat "$SERVICE_ROOT/PASSWORD")"
if [[ -n $PREVIOUS_ID ]]; then