Apologies in advance for the wall of text.
[1/3] I've run into a bit of an issue when it comes to managing dagger dependencies. I need to pull dagger modules from our private git hosting, which is available over a tailscale network. The host machines (local dev machines or CI runners) are joined to the tailnet and can access the resources just fine. However if I dagger install git.tailnet-host.com/my-mod the runtime container attempts to resolve and connect to git.tailnet-host.com, and can do neither because it's not on the tailnet.
For code running within the dagger pipeline, this isn't much of an issue because the CI code can bring up proxy services which permit resolution/access. Indeed you don't want your CI pipeline code to depend on the network config of some random dev's machine, so we want isolation here.
However If I'm just doing some development work on my dev machine, I have no way to control the network or proxy environment the dagger toolchain runs in. I think it would be possible to provision a custom runner and set proxy variables there to grant access, but then that proxy setup gets passed on to every container the pipeline runs, which will definitely cause problems and breaks isolation. This is also a pretty bad developer experience. Everyone needs to a) re-configure their tailscale daemon to run a local proxy, b) provision a local runner with the right ALL_PROXY etc., c) make sure to always use that runner.