Skip to content

feat: prepare status receiver deployment - #67

Merged
Nickfost merged 34 commits into
mainfrom
deploy/status-receiver
Aug 1, 2026
Merged

feat: prepare status receiver deployment#67
Nickfost merged 34 commits into
mainfrom
deploy/status-receiver

Conversation

@Nickfost

@Nickfost Nickfost commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • package the merged stdlib receiver as an unprivileged hardened systemd service bound to loopback
  • add a transactional commit-pinned installer with idempotent rerun, check, upgrade, and rollback
  • add a local health endpoint, bounded reverse-proxy example, deployment runbook, and isolated installer tests
  • preserve the existing authenticated protocol, strict schema, retention, read-only API, and warning-only reporter failure behavior

Safety boundary

This is deployment preparation only. It creates no host, secret, credential, endpoint, controller change, capacity change, or deployment. The receiver remains separate from runner controllers and receives outbound HTTPS only. No Docker socket, runner credentials, deployment credentials, WebUI, or mutation API are added.

Validation

  • status receiver tests: 21 passed
  • clean install, idempotent rerun, upgrade, check, and rollback fixture: passed
  • shellcheck and shell syntax: passed
  • new deployment Markdown lint and relative links: passed
  • committed-secret scan: passed
  • repository suite passes through all non-Docker checks; exact-head GitHub CI provides Docker validation

Tracks #66.

@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact draft head: c78ebfae5463bc3749ebaee9cfd93b7acd534cb0.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c78ebfae54

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/status_receiver.py Outdated
Comment thread scripts/install-status-receiver.sh
Comment thread scripts/install-status-receiver.sh
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact draft head after the five review fixes: 3083dc0105858adad8ec06c222968f572148db09.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3083dc0105

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact draft head after transactional rollback fixes: bc0cb26609ba3f3743c74e5de3096956f6a6b1f2.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bc0cb26609

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact draft head after fail-closed activation fixes: 78f545f94abb95a0d980ed08f0b55bcac6f3d759.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 78f545f94a

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh
Comment thread scripts/status_receiver.py Outdated
Comment thread deploy/status-receiver/ci-fleet-status-receiver.service
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact final draft head: 87b3de1e0477e632bccf82b3cef51d6cfc5b6380.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 87b3de1e04

ℹ️ 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".

Comment thread scripts/status_receiver.py Outdated
Comment thread scripts/install-status-receiver.sh
Comment thread docs/STATUS-RECEIVER-DEPLOYMENT.md Outdated
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

Please review exact final draft head after bounded health and recovery fixes: c935cc1f32b5ca73a58f88e1ea3ccd194aa021a2.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: c935cc1f32

ℹ️ 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".

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c935cc1f32

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/status_receiver.py
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2f593ca22

ℹ️ 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".

Comment thread templates/config-repository/fleet.schema.json
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread templates/config-repository/scripts/validate.py Outdated
Comment thread scripts/health.py Outdated
@Nickfost

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 18d9ba4987

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/install-status-receiver.sh Outdated
Comment thread scripts/desired_state.py Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

Please review exact head after required-reporting capability gating and active-state rollback preservation: 9e8ff3a99f305d1cde635967eb2cebe20eee75de.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

except (ValueError, StatusError) as error:
failure = error if isinstance(error, StatusError) else StatusError(400, "invalid_request")
self.send_json(failure.status, {"error": failure.code})

P2 Badge Return a 503 when report persistence fails

When SQLite is locked, corrupt, read-only, or out of space, receiver.submit() can raise sqlite3.Error or OSError, but this handler catches only request-validation failures. The exception therefore escapes the request thread, logs a traceback, and closes the connection without an HTTP response, unlike the read and health handlers immediately below that translate the same storage failures into a redacted 503. Catch these persistence errors here as well so controllers receive a defined retryable response during receiver storage failures.

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

Addressed the review-level persistence finding from #67 (review) in 3fa715165d849995426f6f0f43355b3eb718a4eb. POST storage OSError/sqlite3.Error failures now return a redacted retryable HTTP 503, with an HTTP regression proving the response instead of a disconnected request.

@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

Please review exact head after forced recorded-active restarts and retryable POST persistence failures: 3fa715165d849995426f6f0f43355b3eb718a4eb.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3fa715165d

ℹ️ 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".

Comment thread scripts/status_receiver.py
Comment thread templates/config-repository/scripts/validate.py
Comment thread scripts/status_receiver.py Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 3fa715165d

ℹ️ 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".

@Nickfost
Nickfost marked this pull request as draft August 1, 2026 16:12
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 352cb1720e

ℹ️ 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".

Comment thread scripts/install-worker-controller.sh
Comment thread scripts/install-status-receiver.sh
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46bfbca92b

ℹ️ 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".

Comment thread docs/STATUS-RECEIVER-DEPLOYMENT.md Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53ccdfe3ed

ℹ️ 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".

Comment thread scripts/status_receiver.py Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7893d3caa3

ℹ️ 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".

Comment thread scripts/install-status-receiver.sh Outdated
@Nickfost

Nickfost commented Aug 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 0103a1770a

ℹ️ 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".

@Nickfost
Nickfost marked this pull request as ready for review August 1, 2026 19:36
@Nickfost
Nickfost merged commit b76aefe into main Aug 1, 2026
1 check passed
@Nickfost
Nickfost deleted the deploy/status-receiver branch August 1, 2026 19:58
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