- config.py: Replace exists()+open() with try/except open() to avoid TOCTOU race on SSHFS mounts where stat can succeed but open can fail with FileNotFoundError. - uptime_kuma.py: Rename msg key to push_msg in logger extra dicts. Python LogRecord reserves the msg field; passing it in extra raises ValueError which was being silently swallowed by the except block, masking successful pushes as errors.
26 lines
858 B
Python
26 lines
858 B
Python
import os
|
|
import yaml
|
|
from pathlib import Path
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
ENV = os.getenv("ENV", "prod")
|
|
CLUSTER_SIZE_ETCD = int(os.getenv("CLUSTER_SIZE_ETCD", "3"))
|
|
CLUSTER_SIZE_PATRONI = int(os.getenv("CLUSTER_SIZE_PATRONI", "3"))
|
|
CLUSTER_SIZE_MONGODB = int(os.getenv("CLUSTER_SIZE_MONGODB", "3"))
|
|
CLUSTER_SIZE_RABBITMQ = int(os.getenv("CLUSTER_SIZE_RABBITMQ", "3"))
|
|
CLUSTER_SIZE_VAULT = int(os.getenv("CLUSTER_SIZE_VAULT", "3"))
|
|
REDIS_MODE = os.getenv("REDIS_MODE", "sentinel")
|
|
EXTERNAL_DOMAIN = os.getenv("EXTERNAL_DOMAIN", "iklim.co")
|
|
EXTERNAL_SUBDOMAIN_SUFFIX = os.getenv("EXTERNAL_SUBDOMAIN_SUFFIX", "")
|
|
|
|
def load_uk_tokens():
|
|
try:
|
|
with open("config/generated/uk_tokens.yml", "r") as f:
|
|
return yaml.safe_load(f) or {}
|
|
except (FileNotFoundError, OSError):
|
|
return {}
|
|
|
|
UK_TOKENS = load_uk_tokens()
|