fix(deploy): rename hardened Kubernetes manifest to wardnet.yaml - #144
seonghobae wants to merge 22 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, only rewrites one iterator closure intests/kubernetes_manifest_path.rsto satisfy the Rust 1.98 Clippy contract without changing asserted path semantics.Fresh protected-main adoption — 2026-09-23 KST
Protected truth advanced from the branch's previous second parent
a52ccd0a24a727d9349bb32def7713882d8cad1etomain@f8260f1e03836039ff9463dd99fa982e4e270c4bthrough #155's fail-closed administrator-authentication work.The branch adopted that complete protected delta non-destructively with two-parent merge commit
447fb6a7cda34e5520005f18a97d78e4f585fb64, preserving predecessorf5383585d3588d7b63b00a11bba61fa0d875743eas first parent and protectedf8260f1e...as second parent. All non-overlapping #155 files/blobs are inherited from protected main. The two overlapping documentation paths were resolved causally rather than choosing either side wholesale: the Wardnet README/path-migration rewrite now documents the protectedADMIN_TOKEN/ write-capableADMIN_TOKENS/WAF_IDS_CREDENTIALS_PATHfail-closed non-loopback readiness contract, anddocs/deployment/production.mdretains both the renamed manifest lifecycle and the same protected recovery guidance.Fresh compare is
behind_by=0, merge base exactlyf8260f1e03836039ff9463dd99fa982e4e270c4b, mechanically mergeable, and the protected-main-relative effective delta remains the same 13-path bounded migration slice: AGENTS/CHANGELOG/CLAUDE/README, one core documentation string, the manifest rename, buyer/deployment/doctoring docs,docs/index.md, and three path/deployment/documentation regressions. No force push, destructive rebase, source reconstruction, central-workflow copy, or protected-main bypass was used.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 surrounding product/runtime identities, so it remains Draft and must later non-force adopt the protected result of this PR rather than race overlapping rename authority. 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
447fb6a7cda34e5520005f18a97d78e4f585fb64. All predecessor workflow conclusions are historical after the ancestry movement.Fresh repository runs for this exact head are queued and therefore not GREEN: CI
35850201935, Fuzz35850201962, Security Scan35850201893, SAST Semgrep35850202001, and CodeQL PR35850201873. Required central review/security workflows must likewise be read fresh for this unchanged head before any integration decision. Queued evidence does not authorize rerun churn, status synthesis, or bypass.The generic solo-maintainer approval defect remains canonical central
.github#772work and delegated CodeQL settlement remains.github#1929work. Wardnet does not copy central workflows or alter product source to manufacture those receipts.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, predecessor-evidence reuse, self/model approval, or routine administrator bypass.