Coverage for services/rf-acquisition/src/config.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-25 16:18 +0000

1from pydantic_settings import BaseSettings 

2from typing import List 

3 

4 

5class Settings(BaseSettings): 

6 service_name: str = "rf-acquisition" 

7 service_port: int = 8001 

8 environment: str = "development" 

9 cors_origins: List[str] = ["*"] 

10 database_url: str = "postgresql://heimdall_user:changeme@postgres:5432/heimdall" 

11 redis_url: str = "redis://:changeme@redis:6379/0" 

12 

13 # Celery configuration 

14 celery_broker_url: str = "amqp://guest:guest@rabbitmq:5672//" 

15 celery_result_backend_url: str = "redis://:changeme@redis:6379/1" 

16 celery_check_required: bool = False # Set to True in production 

17 

18 # MinIO configuration 

19 minio_url: str = "http://minio:9000" 

20 minio_access_key: str = "minioadmin" 

21 minio_secret_key: str = "minioadmin" 

22 minio_bucket_raw_iq: str = "heimdall-raw-iq" 

23 

24 # WebSDR configuration 

25 websdr_timeout_seconds: int = 30 

26 websdr_retry_count: int = 3 

27 websdr_concurrent_limit: int = 7 

28 

29 class Config: 

30 env_file = ".env" 

31 case_sensitive = False 

32 env_prefix = "" 

33 

34 

35settings = Settings() 

36