Skip to content

Upload wheels over Tailscale - #1090

Draft
djwmarcx wants to merge 2 commits into
masterfrom
add-tailscale-upload
Draft

djwmarcx wants to merge 2 commits into
masterfrom
add-tailscale-upload

Conversation

@djwmarcx

@djwmarcx djwmarcx commented Jul 7, 2026

Copy link
Copy Markdown

Proposed change

The new wheels-server is not publicly reachable — it accepts rsync uploads only over a Tailscale tailnet. This makes the action upload over Tailscale:

  • New required inputs tailscale-oauth-client-id and tailscale-oauth-secret, plus tailscale-tags (default tag:homeassistant-wheels-deploy-action). The runner joins the tailnet as an ephemeral node (via tailscale/github-action, pinned to v4.1.3) before uploading to wheels-host.
  • The upload runs inside the builder container, but MagicDNS is only configured on the runner, so the wheels host is resolved on the runner and injected into the container with --add-host. Resolution failure fails the job with a clear error.
  • The tailnet join and host resolution are skipped in test mode (test: true) and when publishing to a local folder (local-wheels-repo-path), since nothing is uploaded in those cases.
  • README section documenting the setup, including running the action twice to publish to two servers during a migration.

Type of change

  • Bugfix
  • New feature
  • Breaking change
  • Dependency upgrade

The new wheels-server only accepts rsync uploads over a Tailscale
tailnet. The runner joins the tailnet as an ephemeral node before
uploading to wheels-host, using the required tailscale-oauth-client-id
and tailscale-oauth-secret inputs. Since MagicDNS is only configured on
the runner, the wheels host is resolved there and injected into the
builder container via --add-host.

The tailnet join is skipped in test mode and when publishing to a
local folder, since nothing is uploaded in those cases.
@djwmarcx
djwmarcx force-pushed the add-tailscale-upload branch from 33b13e5 to 440d2e1 Compare July 7, 2026 11:46
@djwmarcx djwmarcx changed the title Add Tailscale support for uploading to a private wheels host Upload wheels over Tailscale Jul 7, 2026
@frenck
frenck self-requested a review July 7, 2026 18:04
@eshattow

Copy link
Copy Markdown
Contributor

How does the index update get triggered to run on the wheels-server, is it by some CI/CD action or what by other means? Is there documentation how to set up a wheels-server?

@github-actions github-actions Bot added the Stale label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants