fix(deploy): rename hardened Kubernetes manifest to wardnet.yaml - #144
fix(deploy): rename hardened Kubernetes manifest to wardnet.yaml#144seonghobae wants to merge 21 commits into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughKubernetes 매니페스트를 ChangesKubernetes 매니페스트 경로 마이그레이션
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change completes the Wardnet manifest-path migration while retaining controlled migration and rollback references. No concrete current-head merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Noema LLM review
The PR correctly renames the hardened Kubernetes manifest from deploy/kubernetes/waf-ids-ai-soc.yaml to deploy/kubernetes/wardnet.yaml and updates all corresponding references in documentation, agent guides, and source code. Crucially, it introduces a structural regression contract in tests/kubernetes_manifest_path.rs to prevent the accidental reintroduction of the legacy path in operational contexts, while allowing it for explicit migration history. It also adds tests/documentation_landing.rs to ensure GitHub Pages links resolve correctly, addressing a previously identified 404 risk.
Reviewed changed lines
AGENTS.md:20 (RIGHT): Correctly updates the remediation path for k8s/IaC misconfigs to the new filename.tests/deployment_manifest.rs:651 (RIGHT): Adds a concrete test to ensure the legacy manifest file is physically absent from the distributable tree.tests/kubernetes_manifest_path.rs:78 (RIGHT): Implements a granular allowlist for legacy paths, distinguishing between dangerous operational references (e.g., kubectl apply) and safe historical documentation.tests/documentation_landing.rs:63 (RIGHT): Implements a repository-wide link validator for the landing page to prevent broken links to the main branch.
Adversarial validation
tests/kubernetes_manifest_path.rs:145 (RIGHT)falsified: The stale-reference scanner can be bypassed by placing the legacy path in a non-text file. — The scanner explicitly iterates over TEXT_EXTENSIONS; however, the legacy path is a source-tree reference typically found in docs/scripts, which are covered.tests/kubernetes_manifest_path.rs:102 (RIGHT)falsified: The scanner fails if the test file itself contains the legacy path literal as a negative test case. — The test uses runtime fragment concatenation (lines 138-140) to avoid literal matches, ensuring the test file remains subject to the scan without triggering it.- Residual risk: low
Findings
- No blocking findings.
- Result: APPROVE
- Head SHA:
9616b94ac1ecf70038071a8c9395348694e6312c - Reviewer credential:
noema-review-github-app-refresh - Actor:
cwl-noema-review[bot]
Fixes #75 only after this exact bounded slice reaches protected
main.Buyer / operator outcome
This branch is the foundation-first repository-path migration for the hardened Kubernetes asset plus its public/operator documentation landing:
deploy/kubernetes/wardnet.yamlwithout renaming live Kubernetes resource identities;docs/index.mdlanding and repository-link validation;The latest pre-restack source repair,
8d656d313c18c2b304d3e1a563317a967c23e250, is valid intervening delta rather than a race: it only rewrites one iterator closure intests/kubernetes_manifest_path.rsto satisfy the Rust 1.98 Clippy contract without changing the asserted path semantics.Fresh protected-main adoption — 2026-09-08 KST
This branch previously adopted protected
main@5829a0f08d78de464dd24393ce5d0f25fba9d126through merge04692b24c179d1c067113f83c52a4ad1b4af7c5a. Protected truth later advanced through #171 to exacta52ccd0a24a727d9349bb32def7713882d8cad1e.Fresh compare of predecessor
04692b24...against current protected main proved the protected-only intervening delta is #171's two ADR files and that this candidate's effective 13-path Kubernetes/documentation slice is otherwise unchanged. There is no source-path overlap with the protected ADR delta.The branch therefore adopted exact protected main non-destructively with two-parent commit
f5383585d3588d7b63b00a11bba61fa0d875743e, preserving predecessor04692b24...as first parent and protecteda52ccd0...as second parent. Its tree preserves the predecessor branch exactly and adds the two protected ADR blobs byte-for-byte. No force push, destructive rebase, source reconstruction, or central-workflow rewrite was used.Fresh compare is now
behind_by=0, merge base exactlya52ccd0..., and the protected-main-relative effective delta remains 13 paths: AGENTS/CHANGELOG/CLAUDE/README, one core documentation string, the manifest rename, buyer/deployment/doctoring docs,docs/index.md, and three path/deployment/documentation regressions.Stack / single-writer decision
This narrower path-only migration is the prerequisite for broad rename PR #114. #114 also renames the same Kubernetes asset and many surrounding product/runtime identities, so it must remain Draft and later non-force adopt the protected result of this PR rather than racing two overlapping rename authorities. If this slice is replaced, the successor must prove complete transfer of every unique path/documentation/test delta before #144 can be retired.
Exact-current gate
Current exact head is
f5383585d3588d7b63b00a11bba61fa0d875743e. All predecessor checks are historical after the ancestry movement.34169523123— SUCCESS;34169523073— SUCCESS;34169523087— SUCCESS;34169523105— SUCCESS;34169523094— FAILURE at the central delegated terminal-receipt boundary, not a Wardnet Kubernetes-path/source finding.This unchanged head remains a Wardnet consumer specimen for canonical central owner issue
.github#1929. The active repair is.github#1902; because its head remains mutable until protected, this product PR no longer pins a stale central candidate or treats it as dependency authority. Re-read the live owner path before any integration decision. Wardnet does not source-churn this clean head or synthesize delegated evidence.Live ruleset
18156473still carries the solo-maintainer generic approval defect tracked by.github#772; self/model approval and routine administrator bypass remain forbidden.Keep Draft until one unchanged exact current head has terminal then-live repository/security/coverage/package/SBOM/provenance/review/thread/governance evidence and fresh protected-base compatibility. No gate weakening, force push, destructive rebase, mutable foreign dependency, source copy, cross-service SQL, no-op redispatch or predecessor-evidence reuse.