aboutsummaryrefslogtreecommitdiff
path: root/generalresearch/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'generalresearch/config.py')
-rw-r--r--generalresearch/config.py57
1 files changed, 29 insertions, 28 deletions
diff --git a/generalresearch/config.py b/generalresearch/config.py
index 92eacc2..551f75a 100644
--- a/generalresearch/config.py
+++ b/generalresearch/config.py
@@ -1,7 +1,8 @@
+from __future__ import annotations
+
import os
from datetime import datetime, timezone
from pathlib import Path
-from typing import Optional
from pydantic import DirectoryPath, Field, MariaDBDsn, PostgresDsn, RedisDsn
from pydantic_settings import BaseSettings
@@ -40,67 +41,67 @@ def is_debug() -> bool:
class GRLBaseSettings(BaseSettings):
debug: bool = Field(default=True)
- redis: Optional[RedisDsn] = Field(default=None)
+ redis: RedisDsn | None = Field(default=None)
redis_timeout: float = Field(default=0.10)
- thl_redis: Optional[RedisDsn] = Field(default=None)
+ thl_redis: RedisDsn | None = Field(default=None)
- dask: Optional[DaskDsn] = Field(default=None, description="")
+ dask: DaskDsn | None = Field(default=None, description="")
- sentry: Optional[SentryDsn] = Field(
+ sentry: SentryDsn | None = Field(
default=None, description="The sentry.io DSN for connecting to a project"
)
- thl_mkpl_rw_db: Optional[MariaDBDsn] = Field(default=None)
- thl_mkpl_rr_db: Optional[MariaDBDsn] = Field(default=None)
+ thl_mkpl_rw_db: MariaDBDsn | None = Field(default=None)
+ thl_mkpl_rr_db: MariaDBDsn | None = Field(default=None)
# Primary DB, SELECT permissions
- thl_web_ro_db: Optional[PostgresDsn] = Field(default=None)
+ thl_web_ro_db: PostgresDsn | None = Field(default=None)
# Primary DB, SELECT, INSERT, UPDATE permissions
- thl_web_rw_db: Optional[PostgresDsn] = Field(default=None)
+ thl_web_rw_db: PostgresDsn | None = Field(default=None)
# Primary DB, SELECT, INSERT, UPDATE, DELETE permissions
- thl_web_rwd_db: Optional[PostgresDsn] = Field(default=None)
+ thl_web_rwd_db: PostgresDsn | None = Field(default=None)
# Slave/secondary/read-replica SELECT permission only
- thl_web_rr_db: Optional[PostgresDsn] = Field(default=None)
+ thl_web_rr_db: PostgresDsn | None = Field(default=None)
tmp_dir: DirectoryPath = Field(default=Path("/tmp"))
- spectrum_rw_db: Optional[MariaDBDsn] = Field(default=None)
- spectrum_rr_db: Optional[MariaDBDsn] = Field(default=None)
+ spectrum_rw_db: MariaDBDsn | None = Field(default=None)
+ spectrum_rr_db: MariaDBDsn | None = Field(default=None)
- precision_rw_db: Optional[MariaDBDsn] = Field(default=None)
- precision_rr_db: Optional[MariaDBDsn] = Field(default=None)
+ precision_rw_db: MariaDBDsn | None = Field(default=None)
+ precision_rr_db: MariaDBDsn | None = Field(default=None)
# --- GR ----
- gr_db: Optional[PostgresDsn] = Field(default=None)
- gr_redis: Optional[RedisDsn] = Field(default=None)
+ gr_db: PostgresDsn | None = Field(default=None)
+ gr_redis: RedisDsn | None = Field(default=None)
# --- GRL IQ ---
- grliq_db: Optional[PostgresDsn] = Field(default=None)
- mnt_grliq_archive_dir: Optional[str] = Field(
+ grliq_db: PostgresDsn | None = Field(default=None)
+ mnt_grliq_archive_dir: str | None = Field(
default=None,
description="Where gr-api can pull GRL-IQ Forensic archive items like"
"the captured screenshots.",
)
- mnt_gr_api_dir: Optional[str] = Field(
+ mnt_gr_api_dir: str | None = Field(
default=None,
description="Where gr-api can pull parquet files from.",
)
# --- TangoCard Configuration ---
- tango_platform_name: Optional[str] = Field(default=None)
- tango_platform_key: Optional[str] = Field(default=None)
- tango_account_id: Optional[str] = Field(default=None)
- tango_customer_id: Optional[str] = Field(default=None)
+ tango_platform_name: str | None = Field(default=None)
+ tango_platform_key: str | None = Field(default=None)
+ tango_account_id: str | None = Field(default=None)
+ tango_customer_id: str | None = Field(default=None)
# --- Keeping this here as we use these ids regardless of the AMT account
- amt_bonus_cashout_method_id: Optional[str] = Field(default=None)
- amt_assignment_cashout_method_id: Optional[str] = Field(default=None)
+ amt_bonus_cashout_method_id: str | None = Field(default=None)
+ amt_assignment_cashout_method_id: str | None = Field(default=None)
# --- Maxmind Configuration ---
- maxmind_account_id: Optional[str] = Field(default=None)
- maxmind_license_key: Optional[str] = Field(default=None)
+ maxmind_account_id: str | None = Field(default=None)
+ maxmind_license_key: str | None = Field(default=None)
EXAMPLE_PRODUCT_ID = "1108d053e4fa47c5b0dbdcd03a7981e7"