환경 설정
GenD 플랫폼의 환경 설정 체계를 안내합니다. 모든 설정은 환경 변수 기반으로 관리됩니다.
개요
GenD API는 Pydantic BaseSettings를 사용하며, 모든 환경 변수에 GEND_ 접두사를 적용합니다. K8s 환경에서는 ConfigMap과 Secret을 통해 주입하고, 로컬 개발에서는 .env 파일 또는 직접 환경 변수를 사용합니다.
설정 계층
우선순위 (높음 → 낮음)
1. 환경 변수 (GEND_*)
2. K8s Secret (secretKeyRef)
3. K8s ConfigMap (configMapKeyRef)
4. 코드 기본값 (config.py)
주요 설정 카테고리
| 카테고리 | 설명 | 참조 |
|---|---|---|
| 환경 변수 | GEND_ 접두사 전체 변수 목록 | 환경 변수 |
| Trino | Federation SQL 엔진 연결 및 리소스 | Trino 설정 |
| Vault | 시크릿 암호화 및 Transit 엔진 | Vault 설정 |
| CORS/TLS | 웹 보안 및 인증서 관리 | CORS/TLS |
| PostgreSQL TLS | 6 PG client verify-full (driver 별 패턴) | PostgreSQL TLS |
필수 설정 (기본값 없음)
다음 설정은 반드시 환경 변수 또는 K8s Secret으로 주입해야 합니다.
| 환경 변수 | 설명 |
|---|---|
GEND_DATABASE_URL | PostgreSQL 연결 문자열 |
GEND_ARANGODB_PASSWORD | ArangoDB 루트 비밀번호 |
설정 파일 위치
| 파일 | 설명 |
|---|---|
apps/api/src/gend_api/config.py | API 설정 정의 (Settings 클래스) |
infra/helm/trino/values.yaml | Trino Helm 차트 값 |
infra/vault/vault-config.yaml | Vault 서버 구성 |
infra/keycloak/realm-export.json | Keycloak Realm 구성 |
Relay 설정 (DMZ)
gend-relay는 env_prefix 없이 K8s ConfigMap 키를 직접 매핑합니다. API와 다른 설정 체계를 사용하므로 주의하세요.