-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
area:workflowDeveloper workflow, commands, rules, skillsDeveloper workflow, commands, rules, skillschoreGeneral tasks (e.g. update dependencies, contact a manufacturer, read a paper)General tasks (e.g. update dependencies, contact a manufacturer, read a paper)effort:medium1-4 hours1-4 hours
Description
Chore Type
Configuration change
Description
Add opt-in Tailscale SSH support to the devcontainer so developers can connect via direct mesh SSH instead of the devcontainer protocol. This is a workaround for Cursor GUI's inability to execute agent shell commands when connected via the devcontainer protocol.
When TAILSCALE_AUTHKEY is set (via docker-compose.local.yaml), the devcontainer installs Tailscale on first create and connects to the tailnet on every start with SSH enabled. When the env var is unset, the scripts are a no-op — zero impact on normal usage.
Acceptance Criteria
- New
setup-tailscale.shscript withinstallandstartsubcommands -
post-create.shcallssetup-tailscale.sh install(no-op withoutTAILSCALE_AUTHKEY) -
post-start.shcallssetup-tailscale.sh start(no-op withoutTAILSCALE_AUTHKEY) -
.devcontainer/README.mdupdated with quick-start instructions - Detailed design doc at
docs/tailscale-devcontainer.mdcovering architecture decisions, user setup, known gaps, and upstream considerations -
uv.lockupdated (incidental dependency sync)
Implementation Notes
Files changed:
- New:
.devcontainer/scripts/setup-tailscale.sh— single script, two subcommands (install/start), idempotent, uses userspace networking (--tun=userspace-networking) - Modified:
.devcontainer/scripts/post-create.sh— hookssetup-tailscale.sh install - Modified:
.devcontainer/scripts/post-start.sh— addsSCRIPT_DIRresolution, hookssetup-tailscale.sh start - Modified:
.devcontainer/README.md— new "Tailscale SSH" section - New:
docs/tailscale-devcontainer.md— full design doc with architecture table, setup guide, known gap (git signing), and upstream notes
Related Issues
None
Priority
Medium
Changelog Category
Added
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:workflowDeveloper workflow, commands, rules, skillsDeveloper workflow, commands, rules, skillschoreGeneral tasks (e.g. update dependencies, contact a manufacturer, read a paper)General tasks (e.g. update dependencies, contact a manufacturer, read a paper)effort:medium1-4 hours1-4 hours