Skip to content

fix: restore security storage readiness before maintenance - #4778

Merged
devantler merged 1 commit into
mainfrom
codex/kubescape-storage-placement-4776-2240
Oct 12, 2026
Merged

devantler merged 1 commit into
mainfrom
codex/kubescape-storage-placement-4776-2240

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The security scanner's persistent storage is stranded on a worker that cannot attach its volume. Its loss of readiness also blocks the protected storage maintenance needed to deliver the init-log repair.

What

Keep this single storage component on workers that currently support its existing volume, without changing its data or weakening health checks. The security agents and local development placement stay unchanged.

Deferred: #4777 — remove the temporary placement after the volume-client rollout is verified.

Fixes #4776

⚠️ Merge order: land #4775 first; verify storage readiness before retrying #4744.

@devantler

devantler commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Evaluation of 316b8f39294e2f523d892c187b1568a4f784bae8:

Read-only production evidence shows the storage Deployment unready after volume attachment fails because its scheduled worker has no Longhorn CSI driver. The existing claim remains bound, and eligible storage workers are ready and schedulable. All database clusters remain ready and archiving. The protected maintenance's readiness check is intentionally retained.

The real pinned Kubescape chart reproduces unsafe placement before this fix and passes afterward for install and upgrade with the audited controller SDK. Negative controls reject compute-only workers, missing eligibility and a wrong operating-system boundary. The rendered claim and single-writer strategy are unchanged, and no other component's placement changes. The real production post-renderer check passes using Kubernetes 1.36.4; all 106 guard assertions pass on the committed tree. Shellcheck, actionlint, diff checks and the race-enabled authorization package pass.

The authorization render changes exactly one existing ledger entry: Kubescape's HelmRelease, solely by adding the storage Deployment placement patch. Membership and every other entry, including grant-bearing resources, remain unchanged; no permission or identity is added. The validator's approved-renderer diagnostic supplies the new digest and its complete contract passes after recording that reviewed delta.

KSail's production validation exits successfully with 127 kustomizations validated. Its existing OCI-chart credential-helper and offline namespace-policy warnings remain limits on unrelated full-chart/policy coverage; they are not counted as proven clean. Kubescape's actual chart has separate positive behavioral proof above.

Self-review covered correctness, the narrow scheduling scope, workflow input handling, authorization boundaries and simplification. No unresolved finding remains in that pass; it is not the independent review gate. Codex's substantive green names this exact commit and follows the authenticated request. The ordered review loop used the serving Codex lane after CodeRabbit reported its included repository allowance consumed. Native current-head CI 38185689185 has passed, including the required aggregate; no unresolved thread remains.

#4775 has merged as 800504997bf9c01e4a26aadf76c7e6e1f0859be8. Its protected deployment 38187878684 succeeded. Independent production reads show the maintenance journal restored with its original resource ownership preserved, the exact published artifact applied and Ready, all database instances ready and archiving, and backup schedules resumed. This releases the publication prerequisite without claiming this placement fix is deployed. The existing claim remains bound with its original identity.

This head is ready for the normal protected queue. After deployment, verify the same claim identity and storage readiness before retrying #4744. Remove the temporary placement only through #4777 after the permanent client rollout and separated live samples.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T23:55:20.416297Z 316b8f3 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: 316b8f3929

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

@devantler devantler removed the blocked label Oct 12, 2026
@devantler
devantler marked this pull request as ready for review October 12, 2026 00:51
@devantler
devantler added this pull request to the merge queue Oct 12, 2026
Merged via the queue into main with commit 385b9de Oct 12, 2026
33 checks passed
@devantler
devantler deleted the codex/kubescape-storage-placement-4776-2240 branch October 12, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

Restore Kubescape storage readiness before client maintenance

1 participant