Make native AOS Homebrew convergence refresh-safe #748

Closed
opened 2026-08-04 22:49:03 +00:00 by coilyco-ops · 1 comment
Owner

The aos-native role asks Homebrew for state: latest without refreshing existing taps. community.general.homebrew disables automatic updates by default, so server tap clones can predate Formula/aos.rb or the paired aosguard resource.

The role also declares a fixed aos_native_version while consuming the tap's rolling latest formula. After a correct refresh, the rolling release can advance beyond the declared value and fail the final assertion.

Acceptance:

  • Refresh Homebrew metadata before resolving the AOS formula.
  • Treat the tap release as the channel source and require aos and aosguard to report the same release.
  • Keep clean-environment verification and bounded rollback behavior.
  • Update stale documentation that still describes the role as disabled.
  • Validate through the repository Ward gate.
The `aos-native` role asks Homebrew for `state: latest` without refreshing existing taps. `community.general.homebrew` disables automatic updates by default, so server tap clones can predate `Formula/aos.rb` or the paired `aosguard` resource. The role also declares a fixed `aos_native_version` while consuming the tap's rolling latest formula. After a correct refresh, the rolling release can advance beyond the declared value and fail the final assertion. Acceptance: * Refresh Homebrew metadata before resolving the AOS formula. * Treat the tap release as the channel source and require `aos` and `aosguard` to report the same release. * Keep clean-environment verification and bounded rollback behavior. * Update stale documentation that still describes the role as disabled. * Validate through the repository Ward gate.
Author
Owner

Implemented by ed584b9eb3 on canonical main.

  • Refreshes Homebrew metadata before resolving the AOS channel formula.
  • Removes the stale fixed version pin.
  • Requires aos and aosguard to report the same aos-v* release.
  • Updates the rollout, rollback, README, and feature documentation.

Validation passed with ward exec ansible-lint and ward exec pre-commit.

The intended closing trailer was rendered with literal newline escapes in the pushed commit body, so this comment records the link before explicit closure.

Implemented by ed584b9eb34adb532ff9fa5d7722691bb14fb96a on canonical `main`. * Refreshes Homebrew metadata before resolving the AOS channel formula. * Removes the stale fixed version pin. * Requires `aos` and `aosguard` to report the same `aos-v*` release. * Updates the rollout, rollback, README, and feature documentation. Validation passed with `ward exec ansible-lint` and `ward exec pre-commit`. The intended closing trailer was rendered with literal newline escapes in the pushed commit body, so this comment records the link before explicit closure.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/infrastructure#748
No description provided.