Skip to content

uc proxy: allow remote port detection - #454

Open
miekg wants to merge 3 commits into
psviderski:mainfrom
miekg:miek/26/okt28wo/proxyport1
Open

miekg wants to merge 3 commits into
psviderski:mainfrom
miekg:miek/26/okt28wo/proxyport1

Conversation

@miekg

@miekg miekg commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

This implements remote port detection for services running in uncloud, when you proxy to them you only need to give the service name and proxy will figure it out.

This does not cross reference with x-ports, nor does check the expose syntax (for the love of it, I couldn't find where to add that). This also means adding/remove expose ports isn't detected as a service change.

Having said that, it works beautifully:

% ./uc proxy debug
http://127.0.0.1:44345 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy debug 12334:
http://127.0.0.1:12334 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy debug 80
http://127.0.0.1:39815 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy perses
http://127.0.0.1:42617 → 10.210.0.9:8080 (perses/6e51faac2888)

% ./uc proxy prometheus
http://127.0.0.1:44803 → 10.210.0.8:9090 (prometheus/709cf40d7305)

% ./uc proxy uniprune
Error: no remote port specified and no exposed ports found for service 'uniprune'

services:
  debug:
    image: code.atoom.net/miek/base/debug:latest
    expose:
      - 25
      - 80

[1] % ./uc proxy debug
┃ Select a port
┃ > 25
┃   80

↑ up • ↓ down • / filter • enter submit

Fixes: #453

miekg added 2 commits October 28, 2026 16:15
This implements remote port detection for services running in uncloud,
when you proxy to them you only need to give the service name and proxy
will figure it out.

This does not cross reference with x-ports, nor does check the expose
syntax (for the love of it, I couldn't find where to add that). This
also means adding/remove expose ports isn't detected as a service
change.

Having said that, it works beautifully:

```
% ./uc proxy debug
http://127.0.0.1:44345 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy debug 12334:
http://127.0.0.1:12334 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy debug 80
http://127.0.0.1:39815 → 10.210.0.19:80 (debug/f33620ea40f3)

% ./uc proxy perses
http://127.0.0.1:42617 → 10.210.0.9:8080 (perses/6e51faac2888)

% ./uc proxy prometheus
http://127.0.0.1:44803 → 10.210.0.8:9090 (prometheus/709cf40d7305)

% ./uc proxy uniprune
Error: no remote port specified and no exposed ports found for service 'uniprune'

services:
  debug:
    image: code.atoom.net/miek/base/debug:latest
    expose:
      - 25
      - 80

[1] % ./uc proxy debug
┃ Select a port
┃ > 25
┃   80

↑ up • ↓ down • / filter • enter submit
```

Fixes: psviderski#453

Signed-off-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Miek Gieben <miek@miek.nl>
@miekg

miekg commented Oct 28, 2026

Copy link
Copy Markdown
Contributor Author

This does not cross reference with x-ports, nor does check the expose syntax (for the love of it, I couldn't find where to add that). This also means adding/remove expose ports isn't detected as a service change.

I tend to get lost in the service vs servce container stuff - adding it in the place I though it would do something didn't matter; maybe you can easily fix that though

Signed-off-by: Miek Gieben <miek@miek.nl>
@miekg miekg changed the title uc proxy: allow report port detection uc proxy: allow remote port detection Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow uc proxy to detect ports

1 participant