18044210f6
etcd(bitnamilegacy 동결 미러) → etcd.enabled=false + 카탈로그 자체 etcd 차트를 externalEtcd 기본값으로 연결. adc·apisix-ingress-controller·apisix(paasup/apisix) 세 이미지는 SUSE BCI 자체 빌드로 교체 — 전부 벤더 등급만으로는 안 보이던 벤더 하향 등급 CVE(NVD 재평가 시 드러남)가 원인이었다. - images/apisix-ingress-controller: 정적 링크 Go 모듈 취약 버전만 강제 업그레이드 - images/apisix: APISIX-Runtime(WASM·dubbo 등 커스텀 모듈 포함) 전체를 SUSE BCI 위에서 소스로 재현, keycloak-authz 플러그인 오버레이 - images/adc: 업스트림 빌더 스테이지는 그대로 두고 distroless 최종 베이스만 SUSE BCI+nodejs24 로 교체 scripts/build/patch-catalog-tag.py 의 TAG_BLOCK 이 점 구분 중첩 경로를 지원하도록 확장(apisix 서브차트 alias 때문에 필요). 세 이미지 모두 게이트 PASS(실효 CRITICAL/HIGH 0/0)와 배포 검증(테스트 클러스터)을 마쳤다. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
24 lines
1.2 KiB
Bash
24 lines
1.2 KiB
Bash
# adc — 소스 컴파일형 자체 빌드 (유일한 변종)
|
|
#
|
|
# build-hardened-image.sh 가 source 한다. BUILD_ARGS 에 나열한 이름만 --build-arg 로 넘어간다.
|
|
# 빌더 스테이지는 업스트림 그대로(node:lts-bookworm-slim), final 스테이지만 SUSE BCI 로
|
|
# 바뀐다 — "베이스 OS 선택지"가 없는 소스 빌드형이라 BASE_OS=source 로 호출한다:
|
|
# IMAGE=adc BASE_OS=source bash scripts/build/build-hardened-image.sh <OUT_DIR>
|
|
#
|
|
# 왜 자체 빌드하는가 → source.Dockerfile 상단 주석. apisix 카탈로그 CVE 조치
|
|
# (2026-08-12)로 도입 — 근거·경과는 MEMORY.md.
|
|
|
|
DOCKERFILE=source.Dockerfile
|
|
TARGET=final
|
|
TAG_SLUG=security
|
|
|
|
# build-hardened-image.sh 가 태그·verify.sh 전달용으로 요구하는 범용 필수값.
|
|
# 스톡 0.29.0 과는 태그 슬러그(TAG_SLUG=security)로 구분되므로 버전 문자열 자체는 그대로 둔다.
|
|
APP_VERSION=0.29.0
|
|
|
|
# "v0.29.0" 태그가 가리키는 실제 커밋(lightweight 태그 — peeled 커밋 별도로 없음),
|
|
# 2026-08-12 확인: git ls-remote --tags https://github.com/api7/adc.git v0.29.0
|
|
SOURCE_COMMIT=6594ee9f7cd9fd8786c0d11601c1ed05377646a1
|
|
|
|
BUILD_ARGS="SOURCE_COMMIT"
|