fix: complete worker host preflight - #71
Conversation
|
@codex review Focused exact-head review at 349821e. Verify the #21 host-preflight completion, especially fail-before-mutation behavior, Debian/version parsing, Docker socket/storage checks, and preserving rollback/uninstall when install prerequisites disappear. Apply the objective review-value gate; reject speculative expansion beyond the documented Debian host contract. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 349821e3cc
ℹ️ 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".
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 review Focused exact-head confirmation at 89d7301. Verify both accepted root-cause fixes: rollback/uninstall remain available without install-only dependencies, and every Docker lifecycle call is confined to the verified local Unix socket. Apply the objective review-value gate and collapse duplicates/speculative variants. |
|
Codex Review: Didn't find any major issues. Delightful! 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". |
|
Completion-run acceptance passed on a fresh disposable Debian Docker VM at exact head
The first validation attempt correctly stopped because the prepared host lacked required |
89d7301 to
181efe0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 181efe0e89
ℹ️ 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".
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".
| docker compose version >/dev/null 2>&1 || die 'Docker Compose v2 is unavailable' | ||
| [[ "$mode" == rollback || "$mode" == uninstall ]] && return | ||
|
|
||
| for command in curl jq df; do command -v "$command" >/dev/null || die "$command is required"; done |
There was a problem hiding this comment.
Check OpenSSL before enabling remote reconciliation
On a host where the CA bundle exists but the openssl executable is absent, an install using a remote OWNER/REPO configuration passes this dependency preflight and enables ci-fleet-reconcile.timer, but every reconciliation then fails: scripts/remote-reconcile.sh requires openssl, and github-app-token.sh uses it to sign the GitHub App JWT. Include openssl among the install-time requirements so the installer fails before activating a controller that cannot consume subsequent desired-state updates.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Accepted: the installer enables ci-fleet-reconcile.timer during install, and remote reconciliation signs the GitHub App JWT with openssl (scripts/github-app-token.sh), so a host without openssl would get a broken enabled timer. Fixed in 04c3f38 by requiring openssl in the install/check command-presence preflight (require_commands), with a strict TDD regression in test-install-worker-controller.sh (INSTALLER_TESTS_OK). Pushed at 1d4d3c8 after merging current main. Awaiting exact-head CI.
The installer enables ci-fleet-reconcile.timer during install, and remote reconciliation signs the GitHub App JWT with openssl (github-app-token.sh). Require openssl in the install/check preflight so the enabled timer cannot fail at runtime on a host without it. Co-Authored-By: Hermes Agent <hermes@nousresearch.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1d4d3c8024
ℹ️ 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".
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 Review: Didn't find any major issues. Chef's kiss. 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". |
Summary
Validation
scripts/test-install-worker-controller.sh(INSTALLER_TESTS_OK)shellcheck scripts/install-worker-controller.sh scripts/test-install-worker-controller.shgit diff --checkExternal acceptance
Fresh disposable Debian Docker-host acceptance passed at the exact PR head: full repository validation, first install, idempotent convergence, failure/rollback paths, uninstall, real image build, runner-tool smoke, and residue cleanup all completed successfully. GitHub App/runner-group bootstrap remains separately tracked by #27.