from os import getenv trues = ("t", "true", "yes", "y", "1") # URLs DOMAIN = getenv("DOMAIN", "example.com") URL = getenv("URL", f"https://{DOMAIN}") # Access control ALLOWED_HOSTS = getenv("ALLOWED_HOSTS", f"127.0.0.1,{DOMAIN}").split(",") # CSRF CSRF_TRUSTED_ORIGINS = getenv("CSRF_TRUSTED_ORIGINS", URL).split(",") # Stripe BILLING_ENABLED = getenv("BILLING_ENABLED", "false").lower() in trues STRIPE_TEST = getenv("STRIPE_TEST", "true").lower() in trues STRIPE_API_KEY_TEST = getenv("STRIPE_API_KEY_TEST", "") STRIPE_PUBLIC_API_KEY_TEST = getenv("STRIPE_PUBLIC_API_KEY_TEST", "") STRIPE_API_KEY_PROD = getenv("STRIPE_API_KEY_PROD", "") STRIPE_PUBLIC_API_KEY_PROD = getenv("STRIPE_PUBLIC_API_KEY_PROD", "") STRIPE_ENDPOINT_SECRET = getenv("STRIPE_ENDPOINT_SECRET", "") STATIC_ROOT = getenv("STATIC_ROOT", "") SECRET_KEY = getenv("SECRET_KEY", "") STRIPE_ADMIN_COUPON = getenv("STRIPE_ADMIN_COUPON", "") REGISTRATION_OPEN = getenv("REGISTRATION_OPEN", "false").lower() in trues # Hook URL, do not include leading or trailing slash HOOK_PATH = "hook" ASSET_PATH = "asset" NOTIFY_TOPIC = getenv("NOTIFY_TOPIC", "great-fisk") ELASTICSEARCH_USERNAME = getenv("ELASTICSEARCH_USERNAME", "elastic") ELASTICSEARCH_PASSWORD = getenv("ELASTICSEARCH_PASSWORD", "changeme") ELASTICSEARCH_HOST = getenv("ELASTICSEARCH_HOST", "localhost") ELASTICSEARCH_TLS = getenv("ELASTICSEARCH_TLS", "false") in trues LAGO_API_KEY = getenv("LAGO_API_KEY", "") LAGO_ORG_ID = getenv("LAGO_ORG_ID", "") LAGO_URL = getenv("LAGO_URL", "") DEBUG = getenv("DEBUG", "false").lower() in trues PROFILER = getenv("PROFILER", "false").lower() in trues if DEBUG: import socket # only if you haven't already imported this hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) INTERNAL_IPS = [ip[: ip.rfind(".")] + ".1" for ip in ips] + [ "127.0.0.1", "10.0.2.2", ] SETTINGS_EXPORT = ["BILLING_ENABLED", "URL", "HOOK_PATH", "ASSET_PATH"]