|
|
@ -5302,16 +5302,27 @@ These are the compose's columns: ${state_inner_cols[@]}. |
|
|
|
Usage: status [options] [SERVICE...] |
|
|
|
|
|
|
|
Options: |
|
|
|
-h, --help Print this message and quit |
|
|
|
-a, --all Display status of all services |
|
|
|
(removes all filter, and will add a |
|
|
|
'root' first column by default) |
|
|
|
-c, --column Column to display, can provide several |
|
|
|
separated by commas, or option can be repeated. |
|
|
|
(default: ${state_columns_default_msg}) |
|
|
|
-f, --filter Filter services by a key=value pair, |
|
|
|
separated by commas or can be repeated. |
|
|
|
(default: --filter root=yes) |
|
|
|
-h, --help Print this message and quit |
|
|
|
|
|
|
|
-a, --all Display status of all services (removes all |
|
|
|
filter, and will add a 'root' first column by |
|
|
|
default) |
|
|
|
|
|
|
|
-c, --column Columns to display, can provide several separated |
|
|
|
by commas, or option can be repeated. You can add |
|
|
|
a sign prefix to the name of the column to force |
|
|
|
the alignment of the column (+: right, -: left), |
|
|
|
(default: ${state_columns_default_msg}) |
|
|
|
|
|
|
|
-f, --filter Filter services by a key=value pair, |
|
|
|
separated by commas or can be repeated. |
|
|
|
(default: --filter root=yes) |
|
|
|
|
|
|
|
-r, --raw Raw data output (no colors nor alignment) |
|
|
|
|
|
|
|
-0 Separate field with NUL char. Implies raw data |
|
|
|
output. |
|
|
|
|
|
|
|
" |
|
|
|
while read-0 arg; do |
|
|
|
case "$arg" in |
|
|
@ -5319,6 +5330,19 @@ Options: |
|
|
|
echo "$help" |
|
|
|
exit 0 |
|
|
|
;; |
|
|
|
--raw|-r|-0) |
|
|
|
state_raw_output="$arg"; |
|
|
|
## check if any state_columns have alignements specs |
|
|
|
for col in "${state_columns[@]}"; do |
|
|
|
if [[ "$col" == [-+]* ]]; then |
|
|
|
err "Cannot use $arg and provide columns with alignment specs." |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
done |
|
|
|
if [[ "$arg" == "-0" ]]; then |
|
|
|
state_raw_output_nul=1 |
|
|
|
fi |
|
|
|
;; |
|
|
|
--all|-a) |
|
|
|
if [ "${#state_services[@]}" -gt 0 ]; then |
|
|
|
err "Cannot use --all and provide services at the same time." |
|
|
@ -5333,10 +5357,19 @@ Options: |
|
|
|
--column|-c) |
|
|
|
read-0 value |
|
|
|
if [[ "$value" == *,* ]]; then |
|
|
|
state_columns+=(${value//,/ }) |
|
|
|
state_columns_candidate=(${value//,/ }) |
|
|
|
else |
|
|
|
state_columns+=("$value") |
|
|
|
state_columns_candidate=("$value") |
|
|
|
fi |
|
|
|
if [[ -n "$state_raw_output" ]]; then |
|
|
|
for col in "${state_columns_candidate[@]}"; do |
|
|
|
if [[ "$col" == [-+]* ]]; then |
|
|
|
err "Cannot use ${state_raw_output} and provide columns with alignment specs." |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
done |
|
|
|
fi |
|
|
|
state_columns+=("${state_columns_candidate[@]}") |
|
|
|
;; |
|
|
|
--filter|-f) |
|
|
|
if [ "${#state_services[@]}" -gt 0 ]; then |
|
|
@ -5704,38 +5737,40 @@ if [ "$action" == "status" ]; then |
|
|
|
for col in "${state_columns_raw[@]}"; do |
|
|
|
color= |
|
|
|
value="${!col}" |
|
|
|
read -r -- value_trim <<<"${!col}" |
|
|
|
case "${col//_/-}" in |
|
|
|
root) |
|
|
|
case "$value_trim" in |
|
|
|
0) value=" ";; |
|
|
|
1) value="*";; |
|
|
|
esac |
|
|
|
;; |
|
|
|
name) color=darkyellow;; |
|
|
|
charm) color=darkpink;; |
|
|
|
state) |
|
|
|
case "$value_trim" in |
|
|
|
up) color=green;; |
|
|
|
down) color=gray;; |
|
|
|
deploying) color=yellow;; |
|
|
|
*) color=red;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
type) |
|
|
|
case "$value_trim" in |
|
|
|
run-once) color=gray;; |
|
|
|
stub) color=gray;; |
|
|
|
*) color=darkcyan;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
*) |
|
|
|
if [[ "${value_trim}" == "N/A" ]]; then |
|
|
|
color=gray |
|
|
|
fi |
|
|
|
;; |
|
|
|
esac |
|
|
|
color="${color^^}" |
|
|
|
if [ -z "$state_raw_output" ]; then |
|
|
|
read -r -- value_trim <<<"${!col}" |
|
|
|
case "${col//_/-}" in |
|
|
|
root) |
|
|
|
case "$value_trim" in |
|
|
|
0) value=" ";; |
|
|
|
1) value="*";; |
|
|
|
esac |
|
|
|
;; |
|
|
|
name) color=darkyellow;; |
|
|
|
charm) color=darkpink;; |
|
|
|
state) |
|
|
|
case "$value_trim" in |
|
|
|
up) color=green;; |
|
|
|
down) color=gray;; |
|
|
|
deploying) color=yellow;; |
|
|
|
*) color=red;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
type) |
|
|
|
case "$value_trim" in |
|
|
|
run-once) color=gray;; |
|
|
|
stub) color=gray;; |
|
|
|
*) color=darkcyan;; |
|
|
|
esac |
|
|
|
;; |
|
|
|
*) |
|
|
|
if [[ "${value_trim}" == "N/A" ]]; then |
|
|
|
color=gray |
|
|
|
fi |
|
|
|
;; |
|
|
|
esac |
|
|
|
color="${color^^}" |
|
|
|
fi |
|
|
|
if [ -n "$color" ]; then |
|
|
|
values+=("${!color}$value${NORMAL}") |
|
|
|
else |
|
|
@ -5747,7 +5782,11 @@ if [ "$action" == "status" ]; then |
|
|
|
if [ -n "$first" ]; then |
|
|
|
first= |
|
|
|
else |
|
|
|
printf " " |
|
|
|
if [ -n "$state_raw_output_nul" ]; then |
|
|
|
printf "\0" |
|
|
|
else |
|
|
|
printf " " |
|
|
|
fi |
|
|
|
fi |
|
|
|
printf "%s" "$value" |
|
|
|
done |
|
|
@ -5812,7 +5851,13 @@ if [ "$action" == "status" ]; then |
|
|
|
for col in "${state_columns_raw[@]}"; do |
|
|
|
p0 "${values[$col]}" |
|
|
|
done |
|
|
|
done | col-0:normalize:size "${state_columns_align}" |
|
|
|
done | { |
|
|
|
if [ -z "$state_raw_output" ]; then |
|
|
|
col-0:normalize:size "${state_columns_align}" |
|
|
|
else |
|
|
|
cat |
|
|
|
fi |
|
|
|
} |
|
|
|
echo 0 |
|
|
|
) |
|
|
|
if [ "$E" != 0 ]; then |
|
|
|