Repository navigation
Join the tailnet per provider - #78
Merged
Merged
Conversation
Each provider declares whether its hosts join the tailnet. AWS, Hetzner, Exoscale and exe.dev read <PROVIDER>_TAILNET (default false). The global TAILSCALE_ENABLED flag is gone: drukbox builds its Tailscale client when the TAILSCALE_ settings are set. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QF9hpaiL2ri4m4XRyhrU9V
czpython
force-pushed
the
claude/per-provider-tailnet-z6ti4d
branch
from
October 18, 2026 17:30
0eda40d to
e6d391b
Compare
This was referenced Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Paulo · project thread
Before: one
TAILSCALE_ENABLEDflag put every remote provider on the tailnet, or none of them. Cloudflare, Daytona, E2B and Vercel refused to work without it.After: each provider declares
tailnet. Cloudflare, Daytona, E2B and Vercel always join. Docker, docker-sbx and Boat never do. AWS, Hetzner, Exoscale and exe.dev join when<PROVIDER>_TAILNET=true(defaultfalse). Drukbox builds its Tailscale client when the fourTAILSCALE_*credentials are set and rejects a partial set. A tailnet host without them fails provisioning with an error that names them./doctorreturnstailnetin place oftailscale_enabled.Deploy: a deployment with
TAILSCALE_ENABLED=truesets<PROVIDER>_TAILNET=truefor each remote provider it uses (for exampleEXE_TAILNET=true) and dropsTAILSCALE_ENABLED.How:
VMProvider.tailnetreplacessupports_tailnet.Tailscale.from_settings()returns None without a tailnet, andHostService.provisionfails a tailnet host when there is no client. The providers' setup-script guards are gone because the service decides. The unusedDEFAULT_NETWORK_PROVIDERsetting is removed. Touched files also get the review checklist (truthiness, bare returns, module-level test imports).Generated by Claude Code