Skip to content

feat(deploy): Dockerfile·Helm 차트·릴리스 파이프라인 - #18

Merged
eightynine01 merged 1 commit into
mainfrom
feat/deploy
Aug 12, 2026
Merged

feat(deploy): Dockerfile·Helm 차트·릴리스 파이프라인#18
eightynine01 merged 1 commit into
mainfrom
feat/deploy

Conversation

@eightynine01

Copy link
Copy Markdown
Contributor

Phase 1 의 ⑤ 입니다. 이미지가 발행되고 클러스터에 배포할 수 있게 됩니다.

Dockerfile

web(pnpm) → builder(go, assets 임베드) → distroless/static. 외부 의존 0·cgo 0 이라 정적 바이너리입니다.

게이트는 이미지 빌드에 넣지 않았습니다. 프로토타입은 Forgejo 러너가 host 라벨 단독(Alpine/BusyBox)이라 Go·Node 툴체인을 가정할 수 없어 그렇게 했지만, 여기서는 GitHub Actions 가 make all 을 이미 돌립니다.

차트

데모 설정(환경변수 7종 + values 블록)을 걷어내고 알림 설정을 넣었습니다.

alerting:
  rulesConfigMap: ""   # 지정하면 룰 파일이 읽기 전용 마운트 + RULES_DIR 주입
  webhookURL: ""       # 비우면 평가만 하고 보내지 않는다(경고 로그)

지정하지 않으면 조회 전용으로 돕니다 — 그것도 유효한 구성입니다.

이미지 좌표를 ghcr.io/keiailab/nodevitals-observatory 로 바꾸고 차트를 0.1.0 으로 시작합니다.

릴리스

main 착지 시 Chart.yamlappVersion 으로 발행하고 이미 있는 태그는 건너뜁니다(멱등). appVersion 이 semver 가 아니면 즉시 실패시킵니다 — 잘못된 값이 태그가 되면 되돌리기 어렵습니다.

검증

helm lint 통과, 렌더 확인(이미지 좌표·룰 마운트·환경변수), docker build --check 통과.

- **Dockerfile**: web(pnpm) → builder(go, assets 임베드) → distroless/static.
  외부 의존 0·cgo 0 이라 정적 바이너리다. 게이트는 이미지 빌드에 넣지 않았다
  — 프로토타입은 Forgejo 러너 제약(host 라벨 단독) 때문에 그랬지만 여기서는
  GitHub Actions 가 make all 을 이미 돌린다.
- **차트**: 데모 설정(7종 환경변수·values 블록)을 걷어내고 알림 설정을 넣었다.
  rulesConfigMap 을 지정하면 룰 파일이 읽기 전용으로 마운트되고 RULES_DIR 이
  주입된다 — 지정하지 않으면 조회 전용으로 돈다.
- 이미지 좌표를 ghcr.io/keiailab/nodevitals-observatory 로. 차트 0.1.0.
- **릴리스**: main 착지 시 Chart.yaml 의 appVersion 으로 발행하고, 이미 있는
  태그는 건너뛴다. appVersion 이 semver 가 아니면 즉시 실패시킨다 — 잘못된
  값이 태그가 되면 되돌리기 어렵다.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@eightynine01
eightynine01 merged commit 81488fd into main Aug 12, 2026
1 check passed
@eightynine01
eightynine01 deleted the feat/deploy branch August 12, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants