Repository navigation
claude-update.tf: a daily claude update as ubuntu on the jumpboxes and metal boxes - #704
Conversation
…and metal boxes Nothing updated the native Claude Code on these boxes: the boot scripts run the installer only when it is missing, and Claude's own updater does not run in pool sessions, because `claw-master connect` sets DISABLE_AUTOUPDATER=1 for the Claude it launches. fcvm-metal-arm was on 2.1.296 while 2.1.311 was out (2026-10-27). - claude-update.tf: an SSM association (AWS-RunShellScript, the pattern of codex-update.tf) at 08:00 UTC daily on both jumpboxes, fcvm-metal-arm and fcvm-metal-x86. It runs `claude update` as ubuntu (runuser), from its home, stdin closed, DISABLE_AUTOUPDATER removed, and prints before -> after. A box without a native copy is reported and left alone; a failed update fails the run. It restarts nothing. - scripts/test-claude-update.py: renders the commands from the Terraform and runs them against a fake runuser and claude (update, failure, no copy), and pins the targets, the schedule and that nothing is restarted or downloaded. Added to lambda-tests.yml. - README.md and AGENTS.md: one line each, beside the Codex refresh.
… the container note does not overclaim - test-claude-update.py: the fake runuser exports who it ran as and the fake claude logs it with the update, so dropping the update's runuser wrapper fails the test (it passed before: the version probes alone logged ubuntu). Seen failing with the wrapper removed. - claude-update.tf and AGENTS.md: the nextjs-ct containers are outside this association and covered by their own agent-update, without claiming what that job does.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
|
@codex security review |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Reviewed exact head Terraform validation and offline CI passed, including the six new updater tests. Codex code and security reviews completed with no findings, and all comments and review threads were checked. CodeRabbit was requested but is quota-limited; Greptile has not responded. Neither is counted as a sign-off. The recent-push quiet period has elapsed. |
|
Merged and applied as b28ba10. The reviewed fresh full plan contained only the new daily updater association; apply succeeded and a full follow-up plan is empty. Both jumpboxes and the running ARM host executed it successfully and have Claude Code 2.1.311 installed. The x86 host is stopped and was not woken. Active sessions retain their existing process; /infra/applied-status is clean for this main commit. |
Nothing updated the native Claude Code on the jumpboxes and metal boxes. The boot scripts run the installer only when
~/.local/bin/claudeis missing. Claude's own background updater does not run in pool sessions, becauseclaw-master connect(which t-claude launches every pool session through) setsDISABLE_AUTOUPDATER=1. On 2026-10-27, fcvm-metal-arm was on 2.1.296 while 2.1.311 was out.What changes
claude-update.tf: a daily SSM association, following the pattern ofcodex-update.tf. It runs at 08:00 UTC on both jumpboxes, fcvm-metal-arm and fcvm-metal-x86.claude updateas ubuntu (runuser), from ubuntu's home, with stdin closed andDISABLE_AUTOUPDATERremoved, and prints the version before and after.scripts/test-claude-update.py(added tolambda-tests.yml):runuserandclaude, covering the update, a failure and a box with no copy.runuser -u ubuntuand thatDISABLE_AUTOUPDATERdoes not leak through.README.mdandAGENTS.md: one line each, next to the Codex refresh.The nextjs-ct containers are outside this association. Their nightly
agent-updatecovers them, and #703 makes it runclaude update.Testing
lambda-tests.ymlpass. Therunusercheck fails with the wrapper removed from the update line.terraform fmt -check claude-update.tfpasses. The plan is the jumpbox's to run.claude updateas ubuntu on fcvm-metal-arm went from 2.1.296 to 2.1.311.Codex: reviewed
origin/main..09049ba(a P2 on the test'srunusercheck and a P3 on the container wording, both fixed in 40f6e5e), then09049ba..40f6e5e(no findings).