The 0.10 connect preview build included an Addresses table on the allocation view. See 668a4c91e51465c7d9cb4994d82dcaafd3a29d4c
Addresses probably isn't the correct header for this but we do need a way in the UI to identify the task group ports of an allocation. Something similar to:
| Name | Dynamic? | Host Address | Mapped Port |
|------|------|---|---|
| http | No | 10.120.88.182:24438 | 8080 |
| admin| No | 10.120.88.182:28733 | 8081 |
| redis | Yes | 10.120.88.182:6379 | 6379 |
Enumerating group services may also be of use:
| Name | Port | Tags | Connect | Upstreams |
|------|------|------|---------|-----------|
| api | http | v1 | Yes | db:27362 |
You can visit this PR deployment to see a mock version of the ports portion of this. An example, though note that it will be different every time due to mock API randomisation, and it may be paired with nonsense:

Some questions:
Is it useful to be able to change sorting? It’s sorted by the first column by default.
Should the addresses be links? Or maybe that’s not helpful?
I’ll look into the services table next.
@backspace I think sorting by name is good enough here.
We do link the ports on the task view, I think linking here can't hurt.
Thanks, I implemented that. Could you share an example HCL that would lead to that kind of services table being rendered?
@backspace you should be able to use the one from here: https://www.nomadproject.io/guides/integrations/consul-connect/index.html#run-the-connect-enabled-services
Let me know if that doesn't get you want you want
Great, thanks, I got that running (ish 😆).
This is what the API returned for Services on the two jobs and my interpretation of what should be rendered:
[
{
"Name": "count-dashboard",
"PortLabel": "9002",
"AddressMode": "",
"Tags": null,
"CanaryTags": null,
"Checks": null,
"Connect": {
"Native": false,
"SidecarService": {
"Port": "",
"Proxy": {
"LocalServiceAddress": "",
"LocalServicePort": 0,
"Upstreams": [
{
"DestinationName": "count-api",
"LocalBindPort": 8080
}
],
"Config": null
}
}
},
"Kind": "",
"Meta": null
}
]
| Name | Port | Tags | Connect | Upstreams |
|------|------|------|---------|-----------|
| count-dashboard | 9002 | | Yes | count-api:8080 |
[
{
"Name": "count-api",
"PortLabel": "9001",
"AddressMode": "",
"Tags": null,
"CanaryTags": null,
"Checks": null,
"Connect": {
"Native": false,
"SidecarService": {
"Port": "",
"Proxy": null
}
},
"Kind": "",
"Meta": null
}
]
| Name | Port | Tags | Connect | Upstreams |
|------|------|------|---------|-----------|
| count-api | 9001 | | Yes | |
Does that seem correct?
I proceeded with my assumptions, here‘s what it looks like in a test:

One amendment I made was adding the question mark in the “Connect” heading, which matches the one for “Dynamic?” in the similarly-boolean “Ports”.
~It’s not showing up in the PR deployment, I’ll have to look into that tomorrow.~ It’s there now.
Done!