#Debugging Host <> Service networking

1 messages · Page 1 of 1 (latest)

nimble eagle
#

Looking for some guidance on the best way to start debugging connectivity issues between host (OSX) and a dagger service running Apache Airflow.

I can successfully reach the toy example from the Dagger Service docs that just runs a Python http server but I am unable to reach the Airflow UI running as a Dagger service.

If I run the Airflow container using Docker with near-identical configuration and expose the relevant port then the web UI is reachable as expected at port 8080.

Ordinarily, on linux I'd start messing around with tcpdump and pwru but unsure where to go from here with Dagger / OSX.

Thanks!

gentle basin
nimble eagle
gentle basin
#

dagger login

#

that will send telemetry directly to cloud

nimble eagle
#

Yep, it's there

gentle basin
#

and you can share the trace URL here

#

you can safelty share the trace URL here

gentle basin
#

👍

nimble eagle
#

Poked around in the engine logs, unsure if possibly related

time=2026-03-11T00:11:47.415Z level=INFO msg="all client connections closed" sessionID=j1di7p52rkmya5mvh3nppptmj clientID=wxkqg9xupx8e3jch3jkvgcxvy
time="2026-03-11T00:11:47Z" level=debug msg="healthcheck failed fatally" client_hostname=dagger client_id=9gpuof4jndl43ql0yw55wjgje session_id=j1di7p52rkmya5mvh3nppptmj span=0000000000000000 trace=00000000000000000000000000000000
time="2026-03-11T00:11:47Z" level=debug msg="buildkit session.Manager handleConn done" client_hostname=dagger client_id=9gpuof4jndl43ql0yw55wjgje session.id=9gpuof4jndl43ql0yw55wjgje session_id=j1di7p52rkmya5mvh3nppptmj span=0000000000000000 trace=00000000000000000000000000000000
time="2026-03-11T00:11:47Z" level=debug msg="session manager handle conn done 9gpuof4jndl43ql0yw55wjgje" client_hostname=dagger client_id=9gpuof4jndl43ql0yw55wjgje error="<nil>" session_id=j1di7p52rkmya5mvh3nppptmj span=0000000000000000 trace=00000000000000000000000000000000
time=2026-03-11T00:11:47.639Z level=INFO msg="all client connections closed" sessionID=j1di7p52rkmya5mvh3nppptmj clientID=9gpuof4jndl43ql0yw55wjgje
gentle basin
#

so curl localhost:8080 doens't work after the service is up?

nimble eagle
#

Nope, immediately returns curl: (7) Failed to connect to localhost port 8080 after 0 ms: Couldn't connect to server

#

But toy python http server works as expected

gentle basin
#

have you tried adding --ports 8080:8080 ?

#

shouldn't change anything but 🤔

nimble eagle
#

When running the application (Airflow) you mean

gentle basin
#

when running dagger call up --ports

nimble eagle
#

Not at the CLI, but did explicitly add in service.up(ports=[PortForward(8080, 8080)]) which I believe should have the same effect?

gentle basin
#

oh.. you're invoking this via a the SDK?

nimble eagle
#

Was trying to do so, yes. Just tacked on a .up() call instead of returning the service and chaining up

#

Is this a bad idea 😅 ?

gentle basin
#

how are you running your dagger pipeline?

nimble eagle
#

Just running via dagger call -m my-module start

gentle basin
#

in order to be able to access the services you export, your functions must return a *dagger.Service type

#

and in that case you have to do dagger call -m my-module start (returns service) up

nimble eagle
#

Yeah, I did try that as well before

gentle basin
#

since it's the dagger client which binds the port to your machine and forwards it to the dagger service

nimble eagle
#

Let me try again

#

OK, seems to be working now. Probably a few different things overlapping here as I had some earlier application issues. But good to know that you cannot expose a service to the host directly by calling .up() on a service

#

Thanks for your help