Skip to content

v0.2.0 — Critical runtime fixes

Choose a tag to compare

@bluejayA bluejayA released this 22 Apr 00:39
0f765f4

v0.1.0 샘플 배포 검증에서 발견된 6건의 런타임 결함 + Codex 외부 리뷰 3건의 추가 regressions 수정.

⚠️ v0.1.0 사용자는 업그레이드 필수

v0.1.0 Dockerfile은 docker build에서 groupadd: not found 즉시 실패, 설령 통과해도 deployment.yaml이 베이스 JRE 이미지를 가리켜 100% CrashLoopBackOff. 실제 배포 가능한 최초 버전은 v0.2.0입니다.

Critical fixes (docker build + k8s apply 시점)

  • Dockerfile alpine 호환groupadd/useraddaddgroup -S / adduser -S (busybox 호환). v0.1.0은 alpine 런타임에서 빌드 즉시 실패.
  • Dockerfile wrapper 의존 제거gradle:jdk21-alpine에 내장된 시스템 gradle 사용. v0.1.0은 프로젝트에 gradlew + gradle/ 강제.
  • Dockerfile Gradle Version Catalog 지원gradle/libs.versions.toml / convention plugins 프로젝트는 gradle/ 디렉토리 조건부 COPY 필요 (Codex P1-a).
  • Dockerfile multi-module 지원COPY src ./src 하드코딩이 multi-module 루트(src 없음)에서 실패. COPY . . 원복 + Dockerfile.dockerignore 동반 생성으로 context pollution 방어 (Codex P1-b).
  • deployment.yaml 앱 이미지 wiringconfig.build.image_tag(기본 app:0.2.0)를 deployment image:에 전달. v0.1.0은 baseline runner 이미지를 그대로 넣어 배포 확정 실패.
  • deployment.yaml imagePullPolicy: IfNotPresent + non-mutable tag 전제 주석 (Codex P2).

UX / 효율

  • resource_hint 실반영StackModule.defaults(resource_hint)가 tier별 값 반환: small(50m-500m, 256-512Mi) / medium(100m-1000m, 512Mi-1Gi) / large(250m-2000m, 1-2Gi). v0.1.0은 STEP 1에서 수집해도 manifest에 반영 안 됨.
  • gradle --no-daemon + maven -B — 컨테이너 빌드에서 daemon clean shutdown 이슈 + batch 모드.
  • Dockerfile.dockerignore 동반 생성 — Docker 20.10+ 규약. .git/, build/, target/, k8s-output/, .env*, 시크릿 등 제외.

Breaking changes (플러그인 API 직접 import 시)

  • StackModule.defaults()defaults(resource_hint) — 호출부에 인자 필요.
  • ProjectAnalyzer.analyze(project_dir, config)analyze(project_dir, config, resource_hint='medium') — 기본값 있어 기존 호출 무변경도 OK.

플러그인 최종 사용자(SKILL 호출)는 변경 불필요 — orchestrator가 자동 처리.

설치 / 업그레이드

Claude Code 플러그인 (devflow-marketplace):

/plugin marketplace update devflow-marketplace
/plugin install devflow-k8s-deploy@devflow-marketplace

직접 클론:

git clone --branch v0.2.0 https://github.com/bluejayA/devflow-k8s-deploy.git

검증 요약

  • 631 tests pass (v0.1.0 613 + 신규 18) · ruff / mypy strict clean
  • docker build --no-cache + docker run + curl /actuator/health/{liveness,readiness}UP
  • Codex 외부 리뷰 2회 (초기 Dockerfile 4건 → 반영 후 잔여 P1/P2 3건 재지적 → 반영)

전체 변경사항