Supondo que você tenha 3 serviços em execução e registrados com o consul e uma consulta
curl -s 'http://localhost:8500/v1/catalog/service/consul' | jq ''
resultando neste
[{
"Node": "local01-consul0001.local",
"Address": "192.168.33.11",
"ServiceID": "consul",
"ServiceName": "consul",
"ServiceTags": [
"master"
],
"ServiceAddress": "",
"ServicePort": 8300
},
{
"Node": "local01-consul0002.local",
"Address": "192.168.33.12",
"ServiceID": "consul",
"ServiceName": "consul",
"ServiceTags": [
"master"
],
"ServiceAddress": "",
"ServicePort": 8300
},
{
"Node": "local01-consul0003.local",
"Address": "192.168.33.13",
"ServiceID": "consul",
"ServiceName": "consul",
"ServiceTags": [
"master"
],
"ServiceAddress": "",
"ServicePort": 8300
}]
Como todos estão disponíveis, você deve poder usar o primeiro em ordem alfanumérica:
# curl -s 'http://localhost:8500/v1/catalog/service/consul' | jq '.[0]'
{
"Node": "local01-consul0001.local",
"Address": "192.168.33.11",
"ServiceID": "consul",
"ServiceName": "consul",
"ServiceTags": [
"master"
],
"ServiceAddress": "",
"ServicePort": 8300
}