Skip to content

updater: PILOT_APP_UPDATE_OPT_OUT app-update opt-out + ship skills-disable opt-out fix#400

Open
Alexgodoroja wants to merge 3 commits into
mainfrom
feat/app-update-opt-out
Open

updater: PILOT_APP_UPDATE_OPT_OUT app-update opt-out + ship skills-disable opt-out fix#400
Alexgodoroja wants to merge 3 commits into
mainfrom
feat/app-update-opt-out

Conversation

@Alexgodoroja

@Alexgodoroja Alexgodoroja commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

App-update opt-out + ship the skills-disable opt-out fix

Two things that need a pilotprotocol release (skillinject is compiled into the
daemon/CLI, so a dependency bump is the only way its fix reaches the fleet).

Added — PILOT_APP_UPDATE_OPT_OUT

pilot-updater keeps installed apps current by periodically running
pilotctl appstore upgrade --all. This adds the documented opt-out (a global
boolean): PILOT_APP_UPDATE_OPT_OUT=true stops the updater from checking for /
installing app updates — installed apps stay at the version you installed. Unset
or false (the default) keeps app auto-updates on. Pilot daemon/CLI binary
updates are unaffected.
Opt back in by removing the var (or setting it false)
and restarting the updater.

Fixed — skills-disable opt-out survives updates

Bumps skillinject to include pilot-protocol/skillinject#31, so
pilotctl skills disable is no longer undone by pilotctl update /
skills check / an installer re-run.

Tests

  • TestAppAutoUpgradeOptOut — default on, every truthy spelling opts out, opt-in
    values keep it on, legacy alias still disables.
  • Real-binary check: pilot-updater logs app auto-upgrade opted out with the
    var set and loop started without it.
  • Full cmd/... suite green; go build ./..., go vet, go mod tidy clean.

Alexgodoroja added 2 commits July 17, 2026 14:19
Bumps skillinject to the commit merged in pilot-protocol/skillinject#31, so the
`pilotctl skills disable` opt-out survives `pilotctl update` / `skills check`
/ installer re-runs. skillinject is compiled into the daemon + pilotctl, so this
bump is what ships that fix in a pilotprotocol release.
The pilot-updater keeps installed apps current by periodically running
`pilotctl appstore upgrade --all`. Add APP_UPDATE_OPT_OUT=true as the documented
way to turn that off — installed apps then stay at the version the operator
installed, while the pilot daemon/CLI binaries keep updating. Unset or false
(the default) keeps app auto-updates on. Extracts the gate into a testable
appAutoUpgradeEnabled() helper following the existing envBool pattern, and keeps
PILOT_UPDATER_NO_APP_UPGRADE working as a back-compat alias. Documents the var
in the README env-var table and CHANGELOG [1.12.9].
@Alexgodoroja
Alexgodoroja requested a review from TeoSlayer as a code owner July 17, 2026 21:23
…n from changelog

Follow the repo's PILOT_-prefixed env-var convention: the app-update opt-out is
now PILOT_APP_UPDATE_OPT_OUT (global boolean, default false). PILOT_UPDATER_NO_APP_UPGRADE
stays as the back-compat alias. Moves the changelog entry under [Unreleased] so
the release version isn't pinned in the PR.
@Alexgodoroja Alexgodoroja changed the title 1.12.9: APP_UPDATE_OPT_OUT app-update opt-out + ship skills-disable opt-out fix updater: PILOT_APP_UPDATE_OPT_OUT app-update opt-out + ship skills-disable opt-out fix Jul 17, 2026
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