MEMORY.md: 사실과 어긋난 두 항목 정정
argo-cd 절의 수치·상태는 전부 재확인해 그대로 뒀다(게이트 574→337→280→239, 10.4.0 0건,
BCI 16.0 빌드 PASS/CoverageProbe ok, 7.7.0 삭제·7.8.11 잔존).
- airflow 비결정적 렌더: 재렌더 조건을 "ArgoCD 재시작·hard refresh" 로 적어뒀는데, 이후
실측에서 **일반 refresh 로도** 새 ReplicaSet 이 생겼다. 조건을 정정하고, 정해진 조치
방향(dip-values placeholder + dip-console-api DeployPreInstall 치환)과 아직 커밋 전이라는
것, 기존 테넌트는 재배포해야 적용된다는 것을 함께 적는다.
- define-chart-resources: "신규 차트 3종의 리소스 프로파일이 없다 / 규칙을 못 지켰다" 는
사실이 아니다. 세 차트 모두 dip-resources-quotas.yaml 에 small/medium/large 를 갖고 있고
차트 도입 커밋(6878b61)에 함께 들어갔다. 남은 건 문서에 전용 절이 없다는 것뿐이라
그렇게 고쳐 적는다.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -70,11 +70,18 @@ Dockerfile 은 그대로다(모듈 목록·패키지 목록을 전부 값으로
|
||||
### 별건으로 발견한 airflow 문제 2건
|
||||
|
||||
- **매니페스트가 비결정적이다.** `webserver-secret-key-secret.yaml` 이 `randAlphaNum` 으로
|
||||
매 렌더마다 새 값을 만들어, repo-server 의 매니페스트 캐시가 날아갈 때마다(ArgoCD 재시작·
|
||||
hard refresh) webserver 가 롤링되고 웹 세션이 끊긴다. reconcile 만으로는 재렌더가 일어나지
|
||||
않아 상시 루프는 아니다(4시간 19분 동안 롤아웃 0회로 확인). `webserverSecretKey` 또는
|
||||
`webserverSecretKeySecretName` 을 지정하면 해소된다. 카탈로그 기본값에 없어 모든 테넌트가
|
||||
해당된다.
|
||||
매 렌더마다 새 값을 만들어, repo-server 가 매니페스트를 다시 렌더할 때마다 Secret 과
|
||||
Deployment 의 체크섬 애노테이션이 함께 바뀌어 webserver 가 롤링되고 웹 세션이 끊긴다.
|
||||
캐시된 매니페스트를 그대로 쓰는 reconcile 만으로는 일어나지 않지만(4시간 19분 동안 롤아웃
|
||||
0회), **일반 refresh 로도 일어난다**(hard refresh 나 ArgoCD 재시작에 한정되지 않는다 —
|
||||
refresh 직후 새 ReplicaSet 생성을 실측). 카탈로그 기본값에 없어 모든 테넌트가 해당된다.
|
||||
|
||||
조치 방향은 정해졌고 **아직 커밋 전이다**: `dip-values.yaml` 에
|
||||
`webserverSecretKey: "$WEBSERVER_SECRET_KEY"` 를 두고, dip-console-api 의
|
||||
`catalog_airflow.go` `DeployPreInstall` 이 배포 시점에 난수로 치환한다. 차트 안에서는 못
|
||||
고친다 — ArgoCD repo-server 는 클러스터 접근 없이 렌더하므로 `lookup` 이 항상 빈 값이고
|
||||
(실측), 릴리스명 기반 결정적 파생은 공개 정보라 세션 서명 키로 부적합하다. 이미 배포된
|
||||
테넌트는 저장된 values 에 placeholder 가 없어 **재배포해야 적용된다**.
|
||||
- **migrations job 이 5분마다 재실행된다.** `migrateDatabaseJob.useHelmHooks: false` 로
|
||||
hook 이 아닌 추적 리소스가 됐는데 `ttlSecondsAfterFinished: 300` 이 그대로라, TTL 삭제 →
|
||||
ArgoCD selfHeal 재생성이 반복된다. `ttlSecondsAfterFinished` 를 끄거나 hook 으로 되돌린다.
|
||||
@@ -218,9 +225,11 @@ SUSE BCI 고정 결정을 그대로 따랐고(ADR 자체는 미이관), 2026-08-
|
||||
번호·후보 비교표)를 압축한 로컬 stub ADR 작성을 검토한다.
|
||||
|
||||
**`doc/define-chart-resources.md` 에 신규 차트 3종(`cloudnative-pg`, `cnpg-cluster`,
|
||||
`etcd`) 의 Small/Medium/Large 리소스 프로파일이 없다.** CLAUDE.md 의 "신규 차트 추가"
|
||||
규칙(리소스 프로파일 필수)을 아직 못 지켰다 — custom-values.yaml 의 기존
|
||||
requests/limits/storage 값을 근거로 표를 추가하는 별도 작업으로 처리한다.
|
||||
`etcd`) 의 전용 절이 없다 — 다만 리소스 프로파일 자체는 누락이 아니다.** 세 차트 모두
|
||||
`dip-resources-quotas.yaml` 에 small/medium/large 티어를 갖고 있고(차트 도입 커밋 6878b61 에
|
||||
함께 들어갔다), 다른 차트 절이 cnpg-cluster 를 외부 DB 로 쓸 때 그 파일을 가리킨다. 그래서
|
||||
CLAUDE.md 의 "신규 차트 추가" 규칙은 지켜진 상태다. 남은 건 이 문서만 보는 사람이 세 차트를
|
||||
찾지 못한다는 것뿐이라, 급하지 않다.
|
||||
|
||||
**`SBOM_PIPELINE_IMAGE` 재빌드가 보류돼 있다.** 이 마이그레이션으로 빌드 컨텍스트 경로가
|
||||
`doc/scripts/Dockerfile` → `scripts/pipeline/Dockerfile` 로 바뀌었다. Dockerfile 내용
|
||||
|
||||
Reference in New Issue
Block a user