File size: 717 Bytes
bf292d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from pydantic import BaseSettings, AnyUrl
from typing import Optional, Dict

class Settings(BaseSettings):
    # AMQP
    AMQP_URL: AnyUrl  # e.g. amqps://user:pass@host:5671/%2F?heartbeat=30
    RABBIT_INSTANCE_NAME: str = "prod"
    RABBIT_EXCHANGE_TYPE: str = "topic"  # match your .NET Type
    RABBIT_ROUTING_KEY: str = ""         # match your .NET RoutingKeys ("" ok)
    RABBIT_PREFETCH: int = 1

    # Service identity
    SERVICE_ID: str = "monitor"          # "monitor"|"nmap"|...
    USE_TLS: bool = True

    # Optional exchange type overrides by prefix, like .NET ExchangeTypes
    EXCHANGE_TYPES: Dict[str, str] = {}

    class Config:
        case_sensitive = True

settings = Settings()  # env-driven