fix: 하네스 제거 및 keycloak 문서 보강

This commit is contained in:
DongHyeonka
2026-07-25 12:53:13 +09:00
parent 6c53ded9cb
commit d71669eb59
2329 changed files with 138239 additions and 172816 deletions
@@ -1 +0,0 @@
../../vault/40-publish/interviews/single-command-local-bootstrap.md
@@ -0,0 +1,58 @@
---
title: interview-prep / single-command local bootstrap contract
source_type: interview-prep
status: raw
related_branches: [feature-developer-experience-contract]
related_projects: [ca-skeleton]
tags: [interview-prep, ca-skeleton, ci-cd, gradle, docker]
created: 2026-06-24
status_label: collecting
---
# interview-prep: single-command-local-bootstrap
## Parent / 부모
- [[raw/branch-notes/feature-developer-experience-contract]] — 실제 5단계 bootstrap 구현과 실패 격리 경험에서 파생.
## 질문 / Question
- 질문 원문: 로컬 개발환경을 단일 명령으로 재현할 때 어떤 단계를 묶고, 실패 위치와 문서 drift는 어떻게 검증하시겠습니까?
- 출처: 구현 경험에서 도출한 예상 질문.
## 질문 의도 추론 / Why this question
- 핵심 평가 대상: reproducibility, 실패 격리, build lifecycle 설계, 문서와 실행 계약의 정합.
- 함정 / 흔히 빠지는 답변 패턴: `docker compose up`만 제공하고 compile/Flyway/smoke 실패를 한 덩어리로 취급하는 답변.
- 따라올 만한 후속 질문: Docker 미기동, 기존 host port 충돌, CI와 local Testcontainers reuse 차이를 어떻게 다루는가?
## 답변 재료 / Raw answer material
- 사실 1: Gradle `bootstrap`을 compile → dependency → startup Flyway → sample contract → HTTP smoke의 task chain으로 구현했다. 근거: [[raw/branch-notes/feature-developer-experience-contract]] D3, §2026-06-24 구현 결과.
- 사실 2: README bash block의 Gradle task/Compose file/Make target drift를 `verifyReadmeCommands``check`에 연결했다. 근거: 같은 branch D4, §2026-06-24 구현 결과.
- 내가 직접 한 경험: host 5432 충돌과 slim JRE RNG provider 누락을 stage별 failure로 찾고 각각 internal-only DB network와 `java.base` RNG bean으로 해결했다.
- 트레이드오프: Gradle은 Spring/Java repository와 정합하고 task별 exit evidence를 제공하지만, Gradle을 쓰지 않는 polyglot repository라면 Make/task runner가 더 자연스러울 수 있다.
- 한계 / 이건 안 해봤다: macOS Apple Silicon과 Windows WSL2 실기 검증, remote CI link-check 실행은 이번 local evidence에 없다.
## Sources / 근거
- [[raw/branch-notes/feature-developer-experience-contract]] D3, D4, D8, D10.
- [[raw/errors/bootstrap-postgres-port-collision-2026-06-24]].
- [[raw/errors/slim-jre-random-generator-missing-2026-06-24]].
## 미해결 / Unknown
- 모르는 것 1: Apple Silicon에서 최초 image build/Testcontainers 시간이 목표를 만족하는지.
- 모르는 것 2: lychee workflow의 실제 GitHub-hosted runner false-positive 목록.
- 확인 방법: 각 OS clean clone 측정과 link-check workflow dispatch 결과 수집.
## 답변 경계 / Answer boundary
- 자신 있게 말할 수 있는 범위: Linux local에서 `./gradlew bootstrap`, focused/full tests, `check`를 실행해 확인한 범위.
- 공식 문서를 다시 보고 답변해야 하는 부분: Testcontainers reuse의 최신 지원/권고와 `@ServiceConnection` 지원 container 범위.
- 절대 과장하지 말 것: local verification을 CI/prod verification으로 표현하지 않는다.
## Related / 관련
- [[raw/blog-topics/five-stage-local-bootstrap-contract-2026-06-24]].
- derived interview: canonical 정제 전이므로 생성하지 않음.