환경 변수 설정
Container Provisioner는 SMCTF와 마찬가지로 다양한 환경 변수 옵션을 지원합니다. 내부 전용 마이크로서비스이기 때문에 CORS 관련 설정은 필요하지 않습니다.
Application
Section titled “Application”# AppAPP_ENV=localHTTP_ADDR=:8081SHUTDOWN_TIMEOUT=10sContainer Provisioner 애플리케이션의 전반적인 설정을 구성하는 환경변수로, 실행 환경이나 HTTP 서버 주소와 포트, Graceful shutdown 타임아웃 등을 설정할 수 있습니다. 기본 포트는 8081입니다.
API Key
Section titled “API Key”# AuthNAPI_KEY_ENABLED=trueAPI_KEY=secret마이크로서비스 간 인증을 위해 API Key 방식을 사용할 수 있습니다. 이때 위 옵션을 적절히 설정하세요.
Logging
Section titled “Logging”# LoggingLOG_DIR=logsLOG_FILE_PREFIX=appLOG_MAX_BODY_BYTES=1048576기본적으로 Container Provisioner는 JSON으로 구조화된 로그를 stdout/stderr로 출력하며, 시간대별로 로그 파일을 분리하여 저장하는 Rotating 로깅이 구현되어 있습니다.
자세한 내용은 인프라 문서의 로깅 및 모니터링 문서를 참조하세요.
Stack provisioning
Section titled “Stack provisioning”# Stack provisioningSTACK_NAMESPACE=stacksSTACK_TTL=2hSTACK_SCHEDULER_INTERVAL=10sSTACK_NODEPORT_MIN=31001STACK_NODEPORT_MAX=32767STACK_PORT_LOCK_TTL=30sSTACK_NODE_ROLE=stackSTACK_REQUIRE_INGRESS_NETWORK_POLICY=true스택 프로비저닝과 관련된 전반적인 설정입니다. 가장 핵심적인 설정으로, 스택이 배치될 네임스페이스와 스택 TTL, 루프 간격, NodePort 범위와 NodeSelector 등을 설정합니다.
적절히 조정하여 사용하세요.
DynamoDB
Section titled “DynamoDB”# DynamoDBDDB_USE_MOCK=falseDDB_STACK_TABLE=smctf-stacksDDB_CONSISTENT_READ=trueAWS_REGION=ap-northeast-2AWS_ENDPOINT=스택 메타데이터 저장을 위한 DynamoDB 클라이언트 설정입니다.
DDB_USE_MOCK은 개발 환경이나 테스트 환경에서 활성화하여 사용하세요. 프로덕션 환경에선 절대 권장하지 않습니다.
Kubernetes
Section titled “Kubernetes”# KubernetesK8S_USE_MOCK=falseK8S_KUBECONFIG=K8S_CONTEXT=K8S_CLIENT_QPS=20K8S_CLIENT_BURST=40STACK_SCHEDULING_TIMEOUT=20s스택 프로비저닝을 위한 Kubernetes 클라이언트 설정입니다.
K8S_USE_MOCK은 오로지 테스트 환경에서 활성화하여 사용하세요. 정상적인 동작이 불가능한 설정입니다.
K8S_KUBECONFIG와 K8S_CONTEXT는 클러스터 외부에서 실행되는 경우에만 필요합니다.
클러스터 내부에서 실행되는 경우 InCluster Config를 사용하므로 별도로 자격증명을 필요로하지 않습니다.
그 외의 설정은 필요에 따라 적절히 조정하세요.