--- title: blog-topic / spring-actuator-health-probe-group-split source_type: blog-topic status: raw related_branches: [feature-runtime-health-lifecycle-contract] related_projects: [ca-tmpl] tags: [blog-topic, ca-tmpl, runtime, spring-boot, kubernetes, graceful-shutdown, sigterm] created: 2026-07-02 status_label: ready-for-canonical target_audience: backend-engineer inspiration_url: archive_url: --- # blog-topic: spring-actuator-health-probe-group-split > Layer: `raw/blog-topics/` — 작업 중 나온 블로그 글감 원석. 최종 블로그는 canonical 정제 후 `wiki/blog/`에서 작성한다. ## Parent / 부모 - [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] — liveness/readiness/startup probe group split 구현/검증 후보에서 나온 글감. ## 트리거 / Trigger - 트리거 유형: `branch-work` - 트리거 날짜: 2026-07-02 - 트리거 연결 노트: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] ## 글감 / Topic seed - 한 문장 요지: Spring Actuator health group을 liveness/readiness/startup으로 나누고, startup guard와 shutdown lifecycle을 같은 운영 계약으로 본 이유를 정리한다. - 예상 제목 후보: - Spring Actuator health group을 세 개로 나눈 이유 - readiness와 startup을 같은 endpoint로 보면 생기는 문제 ## 핵심 주장 후보 / Claim candidates - 사실 후보: - branch에 runtime health lifecycle probe group과 startup guard 구현/검증 기록이 있다 — 근거 후보: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] section+line `:359-385`. - 경험 후보: - blog seed가 직접 명시되지는 않았지만 구현 기록과 test edge가 충분하다는 lane-08 판정이 있다. - 의견/해석 후보: - liveness/readiness/startup은 모두 health endpoint지만 실패 시 orchestration action이 다르므로 분리해야 한다. ## Outline seed 1. liveness/readiness/startup은 같은 "건강"이 아니다 — restart, traffic removal, startup delay라는 action이 다르다. 2. Spring Actuator group split이 주는 구조 — dependency readiness와 process liveness를 나눈다. 3. auth/exposure blocker를 분리하기 — probe가 있어도 network/auth 설정이 막으면 운영 계약이 완성되지 않는다. ## Canonical 전환 후보 / Canonical extraction candidates - `wiki/projects/ca-tmpl/runtime-health-lifecycle-contract.md` 후보: - ca-tmpl runtime health lifecycle implementation. - `wiki/concepts/spring-actuator-health-probes.md` 후보: - Spring Actuator health groups와 Kubernetes probes 일반 개념. - 필요한 추가 검증: - actuator exposure/auth, probe endpoint path, Kubernetes manifest 연결 여부. ## Sources / 근거 후보 - [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] — probe group split과 startup guard 근거. - [[raw/blog-topics/spring-boot-startup-exit-code-propagation-2026-06-10]] — 인접한 startup failure topic. ## 미해결 / Unknown - 아직 확인해야 할 사실: actuator exposure/auth blocker 해소 여부. - 과장하면 안 되는 부분: Kubernetes end-to-end readiness 보장을 단정하지 않는다. 구현 기록과 남은 blocker를 분리한다. - 블로그로 쓰기 전에 필요한 canonical 정제: runtime health project 문서의 current state 갱신. ## Decision / 처리 결정 - 액션: `promote-to-canonical` - 이유: `wiki/projects/ca-tmpl/runtime-container-health-migration.md` 에 Actuator health probe group split 글감으로 반영했다. - 다음 단계: target canonical이 아직 `draft` 이므로 `blogify` 전 review/verify가 필요하다. Kubernetes end-to-end readiness 보장을 단정하지 않는다. ## Related / 관련 - 관련 branch: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] - 관련 error: - 관련 interview prep: - derived blog: 생성 전. 생성 시 `wiki/blog/spring-actuator-health-probe-group-split-YYYY-MM-DD.md` 후보