Add base kubernetes support 2

This commit is contained in:
Urtzi Alfaro
2025-09-27 12:10:43 +02:00
parent 63a3f9c77a
commit 222f945466
50 changed files with 648 additions and 160 deletions

View File

@@ -40,9 +40,9 @@ class BaseServiceSettings(BaseSettings):
# ================================================================
# DATABASE CONFIGURATION
# ================================================================
# Primary database URL (should be overridden by each service)
DATABASE_URL: str = os.getenv("DATABASE_URL", "")
# Note: DATABASE_URL is defined as a property in each service-specific config
# to construct the URL from secure environment variables
# Database connection settings
DB_POOL_SIZE: int = int(os.getenv("DB_POOL_SIZE", "10"))
@@ -75,8 +75,23 @@ class BaseServiceSettings(BaseSettings):
# ================================================================
# RABBITMQ CONFIGURATION
# ================================================================
RABBITMQ_URL: str = os.getenv("RABBITMQ_URL", "amqp://bakery:forecast123@rabbitmq:5672/")
@property
def RABBITMQ_URL(self) -> str:
"""Build RabbitMQ URL from secure components"""
# Try complete URL first (for backward compatibility)
complete_url = os.getenv("RABBITMQ_URL")
if complete_url:
return complete_url
# Build from components (secure approach)
user = os.getenv("RABBITMQ_USER", "bakery")
password = os.getenv("RABBITMQ_PASSWORD", "forecast123")
host = os.getenv("RABBITMQ_HOST", "rabbitmq-service")
port = os.getenv("RABBITMQ_PORT", "5672")
vhost = os.getenv("RABBITMQ_VHOST", "/")
return f"amqp://{user}:{password}@{host}:{port}{vhost}"
RABBITMQ_EXCHANGE: str = os.getenv("RABBITMQ_EXCHANGE", "bakery_events")
RABBITMQ_QUEUE_PREFIX: str = os.getenv("RABBITMQ_QUEUE_PREFIX", "bakery")
RABBITMQ_RETRY_ATTEMPTS: int = int(os.getenv("RABBITMQ_RETRY_ATTEMPTS", "3"))