서버 설정
GEO_MLOPS_* 환경 변수 전체 목록 (서버 코드에서 자동 생성)
모든 서버 설정은 GEO_MLOPS_ 로 시작하는 환경 변수(또는 서버 작업 디렉터리의 .env)로 바꿉니다.
이름은 아래 표의 설정 이름을 대문자로 바꾸고 접두사를 붙인 것입니다. 예: port 는 GEO_MLOPS_PORT.
운영 환경에서는 /etc/geo-mlops/app.env 에 모아 두는 것을 권합니다(설치 참고).
설명은 서버 코드의 주석에서 자동으로 뽑았습니다(원문 언어 그대로). 설정은 모두 161개입니다.
서버
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
host | GEO_MLOPS_HOST | str | 0.0.0.0 | |
port | GEO_MLOPS_PORT | int | 10000 | |
reload | GEO_MLOPS_RELOAD | bool | False | |
log_level | GEO_MLOPS_LOG_LEVEL | str | info | |
list_page_size | GEO_MLOPS_LIST_PAGE_SIZE | int | 20 | Default number of rows a list endpoint returns per page when the client sends no explicit page_size (numbered pagination). |
cors_allow_origins | GEO_MLOPS_CORS_ALLOW_ORIGINS | str | * | Browser origins allowed to call the API cross-origin, comma-separated, e.g. https://app.example.com,https://admin.example.com. |
cors_allow_credentials | GEO_MLOPS_CORS_ALLOW_CREDENTIALS | bool | True | Reflect credentials (cookies / Authorization) on CORS responses. |
cors_allow_origin_regex | GEO_MLOPS_CORS_ALLOW_ORIGIN_REGEX | str | (빈 값) | Optional regex matched against the Origin header, applied in addition to cors_allow_origins (e.g. https://.*\.onrender\.com for Render preview URLs). |
데이터베이스
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
database_url | GEO_MLOPS_DATABASE_URL | str | postgresql+psycopg2://mlflow:mlflow@localhost:5433/mlflow | Render Postgres connection string, e.g. the "External Database URL" copied from the Render dashboard. |
db_echo | GEO_MLOPS_DB_ECHO | bool | False | |
db_pool_size | GEO_MLOPS_DB_POOL_SIZE | int | 5 | |
db_max_overflow | GEO_MLOPS_DB_MAX_OVERFLOW | int | 10 | |
db_pool_recycle | GEO_MLOPS_DB_POOL_RECYCLE | int | 1800 | |
db_schema | GEO_MLOPS_DB_SCHEMA | str | public | PostgreSQL schema the application's own tables (and its Alembic geo_alembic_version) live in. |
MLflow·오브젝트 스토리지
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
mlflow_backend_uri | GEO_MLOPS_MLFLOW_BACKEND_URI | str | postgresql+psycopg2://mlflow:mlflow@localhost:5433/mlflow | Embedded MLflow tracking server. |
mlflow_mount_path | GEO_MLOPS_MLFLOW_MOUNT_PATH | str | /mlflow | Path prefix the embedded MLflow server is mounted under. |
mlflow_db_schema | GEO_MLOPS_MLFLOW_DB_SCHEMA | str | public | PostgreSQL schema MLflow stores its tables in. |
mlflow_artifact_root | GEO_MLOPS_MLFLOW_ARTIFACT_ROOT | str | s3://mlflow/ | Default artifact root, e.g. s3://mlflow/. |
mlflow_serve_artifacts | GEO_MLOPS_MLFLOW_SERVE_ARTIFACTS | bool | True | |
mlflow_allowed_hosts | GEO_MLOPS_MLFLOW_ALLOWED_HOSTS | str | (빈 값) | MLflow's FastAPI server validates the Host header (DNS-rebinding protection) and rejects unknown hosts with HTTP 403. |
mlflow_s3_endpoint_url | GEO_MLOPS_MLFLOW_S3_ENDPOINT_URL | str | http://localhost:9000 | S3 (RustFS) access for the artifact repository's boto3 backend. |
mlflow_s3_access_key_id | GEO_MLOPS_MLFLOW_S3_ACCESS_KEY_ID | str | rustfsadmin | |
mlflow_s3_secret_access_key | GEO_MLOPS_MLFLOW_S3_SECRET_ACCESS_KEY | str | rustfsadmin | |
mlflow_s3_verify_ssl | GEO_MLOPS_MLFLOW_S3_VERIFY_SSL | bool | True | 사설 CA/자체 서명 인증서를 쓰는 HTTPS 엔드포인트용 탈출구. |
datasets_s3_root | GEO_MLOPS_DATASETS_S3_ROOT | str | s3://datasets/ | Uploaded dataset files (upload wizard). |
dataset_max_upload_bytes | GEO_MLOPS_DATASET_MAX_UPLOAD_BYTES | int | 2147483648 | |
dataset_archive_max_members | GEO_MLOPS_DATASET_ARCHIVE_MAX_MEMBERS | int | 5000 | |
dataset_archive_max_total_bytes | GEO_MLOPS_DATASET_ARCHIVE_MAX_TOTAL_BYTES | int | 10737418240 | |
dataset_upload_chunk_bytes | GEO_MLOPS_DATASET_UPLOAD_CHUNK_BYTES | int | 33554432 | 청크 업로드: 세션마다 |
dataset_upload_stale_after_s | GEO_MLOPS_DATASET_UPLOAD_STALE_AFTER_S | int | 86400 | 이 시간 동안 움직이지 않은 청크 업로드는 실패로 닫고 청크를 지운다(초, 0 = 끔). |
dataset_upload_retention_days | GEO_MLOPS_DATASET_UPLOAD_RETENTION_DAYS | int | 30 | 끝난(done/failed) 청크 업로드 행의 보존 일수. |
dataset_sync_max_concurrency | GEO_MLOPS_DATASET_SYNC_MAX_CONCURRENCY | int | 2 | 등록된 외부 소스(DataOps 계약 HTTP 서버)에서 파일을 Pull 하는 워커 설정. |
dataset_sync_http_timeout | GEO_MLOPS_DATASET_SYNC_HTTP_TIMEOUT | float | 30.0 | |
mlflow_require_auth | GEO_MLOPS_MLFLOW_REQUIRE_AUTH | bool | True | Require an authenticated user to reach the MLflow mount. |
mlflow_token_pepper | GEO_MLOPS_MLFLOW_TOKEN_PEPPER | str | (빈 값) | Keyed-hash pepper for MLflow tokens (HMAC-SHA256), mirroring edge_token_pepper. |
인증·계정
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
auth_secret | GEO_MLOPS_AUTH_SECRET | str | change-me-generate-with-openssl-rand-hex-32 | Authentication (fastapi-users). |
auth_token_lifetime | GEO_MLOPS_AUTH_TOKEN_LIFETIME | int | 0 | Session lifetime in seconds. |
auth_cookie_name | GEO_MLOPS_AUTH_COOKIE_NAME | str | geoauth | |
auth_cookie_secure | GEO_MLOPS_AUTH_COOKIE_SECURE | bool | True | |
auth_cookie_samesite | GEO_MLOPS_AUTH_COOKIE_SAMESITE | Literal | lax | |
auth_login_path | GEO_MLOPS_AUTH_LOGIN_PATH | str | /login | |
github_oauth_client_id | GEO_MLOPS_GITHUB_OAUTH_CLIENT_ID | str | (빈 값) | GitHub OAuth app credentials; when both are set the GitHub login routes (/auth/github/authorize and /auth/github/callback) are registered. |
github_oauth_client_secret | GEO_MLOPS_GITHUB_OAUTH_CLIENT_SECRET | str | (빈 값) | |
github_oauth_redirect_url | GEO_MLOPS_GITHUB_OAUTH_REDIRECT_URL | str | (빈 값) | |
rbac_bootstrap_admin_email | GEO_MLOPS_RBAC_BOOTSTRAP_ADMIN_EMAIL | str | admin@example.com | Email seeded as the bootstrap global ADMIN on startup (membership with a NULL tenant = all-tenant scope). |
rbac_bootstrap_admin_password | GEO_MLOPS_RBAC_BOOTSTRAP_ADMIN_PASSWORD | str | 1234 | Password used only when the bootstrap admin account does not yet exist: the seeder then creates it (active + verified, global ADMIN) so the very first administrator can log in on a fresh database. |
rbac_bootstrap_tenants | GEO_MLOPS_RBAC_BOOTSTRAP_TENANTS | str | DEMO | Tenant codes seeded on startup, comma-separated. |
rbac_bootstrap_roles | GEO_MLOPS_RBAC_BOOTSTRAP_ROLES | str | VIEWER,DEVELOPER,OPERATOR,APPROVER,ADMIN | Per-tenant demo users seeded on startup: for each bootstrap tenant and each role below, an account {tenant}-{role}@example.com (lowercased) is created with a direct membership of that role. |
rbac_bootstrap_role_password | GEO_MLOPS_RBAC_BOOTSTRAP_ROLE_PASSWORD | str | 1234 | Password used only when a bootstrap role account does not yet exist (never overwrites an existing password). |
모니터링·경보
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
prometheus_url | GEO_MLOPS_PROMETHEUS_URL | str | http://localhost:9090 | Every adapter is optional: set the URL empty and the corresponding feature degrades gracefully (empty data + an explicit reason) instead of erroring, so the screens render their "empty"/"partial error" states. |
alertmanager_url | GEO_MLOPS_ALERTMANAGER_URL | str | http://localhost:9093 | |
alertmanager_webhook_token | GEO_MLOPS_ALERTMANAGER_WEBHOOK_TOKEN | str | (빈 값) | Shared secret the Alertmanager webhook must present (X-Webhook-Token). |
kpi_exporter_interval_s | GEO_MLOPS_KPI_EXPORTER_INTERVAL_S | float | 30.0 | 테넌트 KPI 익스포터 주기(초). |
컨테이너 레지스트리
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
registry_enabled | GEO_MLOPS_REGISTRY_ENABLED | bool | True | 별도 registry:2 컨테이너 없이 앱이 직접 push/pull 을 서빙한다. |
registry_s3_root | GEO_MLOPS_REGISTRY_S3_ROOT | str | s3://registry/ | blob/manifest 를 저장할 S3 버킷 루트. |
registry_max_blob_bytes | GEO_MLOPS_REGISTRY_MAX_BLOB_BYTES | int | 10737418240 | 단일 blob(이미지 레이어) 업로드 상한(바이트). |
registry_token_pepper | GEO_MLOPS_REGISTRY_TOKEN_PEPPER | str | (빈 값) | 컨테이너 레지스트리 토큰(PAT) 해시용 pepper(HMAC-SHA256). |
registry_import_max_bytes | GEO_MLOPS_REGISTRY_IMPORT_MAX_BYTES | int | 34359738368 | docker save tar 반입 한 건의 상한(바이트). |
registry_import_chunk_bytes | GEO_MLOPS_REGISTRY_IMPORT_CHUNK_BYTES | int | 33554432 | 반입 UI 에 알려줄 청크 크기(바이트). |
registry_import_workdir | GEO_MLOPS_REGISTRY_IMPORT_WORKDIR | str | (빈 값) | 반입 tar 를 내려받아 풀어 놓을 로컬 작업 디렉터리. |
registry_import_upload_ttl_seconds | GEO_MLOPS_REGISTRY_IMPORT_UPLOAD_TTL_SECONDS | int | 86400 | 진행이 멈춘 업로드 세션을 실패 처리하고 스테이징을 회수하기까지의 시간(초). |
이미지 빌드
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
build_watch_interval_seconds | GEO_MLOPS_BUILD_WATCH_INTERVAL_SECONDS | int | 30 | 빌드 워처 주기(초). |
build_logs_s3_root | GEO_MLOPS_BUILD_LOGS_S3_ROOT | str | s3://build-logs/ | 빌드 Job 은 끝난 지 24시간 뒤 GC 되고 그때 파드 로그도 사라진다. |
build_log_retention_days | GEO_MLOPS_BUILD_LOG_RETENTION_DAYS | int | 180 | 보존 기간(일). |
build_log_max_bytes | GEO_MLOPS_BUILD_LOG_MAX_BYTES | int | 1073741824 | 한 실행의 로그 상한(바이트). |
build_log_tail_bytes | GEO_MLOPS_BUILD_LOG_TAIL_BYTES | int | 262144 | 화면이 한 번에 받아 갈 꼬리 크기(바이트). |
build_cache_enabled | GEO_MLOPS_BUILD_CACHE_ENABLED | bool | True | 빌드 레이어 캐시. |
build_cache_repo | GEO_MLOPS_BUILD_CACHE_REPO | str | cache | 캐시 이미지가 앉을 저장소 이름. |
build_package_proxy_enabled | GEO_MLOPS_BUILD_PACKAGE_PROXY_ENABLED | bool | True | 패키지 프록시 캐시. |
build_pip_index_url | GEO_MLOPS_BUILD_PIP_INDEX_URL | str | (빈 값) | 유도값을 대신할 주소. |
build_pip_trusted_host | GEO_MLOPS_BUILD_PIP_TRUSTED_HOST | str | (빈 값) | 프록시가 평문 HTTP 라 pip 가 요구하는 신뢰 호스트(예: 10.42.0.1). |
build_apt_proxy | GEO_MLOPS_BUILD_APT_PROXY | str | (빈 값) |
Edge
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
edge_token_pepper | GEO_MLOPS_EDGE_TOKEN_PEPPER | str | change-me-generate-with-openssl-rand-hex-32 | Edge long-lived token hashing pepper (mixed into the Argon2/hash input). |
edge_offline_after | GEO_MLOPS_EDGE_OFFLINE_AFTER | int | 180 | Heartbeats older than edge_offline_after seconds flip a device to UNHEALTHY (the fleet-health sweep / dashboard use this threshold). |
edge_uploads_s3_root | GEO_MLOPS_EDGE_UPLOADS_S3_ROOT | str | s3://edge-uploads/ | 오프라인 동안 쌓인 파일을 청크로 받는다. |
edge_upload_chunk_max_bytes | GEO_MLOPS_EDGE_UPLOAD_CHUNK_MAX_BYTES | int | 52428800 | |
edge_upload_stale_after_s | GEO_MLOPS_EDGE_UPLOAD_STALE_AFTER_S | int | 604800 | uploading 인 채 이만큼 멈춰 있으면 실패로 접고 청크를 회수한다. |
edge_telemetry_retention_days | GEO_MLOPS_EDGE_TELEMETRY_RETENTION_DAYS | int | 90 | 인제스트한 텔레메트리/추론 레코드 보존 기간(0 = 무제한). |
edge_command_retention_days | GEO_MLOPS_EDGE_COMMAND_RETENTION_DAYS | int | 90 | 끝난 명령(acked/failed/expired)의 보존 기간(0 = 무제한). |
edge_upload_retention_days | GEO_MLOPS_EDGE_UPLOAD_RETENTION_DAYS | int | 30 | 끝난 업로드(done/failed) 행과 남은 청크의 보존 기간(0 = 무제한). |
edge_command_ttl_s | GEO_MLOPS_EDGE_COMMAND_TTL_S | int | 86400 | 전달되지 않은 명령의 수명. |
edge_command_poll_max_s | GEO_MLOPS_EDGE_COMMAND_POLL_MAX_S | int | 30 | 디바이스 롱폴 최대 대기(초). |
edge_sweep_interval_s | GEO_MLOPS_EDGE_SWEEP_INTERVAL_S | int | 60 | 플릿 스윕 주기(초, 0 = 끄기): 오프라인 판정·명령 만료·업로드 만료·보존. |
edge_default_policy | GEO_MLOPS_EDGE_DEFAULT_POLICY | dict | PydanticUndefined | 디바이스에 내려보낼 기본 정책. |
Kubernetes
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
kubernetes_enabled | GEO_MLOPS_KUBERNETES_ENABLED | bool | True | 전역에서 단 하나의 클러스터에 연결한다(레지스트리 없음). |
kubernetes_kubeconfig | GEO_MLOPS_KUBERNETES_KUBECONFIG | str | /etc/rancher/k3s/k3s.yaml | kubeconfig 파일 경로. |
kubernetes_api_timeout | GEO_MLOPS_KUBERNETES_API_TIMEOUT | float | 10.0 | K8s API 호출 타임아웃(초). |
kubernetes_device_plugin_namespace | GEO_MLOPS_KUBERNETES_DEVICE_PLUGIN_NAMESPACE | str | kube-system | GPU 슬롯 화면이 상태를 읽는 NVIDIA device plugin DaemonSet 의 위치 (scripts/serving/nvidia-device-plugin*.yml 이 배포하는 것). |
kubernetes_device_plugin_name | GEO_MLOPS_KUBERNETES_DEVICE_PLUGIN_NAME | str | nvidia-device-plugin-daemonset | |
pipeline_images | GEO_MLOPS_PIPELINE_IMAGES | dict | {'train': 'busybox:1.36', 'register': 'busybox:1.36', 'de… | 파이프라인 한 종류(train|register|deploy|ct)는 "미리 빌드된 컨테이너 이미지" 하나에 대응한다. |
pipeline_command | GEO_MLOPS_PIPELINE_COMMAND | list | [] | 이미지 entrypoint 를 덮어쓸 command(선택). |
학습
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
training_workdir_root | GEO_MLOPS_TRAINING_WORKDIR_ROOT | str | runs/training | 학습은 Kubernetes Job 으로만 실행된다 |
training_max_concurrent | GEO_MLOPS_TRAINING_MAX_CONCURRENT | int | 1 | 동시 학습 수: GPU 직렬화. |
training_pod_pending_timeout_s | GEO_MLOPS_TRAINING_POD_PENDING_TIMEOUT_S | float | 900.0 | 컨테이너 학습에서 파드가 시작되지 못한 채 머무를 수 있는 시간(초). |
training_job_active_deadline_s | GEO_MLOPS_TRAINING_JOB_ACTIVE_DEADLINE_S | int | 0 | 학습 Job 의 activeDeadlineSeconds(초). |
training_stager_image | GEO_MLOPS_TRAINING_STAGER_IMAGE | str | (빈 값) | 학습 파드의 init 컨테이너로 쓸 스테이저 이미지. |
training_stager_repo | GEO_MLOPS_TRAINING_STAGER_REPO | str | training-stager | |
training_weights_mirror_enabled | GEO_MLOPS_TRAINING_WEIGHTS_MIRROR_ENABLED | bool | True | 스테이저가 오브젝트 스토리지의 미러에서 체크포인트를 미리 내려놓는다. |
training_weights_upstream_fetch | GEO_MLOPS_TRAINING_WEIGHTS_UPSTREAM_FETCH | bool | True | 미러에 없는 체크포인트를 스테이저가 업스트림에서 받아 미러에 채운다 (write-through). |
training_dataset_cache_enabled | GEO_MLOPS_TRAINING_DATASET_CACHE_ENABLED | bool | True | 스테이징한 데이터셋을 실행 사이에 재사용한다(테넌트 네임스페이스의 PVC). |
training_dataset_cache_access_mode | GEO_MLOPS_TRAINING_DATASET_CACHE_ACCESS_MODE | Literal | ReadWriteOnce | PVC 접근 모드가 캐시 스코프를 정한다: RWX 면 테넌트당 하나를 공유하고, RWO 면 데이터셋별로 나눈다(RWO 는 같은 노드의 파드만 붙을 수 있다). |
training_dataset_cache_storage_class | GEO_MLOPS_TRAINING_DATASET_CACHE_STORAGE_CLASS | str | (빈 값) | 비우면 클러스터 기본 StorageClass 를 쓴다. |
training_dataset_cache_size | GEO_MLOPS_TRAINING_DATASET_CACHE_SIZE | str | 100Gi | PVC 요청 용량. |
training_dataset_cache_ttl_days | GEO_MLOPS_TRAINING_DATASET_CACHE_TTL_DAYS | int | 14 | 이 기간 동안 안 쓰인 항목은 GC 대상. |
training_grace_period | GEO_MLOPS_TRAINING_GRACE_PERIOD | float | 60.0 | graceful stop: 파드의 terminationGracePeriodSeconds: SIGTERM 뒤 SIGKILL 까지 기다리는 시간(초). |
training_shutdown_timeout | GEO_MLOPS_TRAINING_SHUTDOWN_TIMEOUT | float | 90.0 | 서버 종료 시 실행 중인 학습 전체를 정리하는 상한(초). |
training_log_tail_lines | GEO_MLOPS_TRAINING_LOG_TAIL_LINES | int | 200 | 실험 상세 API 가 돌려주는 로그 꼬리 줄 수. |
training_metrics_poll_interval_s | GEO_MLOPS_TRAINING_METRICS_POLL_INTERVAL_S | float | 5.0 | 실행 중인 실험의 MLflow 지표를 다시 읽는 주기(초). |
training_metrics_stream_keys | GEO_MLOPS_TRAINING_METRICS_STREAM_KEYS | int | 8 | SSE 로 실시간 전송할 상위 키 개수. |
training_metrics_max_points | GEO_MLOPS_TRAINING_METRICS_MAX_POINTS | int | 2000 | 한 응답/브로드캐스트에 담는 키당 최대 포인트 수. |
training_runtime_image | GEO_MLOPS_TRAINING_RUNTIME_IMAGE | str | (빈 값) | 이후 학습 런타임은 **변형(variant)**으로 관리한다(학습 런타임 화면). |
training_runtime_repo | GEO_MLOPS_TRAINING_RUNTIME_REPO | str | training-runtime | |
training_runtime_tag | GEO_MLOPS_TRAINING_RUNTIME_TAG | str | v1 | |
training_runtime_torch_index | GEO_MLOPS_TRAINING_RUNTIME_TORCH_INDEX | str | (빈 값) | 이미지의 torch 휠 인덱스. |
training_runtime_s3_endpoint_url | GEO_MLOPS_TRAINING_RUNTIME_S3_ENDPOINT_URL | str | (빈 값) | 학습 파드가 볼 오브젝트 스토어 주소. |
training_runtime_shm_size | GEO_MLOPS_TRAINING_RUNTIME_SHM_SIZE | str | 2Gi | 학습 파드의 /dev/shm 크기. |
서빙
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
serving_publish_tool | GEO_MLOPS_SERVING_PUBLISH_TOOL | str | podman | 빌더 이미지는 앱 레지스트리에 게시돼야 클러스터가 pull 할 수 있다. |
serving_enabled | GEO_MLOPS_SERVING_ENABLED | bool | True | 등록 모델을 이미지로 빌드(BuildKit Job) → 앱 내장 레지스트리로 push → plain Deployment + NodePort Service 로 배포 → 백엔드가 localhost:{nodePort} 로 접속 → 백엔드 프록시가 유일한 추론 진입점. |
serving_registry | GEO_MLOPS_SERVING_REGISTRY | str | (빈 값) | 빌드 결과를 push/pull 할 레지스트리 접두사. |
serving_registry_pull | GEO_MLOPS_SERVING_REGISTRY_PULL | str | (빈 값) | pull 주소. |
serving_builder_image | GEO_MLOPS_SERVING_BUILDER_IMAGE | str | (빈 값) | 빌더 Job 이미지. |
serving_builder_repo | GEO_MLOPS_SERVING_BUILDER_REPO | str | serving-builder | |
serving_builder_tag | GEO_MLOPS_SERVING_BUILDER_TAG | str | v1 | |
serving_bootstrap_builder_image | GEO_MLOPS_SERVING_BOOTSTRAP_BUILDER_IMAGE | str | docker.io/moby/buildkit:v0.18.2-rootless | 빌더를 굽는 빌더. 설정 > 서빙 빌더의 "빌더 게시" 가 띄우는 부트스트랩 Job 의 이미지다. |
serving_mlflow_tracking_uri | GEO_MLOPS_SERVING_MLFLOW_TRACKING_URI | str | (빈 값) | 빌더 Job(클러스터 안)이 MLflow 트래킹 서버에 접속할 URI. |
serving_registry_insecure | GEO_MLOPS_SERVING_REGISTRY_INSECURE | bool | True | 레지스트리가 평문 HTTP 인지(앱 내장 레지스트리 기본값). |
serving_connect_mode | GEO_MLOPS_SERVING_CONNECT_MODE | Literal | nodeport-localhost | torch 휠 인덱스는 프록시에 태우지 않는다. |
serving_node_ip | GEO_MLOPS_SERVING_NODE_IP | str | (빈 값) | nodeport-nodeip 모드에서 접속할 노드 IP. |
serving_ingress_host | GEO_MLOPS_SERVING_INGRESS_HOST | str | (빈 값) | ingress 모드에서 접속할 게이트웨이 호스트(예: serving.example.com). |
serving_gpu_runtime_class | GEO_MLOPS_SERVING_GPU_RUNTIME_CLASS | str | nvidia | GPU 서빙. |
serving_gpu_resource | GEO_MLOPS_SERVING_GPU_RESOURCE | str | nvidia.com/gpu | |
serving_container_port | GEO_MLOPS_SERVING_CONTAINER_PORT | int | 8080 | MLflow scoring server 가 리슨하는 컨테이너 포트. |
serving_proxy_timeout_s | GEO_MLOPS_SERVING_PROXY_TIMEOUT_S | float | 60.0 | 프록시가 추론 서버 응답을 기다리는 상한(초). |
serving_heartbeat_interval_s | GEO_MLOPS_SERVING_HEARTBEAT_INTERVAL_S | float | 30.0 | 하트비트 주기(초)와 DEGRADED 로 전이시키는 연속 실패 횟수. |
serving_heartbeat_fail_threshold | GEO_MLOPS_SERVING_HEARTBEAT_FAIL_THRESHOLD | int | 3 | |
serving_validation_samples | GEO_MLOPS_SERVING_VALIDATION_SAMPLES | int | 20 | Validation KPI 스모크 샘플 수와 임계. |
serving_validation_min_success_rate | GEO_MLOPS_SERVING_VALIDATION_MIN_SUCCESS_RATE | float | 0.95 | |
serving_validation_max_p95_ms | GEO_MLOPS_SERVING_VALIDATION_MAX_P95_MS | float | 2000.0 |
외부 DataOps
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
mock_dataops_enabled | GEO_MLOPS_MOCK_DATAOPS_ENABLED | bool | False | 개발용 mock DataOps 서버(요청서 3장 스펙 그대로 픽스처를 서빙). |
mock_dataops_fixture_dir | GEO_MLOPS_MOCK_DATAOPS_FIXTURE_DIR | str | tester/fixtures/dataops | |
mock_dataops_token | GEO_MLOPS_MOCK_DATAOPS_TOKEN | str | mock-dataops-token |
기타
| 설정 | 환경 변수 | 형식 | 기본값 | 설명 |
|---|---|---|---|---|
observability_timeout_seconds | GEO_MLOPS_OBSERVABILITY_TIMEOUT_SECONDS | float | 15.0 | 콘솔 화면이 두 도구의 REST API 를 그대로 읽는 프록시의 한계값. |
observability_max_response_bytes | GEO_MLOPS_OBSERVABILITY_MAX_RESPONSE_BYTES | int | 8388608 | |
harbor_url | GEO_MLOPS_HARBOR_URL | str | (빈 값) | |
harbor_username | GEO_MLOPS_HARBOR_USERNAME | str | (빈 값) | |
harbor_password | GEO_MLOPS_HARBOR_PASSWORD | str | (빈 값) | |
supported_architectures | GEO_MLOPS_SUPPORTED_ARCHITECTURES | str | amd64,arm64 | 이 플랫폼이 실제로 돌릴 수 있는 노드 아키텍처(쉼표 구분). |
notification_retention_days | GEO_MLOPS_NOTIFICATION_RETENTION_DAYS | int | 90 | 인앱 알림 보존 기간(일). |
audit_retention_days | GEO_MLOPS_AUDIT_RETENTION_DAYS | int | 0 | 감사 로그 보존 기간(일). |
notify_smtp_host | GEO_MLOPS_NOTIFY_SMTP_HOST | str | (빈 값) | Notification delivery (IF-06). |
notify_smtp_port | GEO_MLOPS_NOTIFY_SMTP_PORT | int | 587 | |
notify_smtp_user | GEO_MLOPS_NOTIFY_SMTP_USER | str | (빈 값) | |
notify_smtp_password | GEO_MLOPS_NOTIFY_SMTP_PASSWORD | str | (빈 값) | |
notify_smtp_from | GEO_MLOPS_NOTIFY_SMTP_FROM | str | (빈 값) | |
notify_slack_webhook_default | GEO_MLOPS_NOTIFY_SLACK_WEBHOOK_DEFAULT | str | (빈 값) | |
sse_backend | GEO_MLOPS_SSE_BACKEND | Literal | memory | Realtime delivery backend for SSE/cache. |
redis_url | GEO_MLOPS_REDIS_URL | str | (빈 값) | |
tenant_deletion_namespace_timeout | GEO_MLOPS_TENANT_DELETION_NAMESPACE_TIMEOUT | float | 300.0 | 네임스페이스 삭제를 요청한 뒤 Terminating 이 끝나기를 기다리는 상한(초). |
tenant_deletion_poll_interval | GEO_MLOPS_TENANT_DELETION_POLL_INTERVAL | float | 3.0 | 위 대기의 폴링 간격(초). |
shared_registry_namespace | GEO_MLOPS_SHARED_REGISTRY_NAMESPACE | str | mlops | 공유 빌드 변형. |
shared_build_namespace | GEO_MLOPS_SHARED_BUILD_NAMESPACE | str | mlops-shared | 공유 변형의 게시 Job 이 도는 K8s 네임스페이스. |