completed local setup with compose
Some checks failed
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
Some checks failed
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
"""Configuration management and client factories."""
|
||||
|
||||
from .factories import (
|
||||
EventBusFactory,
|
||||
MinIOClientFactory,
|
||||
Neo4jDriverFactory,
|
||||
QdrantClientFactory,
|
||||
@@ -28,7 +27,6 @@ __all__ = [
|
||||
"QdrantClientFactory",
|
||||
"Neo4jDriverFactory",
|
||||
"RedisClientFactory",
|
||||
"EventBusFactory",
|
||||
"get_settings",
|
||||
"init_settings",
|
||||
"create_vault_client",
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
|
||||
from typing import Any
|
||||
|
||||
import boto3 # type: ignore
|
||||
import hvac
|
||||
import redis.asyncio as redis
|
||||
from aiokafka import AIOKafkaConsumer, AIOKafkaProducer # type: ignore
|
||||
from minio import Minio
|
||||
from neo4j import GraphDatabase
|
||||
from qdrant_client import QdrantClient
|
||||
@@ -87,36 +85,3 @@ class RedisClientFactory: # pylint: disable=too-few-public-methods
|
||||
return redis.from_url(
|
||||
settings.redis_url, encoding="utf-8", decode_responses=True
|
||||
)
|
||||
|
||||
|
||||
class EventBusFactory:
|
||||
"""Factory for creating event bus clients"""
|
||||
|
||||
@staticmethod
|
||||
def create_kafka_producer(settings: BaseAppSettings) -> AIOKafkaProducer:
|
||||
"""Create Kafka producer"""
|
||||
return AIOKafkaProducer(
|
||||
bootstrap_servers=settings.kafka_bootstrap_servers,
|
||||
value_serializer=lambda v: v.encode("utf-8") if isinstance(v, str) else v,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def create_kafka_consumer(
|
||||
settings: BaseAppSettings, topics: list[str]
|
||||
) -> AIOKafkaConsumer:
|
||||
"""Create Kafka consumer"""
|
||||
return AIOKafkaConsumer(
|
||||
*topics,
|
||||
bootstrap_servers=settings.kafka_bootstrap_servers,
|
||||
value_deserializer=lambda m: m.decode("utf-8") if m else None,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def create_sqs_client(settings: BaseAppSettings) -> Any:
|
||||
"""Create SQS client"""
|
||||
return boto3.client("sqs", region_name=settings.aws_region)
|
||||
|
||||
@staticmethod
|
||||
def create_sns_client(settings: BaseAppSettings) -> Any:
|
||||
"""Create SNS client"""
|
||||
return boto3.client("sns", region_name=settings.aws_region)
|
||||
|
||||
@@ -8,7 +8,7 @@ class BaseAppSettings(BaseSettings):
|
||||
"""Base settings class for all services"""
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
env_file=".env", env_file_encoding="utf-8", case_sensitive=True, extra="ignore"
|
||||
env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore"
|
||||
)
|
||||
|
||||
# Service identification
|
||||
|
||||
@@ -67,27 +67,20 @@ async def create_redis_client(settings: BaseAppSettings) -> "redis.Redis[str]":
|
||||
|
||||
def create_event_bus(settings: BaseAppSettings) -> EventBus:
|
||||
"""Create event bus"""
|
||||
if settings.event_bus_type.lower() == "kafka":
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from ..events import KafkaEventBus
|
||||
|
||||
return KafkaEventBus(settings.kafka_bootstrap_servers)
|
||||
if settings.event_bus_type.lower() == "sqs":
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from ..events import SQSEventBus
|
||||
|
||||
return SQSEventBus(settings.aws_region)
|
||||
if settings.event_bus_type.lower() == "memory":
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from ..events import MemoryEventBus
|
||||
|
||||
return MemoryEventBus()
|
||||
|
||||
# Default to memory bus for unknown types
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from ..events import MemoryEventBus
|
||||
from libs.events import create_event_bus as _create_event_bus
|
||||
|
||||
return MemoryEventBus()
|
||||
# Extract NATS servers as a list
|
||||
nats_servers = [s.strip() for s in settings.nats_servers.split(",")]
|
||||
|
||||
return _create_event_bus(
|
||||
settings.event_bus_type,
|
||||
servers=nats_servers,
|
||||
stream_name=settings.nats_stream_name,
|
||||
consumer_group=settings.nats_consumer_group,
|
||||
bootstrap_servers=settings.kafka_bootstrap_servers,
|
||||
region_name=settings.aws_region,
|
||||
)
|
||||
|
||||
|
||||
def get_default_settings(**overrides: Any) -> BaseAppSettings:
|
||||
|
||||
Reference in New Issue
Block a user