Skip to content

TIGER-331: auto-update on install — enableAll() + update:auto / update:apply (v1.24.0) - #342

Merged
WebTigers merged 1 commit into
mainfrom
feat/tiger-331-auto-update-on-install
Oct 19, 2026
Merged

WebTigers merged 1 commit into
mainfrom
feat/tiger-331-auto-update-on-install

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

What

A freshly provisioned box never enrolled anything into the WP-style update.autoupdate opt-in, so nothing auto-applied. This adds the "keep this install current" switch that provisioning flips — built entirely on the existing update machinery (Tiger_Update_AutoUpdate + System_Service_Updates::runScheduledAutoUpdates + the daily system.update_check job). No bespoke updater.

Changes (this PR — the core engine)

  • Tiger_Update_AutoUpdate::enableAll(bool $includeCore = true) / disableAll() — enroll tiger-core + every installed module (bySlugMap) + every skill (installed()), network-free, merged with anything already on, written once. $includeCore = false is the control-plane case (core stays deploy-driven on a booting ASG member).
  • bin/tiger verbs: update:auto on|off|list [<slug>|--all] [--modules-only] and update:apply --auto (the immediate pass). The console boot runs module bootstraps, so System_Service_Updates autoloads.
  • Version → 1.24.0; tests cover enroll-all (merges + core + idempotent), --modules-only, and disableAll.

Consumers (separate repos, follow-on)

  • TigerDen shared firstboot (node AMI + TigerDen) → update:auto on --all + update:apply --auto (best-effort).
  • TigerHeadless autoupdate install step (in-process, no-shell-safe) → every Tiger install.
  • TigerHosting AutoLaunch::_waitFirstboot 300→600s for the heavier firstboot.
  • CP: tiger update:auto on --all --modules-only as a controlled-deploy step (not boot).

🤖 Generated with Claude Code

https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ

…apply (v1.24.0)

A fresh install never enrolled anything into the WP-style `update.autoupdate`
opt-in, so nothing auto-applied. Add the "keep this install current" switch
provisioning flips, built on the existing machinery (no bespoke updater):

- Tiger_Update_AutoUpdate::enableAll(bool $includeCore=true) / disableAll():
  enroll `tiger-core` + every installed module (bySlugMap) + every skill
  (installed()), network-free, merged + written once. $includeCore=false is the
  control-plane case (core stays deploy-driven on a booting ASG member).
- bin/tiger: `update:auto on|off|list [<slug>|--all] [--modules-only]` and
  `update:apply --auto` (the immediate pass = runScheduledAutoUpdates()). The
  console boot runs module bootstraps, so System_Service_Updates autoloads.

The firstboot (golden images) and the headless installer (every Tiger install)
call these; see TigerDen/TigerHeadless. Tests cover enroll-all (merges + core +
idempotent), --modules-only, and disableAll.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ
@WebTigers
WebTigers merged commit 1c344dc into main Oct 19, 2026
14 checks passed
@WebTigers
WebTigers deleted the feat/tiger-331-auto-update-on-install branch October 19, 2026 11:38
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