Skip to content

Accept relayed Tailscale connectivity before deployment - #57

Merged
ngalaiko merged 1 commit into
masterfrom
fix-tailscale-relay-readiness
Oct 23, 2026
Merged

ngalaiko merged 1 commit into
masterfrom
fix-tailscale-relay-readiness

Conversation

@assistant-ngalaiko

Copy link
Copy Markdown
Contributor

Cause

The latest master workflow failed in Wait for the node, not in flake checks or
the Linux image build:
https://github.com/ngalaiko/computer/actions/runs/40002731857

Every probe received a pong through DERP(fra), then exited with direct connection not established. The default tailscale ping --until-direct=true made the loop
require direct UDP connectivity and time out after 30 minutes, despite a reachable
peer. Activation never ran.

Fix

Set --until-direct=false on the existing one-probe readiness command. Accept
either direct or relayed reachability while retaining retries and the existing
timeout when the peer is genuinely unreachable. The SSH activation step still
enforces its own connection/authentication checks.

This changes only the reusable deployment workflow. No Dasha account, environment,
credentials, services, permissions, or runtime configuration is modified.

Verification

  • Reproduced the old failure with the installed Tailscale CLI against an isolated
    LocalAPI Unix socket: relay pong => exit 1, direct => exit 0, unreachable => exit 1.
  • Reran the same scenarios with the exact updated workflow command: relay and
    direct => exit 0; unreachable => exit 1. Every scenario sent exactly one probe.
  • Checked the action-selected Tailscale v1.82.0 source: the flag is supported and
    its default/direct-only failure matches the observed CI logs. Local CLI tests
    use installed Tailscale v1.98.10; they simulate peer responses, not a live CI link.
  • nix flake check --all-systems --no-update-lock-file passed.
  • Explicit checks.x86_64-linux.formatting build passed; formatter made no changes.
  • Both live runner PIDs and start times stayed unchanged.

No manual deployment or CI rerun was triggered. Post-merge activation remains a
separate workflow outcome and is not claimed by these local checks.

The readiness probe received DERP pongs but required a direct path by default,
so reachable nodes timed out before activation. Disable that requirement while
keeping unreachable-peer retries and the existing timeout.

Amp-Thread-ID: T-01a169a1-b58f-747d-8dfa-f3b5a4e3ed4b
@ngalaiko
ngalaiko merged commit 9c4b495 into master Oct 23, 2026
6 checks passed
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.

1 participant