feat(operations): separate liveness and readiness on current main - #446
feat(operations): separate liveness and readiness on current main#446seonghobae wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughSpring Boot Changes가용성 프로브
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The localized probe behavior change has no actionable merge-blocking risk remaining beyond normal checks and approval. Sequence Diagram(s)sequenceDiagram
participant Kubernetes
participant HealthController
participant ApplicationAvailability
Kubernetes->>HealthController: GET /healthz 또는 /readyz
HealthController->>ApplicationAvailability: liveness/readiness 상태 조회
ApplicationAvailability-->>HealthController: 상태 반환
HealthController-->>Kubernetes: HTTP 200 또는 503과 JSON 응답
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 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 |
|
Exact-current-head read-only review request for @opencode-agent review |
Rate Limit Exceeded
|
|
@opencode-agent review Review exact head |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
target='eacd105cf655f539c8eb951f14bce57fadece112'
base='961f44a19c4ced87f8062b3ab9842a9a08d05235'
printf '%s\n' '== HEAD =='
git rev-parse HEAD
git status --short
printf '%s\n' '== target commit =='
git show -s --format='%H%n%P%n%s' "$target"
printf '%s\n' '== changed paths =='
git diff --name-status "$base" "$target"
printf '%s\n' '== diff =='
git diff --find-renames --find-copies --unified=80 "$base" "$target"
printf '%s\n' '== Java outlines =='
fd -e java . | while IFS= read -r f; do
ast-grep outline "$f" --lang java --items all --match 'Health|Probe|Availability|Security' 2>/dev/null || true
done
printf '%s\n' '== endpoint and security references =='
rg -n -i -C 5 \
'(healthz|readyz|ApplicationAvailability|LivenessState|ReadinessState|requestMatchers|authorizeHttpRequests|permitAll|Cache-Control|no-cache|no-store)' \
-g '*.java' -g '*.kt' -g '*.yml' -g '*.yaml' -g '*.properties' -g '*.md' .
printf '%s\n' '== test references =='
rg -n -C 4 \
'(healthz|readyz|ApplicationAvailability|LivenessState|ReadinessState|Cache-Control|unauthenticated|permitAll)' \
-g '*Test.java' -g '*Tests.java' -g '*.java' .Length of output: 111088 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== configuration and application outlines =='
ast-grep outline src/main/java/com/clearfolio/viewer/config/ProductionAuthReadinessConfig.java --lang java --items all
ast-grep outline src/main/java/com/clearfolio/viewer/ClearfolioViewerApplication.java --lang java --items all
printf '%s\n' '== authentication and WebFilter implementation =='
nl -ba src/main/java/com/clearfolio/viewer/config/ProductionAuthReadinessConfig.java
printf '%s\n' '== application bootstrap =='
nl -ba src/main/java/com/clearfolio/viewer/ClearfolioViewerApplication.java
printf '%s\n' '== all WebFilter and tenant-authentication implementations =='
rg -n -i -C 8 \
'(WebFilter|WebFilterChain|TenantContext|TenantAccessService|X-Clearfolio|ServerWebExchange|pathWithinApplication|request\.getPath|exclude|skip|healthz|readyz)' \
src/main/java src/test/java
printf '%s\n' '== documentation classification and conflicting active references =='
for f in README.md CLAUDE.md docs/architecture.md docs/deployment/2026-07-02-buyer-deployment-integration-playbook.md docs/qa/smoke_test_plan.md docs/trd-integrated-document-viewer-platform.md; do
if [ -f "$f" ]; then
echo "--- $f ---"
sed -n '1,35p' "$f"
rg -n -C 2 '/healthz|/readyz|readiness|liveness' "$f" || true
fi
done
printf '%s\n' '== commit-level scope check =='
git diff --check 961f44a19c4ced87f8062b3ab9842a9a08d05235 eacd105cf655f539c8eb951f14bce57fadece112
git status --shortLength of output: 2666 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== production auth readiness configuration =='
sed -n '1,240p' src/main/java/com/clearfolio/viewer/config/ProductionAuthReadinessConfig.java
printf '%s\n' '== application bootstrap =='
sed -n '1,160p' src/main/java/com/clearfolio/viewer/ClearfolioViewerApplication.java
printf '%s\n' '== authentication and WebFilter references =='
rg -n -i -C 8 \
'(WebFilter|WebFilterChain|TenantContext|TenantAccessService|X-Clearfolio|ServerWebExchange|pathWithinApplication|request\.getPath|exclude|skip|healthz|readyz)' \
src/main/java src/test/java || true
printf '%s\n' '== documentation classification and probe references =='
for f in README.md CLAUDE.md docs/architecture.md docs/deployment/2026-07-02-buyer-deployment-integration-playbook.md docs/qa/smoke_test_plan.md docs/trd-integrated-document-viewer-platform.md; do
if [ -f "$f" ]; then
echo "--- $f [opening] ---"
sed -n '1,35p' "$f"
echo "--- $f [probe references] ---"
rg -n -C 2 '/healthz|/readyz|readiness|liveness' "$f" || true
fi
done
printf '%s\n' '== commit scope and whitespace =='
git diff --check 961f44a19c4ced87f8062b3ab9842a9a08d05235 eacd105cf655f539c8eb951f14bce57fadece112
git status --shortLength of output: 201096 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== production readiness configuration =='
sed -n '1,220p' src/main/java/com/clearfolio/viewer/config/ProductionAuthReadinessConfig.java
printf '%s\n' '== all application filter implementations =='
rg -n -l -i '(implements\s+WebFilter|WebFilterChain|`@Order`|SecurityWebFilterChain|ServerHttpSecurity)' \
src/main/java
while IFS= read -r f; do
echo "--- $f ---"
sed -n '1,260p' "$f"
done < <(rg -l -i '(implements\s+WebFilter|WebFilterChain|`@Order`|SecurityWebFilterChain|ServerHttpSecurity)' src/main/java)
printf '%s\n' '== security dependencies =='
rg -n -C 3 '(spring-boot-starter-security|spring-security|oauth2|webflux)' pom.xml
printf '%s\n' '== precise current documentation claims =='
rg -n -C 2 '(/healthz.*readiness|[Rr]eadiness.*healthz|/readyz)' \
README.md CLAUDE.md docs/architecture.md docs/deployment/2026-07-02-buyer-deployment-integration-playbook.md \
docs/qa/smoke_test_plan.md docs/trd-integrated-document-viewer-platform.md docs/operations/2026-08-05-availability-probes.md
printf '%s\n' '== exact changed documentation paths =='
git diff --name-only 961f44a19c4ced87f8062b3ab9842a9a08d05235 eacd105cf655f539c8eb951f14bce57fadece112 -- '*.md'Length of output: 2696
Finding — blocking operational-documentation mismatch
Update the active README, architecture, and deployment guidance to use The implementation otherwise meets the requested probe checks:
I did not modify the branch, alter protections, synthesize approval, or merge. ✅ Action performedReview finished.
|
|
Exact-current-head independent review request for The bounded availability-probe slice is mergeable; CI, Security Scan, SAST Semgrep, and fuzz are terminal-success; unresolved inline findings are zero. @opencode-agent review Review this exact head read-only. Do not mutate the branch, synthesize author approval, weaken protection, or merge. |
Rate Limit Exceeded
|
|
Exact-head review/update request for The availability-probe slice has terminal-success CI, Security Scan, SAST Semgrep, and fuzz, is mergeable, and has zero unresolved threads. Its construction base predates current protected @coderabbitai review |
Rate Limit Exceeded
|
Superseded by #458
This stale-base branch is closed without merge. PR #458 reconstructs the same reviewed three-file availability result directly on current protected
maineb0a32e87e7470469c8fa0f8c67d9583654bef57as exactly one commit with zero behind commits. Both modified protected-main input blobs were byte-identical to this branch's construction inputs, and all three reconstructed output blobs are byte-identical to this reviewed result.No checks, reviews, or approvals from #446 transfer to #458.
Historical objective
Separate process liveness from traffic readiness through controlled
/healthzand/readyzendpoints and operator guidance.