From 64f049a00a272735c6fa8d0dbc9727285949b921 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 05:41:21 +0000 Subject: [PATCH 1/5] =?UTF-8?q?cnpg-postgresql=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=ED=83=9C=EA=B7=B8=20=EA=B0=B1=EC=8B=A0:=2018.4-bci?= =?UTF-8?q?15.7-hardened-20260803=20=E2=86=92=2018.4-bci15.7-hardened-2026?= =?UTF-8?q?0820?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게이트 PASS(build-image.yml, workflow_dispatch 트리거)로 확인된 태그로 교체한다. Co-Authored-By: github-actions[bot] --- manifests/helm/cnpg-cluster/1.0.0/custom-values.yaml | 2 +- manifests/helm/cnpg-cluster/1.0.0/dip-values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/helm/cnpg-cluster/1.0.0/custom-values.yaml b/manifests/helm/cnpg-cluster/1.0.0/custom-values.yaml index f0730ef..4824bef 100644 --- a/manifests/helm/cnpg-cluster/1.0.0/custom-values.yaml +++ b/manifests/helm/cnpg-cluster/1.0.0/custom-values.yaml @@ -10,7 +10,7 @@ postgresql: # # 태그에 빌드일을 포함한다. 같은 앱 버전이라도 베이스 업데이트 결과가 시점마다 다르므로 # 롤링 태그를 쓰지 않는다 (.claude/image-authoring.md). - imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260803" + imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260820" # # trivy 는 SLES 15.7 을 정상 커버한다 — 실효 C/H 0/0 은 측정된 결과이며 게이트 PASS 다. # 초기에는 "커버하지 않아 0건이 측정 불가"로 오판했다. 깨끗한 이미지도 0건이라 diff --git a/manifests/helm/cnpg-cluster/1.0.0/dip-values.yaml b/manifests/helm/cnpg-cluster/1.0.0/dip-values.yaml index bc55b5c..264cb7b 100644 --- a/manifests/helm/cnpg-cluster/1.0.0/dip-values.yaml +++ b/manifests/helm/cnpg-cluster/1.0.0/dip-values.yaml @@ -8,7 +8,7 @@ postgresql: # trivy 는 SLES 15.7 을 정상 커버한다(게이트의 CoverageProbe 가 매 스캔마다 확인 — # doc/sbom-pipeline.md). # 실효 C/H 0/0, 게이트 PASS. - imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260803" + imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260820" parameters: max_connections: "200" From 66e42c669a04f0b256439044b9a8ee9b2a90e16a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 05:41:48 +0000 Subject: [PATCH 2/5] =?UTF-8?q?etcd=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EA=B0=B1=EC=8B=A0:=203.7.1-security-harde?= =?UTF-8?q?ned-20260804=20=E2=86=92=203.7.1-security-hardened-20260820?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게이트 PASS(build-image.yml, workflow_dispatch 트리거)로 확인된 태그로 교체한다. Co-Authored-By: github-actions[bot] --- manifests/helm/etcd/1.1.12/custom-values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/helm/etcd/1.1.12/custom-values.yaml b/manifests/helm/etcd/1.1.12/custom-values.yaml index 0d0e128..bd7c39c 100644 --- a/manifests/helm/etcd/1.1.12/custom-values.yaml +++ b/manifests/helm/etcd/1.1.12/custom-values.yaml @@ -14,7 +14,7 @@ image: # 예정이다(etcd-io/etcd#20928) — 상위 태그로 돌아갈 때 이것도 함께 재검토한다. registry: "docker.io/paasup" repository: "etcd" - tag: "3.7.1-security-hardened-20260804" + tag: "3.7.1-security-hardened-20260820" initImage: # 업스트림 기본값 "stable" 은 롤링 태그다 (롤링 태그 금지 — .claude/image-authoring.md). From 96dd16a59bada375a910b8f43cf89da137fb4752 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 05:42:51 +0000 Subject: [PATCH 3/5] =?UTF-8?q?cloudnative-pg=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=ED=83=9C=EA=B7=B8=20=EA=B0=B1=EC=8B=A0:=201.30.0-s?= =?UTF-8?q?ecurity-hardened-20260804=20=E2=86=92=201.30.0-security-hardene?= =?UTF-8?q?d-20260820?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게이트 PASS(build-image.yml, workflow_dispatch 트리거)로 확인된 태그로 교체한다. Co-Authored-By: github-actions[bot] --- manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml | 2 +- manifests/helm/cloudnative-pg/0.29.0/dip-values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml b/manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml index 97d4cae..4f9a2a0 100644 --- a/manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml +++ b/manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml @@ -7,7 +7,7 @@ image: # 컴파일했다. 근거·결정: doc/decisions/0002-cloudnative-pg-operator-self-build.md. # 빌드 정의: images/cloudnative-pg/. 상위 태그가 나오면(대응 우선순위 a) 되돌리는 것이 우선. repository: docker.io/paasup/cloudnative-pg - tag: "1.30.0-security-hardened-20260804" + tag: "1.30.0-security-hardened-20260820" # 오프라인/사설 레지스트리 환경에서 미러 사용 시 지정. # imagePullSecrets: diff --git a/manifests/helm/cloudnative-pg/0.29.0/dip-values.yaml b/manifests/helm/cloudnative-pg/0.29.0/dip-values.yaml index b9be26b..1e7ade4 100644 --- a/manifests/helm/cloudnative-pg/0.29.0/dip-values.yaml +++ b/manifests/helm/cloudnative-pg/0.29.0/dip-values.yaml @@ -4,7 +4,7 @@ image: # 자체 빌드(대응 우선순위 c) — custom-values.yaml 상단 주석·doc/decisions/0005 참고. repository: docker.io/paasup/cloudnative-pg - tag: "1.30.0-security-hardened-20260804" + tag: "1.30.0-security-hardened-20260820" replicaCount: 1 From 7d43d0915c3151bfbb9d4d13cbd033f415d68b14 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 20 Aug 2026 05:43:11 +0000 Subject: [PATCH 4/5] =?UTF-8?q?apisix-ingress-controller=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=ED=83=9C=EA=B7=B8=20=EA=B0=B1=EC=8B=A0:?= =?UTF-8?q?=202.1.0-security-hardened-20260811=20=E2=86=92=202.1.0-securit?= =?UTF-8?q?y-hardened-20260820?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게이트 PASS(build-image.yml, workflow_dispatch 트리거)로 확인된 태그로 교체한다. Co-Authored-By: github-actions[bot] --- manifests/helm/apisix/2.16.0/custom-values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/helm/apisix/2.16.0/custom-values.yaml b/manifests/helm/apisix/2.16.0/custom-values.yaml index 89bc459..77f3d37 100644 --- a/manifests/helm/apisix/2.16.0/custom-values.yaml +++ b/manifests/helm/apisix/2.16.0/custom-values.yaml @@ -197,8 +197,8 @@ ingress-controller: # 0/0, 2026-08-12 실측). 근거: images/adc/README.md. deployment: image: - repository: paasup/apisix-ingress-controller - tag: "2.1.0-security-hardened-20260811" + repository: docker.io/paasup/apisix-ingress-controller + tag: "2.1.0-security-hardened-20260820" adcContainer: image: repository: docker.io/paasup/adc From a9290c9650444f4910db84e9a274787f59d355a9 Mon Sep 17 00:00:00 2001 From: wbsong111 Date: Thu, 20 Aug 2026 15:12:43 +0900 Subject: [PATCH 5/5] =?UTF-8?q?cnpg-cluster=201.1.0=20=EC=9D=B4=20?= =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EA=B0=B1=EC=8B=A0=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B9=A0=EC=A0=B8=20=EC=9E=88=EC=97=88=EB=8B=A4=20=E2=80=94=20?= =?UTF-8?q?catalog.env=20=EB=A7=A4=ED=95=91=EC=9D=84=20=EA=B3=A0=EC=B9=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 위 4개 커밋은 build-image.yml 이 자동 생성한 것이고, cnpg-postgresql 은 1.0.0 만 갱신됐다. 1.1.0 도 같은 이미지를 가리키는데 낡은 태그(20260803)로 남아 있었다. 원인은 매핑이다. images/cnpg-postgresql/catalog.env 의 CHART_DIRS 가 1.0.0 하나만 선언해 워크플로가 1.1.0 을 볼 방법이 없었다. 카탈로그는 여러 버전을 동시에 보관하는 "버전 보관소" 이므로 이미지 하나가 여러 버전 디렉토리에 걸리는 것이 정상이다 — 매핑이 그것을 표현해야 한다. CHART_DIRS="manifests/helm/cnpg-cluster/1.0.0" → CHART_DIRS="manifests/helm/cnpg-cluster/1.0.0 manifests/helm/cnpg-cluster/1.1.0" 다른 세 이미지는 전수 확인 결과 CHART_DIRS 가 참조를 전부 덮는다(etcd 1.1.12 · cloudnative-pg 0.29.0 · apisix 2.16.0). cnpg-postgresql 만 누락이었다. 이 누락은 조용히 지나간다는 점이 문제다 — patch-catalog-tag.py 는 "예상 패턴을 못 찾으면 실패" 하지만, 애초에 대상 목록에 없는 파일은 검사하지 않는다. 매핑이 불완전하면 게이트만 계속 그 이미지를 차단으로 잡고 이유를 알기 어렵다. Refs #35 Co-Authored-By: Claude Opus 5 (1M context) --- images/cnpg-postgresql/catalog.env | 2 +- manifests/helm/cnpg-cluster/1.1.0/custom-values.yaml | 2 +- manifests/helm/cnpg-cluster/1.1.0/dip-values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/images/cnpg-postgresql/catalog.env b/images/cnpg-postgresql/catalog.env index cb43571..e87f274 100644 --- a/images/cnpg-postgresql/catalog.env +++ b/images/cnpg-postgresql/catalog.env @@ -2,7 +2,7 @@ # 별개다 — 이건 "이 이미지가 어느 차트의 어느 필드를 가리키는가" 만 담는다. # 이 이미지의 태그를 참조하는 차트 버전 디렉토리 (공백 구분, 여러 개 가능) -CHART_DIRS="manifests/helm/cnpg-cluster/1.0.0" +CHART_DIRS="manifests/helm/cnpg-cluster/1.0.0 manifests/helm/cnpg-cluster/1.1.0" # 태그 표기 스타일 — imageName(단일 필드 문자열) | split(registry/repository/tag 분리) TAG_STYLE=imageName diff --git a/manifests/helm/cnpg-cluster/1.1.0/custom-values.yaml b/manifests/helm/cnpg-cluster/1.1.0/custom-values.yaml index e7649d4..6eaaf56 100644 --- a/manifests/helm/cnpg-cluster/1.1.0/custom-values.yaml +++ b/manifests/helm/cnpg-cluster/1.1.0/custom-values.yaml @@ -9,7 +9,7 @@ postgresql: # # 태그에 빌드일을 포함한다. 같은 앱 버전이라도 베이스 업데이트 결과가 시점마다 다르므로 # 롤링 태그를 쓰지 않는다. - imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260803" + imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260820" # # trivy 는 SLES 15.7 을 정상 커버한다(2026-07-29 재측정, 양성 대조로 13건 실측). # 2026-07-28 시점에는 "trivy 가 SLES 15.7 데이터를 커버하지 않아 0건이 측정 diff --git a/manifests/helm/cnpg-cluster/1.1.0/dip-values.yaml b/manifests/helm/cnpg-cluster/1.1.0/dip-values.yaml index 5b6e09c..41e3fe0 100644 --- a/manifests/helm/cnpg-cluster/1.1.0/dip-values.yaml +++ b/manifests/helm/cnpg-cluster/1.1.0/dip-values.yaml @@ -5,7 +5,7 @@ instances: 3 postgresql: # custom-values.yaml 과 동일하게 SUSE BCI 15.7 자체 빌드를 쓴다. # trivy 는 SLES 15.7 을 정상 커버한다(2026-07-29 재측정). 실효 C/H 0/0, 게이트 PASS. - imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260803" + imageName: "docker.io/paasup/cnpg-postgresql:18.4-bci15.7-hardened-20260820" parameters: max_connections: "200"