Skip to content

feat: keep Tailscale current in the host baseline roles - #169

Merged
Mearman merged 4 commits into
mainfrom
feat/tailscale-current
Nov 2, 2026
Merged

Mearman merged 4 commits into
mainfrom
feat/tailscale-current

Conversation

@Mearman

@Mearman Mearman commented Nov 2, 2026

Copy link
Copy Markdown
Member

Keeps the Tailscale software the host baseline roles find current, on macOS and Linux. The roles only installed it when absent, so a host that already had it never updated.

On macOS, tailscaled install-system-daemon copies the formula's tailscaled to /usr/local/bin and launchd keeps running whatever it started, so upgrading the formula alone leaves the old daemon running. With github_runner_macos_host_tailscale_update (default true) the role brings the tailscale formula, and no other formula, to its latest release and runs tailscaled install-system-daemon again once when the installed or the running daemon differs from the formula. When the standalone app is installed as the tailscale-app cask it is upgraded too (greedy, since the app updates itself and Homebrew lists it as outdated only then). Nothing absent is installed and a daemon built by hand is left as it is.

On Linux, github_runner_linux_host_tailscale_update (default true) upgrades the tailscale package alone (apt-get install --only-upgrade tailscale) when it is installed and apt has a newer release, and enables and starts tailscaled if it is not. The Linux role did not handle Tailscale at all before this, and the cluster role's native node installs a pinned release and downgrades to it on every run, so a native node is skipped.

Neither role joins or logs in to a tailnet. Both work under --check and skip with a message when Tailscale is absent.

@Mearman
Mearman marked this pull request as ready for review November 2, 2026 16:39
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ⚠️ Failed 2026-11-02T17:39:01.726891Z
We couldn’t complete this review. Comment @codex security review to try again.
1c70dfa Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

The role only ever installed Tailscale when absent, and tailscaled
install-system-daemon copies the formula's binary, so a later formula
upgrade left the old daemon running.

With github_runner_macos_host_tailscale_update (default true) the role
brings the tailscale formula alone to its latest release, runs
tailscaled install-system-daemon again once when the installed or the
running daemon differs from the formula, and upgrades the standalone
app when it is installed as the Homebrew cask. Nothing is installed
that is absent, a daemon built by hand is left as it is, and no
tailnet is joined or logged in to.
The Linux host role had no Tailscale handling, so a client installed
from Tailscale's apt repository was never upgraded.

github_runner_linux_host_tailscale_update (default true, the one step
that is on by default) upgrades the tailscale package alone with
apt-get install --only-upgrade when apt has a newer release, and
enables and starts tailscaled if it is not. It installs nothing,
skips a host without the package, a non-apt host and a native node
whose cluster role pins the release, and never joins a tailnet.
@Mearman
Mearman force-pushed the feat/tailscale-current branch from 81f590b to 1c70dfa Compare November 2, 2026 16:49
@Mearman

Mearman commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@Mearman
Mearman merged commit 087db03 into main Nov 2, 2026
14 checks passed
@Mearman
Mearman deleted the feat/tailscale-current branch November 2, 2026 17:39
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 2.18.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant