Document runtime env override audit
This commit is contained in:
parent
d2ab9b700c
commit
7a76528613
@ -81,6 +81,7 @@
|
||||
- [23제어면 gateway workspace-config 단일화](./worklog/260309_23제어면_gateway_workspace_config_단일화.md)
|
||||
- [51123 구IP active runtime 제거 1차](./worklog/260309_51123_구IP_active_runtime_제거_1차.md)
|
||||
- [24서버 robeing runtime workspace-config 단일화](./worklog/260310_24서버_robeing_runtime_workspace_config_단일화.md)
|
||||
- [260316 runtime env override audit 및 SSOT 원칙 승격](./worklog/260316_runtime_env_override_audit_및_ssot원칙승격.md)
|
||||
- [23 gateway MONITOR_URL 24 monitor 교정 및 실도메인 전수검증](./worklog/260310_23gateway_monitor_url_24monitor_교정_및_실도메인_전수검증.md)
|
||||
- [24전환 배포대상과 ingress 24IP 교정 1차](./worklog/260309_24전환_배포대상과_ingress_24IP_교정_1차.md)
|
||||
- [24서버 NAS 마운트 복원 및 ONNX 백업 실행](./worklog/260309_24서버_nas마운트복원_onnx백업실행.md)
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
---
|
||||
tags: [infra, runtime, env, ssot, workspace-config, audit, worklog]
|
||||
---
|
||||
|
||||
# 260316 runtime env override audit 및 SSOT 원칙 승격
|
||||
|
||||
## 관련 문서
|
||||
- [0_VALUE Infrastructure SSOT Principle](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/infrastructure-ssot-principle.md)
|
||||
- [0_VALUE Shared Vs Local Boundary](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/workspace-config/shared-vs-local-boundary.md)
|
||||
- [24서버 robeing runtime workspace-config 단일화](./260310_24서버_robeing_runtime_workspace_config_단일화.md)
|
||||
|
||||
## 작업
|
||||
- `0_VALUE` 상위 원칙에 `env_file`을 읽는 compose가 같은 키를 `environment: KEY=${KEY}`로 재선언해 로컬 `.env` placeholder가 `runtime.env`·`secrets.env`를 덮어쓰지 않도록 하는 규칙을 추가했습니다.
|
||||
- `workspace-config/shared-vs-local-boundary.md`에도 로컬 `.env` placeholder가 active runtime으로 승격되면 안 된다는 경계를 추가했습니다.
|
||||
- `robeing` 하위 레포들의 `.env`와 `docker-compose.yml`을 전수 검색해 공용 SSOT 키 중복과 compose 오버라이드 잔존을 점검했습니다.
|
||||
|
||||
## 확인된 사실
|
||||
- 실제 장애로 확인된 active override는 `rb8001`의 `OPENAI_API_KEY`, `GEMINI_API_KEY`, `DEFAULT_LLM_MODEL` compose 재선언이었습니다.
|
||||
- 같은 유형의 잔존 후보가 `skill-news`의 `GEMINI_API_KEY`, `skill-rag-file`의 `JWT_SECRET_KEY`, `skill-slack`의 `JWT_SECRET_KEY`, `robeing-monitor`의 `DATABASE_URL` fallback에 남아 있습니다.
|
||||
- 로컬 `.env`에는 여전히 placeholder 또는 과거 값이 남아 있는 레포가 있습니다.
|
||||
- `rb8001/.env`: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `JWT_SECRET_KEY`
|
||||
- `skill_news/.env`: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `DATABASE_URL`, `TEST_DATABASE_URL`, `JWT_SECRET_KEY`
|
||||
- `skill_email/.env`: `OPENAI_API_KEY`, `GEMINI_API_KEY`, `JWT_SECRET_KEY`
|
||||
- `skill-rag-file/.env`, `skill-slack/.env`: `JWT_SECRET_KEY`
|
||||
|
||||
## 결론
|
||||
- 이번 점검으로 `env_file + environment 재선언`은 개별 프로젝트 실수 수준이 아니라 상위 SSOT 위반 패턴임이 확인됐습니다.
|
||||
- 따라서 이후 점검 기준은 `값이 중복으로 존재하는가`보다 `공용 키가 compose 재선언으로 active runtime에서 덮이는가`를 먼저 보는 것이 맞습니다.
|
||||
Loading…
x
Reference in New Issue
Block a user