infra-utils/consul/get_services.sh
Jakub Sokołowski 8855498e1d
consul/get_services: tabulated list of services
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-09-26 11:19:49 +02:00

15 lines
434 B
Bash
Executable File

#!/usr/bin/env bash
CONSUL_URL="${CONSUL_URL:-http://localhost:8500/v1/catalog}"
SERVICE="${1}"
[[ -z "${SERVICE}" ]] && { echo "No service name given!" >&2; exit 1; }
readarray -t DCS < <(curl -s "${CONSUL_URL}/datacenters" | jq -r '.[]')
for DC in "${DCS[@]}"; do
curl -s "${CONSUL_URL}/service/${SERVICE}?dc=${DC}"
done \
| jq -r '.[] | [.Node, .ServiceName, .ServiceID, .ServiceMeta.version] | @tsv' \
| column -t