Skip to content

feat(release): ArtifactHub publish 파이프라인 부활 — GHA 2-workflow narrow exception + signed OCI (ADR-0019) - #81

Merged
KeiaiLab-PHIL merged 1 commit into
mainfrom
feat/artifacthub-publish-pipeline-v2
Jun 12, 2026
Merged

feat(release): ArtifactHub publish 파이프라인 부활 — GHA 2-workflow narrow exception + signed OCI (ADR-0019)#81
KeiaiLab-PHIL merged 1 commit into
mainfrom
feat/artifacthub-publish-pipeline-v2

Conversation

@KeiaiLab-PHIL

Copy link
Copy Markdown
Contributor

Summary

feat/artifacthub-publish-pipeline (2026-06-02 원안, triage keep 판정) 의 신 사실 기준 재작성 부활 — 사용자 거버넌스 결정 (2026-06-12): RFC-0002 GHA 예외 인정 (postgres-operator ADR-0022 선례).

4 repo 파이프라인 점검 실측: 3 operator 는 ArtifactHub OCI 등록 + verified publisher 완료, commons 만 미등록 + GHA publish 부재 (수동 release.sh 의존 = ArtifactHub stale 구조 원인).

변경 (12 files, +636)

  • helm-publish.yml — GPG 서명 chart → oci://ghcr.io/keiailab/charts/keiailab-commons (release/tag/dispatch, OCI 멱등 skip). tag↔chart parity 부적용 (Go semver ≠ chart version, ADR-0019) + gh-pages 단계 의도적 생략 (소비 경로 OCI 뿐).
  • artifacthub-verify.yml — ah lint (PR) + 등록·인덱싱·signed=true smoke (tag/dispatch).
  • hack/artifacthub_{smoke,register}.sh — mongodb-operator 현행 본 (2026-06-10) 이식, mongodb 잔존 표기 0 검증.
  • charts/artifacthub-repo.yml — 회전 서명키 F1A68935... + repositoryID placeholder.
  • charts/keiailab-helm-signing-public.asc + Chart.yaml artifacthub.io/signKey annotation.
  • ADR-0019 + INDEX 4벌 (en/ko/ja/zh).

원안 대비 정정

항목 원안 (stale) 본 PR
서명키 89A40947... (구) F1A68935... (2026-06-10 회전본, 3 operator 동일)
명칭/라이선스 operator-commons / Apache-2.0 keiailab-commons / MIT
ArtifactHub 추적 gh-pages HTTP OCI (3 operator 실 등록 실측 정합)
ADR 번호 0018 (rename 에 선점) 0019
helm-lint.yml 포함 제외 (narrow — 로컬 lefthook + GitLab CI 담당)

검증 (로컬 게이트 PASS)

  • helm package --sign + helm verify 로컬 PASS — fingerprint F1A6893583E632A757FF6767F3CC8C6AEC9CEB08, .prov 생성, Chart Hash Verified
  • actionlint PASS / helm lint 0 failed / bash -n PASS / artifacthub-repo.yml yaml parse OK
  • repo secret HELM_SIGNING_PRIVATE_KEY 설정 완료 (passphrase 없음 — mongodb 구성 정합)
  • 본 PR 의 verify lint job (ah lint) 이 GHA 1차 라이브 검증

PLAN_BYPASS 사유

gha-block lefthook (ADR-0012) 우회 — 예외 ADR 의무를 ADR-0019 동봉으로 충족.

후속 (머지 후)

  1. AH_API_KEY_ID/AH_API_KEY_SECRET repo secret (mongodb-operator 와 동일 값) → hack/artifacthub_register.sh 등록
  2. 발급 UUID → charts/artifacthub-repo.yml repositoryID 기입
  3. OCI metadata push (:artifacthub.io 태그) → verified publisher
  4. workflow_dispatch publish (chart 0.8.0 서명 republish) → smoke 검증

…xception + signed OCI (ADR-0019)

원안 feat/artifacthub-publish-pipeline (2026-06-02) 의 신 사실 기준 재작성 부활.
사용자 거버넌스 결정 (2026-06-12) — RFC-0002 GHA 예외 인정 (postgres ADR-0022 선례).

[변경]
- .github/workflows/helm-publish.yml: GPG 서명 chart → oci://ghcr.io/keiailab/charts/keiailab-commons
  (release/tag/dispatch 트리거, OCI 멱등 skip). gh-pages 단계 의도적 생략 (소비 경로 OCI 뿐).
- .github/workflows/artifacthub-verify.yml: ah lint (PR) + 등록·인덱싱·signed smoke (tag/dispatch).
- hack/artifacthub_{smoke,register}.sh: mongodb-operator 현행 본 (2026-06-10) 이식.
- charts/artifacthub-repo.yml: 회전 서명키 F1A68935... + repositoryID placeholder.
- charts/keiailab-helm-signing-public.asc + Chart.yaml artifacthub.io/signKey annotation.
- docs/kb/adr/0019 + INDEX 4벌 (en/ko/ja/zh).

[원안 대비 정정]
- 서명키 89A40947(구) → F1A68935(2026-06-10 회전본, 3 operator 와 동일)
- operator-commons/Apache-2.0 표기 → keiailab-commons/MIT
- gh-pages HTTP 추적 → OCI 추적 (3 operator 실 등록 실측 정합)
- ADR-0018 번호 선점 → 0019 채번

[검증]
- helm package --sign + helm verify 로컬 PASS (fingerprint F1A68935..., .prov 생성)
- actionlint PASS / helm lint 0 failed / bash -n PASS / artifacthub-repo.yml yaml parse OK
- repo secret HELM_SIGNING_PRIVATE_KEY 설정 완료 (passphrase 없음 — mongodb 구성 정합)

PLAN_BYPASS=1 사유: gha-block hook 의 예외 ADR 의무 — ADR-0019 본 커밋 동봉.
후속: AH 등록 (AH_API_KEY_ID/SECRET secret — mongodb 와 동일 값 필요) → repositoryID 기입 → OCI metadata push.

Refs: ADR-0019, ADR-0022(postgres), ADR-0037(mongodb), RFC-0002
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@KeiaiLab-PHIL
KeiaiLab-PHIL merged commit 2a2cfbd into main Jun 12, 2026
2 checks passed
@KeiaiLab-PHIL
KeiaiLab-PHIL deleted the feat/artifacthub-publish-pipeline-v2 branch June 12, 2026 05:12
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.

1 participant