Skip to content

ci: Tailscale Github Action integration test - #3351

Draft
kradalby wants to merge 4 commits into
juanfont:mainfrom
kradalby:v2-oauth-tskey-compat
Draft

ci: Tailscale Github Action integration test#3351
kradalby wants to merge 4 commits into
juanfont:mainfrom
kradalby:v2-oauth-tskey-compat

Conversation

@kradalby

@kradalby kradalby commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

This PR sets up integration tests for Tailscale's Github action. It spins up a headscale at the beginning of the job, and then uses the action to connect to it, validating connectivity.

@kradalby
kradalby force-pushed the v2-oauth-tskey-compat branch 2 times, most recently from b03cf4f to 078afd5 Compare June 27, 2026 07:41
@kradalby kradalby changed the title ci: validate the v2 API and Tailscale Action OAuth join end to end ci: Tailscale Github Action integration test Jun 27, 2026
kradalby added 4 commits June 27, 2026 10:12
The upstream tailscale client only runs its OAuth client-credentials exchange
for secrets prefixed tskey-client-, so accept it as an alias for hskey-client-.
The prefix is only a label sliced off before lookup, so the same stored client
authenticates under either; lets the official client and GitHub Action mint auth
keys against headscale.
Registration rejected any --advertise-tags on a pre-auth-key node. The official
tailscale client's OAuth authkey flow always re-advertises the key's own tags,
so tolerate RequestTags that are a subset of the key's tags and reject only tags
the key does not carry.
Stand up a nix-built headscale over self-signed TLS with embedded DERP and a
regular node joined via pre-auth, then drive the official tailscale/github-action
against it: connect over OAuth (tskey-client-) and an auth key with ping as the
success gate, and exercise its hostname, version, tailscaled-args, statedir and
args inputs.
…ction

The upstream client only runs the OAuth exchange for tskey-client- secrets and
reads the control URL from a baseURL attribute, not --login-server. Document the
prefix swap, baseURL, and authkey-not-oauth-secret for the GitHub Action.
@kradalby
kradalby force-pushed the v2-oauth-tskey-compat branch from d69c82b to 935483a Compare June 27, 2026 10:14
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