-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
59 lines (47 loc) · 2.23 KB
/
Copy pathconfig.py
File metadata and controls
59 lines (47 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
"""Centralized environment variable loading for robot-gateway."""
from __future__ import annotations
import os
def _env_flag(name: str, *, default: bool) -> bool:
raw = os.getenv(name)
if raw is None:
return default
normalized = raw.strip().lower()
if normalized in {"1", "true", "yes", "on"}:
return True
if normalized in {"0", "false", "no", "off"}:
return False
return default
# PostgreSQL
POSTGRES_USER = os.getenv("POSTGRES_USER")
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD")
POSTGRES_DB = os.getenv("POSTGRES_DB")
POSTGRES_HOST = os.getenv("POSTGRES_HOST")
POSTGRES_PORT = os.getenv("POSTGRES_PORT")
POSTGRES_SCHEMA = (os.getenv("POSTGRES_SCHEMA") or "public").strip()
# MQTT broker
MQTT_BROKER_HOST = os.getenv("MQTT_BROKER_HOST", "mosquitto")
MQTT_BROKER_PORT = int(os.getenv("MQTT_BROKER_PORT", "1883"))
MQTT_USERNAME = os.getenv("MQTT_USERNAME", "")
MQTT_PASSWORD = os.getenv("MQTT_PASSWORD", "")
# Service-to-service auth
ORCHESTRATOR_API_KEY = os.getenv("ORCHESTRATOR_API_KEY")
# Gateway HTTP port (used in docker CMD, referenced here for completeness)
ROBOT_GATEWAY_PORT = int(os.getenv("ROBOT_GATEWAY_PORT", "8001"))
# Module presence
ROBOT_MODULE_OFFLINE_AFTER_SECONDS = int(os.getenv("ROBOT_MODULE_OFFLINE_AFTER_SECONDS", "60"))
# Capture relay
CAPTURE_RELAY_PUBLIC_BASE_URL = os.getenv("CAPTURE_RELAY_PUBLIC_BASE_URL", "http://localhost:8001")
CAPTURE_RELAY_TOKEN_SECRET = os.getenv("CAPTURE_RELAY_TOKEN_SECRET", "")
CAPTURE_RELAY_TOKEN_TTL_SECONDS = int(os.getenv("CAPTURE_RELAY_TOKEN_TTL_SECONDS", "300"))
CAPTURE_RELAY_SESSION_TTL_SECONDS = int(os.getenv("CAPTURE_RELAY_SESSION_TTL_SECONDS", "300"))
CAPTURE_RELAY_IDLE_TIMEOUT_SECONDS = int(os.getenv("CAPTURE_RELAY_IDLE_TIMEOUT_SECONDS", "30"))
CAPTURE_RELAY_HEARTBEAT_TIMEOUT_SECONDS = int(
os.getenv("CAPTURE_RELAY_HEARTBEAT_TIMEOUT_SECONDS", "20")
)
CAPTURE_RELAY_AUDIO_BUFFER_CHUNKS = int(os.getenv("CAPTURE_RELAY_AUDIO_BUFFER_CHUNKS", "32"))
CAPTURE_RELAY_VIEWER_GRACE_SECONDS = int(os.getenv("CAPTURE_RELAY_VIEWER_GRACE_SECONDS", "5"))
# Migrations
ROBOT_GATEWAY_AUTO_MIGRATE = _env_flag("ROBOT_GATEWAY_AUTO_MIGRATE", default=True)
ROBOT_GATEWAY_AUTO_MIGRATE_FAIL_FAST = _env_flag(
"ROBOT_GATEWAY_AUTO_MIGRATE_FAIL_FAST", default=True
)