Display infos from list command in columns
Also add a LINKS column to easily view which services are linked to which apps
This commit is contained in:
33
functions
33
functions
@@ -48,10 +48,11 @@ service_list() {
|
|||||||
if [[ -z $SERVICES ]]; then
|
if [[ -z $SERVICES ]]; then
|
||||||
dokku_log_warn "There are no $PLUGIN_SERVICE services"
|
dokku_log_warn "There are no $PLUGIN_SERVICE services"
|
||||||
else
|
else
|
||||||
dokku_log_info1_quiet "$PLUGIN_SERVICE services:"
|
LIST="NAME,VERSION,STATUS,EXPOSED PORTS,LINKS\n"
|
||||||
for SERVICE in $SERVICES; do
|
for SERVICE in $SERVICES; do
|
||||||
dokku_log_verbose "$SERVICE, $(service_version "$SERVICE") $(service_status "$SERVICE")$(service_exposed_ports "$SERVICE")"
|
LIST+="$SERVICE,$(service_version "$SERVICE"),$(service_status "$SERVICE"),$(service_exposed_ports "$SERVICE"),$(service_linked_apps "$SERVICE")\n"
|
||||||
done
|
done
|
||||||
|
printf "%b" "$LIST" | column -t -s,
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,13 +60,11 @@ service_exposed_ports() {
|
|||||||
local SERVICE="$1"
|
local SERVICE="$1"
|
||||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||||
local PORT_FILE="$SERVICE_ROOT/PORT"
|
local PORT_FILE="$SERVICE_ROOT/PORT"
|
||||||
[[ ! -f $PORT_FILE ]] && return 0
|
[[ ! -f $PORT_FILE ]] && echo '-' && return 0
|
||||||
local PORTS=($(cat "$PORT_FILE"))
|
local PORTS=($(cat "$PORT_FILE"))
|
||||||
echo -n ", exposed port(s):"
|
|
||||||
for (( i=0; i < ${#PLUGIN_DATASTORE_PORTS[@]}; i++ )); do
|
for (( i=0; i < ${#PLUGIN_DATASTORE_PORTS[@]}; i++ )); do
|
||||||
echo -n " ${PLUGIN_DATASTORE_PORTS[i]}->${PORTS[i]}"
|
echo -n "${PLUGIN_DATASTORE_PORTS[i]}->${PORTS[i]} "
|
||||||
done
|
done
|
||||||
echo ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
service_link() {
|
service_link() {
|
||||||
@@ -140,12 +139,12 @@ service_status() {
|
|||||||
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||||
local ID="$(cat "$SERVICE_ROOT/ID")"
|
local ID="$(cat "$SERVICE_ROOT/ID")"
|
||||||
|
|
||||||
is_container_status "$ID" "Dead" && echo "(dead)" && return 0
|
is_container_status "$ID" "Dead" && echo "dead" && return 0
|
||||||
is_container_status "$ID" "OOMKilled" && echo "(oomkilled)" && return 0
|
is_container_status "$ID" "OOMKilled" && echo "oomkilled" && return 0
|
||||||
is_container_status "$ID" "Paused" && echo "(paused)" && return 0
|
is_container_status "$ID" "Paused" && echo "paused" && return 0
|
||||||
is_container_status "$ID" "Restarting" && echo "(restarting)" && return 0
|
is_container_status "$ID" "Restarting" && echo "restarting" && return 0
|
||||||
is_container_status "$ID" "Running" && echo "(running)" && return 0
|
is_container_status "$ID" "Running" && echo "running" && return 0
|
||||||
echo "(stopped)" && return 0
|
echo "stopped" && return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
service_port_expose() {
|
service_port_expose() {
|
||||||
@@ -348,3 +347,13 @@ remove_from_links_file() {
|
|||||||
sed -i "/^$APP\$/d" "$LINKS_FILE"
|
sed -i "/^$APP\$/d" "$LINKS_FILE"
|
||||||
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
sort "$LINKS_FILE" -u -o "$LINKS_FILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_linked_apps() {
|
||||||
|
local SERVICE="$1"
|
||||||
|
local SERVICE_ROOT="$PLUGIN_DATA_ROOT/$SERVICE"
|
||||||
|
local LINKS_FILE="$SERVICE_ROOT/LINKS"
|
||||||
|
|
||||||
|
[[ -z $(< "$LINKS_FILE") ]] && echo '-' && return 0
|
||||||
|
|
||||||
|
tr '\n' ' ' < "$LINKS_FILE"
|
||||||
|
}
|
||||||
|
|||||||
@@ -9,15 +9,23 @@ teardown() {
|
|||||||
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
|
dokku --force "$PLUGIN_COMMAND_PREFIX:destroy" l >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) with no exposed ports, no linked apps" {
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
assert_contains "${lines[*]}" "l, postgres:9.4.4 (running)"
|
assert_contains "${lines[*]}" "l postgres:9.4.4 running - -"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) with exposed ports" {
|
||||||
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242
|
dokku "$PLUGIN_COMMAND_PREFIX:expose" l 4242
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
assert_contains "${lines[*]}" "l, postgres:9.4.4 (running), exposed port(s): 5432->4242"
|
assert_contains "${lines[*]}" "l postgres:9.4.4 running 5432->4242 -"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "($PLUGIN_COMMAND_PREFIX:list) with linked app" {
|
||||||
|
dokku apps:create my_app
|
||||||
|
dokku "$PLUGIN_COMMAND_PREFIX:link" l my_app
|
||||||
|
run dokku "$PLUGIN_COMMAND_PREFIX:list"
|
||||||
|
assert_contains "${lines[*]}" "l postgres:9.4.4 running - my_app"
|
||||||
|
dokku --force apps:destroy my_app
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:list) when there are no services" {
|
@test "($PLUGIN_COMMAND_PREFIX:list) when there are no services" {
|
||||||
|
|||||||
Reference in New Issue
Block a user