Files
service-catalog/manifests/helm/cloudnative-pg/0.29.0/custom-values.yaml
T
wbsong111 7746570ec0 자체 빌드 이미지 프레임워크를 security-images 레포로 이관하고 카탈로그 쪽을 정리한다
images/·scripts/build/build-hardened-image.sh·suggest-go-upgrades.py·
build-image.yml·.claude/image-authoring.md·이미지 ADR(0001·0002·0004)을 삭제했다 —
전부 별도 public 레포 security-images 로 이미 이관됐다.

카탈로그 쪽에는 "무엇을 배포 중인가"를 아는 부분만 남긴다:
- catalog/image-map/<image>.env — 옛 catalog.env 의 카탈로그 레이아웃 정보만 뗀 것
- scripts/build/check-rebuild-needed.py — 드리프트 탐지(A 파트)만 남기고 핀 판단
  (B 파트: pin_changes/apply_changes/parse_module_specs)은 제거
- scripts/build/apply-published-tags.py(신규) — security-images 의 published.json
  을 읽어 카탈로그 values 를 패치
- .github/workflows/{self-build-drift-check,catalog-tag-update}.yml(신규) — 각각
  드리프트 스캔+트리거, 발행 태그 반영

effective_severity 를 cve-gate.py 로 옮겼다 — check-rebuild-needed.py 가 핀 도구를
거치지 않고 게이트를 직접 로드하게 하기 위한 선행 작업이다.

두 레포의 계약은 published.json 스키마 하나뿐이다 — security-images 는 이 카탈로그를
모른다(단방향 의존). 이관 배경·결합점 전체는
doc/migrations/self-build-images-to-security-images.md.

부수 수정: 자체 빌드 이미지를 참조하는 차트 values/README 의 죽은 링크(images/**,
doc/decisions/000{1,2,4}, .claude/image-authoring.md)를 security-images 레포를
가리키는 서술로 교체. deploy-test 스크립트·CUSTOM-README 의 개인 Docker Hub 계정
(docker.io/wbsong111) 을 docker.io/paasup 로 교체.

pitfalls.md 의 "스캐너 결과를 그대로 믿지 말 것" 절은 sbom-cve-gate skill 이 차트
축 설명에 실제로 참조하고 있어 남겼다 — "이미지 태그의 베이스 OS" 절만 제거했다
(다른 참조 없음, security-images 문서로 이관 완료).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 15:21:29 +09:00

67 lines
2.6 KiB
YAML

# CloudNativePG Operator — PaaSup 오버라이드
# 업스트림 기본값은 values.yaml 참고. 여기에는 변경이 필요한 항목만 둔다.
image:
# 자체 빌드(대응 우선순위 c) — 업스트림 1.30.0 이 게이트 차단 HIGH 3건(stdlib·x/text·grpc,
# Go 모듈 정적 링크라 베이스 OS 교체로 해소 불가)으로 막혀 release-1.30 브랜치를 직접
# 컴파일했다. 빌드 정의·근거·결정은 별도 레포 security-images 의 images/cloudnative-pg/
# 와 docs/decisions/0002-cloudnative-pg-operator-self-build.md(이 레포에는 없다).
# 상위 태그가 나오면(대응 우선순위 a) 되돌리는 것이 우선.
repository: docker.io/paasup/cloudnative-pg
tag: "1.30.0-security-hardened-20260820"
# 오프라인/사설 레지스트리 환경에서 미러 사용 시 지정.
# imagePullSecrets:
# - name: paasup-registry
replicaCount: 1
crds:
# operator 차트가 CRD 를 함께 설치한다. helm upgrade 로는 CRD 가 갱신되지 않으므로
# 버전 업그레이드 시 CRD 를 수동 apply 해야 한다 (CUSTOM-README.md 참고).
create: true
config:
# true(업스트림 기본): 전체 네임스페이스 감시.
# → ClusterRole 에 secrets 전체 CRUD, pods/exec, roles/rolebindings 생성 권한이
# 클러스터 범위로 부여된다. 실질적으로 cluster-admin 급이다.
# false: 설치 네임스페이스만 감시. ClusterRole 이 3개 규칙(nodes RO,
# clusterimagecatalogs RO, webhook 설정 get/patch)으로 축소되고 나머지 권한은
# 설치 네임스페이스 한정 Role 로 내려간다.
# 상세 비교는 CUSTOM-README.md 의 "보안 관점 — 실측 RBAC 비교" 참고.
clusterWide: true
data: {}
# 감시 대상 네임스페이스 한정 (clusterWide: true 와 함께 사용).
# 주의: reconcile 범위만 좁힌다. RBAC 은 여전히 cluster-wide 이므로
# 보안 경계가 아니다 — 심층 방어 수단으로만 취급한다.
# WATCH_NAMESPACE: "platform,defense-llm"
webhook:
port: 9443
# failurePolicy: Fail — operator 가 죽으면 Cluster 리소스 조작이 막힌다.
# operator 를 제거할 때 webhook 설정도 반드시 함께 삭제해야 한다.
mutating:
create: true
failurePolicy: Fail
validating:
create: true
failurePolicy: Fail
monitoring:
# rancher-monitoring(Prometheus Operator) 설치 환경에서만 true 로 둔다.
podMonitorEnabled: false
grafanaDashboard:
create: false
resources:
requests:
cpu: 100m
memory: 200Mi
limits:
cpu: 500m
memory: 500Mi
tolerations: []
nodeSelector: {}