{"id":32595238,"url":"https://github.com/tiraten-bot/obs-tools-usage","last_synced_at":"2026-04-15T19:38:23.785Z","repository":{"id":319865531,"uuid":"1079889343","full_name":"tiraten-bot/obs-tools-usage","owner":"tiraten-bot","description":"A modern microservice built with Go, implementing Domain-Driven Design (DDD), CQRS pattern, and Dependency Injection using Wire. This service provides comprehensive product management capabilities with both HTTP REST API and gRPC interfaces.","archived":false,"fork":false,"pushed_at":"2025-10-25T21:09:45.000Z","size":645,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-26T03:10:17.221Z","etag":null,"topics":["bash-script","docker","docker-compose","go","go-micro","grpc","logging","monitoring","tracing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiraten-bot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-20T14:41:10.000Z","updated_at":"2025-10-25T21:09:49.000Z","dependencies_parsed_at":"2025-10-26T03:10:37.386Z","dependency_job_id":"4cfdfe90-7013-4ef1-9ee9-55e06c30c3bf","html_url":"https://github.com/tiraten-bot/obs-tools-usage","commit_stats":null,"previous_names":["ozturkeniss/obs-tools-usage","tiraten-bot/obs-tools-usage"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/tiraten-bot/obs-tools-usage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiraten-bot%2Fobs-tools-usage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiraten-bot%2Fobs-tools-usage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiraten-bot%2Fobs-tools-usage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiraten-bot%2Fobs-tools-usage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiraten-bot","download_url":"https://codeload.github.com/tiraten-bot/obs-tools-usage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiraten-bot%2Fobs-tools-usage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31857614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash-script","docker","docker-compose","go","go-micro","grpc","logging","monitoring","tracing"],"created_at":"2025-10-30T03:34:36.289Z","updated_at":"2026-04-15T19:38:23.758Z","avatar_url":"https://github.com/tiraten-bot.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservices Architecture\n\n## System Overview\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"API Gateway\"\n        Gateway[FiberV2 Gateway\u003cbr/\u003eHTTP: 8083\u003cbr/\u003eLoad Balancer\u003cbr/\u003eCircuit Breaker\u003cbr/\u003eRate Limiting]\n    end\n    \n    subgraph \"Microservices\"\n        Product[Product Service\u003cbr/\u003eHTTP: 8080\u003cbr/\u003egRPC: 50050]\n        Basket[Basket Service\u003cbr/\u003eHTTP: 8081\u003cbr/\u003egRPC: 50051]\n        Payment[Payment Service\u003cbr/\u003eHTTP: 8082\u003cbr/\u003egRPC: 50052]\n        Notification[Notification Service\u003cbr/\u003eHTTP: 8084\u003cbr/\u003eEvent-Driven]\n    end\n    \n    subgraph \"Data Storage\"\n        PostgreSQL[(PostgreSQL\u003cbr/\u003ePort: 5432)]\n        Redis[(Redis\u003cbr/\u003ePort: 6379)]\n        MariaDB[(MariaDB\u003cbr/\u003ePort: 3306)]\n    end\n    \n    subgraph \"Message Broker\"\n        Kafka[Apache Kafka\u003cbr/\u003ePort: 9092\u003cbr/\u003eJMX: 9101]\n        Zookeeper[Zookeeper\u003cbr/\u003ePort: 2181]\n    end\n    \n    subgraph \"Clients\"\n        HTTPClient[HTTP Client]\n        GRPCClient[gRPC Client]\n    end\n    \n    HTTPClient --\u003e Gateway\n    GRPCClient --\u003e Gateway\n    \n    Gateway --\u003e Product\n    Gateway --\u003e Basket\n    Gateway --\u003e Payment\n    Gateway --\u003e Notification\n    \n    Product --\u003e PostgreSQL\n    Basket --\u003e Redis\n    Payment --\u003e MariaDB\n    Notification --\u003e PostgreSQL\n    \n    Basket --\u003e Product\n    Payment --\u003e Basket\n    Payment --\u003e Product\n    \n    Payment --\u003e Kafka\n    Kafka --\u003e Notification\n    Kafka --\u003e Zookeeper\n```\n\n## FiberV2 Gateway Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"External Layer\"\n        HTTPClient[HTTP Client]\n        AdminClient[Admin Client]\n    end\n    \n    subgraph \"Gateway Layer\"\n        Gateway[FiberV2 Gateway\u003cbr/\u003ePort: 8083]\n        Middleware[Middleware\u003cbr/\u003eCORS, Logging, Metrics\u003cbr/\u003eRate Limiting, Security]\n    end\n    \n    subgraph \"Routing Layer\"\n        Router[Router\u003cbr/\u003eService Routing\u003cbr/\u003ePath Rewriting]\n        LoadBalancer[Load Balancer\u003cbr/\u003eRound Robin\u003cbr/\u003eLeast Connections\u003cbr/\u003eWeighted Round Robin]\n    end\n    \n    subgraph \"Circuit Breaker Layer\"\n        CircuitBreaker[Circuit Breaker\u003cbr/\u003eFailure Detection\u003cbr/\u003eService Isolation\u003cbr/\u003eAuto Recovery]\n    end\n    \n    subgraph \"Proxy Layer\"\n        ReverseProxy[Reverse Proxy\u003cbr/\u003eRequest Forwarding\u003cbr/\u003eResponse Handling\u003cbr/\u003eHeader Management]\n    end\n    \n    subgraph \"Backend Services\"\n        ProductService[Product Service\u003cbr/\u003ePort: 8080]\n        BasketService[Basket Service\u003cbr/\u003ePort: 8081]\n        PaymentService[Payment Service\u003cbr/\u003ePort: 8082]\n    end\n    \n    HTTPClient --\u003e Gateway\n    AdminClient --\u003e Gateway\n    \n    Gateway --\u003e Middleware\n    Middleware --\u003e Router\n    \n    Router --\u003e LoadBalancer\n    LoadBalancer --\u003e CircuitBreaker\n    \n    CircuitBreaker --\u003e ReverseProxy\n    ReverseProxy --\u003e ProductService\n    ReverseProxy --\u003e BasketService\n    ReverseProxy --\u003e PaymentService\n```\n\n## FiberV2 Gateway Features\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Core Features\"\n        ReverseProxy[Reverse Proxy\u003cbr/\u003eRequest Forwarding\u003cbr/\u003eResponse Handling]\n        LoadBalancing[Load Balancing\u003cbr/\u003eRound Robin\u003cbr/\u003eLeast Connections\u003cbr/\u003eWeighted Round Robin]\n        CircuitBreaker[Circuit Breaker\u003cbr/\u003eFailure Detection\u003cbr/\u003eService Isolation\u003cbr/\u003eAuto Recovery]\n    end\n    \n    subgraph \"Security Features\"\n        RateLimiting[Rate Limiting\u003cbr/\u003eRequest Throttling\u003cbr/\u003eBurst Control]\n        CORSSupport[CORS Support\u003cbr/\u003eCross-Origin Requests\u003cbr/\u003eHeader Management]\n        SecurityHeaders[Security Headers\u003cbr/\u003eXSS Protection\u003cbr/\u003eCSRF Protection\u003cbr/\u003eHSTS]\n    end\n    \n    subgraph \"Monitoring Features\"\n        HealthChecks[Health Checks\u003cbr/\u003eService Monitoring\u003cbr/\u003eStatus Reporting]\n        Metrics[Prometheus Metrics\u003cbr/\u003eRequest Counters\u003cbr/\u003eResponse Times\u003cbr/\u003eError Rates]\n        Logging[Structured Logging\u003cbr/\u003eRequest Tracking\u003cbr/\u003eError Logging]\n    end\n    \n    subgraph \"Admin Features\"\n        AdminAPI[Admin API\u003cbr/\u003eService Management\u003cbr/\u003eConfiguration Updates]\n        StatusMonitoring[Status Monitoring\u003cbr/\u003eReal-time Health\u003cbr/\u003ePerformance Metrics]\n        ServiceDiscovery[Service Discovery\u003cbr/\u003eDynamic Backend\u003cbr/\u003eConfiguration]\n    end\n    \n    ReverseProxy --\u003e LoadBalancing\n    LoadBalancing --\u003e CircuitBreaker\n    CircuitBreaker --\u003e RateLimiting\n    RateLimiting --\u003e CORSSupport\n    CORSSupport --\u003e SecurityHeaders\n    SecurityHeaders --\u003e HealthChecks\n    HealthChecks --\u003e Metrics\n    Metrics --\u003e Logging\n    Logging --\u003e AdminAPI\n    AdminAPI --\u003e StatusMonitoring\n    StatusMonitoring --\u003e ServiceDiscovery\n```\n\n## FiberV2 Gateway API Endpoints\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Service Endpoints\"\n        ProductAPI[GET /api/products/*\u003cbr/\u003eProduct Service Proxy]\n        BasketAPI[GET /api/baskets/*\u003cbr/\u003eBasket Service Proxy]\n        PaymentAPI[GET /api/payments/*\u003cbr/\u003ePayment Service Proxy]\n        NotificationAPI[GET /api/notifications/*\u003cbr/\u003eNotification Service Proxy]\n    end\n    \n    subgraph \"Admin Endpoints\"\n        GatewayStatus[GET /admin/status\u003cbr/\u003eGateway Status]\n        ServiceStatus[GET /admin/services\u003cbr/\u003eService Status]\n        LoadBalancerStats[GET /admin/loadbalancer/:service\u003cbr/\u003eLoad Balancer Stats]\n        CircuitBreakerStats[GET /admin/circuitbreaker/:service\u003cbr/\u003eCircuit Breaker Stats]\n    end\n    \n    subgraph \"Health Endpoints\"\n        HealthCheck[GET /health\u003cbr/\u003eHealth Check]\n        DetailedHealth[GET /health/detailed\u003cbr/\u003eDetailed Health Check]\n        ReadinessCheck[GET /health/ready\u003cbr/\u003eReadiness Check]\n        LivenessCheck[GET /health/live\u003cbr/\u003eLiveness Check]\n    end\n    \n    subgraph \"Metrics Endpoint\"\n        Metrics[GET /metrics\u003cbr/\u003ePrometheus Metrics]\n    end\n    \n    ProductAPI --\u003e GatewayStatus\n    BasketAPI --\u003e ServiceStatus\n    PaymentAPI --\u003e LoadBalancerStats\n    NotificationAPI --\u003e CircuitBreakerStats\n    GatewayStatus --\u003e CircuitBreakerStats\n    ServiceStatus --\u003e HealthCheck\n    LoadBalancerStats --\u003e DetailedHealth\n    CircuitBreakerStats --\u003e ReadinessCheck\n    HealthCheck --\u003e LivenessCheck\n    DetailedHealth --\u003e Metrics\n```\n\n## FiberV2 Gateway Environment Variables\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Server Configuration\"\n        PORT[PORT: 8080]\n        LOG_LEVEL[LOG_LEVEL: info]\n        LOG_FORMAT[LOG_FORMAT: json]\n    end\n    \n    subgraph \"Service Configuration\"\n        PRODUCT_ENABLED[PRODUCT_SERVICE_ENABLED: true]\n        PRODUCT_URLS[PRODUCT_SERVICE_URLS: http://product-service:8080]\n        BASKET_ENABLED[BASKET_SERVICE_ENABLED: true]\n        BASKET_URLS[BASKET_SERVICE_URLS: http://basket-service:8081]\n        PAYMENT_ENABLED[PAYMENT_SERVICE_ENABLED: true]\n        PAYMENT_URLS[PAYMENT_SERVICE_URLS: http://payment-service:8082]\n        NOTIFICATION_ENABLED[NOTIFICATION_SERVICE_ENABLED: true]\n        NOTIFICATION_URLS[NOTIFICATION_SERVICE_URLS: http://notification-service:8084]\n    end\n    \n    subgraph \"Circuit Breaker Configuration\"\n        CB_ENABLED[CIRCUIT_BREAKER_ENABLED: true]\n        CB_MAX_REQUESTS[CIRCUIT_BREAKER_MAX_REQUESTS: 10]\n        CB_INTERVAL[CIRCUIT_BREAKER_INTERVAL: 60]\n        CB_TIMEOUT[CIRCUIT_BREAKER_TIMEOUT: 30]\n    end\n    \n    subgraph \"Load Balancer Configuration\"\n        LB_ENABLED[LOAD_BALANCER_ENABLED: true]\n        LB_STRATEGY[LOAD_BALANCER_STRATEGY: round_robin]\n    end\n    \n    subgraph \"Rate Limiting Configuration\"\n        RL_ENABLED[RATE_LIMIT_ENABLED: true]\n        RL_REQUESTS[RATE_LIMIT_REQUESTS: 100]\n        RL_WINDOW[RATE_LIMIT_WINDOW: 1m]\n        RL_BURST[RATE_LIMIT_BURST: 10]\n    end\n    \n    PORT --\u003e LOG_LEVEL\n    LOG_LEVEL --\u003e LOG_FORMAT\n    LOG_FORMAT --\u003e PRODUCT_ENABLED\n    PRODUCT_ENABLED --\u003e PRODUCT_URLS\n    PRODUCT_URLS --\u003e BASKET_ENABLED\n    BASKET_ENABLED --\u003e BASKET_URLS\n    BASKET_URLS --\u003e PAYMENT_ENABLED\n    PAYMENT_ENABLED --\u003e PAYMENT_URLS\n    PAYMENT_URLS --\u003e NOTIFICATION_ENABLED\n    NOTIFICATION_ENABLED --\u003e NOTIFICATION_URLS\n    NOTIFICATION_URLS --\u003e CB_ENABLED\n    CB_ENABLED --\u003e CB_MAX_REQUESTS\n    CB_MAX_REQUESTS --\u003e CB_INTERVAL\n    CB_INTERVAL --\u003e CB_TIMEOUT\n    CB_TIMEOUT --\u003e LB_ENABLED\n    LB_ENABLED --\u003e LB_STRATEGY\n    LB_STRATEGY --\u003e RL_ENABLED\n    RL_ENABLED --\u003e RL_REQUESTS\n    RL_REQUESTS --\u003e RL_WINDOW\n    RL_WINDOW --\u003e RL_BURST\n```\n\n## Product Service Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"External Layer\"\n        HTTP[HTTP API\u003cbr/\u003ePort 8080]\n        GRPC[gRPC API\u003cbr/\u003ePort 50050]\n        DB[(PostgreSQL\u003cbr/\u003ePort 5432)]\n    end\n    \n    subgraph \"Interface Layer\"\n        HTTPHandler[HTTP Handlers]\n        GRPCHandler[gRPC Handlers]\n        Middleware[Middleware\u003cbr/\u003eCORS, Logging, Metrics]\n    end\n    \n    subgraph \"Application Layer (CQRS)\"\n        CommandHandler[Command Handler]\n        QueryHandler[Query Handler]\n        UseCase[Use Cases]\n        DTO[DTOs]\n    end\n    \n    subgraph \"Domain Layer\"\n        Entity[Product Entity]\n        Repository[Repository Interface]\n        DomainService[Domain Service]\n    end\n    \n    subgraph \"Infrastructure Layer\"\n        RepoImpl[Repository Implementation]\n        Config[Configuration]\n        Logger[Logging]\n        Metrics[Prometheus Metrics]\n    end\n    \n    HTTP --\u003e HTTPHandler\n    GRPC --\u003e GRPCHandler\n    HTTPHandler --\u003e Middleware\n    GRPCHandler --\u003e Middleware\n    \n    HTTPHandler --\u003e CommandHandler\n    HTTPHandler --\u003e QueryHandler\n    GRPCHandler --\u003e CommandHandler\n    GRPCHandler --\u003e QueryHandler\n    \n    CommandHandler --\u003e UseCase\n    QueryHandler --\u003e UseCase\n    UseCase --\u003e Repository\n    UseCase --\u003e DomainService\n    \n    Repository --\u003e RepoImpl\n    RepoImpl --\u003e DB\n    \n    UseCase --\u003e Config\n    UseCase --\u003e Logger\n    UseCase --\u003e Metrics\n```\n\n## Product Service API Endpoints\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"HTTP Endpoints\"\n        GET1[GET /products\u003cbr/\u003eGet all products]\n        GET2[GET /products/{id}\u003cbr/\u003eGet product by ID]\n        POST[POST /products\u003cbr/\u003eCreate new product]\n        PUT[PUT /products/{id}\u003cbr/\u003eUpdate product]\n        DELETE[DELETE /products/{id}\u003cbr/\u003eDelete product]\n        HEALTH[GET /health\u003cbr/\u003eHealth check]\n    end\n    \n    subgraph \"gRPC Methods\"\n        CreateProduct[CreateProduct]\n        GetProduct[GetProduct]\n        GetProducts[GetProducts]\n        UpdateProduct[UpdateProduct]\n        DeleteProduct[DeleteProduct]\n    end\n```\n\n## Product Service Environment Variables\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Server Configuration\"\n        PORT[PORT: 8080]\n        GRPC_PORT[GRPC_PORT: 50050]\n        LOG_LEVEL[LOG_LEVEL: info]\n    end\n    \n    subgraph \"Database Configuration\"\n        DB_HOST[DB_HOST: localhost]\n        DB_PORT[DB_PORT: 5432]\n        DB_USER[DB_USER: postgres]\n        DB_PASSWORD[DB_PASSWORD: password]\n        DB_NAME[DB_NAME: product_service]\n    end\n    \n    PORT --\u003e GRPC_PORT\n    GRPC_PORT --\u003e LOG_LEVEL\n    LOG_LEVEL --\u003e DB_HOST\n    DB_HOST --\u003e DB_PORT\n    DB_PORT --\u003e DB_USER\n    DB_USER --\u003e DB_PASSWORD\n    DB_PASSWORD --\u003e DB_NAME\n```\n\n## Basket Service Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"External Layer\"\n        HTTP[HTTP API\u003cbr/\u003ePort 8081]\n        GRPC[gRPC API\u003cbr/\u003ePort 50051]\n        Redis[(Redis\u003cbr/\u003ePort 6379)]\n    end\n    \n    subgraph \"Interface Layer\"\n        HTTPHandler[HTTP Handlers]\n        GRPCHandler[gRPC Handlers]\n        Middleware[Middleware\u003cbr/\u003eCORS, Logging, Metrics]\n    end\n    \n    subgraph \"Application Layer (CQRS)\"\n        CommandHandler[Command Handler]\n        QueryHandler[Query Handler]\n        UseCase[Use Cases]\n        DTO[DTOs]\n    end\n    \n    subgraph \"Domain Layer\"\n        Entity[Basket Entity]\n        Repository[Repository Interface]\n        ProductClient[Product Client]\n    end\n    \n    subgraph \"Infrastructure Layer\"\n        RedisImpl[Redis Implementation]\n        GRPCClient[gRPC Product Client]\n        Config[Configuration]\n        Logger[Logging]\n        Metrics[Prometheus Metrics]\n    end\n    \n    HTTP --\u003e HTTPHandler\n    GRPC --\u003e GRPCHandler\n    HTTPHandler --\u003e Middleware\n    GRPCHandler --\u003e Middleware\n    \n    HTTPHandler --\u003e CommandHandler\n    HTTPHandler --\u003e QueryHandler\n    GRPCHandler --\u003e CommandHandler\n    GRPCHandler --\u003e QueryHandler\n    \n    CommandHandler --\u003e UseCase\n    QueryHandler --\u003e UseCase\n    UseCase --\u003e Repository\n    UseCase --\u003e ProductClient\n    \n    Repository --\u003e RedisImpl\n    RedisImpl --\u003e Redis\n    \n    ProductClient --\u003e GRPCClient\n    GRPCClient --\u003e Product\n    \n    UseCase --\u003e Config\n    UseCase --\u003e Logger\n    UseCase --\u003e Metrics\n```\n\n## Basket Service API Endpoints\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Basket Management\"\n        GET_BASKET[GET /baskets/{user_id}\u003cbr/\u003eGet user basket]\n        CREATE_BASKET[POST /baskets\u003cbr/\u003eCreate new basket]\n        DELETE_BASKET[DELETE /baskets/{user_id}\u003cbr/\u003eDelete basket]\n    end\n    \n    subgraph \"Item Management\"\n        ADD_ITEM[POST /baskets/{user_id}/items\u003cbr/\u003eAdd item]\n        UPDATE_ITEM[PUT /baskets/{user_id}/items/{product_id}\u003cbr/\u003eUpdate quantity]\n        REMOVE_ITEM[DELETE /baskets/{user_id}/items/{product_id}\u003cbr/\u003eRemove item]\n        CLEAR_ITEMS[DELETE /baskets/{user_id}/items\u003cbr/\u003eClear all items]\n    end\n    \n    subgraph \"Health Check\"\n        HEALTH[GET /health\u003cbr/\u003eHealth check]\n    end\n    \n    GET_BASKET --\u003e ADD_ITEM\n    ADD_ITEM --\u003e UPDATE_ITEM\n    UPDATE_ITEM --\u003e REMOVE_ITEM\n    REMOVE_ITEM --\u003e CLEAR_ITEMS\n    CLEAR_ITEMS --\u003e HEALTH\n```\n\n## Basket Service Environment Variables\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Server Configuration\"\n        PORT[PORT: 8081]\n        LOG_LEVEL[LOG_LEVEL: info]\n    end\n    \n    subgraph \"Redis Configuration\"\n        REDIS_HOST[REDIS_HOST: localhost]\n        REDIS_PORT[REDIS_PORT: 6379]\n        REDIS_PASSWORD[REDIS_PASSWORD: ]\n        REDIS_DB[REDIS_DB: 0]\n    end\n    \n    subgraph \"Service Configuration\"\n        PRODUCT_SERVICE_URL[PRODUCT_SERVICE_URL: localhost:50050]\n    end\n    \n    PORT --\u003e LOG_LEVEL\n    LOG_LEVEL --\u003e REDIS_HOST\n    REDIS_HOST --\u003e REDIS_PORT\n    REDIS_PORT --\u003e REDIS_PASSWORD\n    REDIS_PASSWORD --\u003e REDIS_DB\n    REDIS_DB --\u003e PRODUCT_SERVICE_URL\n```\n\n## Payment Service Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"External Layer\"\n        HTTP[HTTP API\u003cbr/\u003ePort 8082]\n        GRPC[gRPC API\u003cbr/\u003ePort 50052]\n        MariaDB[(MariaDB\u003cbr/\u003ePort 3306)]\n    end\n    \n    subgraph \"Interface Layer\"\n        HTTPHandler[HTTP Handlers]\n        GRPCHandler[gRPC Handlers]\n        Middleware[Middleware\u003cbr/\u003eCORS, Logging, Metrics]\n    end\n    \n    subgraph \"Application Layer (CQRS)\"\n        CommandHandler[Command Handler]\n        QueryHandler[Query Handler]\n        UseCase[Use Cases]\n        DTO[DTOs]\n    end\n    \n    subgraph \"Domain Layer\"\n        Entity[Payment Entity]\n        Repository[Repository Interface]\n        BasketClient[Basket Client]\n        ProductClient[Product Client]\n    end\n    \n    subgraph \"Infrastructure Layer\"\n        MariaDBImpl[MariaDB Implementation]\n        GRPCClient[gRPC Clients]\n        Config[Configuration]\n        Logger[Logging]\n        Metrics[Prometheus Metrics]\n        KafkaPublisher[Kafka Publisher]\n    end\n    \n    HTTP --\u003e HTTPHandler\n    GRPC --\u003e GRPCHandler\n    HTTPHandler --\u003e Middleware\n    GRPCHandler --\u003e Middleware\n    \n    HTTPHandler --\u003e CommandHandler\n    HTTPHandler --\u003e QueryHandler\n    GRPCHandler --\u003e CommandHandler\n    GRPCHandler --\u003e QueryHandler\n    \n    CommandHandler --\u003e UseCase\n    QueryHandler --\u003e UseCase\n    UseCase --\u003e Repository\n    UseCase --\u003e BasketClient\n    UseCase --\u003e ProductClient\n    \n    Repository --\u003e MariaDBImpl\n    MariaDBImpl --\u003e MariaDB\n    \n    BasketClient --\u003e GRPCClient\n    ProductClient --\u003e GRPCClient\n    GRPCClient --\u003e Basket\n    GRPCClient --\u003e Product\n    \n    UseCase --\u003e Config\n    UseCase --\u003e Logger\n    UseCase --\u003e Metrics\n    UseCase --\u003e KafkaPublisher\n```\n\n## Payment Service API Endpoints\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Payment Management\"\n        CREATE_PAYMENT[POST /payments\u003cbr/\u003eCreate payment]\n        GET_PAYMENT[GET /payments/{id}\u003cbr/\u003eGet payment]\n        PROCESS_PAYMENT[POST /payments/{id}/process\u003cbr/\u003eProcess payment]\n        CANCEL_PAYMENT[POST /payments/{id}/cancel\u003cbr/\u003eCancel payment]\n        REFUND_PAYMENT[POST /payments/{id}/refund\u003cbr/\u003eRefund payment]\n    end\n    \n    subgraph \"Payment History\"\n        GET_PAYMENTS[GET /payments\u003cbr/\u003eGet all payments]\n        GET_USER_PAYMENTS[GET /users/{user_id}/payments\u003cbr/\u003eGet user payments]\n    end\n    \n    subgraph \"Health Check\"\n        HEALTH[GET /health\u003cbr/\u003eHealth check]\n    end\n    \n    CREATE_PAYMENT --\u003e GET_PAYMENT\n    GET_PAYMENT --\u003e PROCESS_PAYMENT\n    PROCESS_PAYMENT --\u003e CANCEL_PAYMENT\n    CANCEL_PAYMENT --\u003e REFUND_PAYMENT\n    REFUND_PAYMENT --\u003e GET_PAYMENTS\n    GET_PAYMENTS --\u003e GET_USER_PAYMENTS\n    GET_USER_PAYMENTS --\u003e HEALTH\n```\n\n## Payment Service Environment Variables\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Server Configuration\"\n        PORT[PORT: 8082]\n        LOG_LEVEL[LOG_LEVEL: info]\n    end\n    \n    subgraph \"Database Configuration\"\n        DB_HOST[DB_HOST: localhost]\n        DB_PORT[DB_PORT: 3306]\n        DB_USER[DB_USER: payment]\n        DB_PASSWORD[DB_PASSWORD: password]\n        DB_NAME[DB_NAME: payment_service]\n        DB_SSL_MODE[DB_SSL_MODE: false]\n    end\n    \n    subgraph \"Service Configuration\"\n        BASKET_SERVICE_URL[BASKET_SERVICE_URL: localhost:50051]\n        PRODUCT_SERVICE_URL[PRODUCT_SERVICE_URL: localhost:50050]\n    end\n    \n    PORT --\u003e LOG_LEVEL\n    LOG_LEVEL --\u003e DB_HOST\n    DB_HOST --\u003e DB_PORT\n    DB_PORT --\u003e DB_USER\n    DB_USER --\u003e DB_PASSWORD\n    DB_PASSWORD --\u003e DB_NAME\n    DB_NAME --\u003e DB_SSL_MODE\n    DB_SSL_MODE --\u003e BASKET_SERVICE_URL\n    BASKET_SERVICE_URL --\u003e PRODUCT_SERVICE_URL\n```\n\n## Notification Service API Endpoints\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Notification Management\"\n        CREATE_NOTIFICATION[POST /notifications\u003cbr/\u003eCreate notification]\n        GET_NOTIFICATION[GET /notifications/{id}\u003cbr/\u003eGet notification]\n        UPDATE_NOTIFICATION[PUT /notifications/{id}\u003cbr/\u003eUpdate notification]\n        DELETE_NOTIFICATION[DELETE /notifications/{id}\u003cbr/\u003eDelete notification]\n        SEND_NOTIFICATION[POST /notifications/{id}/send\u003cbr/\u003eSend notification]\n    end\n    \n    subgraph \"Notification Actions\"\n        MARK_AS_READ[POST /notifications/{id}/read\u003cbr/\u003eMark as read]\n        MARK_ALL_READ[POST /notifications/read-all\u003cbr/\u003eMark all as read]\n        RETRY_NOTIFICATION[POST /notifications/{id}/retry\u003cbr/\u003eRetry failed notification]\n    end\n    \n    subgraph \"Bulk Operations\"\n        BULK_CREATE[POST /notifications/bulk\u003cbr/\u003eBulk create notifications]\n        SCHEDULE_NOTIFICATION[POST /notifications/schedule\u003cbr/\u003eSchedule notification]\n        CLEANUP_EXPIRED[POST /notifications/cleanup\u003cbr/\u003eCleanup expired notifications]\n    end\n    \n    subgraph \"Query Operations\"\n        GET_NOTIFICATIONS[GET /notifications\u003cbr/\u003eGet notifications]\n        GET_UNREAD[GET /notifications/unread\u003cbr/\u003eGet unread notifications]\n        GET_STATS[GET /notifications/stats\u003cbr/\u003eGet notification statistics]\n    end\n    \n    subgraph \"Health Check\"\n        HEALTH[GET /health\u003cbr/\u003eHealth check]\n        METRICS[GET /metrics\u003cbr/\u003ePrometheus metrics]\n    end\n    \n    CREATE_NOTIFICATION --\u003e GET_NOTIFICATION\n    GET_NOTIFICATION --\u003e UPDATE_NOTIFICATION\n    UPDATE_NOTIFICATION --\u003e DELETE_NOTIFICATION\n    DELETE_NOTIFICATION --\u003e SEND_NOTIFICATION\n    SEND_NOTIFICATION --\u003e MARK_AS_READ\n    MARK_AS_READ --\u003e MARK_ALL_READ\n    MARK_ALL_READ --\u003e RETRY_NOTIFICATION\n    RETRY_NOTIFICATION --\u003e BULK_CREATE\n    BULK_CREATE --\u003e SCHEDULE_NOTIFICATION\n    SCHEDULE_NOTIFICATION --\u003e CLEANUP_EXPIRED\n    CLEANUP_EXPIRED --\u003e GET_NOTIFICATIONS\n    GET_NOTIFICATIONS --\u003e GET_UNREAD\n    GET_UNREAD --\u003e GET_STATS\n    GET_STATS --\u003e HEALTH\n    HEALTH --\u003e METRICS\n```\n\n## Notification Service Environment Variables\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Server Configuration\"\n        PORT[PORT: 8084]\n        LOG_LEVEL[LOG_LEVEL: info]\n        LOG_FORMAT[LOG_FORMAT: json]\n    end\n    \n    subgraph \"Database Configuration\"\n        DB_HOST[DB_HOST: localhost]\n        DB_PORT[DB_PORT: 5432]\n        DB_USER[DB_USER: postgres]\n        DB_PASSWORD[DB_PASSWORD: password]\n        DB_NAME[DB_NAME: notification_service]\n        DB_SSL_MODE[DB_SSL_MODE: disable]\n    end\n    \n    subgraph \"Kafka Configuration\"\n        KAFKA_BROKERS[KAFKA_BROKERS: localhost:9092]\n    end\n    \n    subgraph \"Notification Configuration\"\n        DEFAULT_RETRY_ATTEMPTS[DEFAULT_RETRY_ATTEMPTS: 3]\n        NOTIFICATION_TTL[NOTIFICATION_TTL: 24h]\n        CLEANUP_INTERVAL[CLEANUP_INTERVAL: 1h]\n    end\n    \n    PORT --\u003e LOG_LEVEL\n    LOG_LEVEL --\u003e LOG_FORMAT\n    LOG_FORMAT --\u003e DB_HOST\n    DB_HOST --\u003e DB_PORT\n    DB_PORT --\u003e DB_USER\n    DB_USER --\u003e DB_PASSWORD\n    DB_PASSWORD --\u003e DB_NAME\n    DB_NAME --\u003e DB_SSL_MODE\n    DB_SSL_MODE --\u003e KAFKA_BROKERS\n    KAFKA_BROKERS --\u003e DEFAULT_RETRY_ATTEMPTS\n    DEFAULT_RETRY_ATTEMPTS --\u003e NOTIFICATION_TTL\n    NOTIFICATION_TTL --\u003e CLEANUP_INTERVAL\n```\n\n## Event-Driven Architecture with Kafka\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Event Publishers\"\n        PaymentService[Payment Service]\n        ProductService[Product Service]\n        BasketService[Basket Service]\n        UserService[User Service]\n        OrderService[Order Service]\n    end\n    \n    subgraph \"Kafka Topics\"\n        PaymentEvents[payment-events]\n        StockEvents[stock-events]\n        BasketEvents[basket-events]\n        UserEvents[user-events]\n        OrderEvents[order-events]\n        SystemEvents[system-events]\n        MarketingEvents[marketing-events]\n    end\n    \n    subgraph \"Event Types\"\n        PaymentCompleted[Payment Completed]\n        PaymentFailed[Payment Failed]\n        PaymentRefunded[Payment Refunded]\n        StockUpdated[Stock Updated]\n        StockLow[Stock Low]\n        StockOut[Stock Out]\n        BasketCleared[Basket Cleared]\n        BasketAbandoned[Basket Abandoned]\n        UserRegistered[User Registered]\n        OrderCreated[Order Created]\n        OrderShipped[Order Shipped]\n        SystemMaintenance[System Maintenance]\n        PromotionCreated[Promotion Created]\n    end\n    \n    subgraph \"Event Consumers\"\n        ProductService[Product Service]\n        BasketService[Basket Service]\n        NotificationService[Notification Service]\n    end\n    \n    PaymentService --\u003e PaymentEvents\n    ProductService --\u003e StockEvents\n    BasketService --\u003e BasketEvents\n    UserService --\u003e UserEvents\n    OrderService --\u003e OrderEvents\n    SystemService --\u003e SystemEvents\n    MarketingService --\u003e MarketingEvents\n    \n    PaymentEvents --\u003e PaymentCompleted\n    PaymentEvents --\u003e PaymentFailed\n    PaymentEvents --\u003e PaymentRefunded\n    \n    StockEvents --\u003e StockUpdated\n    StockEvents --\u003e StockLow\n    StockEvents --\u003e StockOut\n    \n    BasketEvents --\u003e BasketCleared\n    BasketEvents --\u003e BasketAbandoned\n    \n    UserEvents --\u003e UserRegistered\n    OrderEvents --\u003e OrderCreated\n    OrderEvents --\u003e OrderShipped\n    SystemEvents --\u003e SystemMaintenance\n    MarketingEvents --\u003e PromotionCreated\n    \n    PaymentCompleted --\u003e NotificationService\n    PaymentFailed --\u003e NotificationService\n    PaymentRefunded --\u003e NotificationService\n    StockUpdated --\u003e NotificationService\n    StockLow --\u003e NotificationService\n    StockOut --\u003e NotificationService\n    BasketCleared --\u003e NotificationService\n    BasketAbandoned --\u003e NotificationService\n    UserRegistered --\u003e NotificationService\n    OrderCreated --\u003e NotificationService\n    OrderShipped --\u003e NotificationService\n    SystemMaintenance --\u003e NotificationService\n    PromotionCreated --\u003e NotificationService\n```\n\n## Docker Services Configuration\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Gateway Services\"\n        Gateway[fiberv2-gateway\u003cbr/\u003ePort: 8083\u003cbr/\u003eLoad Balancer\u003cbr/\u003eCircuit Breaker\u003cbr/\u003eRate Limiting]\n    end\n    \n    subgraph \"Application Services\"\n        ProductService[product-service\u003cbr/\u003ePorts: 8080, 50050]\n        BasketService[basket-service\u003cbr/\u003ePorts: 8081, 50051]\n        PaymentService[payment-service\u003cbr/\u003ePorts: 8082, 50052]\n        NotificationService[notification-service\u003cbr/\u003ePort: 8084\u003cbr/\u003eEvent-Driven]\n    end\n    \n    subgraph \"Database Services\"\n        PostgreSQL[postgres\u003cbr/\u003ePort: 5432]\n        Redis[redis\u003cbr/\u003ePort: 6379]\n        MariaDB[mariadb\u003cbr/\u003ePort: 3306]\n    end\n    \n    subgraph \"Message Broker Services\"\n        Kafka[kafka\u003cbr/\u003ePorts: 9092, 9101]\n        Zookeeper[zookeeper\u003cbr/\u003ePort: 2181]\n    end\n    \n    subgraph \"Dependencies\"\n        Gateway --\u003e ProductService\n        Gateway --\u003e BasketService\n        Gateway --\u003e PaymentService\n        Gateway --\u003e NotificationService\n        ProductService --\u003e PostgreSQL\n        BasketService --\u003e Redis\n        PaymentService --\u003e MariaDB\n        NotificationService --\u003e PostgreSQL\n        BasketService --\u003e ProductService\n        PaymentService --\u003e BasketService\n        PaymentService --\u003e ProductService\n        PaymentService --\u003e Kafka\n        Kafka --\u003e NotificationService\n        Kafka --\u003e Zookeeper\n    end\n```\n\n## Technology Stack\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Programming Language\"\n        Go[Go 1.22+]\n    end\n    \n    subgraph \"Gateway Frameworks\"\n        Fiber[Fiber HTTP Framework]\n        FastHTTP[FastHTTP]\n        CircuitBreaker[Circuit Breaker]\n        LoadBalancer[Load Balancer]\n    end\n    \n    subgraph \"Microservice Frameworks\"\n        Gin[Gin HTTP Framework]\n        GRPC[gRPC Framework]\n        Wire[Wire Dependency Injection]\n    end\n    \n    subgraph \"Databases\"\n        PostgreSQL[PostgreSQL]\n        Redis[Redis]\n        MariaDB[MariaDB]\n    end\n    \n    subgraph \"Message Broker\"\n        Kafka[Apache Kafka]\n        Zookeeper[Zookeeper]\n    end\n    \n    subgraph \"Monitoring\"\n        Prometheus[Prometheus Metrics]\n        Logrus[Logrus Logging]\n    end\n    \n    subgraph \"Architecture Patterns\"\n        DDD[Domain Driven Design]\n        CQRS[CQRS Pattern]\n        CleanArch[Clean Architecture]\n        EventDriven[Event-Driven Architecture]\n        GatewayPattern[API Gateway Pattern]\n    end\n    \n    Go --\u003e Fiber\n    Go --\u003e Gin\n    Go --\u003e GRPC\n    Go --\u003e Wire\n    \n    Fiber --\u003e FastHTTP\n    Fiber --\u003e CircuitBreaker\n    Fiber --\u003e LoadBalancer\n    \n    Gin --\u003e PostgreSQL\n    GRPC --\u003e Redis\n    Wire --\u003e MariaDB\n    \n    PostgreSQL --\u003e Kafka\n    Redis --\u003e Zookeeper\n    MariaDB --\u003e Prometheus\n    \n    Kafka --\u003e Logrus\n    Zookeeper --\u003e DDD\n    \n    Prometheus --\u003e CQRS\n    Logrus --\u003e CleanArch\n    DDD --\u003e EventDriven\n    EventDriven --\u003e GatewayPattern\n```\n\n## Development Workflow\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Setup Phase\"\n        Setup[make setup]\n        InstallDeps[make install-deps]\n        Proto[make proto]\n    end\n    \n    subgraph \"Development Phase\"\n        Dev[make dev]\n        Build[make build]\n        Test[make test]\n        Lint[make lint]\n    end\n    \n    subgraph \"Deployment Phase\"\n        DockerBuild[make docker-build]\n        DockerRun[make docker-run]\n        ServicesStart[make services-start]\n    end\n    \n    subgraph \"Maintenance Phase\"\n        ServicesStop[make services-stop]\n        ServicesRestart[make services-restart]\n        Clean[make clean]\n    end\n    \n    Setup --\u003e InstallDeps\n    InstallDeps --\u003e Proto\n    Proto --\u003e Dev\n    Dev --\u003e Build\n    Build --\u003e Test\n    Test --\u003e Lint\n    Lint --\u003e DockerBuild\n    DockerBuild --\u003e DockerRun\n    DockerRun --\u003e ServicesStart\n    ServicesStart --\u003e ServicesStop\n    ServicesStop --\u003e ServicesRestart\n    ServicesRestart --\u003e Clean\n```\n\n## Database Schema Overview\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\nerDiagram\n    PRODUCTS {\n        int id PK\n        string name\n        string description\n        decimal price\n        int stock_quantity\n        string category\n        string image_url\n        timestamp created_at\n        timestamp updated_at\n    }\n    \n    BASKETS {\n        string id PK\n        string user_id\n        decimal total\n        timestamp created_at\n        timestamp updated_at\n    }\n    \n    BASKET_ITEMS {\n        string id PK\n        string basket_id FK\n        int product_id FK\n        string name\n        int quantity\n        decimal price\n        decimal subtotal\n        string category\n        timestamp created_at\n    }\n    \n    PAYMENTS {\n        string id PK\n        string user_id\n        string basket_id FK\n        decimal amount\n        string currency\n        string status\n        string method\n        string provider\n        string provider_id\n        string description\n        json metadata\n        timestamp created_at\n        timestamp updated_at\n        timestamp processed_at\n        timestamp expires_at\n    }\n    \n    PAYMENT_ITEMS {\n        string id PK\n        string payment_id FK\n        int product_id FK\n        string name\n        int quantity\n        decimal price\n        decimal subtotal\n        string category\n        timestamp created_at\n    }\n    \n    BASKETS ||--o{ BASKET_ITEMS : contains\n    PAYMENTS ||--o{ PAYMENT_ITEMS : contains\n    PRODUCTS ||--o{ BASKET_ITEMS : referenced_by\n    PRODUCTS ||--o{ PAYMENT_ITEMS : referenced_by\n```\n\n## API Request Flow\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\nsequenceDiagram\n    participant Client\n    participant ProductService\n    participant BasketService\n    participant PaymentService\n    participant Database\n    participant Kafka\n    \n    Client-\u003e\u003eProductService: GET /products\n    ProductService-\u003e\u003eDatabase: Query products\n    Database--\u003e\u003eProductService: Return products\n    ProductService--\u003e\u003eClient: Products response\n    \n    Client-\u003e\u003eBasketService: POST /baskets/{user_id}/items\n    BasketService-\u003e\u003eProductService: gRPC GetProduct\n    ProductService--\u003e\u003eBasketService: Product details\n    BasketService-\u003e\u003eDatabase: Store basket item\n    Database--\u003e\u003eBasketService: Item stored\n    BasketService--\u003e\u003eClient: Item added\n    \n    Client-\u003e\u003ePaymentService: POST /payments\n    PaymentService-\u003e\u003eBasketService: gRPC GetBasket\n    BasketService--\u003e\u003ePaymentService: Basket details\n    PaymentService-\u003e\u003eDatabase: Create payment\n    Database--\u003e\u003ePaymentService: Payment created\n    PaymentService-\u003e\u003eKafka: Publish payment event\n    PaymentService--\u003e\u003eClient: Payment response\n```\n\n## Service Communication Flow\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Client Layer\"\n        WebClient[Web Client]\n        MobileClient[Mobile Client]\n        APIClient[API Client]\n    end\n    \n    subgraph \"API Gateway Layer\"\n        FiberGateway[FiberV2 Gateway\u003cbr/\u003ePort: 8083]\n        LoadBalancer[Load Balancer\u003cbr/\u003eRound Robin\u003cbr/\u003eLeast Connections]\n        CircuitBreaker[Circuit Breaker\u003cbr/\u003eFailure Detection\u003cbr/\u003eService Isolation]\n        RateLimiter[Rate Limiter\u003cbr/\u003eRequest Throttling\u003cbr/\u003eBurst Control]\n        ReverseProxy[Reverse Proxy\u003cbr/\u003eRequest Forwarding\u003cbr/\u003eResponse Handling]\n    end\n    \n    subgraph \"Microservices Layer\"\n        ProductService[Product Service\u003cbr/\u003ePort: 8080]\n        BasketService[Basket Service\u003cbr/\u003ePort: 8081]\n        PaymentService[Payment Service\u003cbr/\u003ePort: 8082]\n    end\n    \n    subgraph \"Data Layer\"\n        PostgreSQL[(PostgreSQL\u003cbr/\u003ePort: 5432)]\n        Redis[(Redis\u003cbr/\u003ePort: 6379)]\n        MariaDB[(MariaDB\u003cbr/\u003ePort: 3306)]\n    end\n    \n    subgraph \"Message Layer\"\n        Kafka[Apache Kafka\u003cbr/\u003ePort: 9092]\n        Zookeeper[Zookeeper\u003cbr/\u003ePort: 2181]\n    end\n    \n    WebClient --\u003e FiberGateway\n    MobileClient --\u003e FiberGateway\n    APIClient --\u003e FiberGateway\n    \n    FiberGateway --\u003e LoadBalancer\n    LoadBalancer --\u003e CircuitBreaker\n    CircuitBreaker --\u003e RateLimiter\n    RateLimiter --\u003e ReverseProxy\n    \n    ReverseProxy --\u003e ProductService\n    ReverseProxy --\u003e BasketService\n    ReverseProxy --\u003e PaymentService\n    \n    ProductService --\u003e PostgreSQL\n    BasketService --\u003e Redis\n    PaymentService --\u003e MariaDB\n    \n    PaymentService --\u003e Kafka\n    Kafka --\u003e Zookeeper\n    \n    BasketService --\u003e ProductService\n    PaymentService --\u003e BasketService\n    PaymentService --\u003e ProductService\n```\n\n## Kubernetes Deployment Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Kubernetes Cluster\"\n        subgraph \"Ingress Layer\"\n            Ingress[Ingress Controller\u003cbr/\u003enginx-ingress\u003cbr/\u003eSSL Termination\u003cbr/\u003eLoad Balancing]\n        end\n        \n        subgraph \"Application Layer\"\n            Gateway[Gateway Deployment\u003cbr/\u003e3 Replicas\u003cbr/\u003eLoadBalancer Service]\n            ProductService[Product Service\u003cbr/\u003e2 Replicas\u003cbr/\u003eClusterIP Service]\n            BasketService[Basket Service\u003cbr/\u003e2 Replicas\u003cbr/\u003eClusterIP Service]\n            PaymentService[Payment Service\u003cbr/\u003e2 Replicas\u003cbr/\u003eClusterIP Service]\n        end\n        \n        subgraph \"Data Layer\"\n            PostgreSQL[PostgreSQL\u003cbr/\u003eBitnami Chart\u003cbr/\u003e8Gi Persistent Volume]\n            Redis[Redis\u003cbr/\u003eBitnami Chart\u003cbr/\u003e4Gi Persistent Volume]\n            MariaDB[MariaDB\u003cbr/\u003eBitnami Chart\u003cbr/\u003e8Gi Persistent Volume]\n        end\n        \n        subgraph \"Message Layer\"\n            Kafka[Kafka\u003cbr/\u003eBitnami Chart\u003cbr/\u003e3 Replicas\u003cbr/\u003e10Gi Persistent Volume]\n            Zookeeper[Zookeeper\u003cbr/\u003eBitnami Chart\u003cbr/\u003e3 Replicas]\n        end\n        \n        subgraph \"Monitoring Layer\"\n            ServiceMonitor[ServiceMonitor\u003cbr/\u003ePrometheus Integration]\n            HPA[Horizontal Pod Autoscaler\u003cbr/\u003eCPU/Memory Based Scaling]\n        end\n        \n        subgraph \"Security Layer\"\n            NetworkPolicy[NetworkPolicy\u003cbr/\u003eTraffic Isolation]\n            ServiceAccount[ServiceAccount\u003cbr/\u003eRBAC Integration]\n            PodSecurityContext[Pod Security Context\u003cbr/\u003eNon-root User\u003cbr/\u003eRead-only Filesystem]\n        end\n    end\n    \n    subgraph \"External Access\"\n        Client[External Client]\n        LoadBalancer[Load Balancer\u003cbr/\u003eAWS NLB / GCP LB]\n    end\n    \n    Client --\u003e LoadBalancer\n    LoadBalancer --\u003e Ingress\n    Ingress --\u003e Gateway\n    \n    Gateway --\u003e ProductService\n    Gateway --\u003e BasketService\n    Gateway --\u003e PaymentService\n    \n    ProductService --\u003e PostgreSQL\n    BasketService --\u003e Redis\n    PaymentService --\u003e MariaDB\n    \n    PaymentService --\u003e Kafka\n    Kafka --\u003e Zookeeper\n    \n    BasketService --\u003e ProductService\n    PaymentService --\u003e BasketService\n    PaymentService --\u003e ProductService\n    \n    Gateway --\u003e ServiceMonitor\n    Gateway --\u003e HPA\n    \n    Gateway --\u003e NetworkPolicy\n    ProductService --\u003e NetworkPolicy\n    BasketService --\u003e NetworkPolicy\n    PaymentService --\u003e NetworkPolicy\n    \n    Gateway --\u003e ServiceAccount\n    ProductService --\u003e ServiceAccount\n    BasketService --\u003e ServiceAccount\n    PaymentService --\u003e ServiceAccount\n```\n\n## Helm Chart Structure\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Helm Chart\"\n        ChartYaml[Chart.yaml\u003cbr/\u003eMetadata \u0026 Dependencies]\n        ValuesYaml[values.yaml\u003cbr/\u003eConfiguration Values]\n        \n        subgraph \"Templates\"\n            Deployments[Deployments\u003cbr/\u003eproduct-service\u003cbr/\u003ebasket-service\u003cbr/\u003epayment-service\u003cbr/\u003egateway]\n            Services[Services\u003cbr/\u003eClusterIP Services\u003cbr/\u003eLoadBalancer Service]\n            ConfigMaps[ConfigMaps\u003cbr/\u003eService Configurations]\n            Ingress[Ingress\u003cbr/\u003eExternal Access]\n            ServiceAccount[ServiceAccount\u003cbr/\u003eRBAC]\n            NetworkPolicy[NetworkPolicy\u003cbr/\u003eSecurity]\n            ServiceMonitor[ServiceMonitor\u003cbr/\u003eMonitoring]\n            HPA[HPA\u003cbr/\u003eAutoscaling]\n        end\n        \n        subgraph \"Dependencies\"\n            PostgreSQLChart[PostgreSQL Chart\u003cbr/\u003eBitnami]\n            RedisChart[Redis Chart\u003cbr/\u003eBitnami]\n            MariaDBChart[MariaDB Chart\u003cbr/\u003eBitnami]\n            KafkaChart[Kafka Chart\u003cbr/\u003eBitnami]\n        end\n    end\n    \n    ChartYaml --\u003e Deployments\n    ValuesYaml --\u003e Deployments\n    \n    Deployments --\u003e Services\n    Services --\u003e ConfigMaps\n    ConfigMaps --\u003e Ingress\n    Ingress --\u003e ServiceAccount\n    ServiceAccount --\u003e NetworkPolicy\n    NetworkPolicy --\u003e ServiceMonitor\n    ServiceMonitor --\u003e HPA\n    \n    ChartYaml --\u003e PostgreSQLChart\n    ChartYaml --\u003e RedisChart\n    ChartYaml --\u003e MariaDBChart\n    ChartYaml --\u003e KafkaChart\n```\n\n## Deployment Commands\n\n```bash\n# Install the Helm chart\nhelm install obs-tools-usage ./helm\n\n# Upgrade the deployment\nhelm upgrade obs-tools-usage ./helm\n\n# Check deployment status\nhelm status obs-tools-usage\n\n# View all resources\nkubectl get all -l app.kubernetes.io/name=obs-tools-usage\n\n# Access the gateway\nkubectl port-forward svc/obs-tools-usage-gateway 8080:8080\n\n# View logs\nkubectl logs -l app.kubernetes.io/component=gateway -f\n\n# Scale services\nkubectl scale deployment obs-tools-usage-gateway --replicas=5\n```\n\n## Environment Configuration\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Production Environment\"\n        ProdValues[values.yaml\u003cbr/\u003eProduction Settings]\n        ProdSecurity[Security Context\u003cbr/\u003eNon-root User\u003cbr/\u003eRead-only Filesystem]\n        ProdResources[Resource Limits\u003cbr/\u003eCPU: 1000m\u003cbr/\u003eMemory: 1Gi]\n        ProdPersistence[Persistent Volumes\u003cbr/\u003e8Gi PostgreSQL\u003cbr/\u003e4Gi Redis\u003cbr/\u003e8Gi MariaDB\u003cbr/\u003e10Gi Kafka]\n    end\n    \n    subgraph \"Development Environment\"\n        DevValues[values-dev.yaml\u003cbr/\u003eDevelopment Settings]\n        DevSecurity[Relaxed Security\u003cbr/\u003eDebug Mode]\n        DevResources[Lower Resources\u003cbr/\u003eCPU: 250m\u003cbr/\u003eMemory: 256Mi]\n        DevPersistence[Smaller Volumes\u003cbr/\u003e1Gi each]\n    end\n    \n    subgraph \"Staging Environment\"\n        StagingValues[values-staging.yaml\u003cbr/\u003eStaging Settings]\n        StagingSecurity[Production-like Security]\n        StagingResources[Medium Resources\u003cbr/\u003eCPU: 500m\u003cbr/\u003eMemory: 512Mi]\n        StagingPersistence[Medium Volumes\u003cbr/\u003e4Gi each]\n    end\n```\n\n## Monitoring and Observability\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Application Metrics\"\n        PrometheusMetrics[Prometheus Metrics\u003cbr/\u003eRequest Count\u003cbr/\u003eResponse Time\u003cbr/\u003eError Rate\u003cbr/\u003eCPU Usage\u003cbr/\u003eMemory Usage]\n    end\n    \n    subgraph \"Health Checks\"\n        LivenessProbe[Liveness Probe\u003cbr/\u003e/health endpoint\u003cbr/\u003e30s interval]\n        ReadinessProbe[Readiness Probe\u003cbr/\u003e/health/ready endpoint\u003cbr/\u003e5s interval]\n    end\n    \n    subgraph \"Logging\"\n        StructuredLogs[Structured Logging\u003cbr/\u003eJSON Format\u003cbr/\u003eRequest Tracking\u003cbr/\u003eError Logging]\n    end\n    \n    subgraph \"Service Discovery\"\n        ServiceMonitor[ServiceMonitor\u003cbr/\u003ePrometheus Integration\u003cbr/\u003e30s scrape interval]\n    end\n    \n    subgraph \"Autoscaling\"\n        HPA[HPA\u003cbr/\u003eCPU-based Scaling\u003cbr/\u003eMemory-based Scaling\u003cbr/\u003eMin: 1, Max: 100]\n    end\n    \n    PrometheusMetrics --\u003e LivenessProbe\n    LivenessProbe --\u003e ReadinessProbe\n    ReadinessProbe --\u003e StructuredLogs\n    StructuredLogs --\u003e ServiceMonitor\n    ServiceMonitor --\u003e HPA\n```\n\n## AWS Infrastructure Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"AWS Cloud\"\n        subgraph \"VPC Layer\"\n            VPC[VPC\u003cbr/\u003e10.0.0.0/16\u003cbr/\u003e3 AZs]\n            PublicSubnets[Public Subnets\u003cbr/\u003eInternet Gateway\u003cbr/\u003eNAT Gateway]\n            PrivateSubnets[Private Subnets\u003cbr/\u003eEKS Cluster\u003cbr/\u003eRDS Instances]\n            IntraSubnets[Intra Subnets\u003cbr/\u003eElastiCache\u003cbr/\u003eMSK Cluster]\n        end\n        \n        subgraph \"EKS Cluster\"\n            EKS[EKS Control Plane\u003cbr/\u003eKubernetes 1.28\u003cbr/\u003eOIDC Provider]\n            NodeGroups[Managed Node Groups\u003cbr/\u003eON_DEMAND + SPOT\u003cbr/\u003eAuto Scaling]\n            Addons[EKS Add-ons\u003cbr/\u003eVPC CNI\u003cbr/\u003eEBS CSI Driver\u003cbr/\u003eCoreDNS]\n        end\n        \n        subgraph \"Data Layer\"\n            RDS[Amazon RDS\u003cbr/\u003ePostgreSQL 15.4\u003cbr/\u003eMariaDB 10.11\u003cbr/\u003eMulti-AZ]\n            ElastiCache[ElastiCache Redis\u003cbr/\u003eCluster Mode\u003cbr/\u003eEncryption at Rest]\n            MSK[Amazon MSK\u003cbr/\u003eKafka 3.5.1\u003cbr/\u003e3 Brokers\u003cbr/\u003eTLS Encryption]\n        end\n        \n        subgraph \"Security Layer\"\n            SecurityGroups[Security Groups\u003cbr/\u003eEKS Cluster\u003cbr/\u003eEKS Nodes\u003cbr/\u003eRDS\u003cbr/\u003eElastiCache\u003cbr/\u003eMSK]\n            IAMRoles[IAM Roles\u003cbr/\u003eAWS Load Balancer Controller\u003cbr/\u003eExternal DNS\u003cbr/\u003eRDS Enhanced Monitoring]\n            KMS[KMS Keys\u003cbr/\u003eRDS Encryption\u003cbr/\u003eMSK Encryption\u003cbr/\u003eEBS Encryption]\n        end\n        \n        subgraph \"Monitoring Layer\"\n            CloudWatch[CloudWatch\u003cbr/\u003eLog Groups\u003cbr/\u003eMetrics\u003cbr/\u003eAlarms]\n            VPCFlowLogs[VPC Flow Logs\u003cbr/\u003eNetwork Traffic\u003cbr/\u003eSecurity Analysis]\n        end\n    end\n    \n    subgraph \"External Access\"\n        Internet[Internet]\n        LoadBalancer[AWS Load Balancer\u003cbr/\u003eApplication Load Balancer\u003cbr/\u003eNetwork Load Balancer]\n    end\n    \n    Internet --\u003e LoadBalancer\n    LoadBalancer --\u003e PublicSubnets\n    PublicSubnets --\u003e PrivateSubnets\n    PrivateSubnets --\u003e IntraSubnets\n    \n    VPC --\u003e PublicSubnets\n    VPC --\u003e PrivateSubnets\n    VPC --\u003e IntraSubnets\n    \n    PrivateSubnets --\u003e EKS\n    EKS --\u003e NodeGroups\n    EKS --\u003e Addons\n    \n    PrivateSubnets --\u003e RDS\n    IntraSubnets --\u003e ElastiCache\n    IntraSubnets --\u003e MSK\n    \n    EKS --\u003e SecurityGroups\n    RDS --\u003e SecurityGroups\n    ElastiCache --\u003e SecurityGroups\n    MSK --\u003e SecurityGroups\n    \n    EKS --\u003e IAMRoles\n    RDS --\u003e KMS\n    MSK --\u003e KMS\n    \n    EKS --\u003e CloudWatch\n    RDS --\u003e CloudWatch\n    ElastiCache --\u003e CloudWatch\n    MSK --\u003e CloudWatch\n    VPC --\u003e VPCFlowLogs\n```\n\n## Terraform Infrastructure Components\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Terraform Configuration\"\n        MainTf[main.tf\u003cbr/\u003eProvider Configuration\u003cbr/\u003eData Sources\u003cbr/\u003eLocal Values]\n        VariablesTf[variables.tf\u003cbr/\u003eInput Variables\u003cbr/\u003eValidation Rules\u003cbr/\u003eDefault Values]\n        OutputsTf[outputs.tf\u003cbr/\u003eResource Outputs\u003cbr/\u003eConnection Info\u003cbr/\u003eConfiguration Data]\n    end\n    \n    subgraph \"Infrastructure Modules\"\n        VPCModule[VPC Module\u003cbr/\u003eterraform-aws-modules/vpc/aws\u003cbr/\u003eSubnets, Gateways\u003cbr/\u003eFlow Logs]\n        EKSModule[EKS Module\u003cbr/\u003eterraform-aws-modules/eks/aws\u003cbr/\u003eControl Plane\u003cbr/\u003eNode Groups\u003cbr/\u003eAdd-ons]\n    end\n    \n    subgraph \"AWS Resources\"\n        VPCResources[VPC Resources\u003cbr/\u003eVPC, Subnets\u003cbr/\u003eInternet Gateway\u003cbr/\u003eNAT Gateway\u003cbr/\u003eRoute Tables]\n        EKSResources[EKS Resources\u003cbr/\u003eEKS Cluster\u003cbr/\u003eNode Groups\u003cbr/\u003eSecurity Groups\u003cbr/\u003eIAM Roles]\n        RDSResources[RDS Resources\u003cbr/\u003ePostgreSQL Instance\u003cbr/\u003eMariaDB Instance\u003cbr/\u003eSubnet Groups\u003cbr/\u003eParameter Groups]\n        CacheResources[ElastiCache Resources\u003cbr/\u003eRedis Cluster\u003cbr/\u003eSubnet Groups\u003cbr/\u003eParameter Groups]\n        MSKResources[MSK Resources\u003cbr/\u003eKafka Cluster\u003cbr/\u003eConfiguration\u003cbr/\u003eKMS Keys]\n    end\n    \n    subgraph \"Security \u0026 Policies\"\n        IAMPolicies[IAM Policies\u003cbr/\u003eAWS Load Balancer Controller\u003cbr/\u003eExternal DNS\u003cbr/\u003eRDS Enhanced Monitoring]\n        SecurityGroups[Security Groups\u003cbr/\u003eEKS Cluster\u003cbr/\u003eEKS Nodes\u003cbr/\u003eRDS\u003cbr/\u003eElastiCache\u003cbr/\u003eMSK]\n        KMSKeys[KMS Keys\u003cbr/\u003eRDS Encryption\u003cbr/\u003eMSK Encryption\u003cbr/\u003eEBS Encryption]\n    end\n    \n    subgraph \"Monitoring \u0026 Logging\"\n        CloudWatchLogs[CloudWatch Logs\u003cbr/\u003eEKS Cluster Logs\u003cbr/\u003eRDS Logs\u003cbr/\u003eElastiCache Logs\u003cbr/\u003eMSK Logs]\n        VPCFlowLogs[VPC Flow Logs\u003cbr/\u003eNetwork Traffic\u003cbr/\u003eSecurity Analysis]\n    end\n    \n    MainTf --\u003e VPCModule\n    MainTf --\u003e EKSModule\n    VariablesTf --\u003e VPCModule\n    VariablesTf --\u003e EKSModule\n    \n    VPCModule --\u003e VPCResources\n    EKSModule --\u003e EKSResources\n    \n    VPCResources --\u003e RDSResources\n    VPCResources --\u003e CacheResources\n    VPCResources --\u003e MSKResources\n    \n    EKSResources --\u003e IAMPolicies\n    RDSResources --\u003e SecurityGroups\n    CacheResources --\u003e SecurityGroups\n    MSKResources --\u003e SecurityGroups\n    \n    RDSResources --\u003e KMSKeys\n    MSKResources --\u003e KMSKeys\n    \n    EKSResources --\u003e CloudWatchLogs\n    RDSResources --\u003e CloudWatchLogs\n    CacheResources --\u003e CloudWatchLogs\n    MSKResources --\u003e CloudWatchLogs\n    VPCResources --\u003e VPCFlowLogs\n```\n\n## Ansible Configuration Management\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Ansible Playbooks\"\n        MainPlaybook[main.yml\u003cbr/\u003eMain Playbook\u003cbr/\u003eHost Configuration\u003cbr/\u003eRole Execution]\n        K8sPlaybook[k8s-setup.yml\u003cbr/\u003eKubernetes Setup\u003cbr/\u003eHelm Installation\u003cbr/\u003eAdd-on Configuration]\n        AppPlaybook[app-deploy.yml\u003cbr/\u003eApplication Deployment\u003cbr/\u003eHelm Chart Installation\u003cbr/\u003eConfiguration Management]\n    end\n    \n    subgraph \"Ansible Roles\"\n        CommonRole[common\u003cbr/\u003eSystem Updates\u003cbr/\u003ePackage Installation\u003cbr/\u003eUser Management]\n        DockerRole[docker\u003cbr/\u003eDocker Installation\u003cbr/\u003eDocker Compose\u003cbr/\u003eContainer Management]\n        K8sRole[kubernetes\u003cbr/\u003ekubectl Installation\u003cbr/\u003ekubeconfig Setup\u003cbr/\u003eCluster Access]\n        HelmRole[helm\u003cbr/\u003eHelm Installation\u003cbr/\u003eRepository Management\u003cbr/\u003eChart Operations]\n        MonitoringRole[monitoring\u003cbr/\u003ePrometheus Setup\u003cbr/\u003eGrafana Configuration\u003cbr/\u003eAlert Rules]\n    end\n    \n    subgraph \"Configuration Files\"\n        Inventory[inventory.yml\u003cbr/\u003eHost Definitions\u003cbr/\u003eGroup Variables\u003cbr/\u003eConnection Settings]\n        GroupVars[group_vars/\u003cbr/\u003eEnvironment Variables\u003cbr/\u003eSecrets Management\u003cbr/\u003eConfiguration Values]\n        HostVars[host_vars/\u003cbr/\u003eHost-specific Variables\u003cbr/\u003eIndividual Configurations]\n    end\n    \n    subgraph \"Templates \u0026 Files\"\n        ConfigTemplates[config_templates/\u003cbr/\u003eApplication Configs\u003cbr/\u003eService Definitions\u003cbr/\u003eEnvironment Files]\n        Scripts[scripts/\u003cbr/\u003eDeployment Scripts\u003cbr/\u003eHealth Checks\u003cbr/\u003eBackup Scripts]\n        Secrets[secrets/\u003cbr/\u003eEncrypted Variables\u003cbr/\u003eAPI Keys\u003cbr/\u003eDatabase Credentials]\n    end\n    \n    subgraph \"Target Infrastructure\"\n        EKSCluster[EKS Cluster\u003cbr/\u003eKubernetes Nodes\u003cbr/\u003eApplication Pods\u003cbr/\u003eServices]\n        Databases[Databases\u003cbr/\u003eRDS PostgreSQL\u003cbr/\u003eRDS MariaDB\u003cbr/\u003eElastiCache Redis]\n        MessageBroker[Message Broker\u003cbr/\u003eMSK Kafka\u003cbr/\u003eTopics\u003cbr/\u003eProducers/Consumers]\n        Monitoring[Monitoring Stack\u003cbr/\u003ePrometheus\u003cbr/\u003eGrafana\u003cbr/\u003eAlertManager]\n    end\n    \n    MainPlaybook --\u003e CommonRole\n    MainPlaybook --\u003e DockerRole\n    K8sPlaybook --\u003e K8sRole\n    K8sPlaybook --\u003e HelmRole\n    AppPlaybook --\u003e MonitoringRole\n    \n    Inventory --\u003e GroupVars\n    Inventory --\u003e HostVars\n    GroupVars --\u003e ConfigTemplates\n    HostVars --\u003e Scripts\n    ConfigTemplates --\u003e Secrets\n    \n    CommonRole --\u003e EKSCluster\n    DockerRole --\u003e EKSCluster\n    K8sRole --\u003e EKSCluster\n    HelmRole --\u003e EKSCluster\n    MonitoringRole --\u003e Monitoring\n    \n    EKSCluster --\u003e Databases\n    EKSCluster --\u003e MessageBroker\n    EKSCluster --\u003e Monitoring\n```\n\n## Infrastructure Deployment Flow\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Phase 1: Infrastructure\"\n        TerraformInit[terraform init\u003cbr/\u003eProvider Setup\u003cbr/\u003eModule Download]\n        TerraformPlan[terraform plan\u003cbr/\u003eResource Planning\u003cbr/\u003eChange Detection]\n        TerraformApply[terraform apply\u003cbr/\u003eResource Creation\u003cbr/\u003eState Management]\n    end\n    \n    subgraph \"Phase 2: Configuration\"\n        AnsibleInventory[ansible-inventory\u003cbr/\u003eHost Discovery\u003cbr/\u003eGroup Assignment]\n        AnsiblePlaybook[ansible-playbook\u003cbr/\u003eConfiguration Management\u003cbr/\u003eRole Execution]\n        AnsibleVerify[ansible-verify\u003cbr/\u003eConfiguration Validation\u003cbr/\u003eHealth Checks]\n    end\n    \n    subgraph \"Phase 3: Application\"\n        HelmRepo[helm repo add\u003cbr/\u003eRepository Setup\u003cbr/\u003eChart Discovery]\n        HelmInstall[helm install\u003cbr/\u003eApplication Deployment\u003cbr/\u003eResource Creation]\n        HelmUpgrade[helm upgrade\u003cbr/\u003eApplication Updates\u003cbr/\u003eRolling Deployments]\n    end\n    \n    subgraph \"Phase 4: Monitoring\"\n        PrometheusSetup[Prometheus Setup\u003cbr/\u003eMetrics Collection\u003cbr/\u003eService Discovery]\n        GrafanaSetup[Grafana Setup\u003cbr/\u003eDashboard Creation\u003cbr/\u003eAlert Configuration]\n        LoggingSetup[Logging Setup\u003cbr/\u003eCentralized Logs\u003cbr/\u003eLog Aggregation]\n    end\n    \n    TerraformInit --\u003e TerraformPlan\n    TerraformPlan --\u003e TerraformApply\n    TerraformApply --\u003e AnsibleInventory\n    \n    AnsibleInventory --\u003e AnsiblePlaybook\n    AnsiblePlaybook --\u003e AnsibleVerify\n    AnsibleVerify --\u003e HelmRepo\n    \n    HelmRepo --\u003e HelmInstall\n    HelmInstall --\u003e HelmUpgrade\n    HelmUpgrade --\u003e PrometheusSetup\n    \n    PrometheusSetup --\u003e GrafanaSetup\n    GrafanaSetup --\u003e LoggingSetup\n```\n\n## Environment-Specific Configurations\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Development Environment\"\n        DevTerraform[terraform.tfvars.dev\u003cbr/\u003eSmall Instance Types\u003cbr/\u003eSingle AZ\u003cbr/\u003eMinimal Resources]\n        DevAnsible[group_vars/dev/\u003cbr/\u003eDebug Logging\u003cbr/\u003eDevelopment Tools\u003cbr/\u003eLocal Access]\n        DevHelm[values-dev.yaml\u003cbr/\u003eDevelopment Settings\u003cbr/\u003eDebug Mode\u003cbr/\u003eLocal Storage]\n    end\n    \n    subgraph \"Staging Environment\"\n        StagingTerraform[terraform.tfvars.staging\u003cbr/\u003eMedium Instance Types\u003cbr/\u003eMulti-AZ\u003cbr/\u003eProduction-like]\n        StagingAnsible[group_vars/staging/\u003cbr/\u003eProduction Config\u003cbr/\u003eSecurity Hardening\u003cbr/\u003eMonitoring]\n        StagingHelm[values-staging.yaml\u003cbr/\u003eStaging Settings\u003cbr/\u003eProduction-like Config\u003cbr/\u003eExternal Storage]\n    end\n    \n    subgraph \"Production Environment\"\n        ProdTerraform[terraform.tfvars.prod\u003cbr/\u003eLarge Instance Types\u003cbr/\u003eMulti-AZ\u003cbr/\u003eHigh Availability]\n        ProdAnsible[group_vars/prod/\u003cbr/\u003eProduction Config\u003cbr/\u003eSecurity Hardening\u003cbr/\u003eCompliance]\n        ProdHelm[values-prod.yaml\u003cbr/\u003eProduction Settings\u003cbr/\u003eHigh Availability\u003cbr/\u003eExternal Storage]\n    end\n    \n    subgraph \"Configuration Management\"\n        TerraformVars[terraform.tfvars\u003cbr/\u003eEnvironment Variables\u003cbr/\u003eResource Sizing\u003cbr/\u003eFeature Flags]\n        AnsibleVars[group_vars/\u003cbr/\u003eApplication Config\u003cbr/\u003eSecrets Management\u003cbr/\u003eEnvironment-specific]\n        HelmValues[values.yaml\u003cbr/\u003eApplication Settings\u003cbr/\u003eResource Limits\u003cbr/\u003eScaling Config]\n    end\n    \n    DevTerraform --\u003e TerraformVars\n    StagingTerraform --\u003e TerraformVars\n    ProdTerraform --\u003e TerraformVars\n    \n    DevAnsible --\u003e AnsibleVars\n    StagingAnsible --\u003e AnsibleVars\n    ProdAnsible --\u003e AnsibleVars\n    \n    DevHelm --\u003e HelmValues\n    StagingHelm --\u003e HelmValues\n    ProdHelm --\u003e HelmValues\n```\n\n## Security and Compliance\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Network Security\"\n        VPCFlowLogs[VPC Flow Logs\u003cbr/\u003eNetwork Traffic Analysis\u003cbr/\u003eSecurity Monitoring]\n        SecurityGroups[Security Groups\u003cbr/\u003ePort-based Access Control\u003cbr/\u003eSource/Destination Rules]\n        NACLs[Network ACLs\u003cbr/\u003eSubnet-level Security\u003cbr/\u003eTraffic Filtering]\n    end\n    \n    subgraph \"Identity and Access\"\n        IAMRoles[IAM Roles\u003cbr/\u003eService Accounts\u003cbr/\u003eLeast Privilege Access]\n        RBAC[Kubernetes RBAC\u003cbr/\u003eRole-based Access\u003cbr/\u003eService Account Permissions]\n        OIDC[OIDC Provider\u003cbr/\u003eIdentity Federation\u003cbr/\u003eToken-based Access]\n    end\n    \n    subgraph \"Data Protection\"\n        EncryptionAtRest[Encryption at Rest\u003cbr/\u003eRDS Encryption\u003cbr/\u003eEBS Encryption\u003cbr/\u003eS3 Encryption]\n        EncryptionInTransit[Encryption in Transit\u003cbr/\u003eTLS/SSL\u003cbr/\u003emTLS\u003cbr/\u003eCertificate Management]\n        SecretsManagement[Secrets Management\u003cbr/\u003eAWS Secrets Manager\u003cbr/\u003eKubernetes Secrets\u003cbr/\u003eEncrypted Variables]\n    end\n    \n    subgraph \"Monitoring and Compliance\"\n        CloudTrail[AWS CloudTrail\u003cbr/\u003eAPI Activity Logging\u003cbr/\u003eAudit Trail]\n        Config[AWS Config\u003cbr/\u003eResource Compliance\u003cbr/\u003eConfiguration Drift]\n        GuardDuty[Amazon GuardDuty\u003cbr/\u003eThreat Detection\u003cbr/\u003eSecurity Analysis]\n    end\n    \n    subgraph \"Application Security\"\n        PodSecurity[Pod Security Standards\u003cbr/\u003eNon-root Containers\u003cbr/\u003eRead-only Filesystem]\n        NetworkPolicies[Network Policies\u003cbr/\u003eTraffic Isolation\u003cbr/\u003eMicro-segmentation]\n        ImageSecurity[Container Image Security\u003cbr/\u003eVulnerability Scanning\u003cbr/\u003eImage Signing]\n    end\n    \n    VPCFlowLogs --\u003e SecurityGroups\n    SecurityGroups --\u003e NACLs\n    NACLs --\u003e IAMRoles\n    \n    IAMRoles --\u003e RBAC\n    RBAC --\u003e OIDC\n    OIDC --\u003e EncryptionAtRest\n    \n    EncryptionAtRest --\u003e EncryptionInTransit\n    EncryptionInTransit --\u003e SecretsManagement\n    SecretsManagement --\u003e CloudTrail\n    \n    CloudTrail --\u003e Config\n    Config --\u003e GuardDuty\n    GuardDuty --\u003e PodSecurity\n    \n    PodSecurity --\u003e NetworkPolicies\n    NetworkPolicies --\u003e ImageSecurity\n```\n\n## CI/CD Pipeline Architecture\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Source Control\"\n        GitHub[GitHub Repository\u003cbr/\u003eCode Push/Pull Request\u003cbr/\u003eRelease Triggers]\n    end\n    \n    subgraph \"CI/CD Pipeline\"\n        subgraph \"Continuous Integration\"\n            CodeCheckout[Code Checkout\u003cbr/\u003eBranch Detection\u003cbr/\u003eEnvironment Selection]\n            TestAndBuild[Test \u0026 Build\u003cbr/\u003eGo Tests\u003cbr/\u003eLinting\u003cbr/\u003eSecurity Scan\u003cbr/\u003eDocker Build]\n            QualityGates[Quality Gates\u003cbr/\u003eTest Coverage\u003cbr/\u003eSecurity Scan\u003cbr/\u003eCode Quality]\n        end\n        \n        subgraph \"Continuous Deployment\"\n            DevDeploy[Development Deploy\u003cbr/\u003eAuto Deploy on develop\u003cbr/\u003eTerraform + Ansible\u003cbr/\u003eHelm Charts]\n            StagingDeploy[Staging Deploy\u003cbr/\u003eAuto Deploy on main\u003cbr/\u003eProduction-like Environment\u003cbr/\u003eIntegration Tests]\n            ProdDeploy[Production Deploy\u003cbr/\u003eManual Release Trigger\u003cbr/\u003eBlue-Green Deployment\u003cbr/\u003eRollback Capability]\n        end\n        \n        subgraph \"Post-Deployment\"\n            HealthChecks[Health Checks\u003cbr/\u003eService Availability\u003cbr/\u003ePerformance Monitoring\u003cbr/\u003eAlert Notifications]\n            PerformanceTests[Performance Tests\u003cbr/\u003eLoad Testing\u003cbr/\u003eStress Testing\u003cbr/\u003eDatabase Performance]\n            Monitoring[Monitoring\u003cbr/\u003eMetrics Collection\u003cbr/\u003eLog Aggregation\u003cbr/\u003eAlert Management]\n        end\n    end\n    \n    subgraph \"Environments\"\n        DevEnv[Development\u003cbr/\u003eFast Iteration\u003cbr/\u003eDebug Mode\u003cbr/\u003eMinimal Resources]\n        StagingEnv[Staging\u003cbr/\u003eProduction-like\u003cbr/\u003eIntegration Tests\u003cbr/\u003ePerformance Tests]\n        ProdEnv[Production\u003cbr/\u003eHigh Availability\u003cbr/\u003eSecurity Hardening\u003cbr/\u003eMonitoring]\n    end\n    \n    subgraph \"Infrastructure\"\n        AWSInfra[AWS Infrastructure\u003cbr/\u003eEKS Clusters\u003cbr/\u003eRDS Databases\u003cbr/\u003eElastiCache\u003cbr/\u003eMSK Kafka]\n        K8sCluster[Kubernetes Clusters\u003cbr/\u003eApplication Pods\u003cbr/\u003eServices\u003cbr/\u003eIngress\u003cbr/\u003eConfigMaps]\n    end\n    \n    GitHub --\u003e CodeCheckout\n    CodeCheckout --\u003e TestAndBuild\n    TestAndBuild --\u003e QualityGates\n    \n    QualityGates --\u003e DevDeploy\n    QualityGates --\u003e StagingDeploy\n    QualityGates --\u003e ProdDeploy\n    \n    DevDeploy --\u003e DevEnv\n    StagingDeploy --\u003e StagingEnv\n    ProdDeploy --\u003e ProdEnv\n    \n    DevEnv --\u003e HealthChecks\n    StagingEnv --\u003e HealthChecks\n    ProdEnv --\u003e HealthChecks\n    \n    HealthChecks --\u003e PerformanceTests\n    PerformanceTests --\u003e Monitoring\n    \n    DevEnv --\u003e AWSInfra\n    StagingEnv --\u003e AWSInfra\n    ProdEnv --\u003e AWSInfra\n    \n    AWSInfra --\u003e K8sCluster\n```\n\n## CI/CD Pipeline Stages\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Stage 1: Code Quality\"\n        CodePush[Code Push/PR\u003cbr/\u003eGitHub Trigger]\n        LintCheck[Linting\u003cbr/\u003egolangci-lint\u003cbr/\u003eansible-lint\u003cbr/\u003eterraform fmt]\n        SecurityScan[Security Scan\u003cbr/\u003eTrivy\u003cbr/\u003eGosec\u003cbr/\u003eCheckov]\n        TestRun[Test Execution\u003cbr/\u003eUnit Tests\u003cbr/\u003eIntegration Tests\u003cbr/\u003eCoverage Report]\n    end\n    \n    subgraph \"Stage 2: Build \u0026 Package\"\n        DockerBuild[Docker Build\u003cbr/\u003eMulti-stage Build\u003cbr/\u003eImage Optimization\u003cbr/\u003eSecurity Scanning]\n        ImagePush[Image Push\u003cbr/\u003eGitHub Container Registry\u003cbr/\u003eTag Management\u003cbr/\u003eVulnerability Scan]\n        HelmPackage[Helm Package\u003cbr/\u003eChart Validation\u003cbr/\u003eTemplate Testing\u003cbr/\u003eDependency Check]\n    end\n    \n    subgraph \"Stage 3: Infrastructure\"\n        TerraformPlan[Terraform Plan\u003cbr/\u003eResource Planning\u003cbr/\u003eChange Detection\u003cbr/\u003eCost Estimation]\n        TerraformApply[Terraform Apply\u003cbr/\u003eInfrastructure Creation\u003cbr/\u003eState Management\u003cbr/\u003eRollback Capability]\n        AnsibleConfig[Ansible Configuration\u003cbr/\u003eSystem Setup\u003cbr/\u003eService Configuration\u003cbr/\u003eSecurity Hardening]\n    end\n    \n    subgraph \"Stage 4: Deployment\"\n        K8sDeploy[Kubernetes Deployment\u003cbr/\u003eNamespace Creation\u003cbr/\u003eResource Deployment\u003cbr/\u003eService Configuration]\n        HealthCheck[Health Checks\u003cbr/\u003ePod Readiness\u003cbr/\u003eService Availability\u003cbr/\u003eEndpoint Testing]\n        SmokeTest[Smoke Tests\u003cbr/\u003eAPI Endpoint Tests\u003cbr/\u003eDatabase Connectivity\u003cbr/\u003eService Integration]\n    end\n    \n    subgraph \"Stage 5: Validation\"\n        LoadTest[Load Testing\u003cbr/\u003ek6 Performance Tests\u003cbr/\u003eResponse Time Validation\u003cbr/\u003eThroughput Testing]\n        SecurityTest[Security Testing\u003cbr/\u003eVulnerability Scan\u003cbr/\u003ePenetration Testing\u003cbr/\u003eCompliance Check]\n        MonitoringSetup[Monitoring Setup\u003cbr/\u003ePrometheus Configuration\u003cbr/\u003eGrafana Dashboards\u003cbr/\u003eAlert Rules]\n    end\n    \n    CodePush --\u003e LintCheck\n    LintCheck --\u003e SecurityScan\n    SecurityScan --\u003e TestRun\n    TestRun --\u003e DockerBuild\n    \n    DockerBuild --\u003e ImagePush\n    ImagePush --\u003e HelmPackage\n    HelmPackage --\u003e TerraformPlan\n    \n    TerraformPlan --\u003e TerraformApply\n    TerraformApply --\u003e AnsibleConfig\n    AnsibleConfig --\u003e K8sDeploy\n    \n    K8sDeploy --\u003e HealthCheck\n    HealthCheck --\u003e SmokeTest\n    SmokeTest --\u003e LoadTest\n    \n    LoadTest --\u003e SecurityTest\n    SecurityTest --\u003e MonitoringSetup\n```\n\n## GitHub Actions Workflows\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Main CI/CD Workflow\"\n        CICDTrigger[Trigger Events\u003cbr/\u003ePush to main/develop\u003cbr/\u003ePull Request\u003cbr/\u003eRelease]\n        TestBuildJob[Test \u0026 Build Job\u003cbr/\u003eGo Tests\u003cbr/\u003eDocker Build\u003cbr/\u003eSecurity Scan]\n        InfraTestJob[Infrastructure Test\u003cbr/\u003eTerraform Validate\u003cbr/\u003eAnsible Lint\u003cbr/\u003eHelm Lint]\n        DeployDevJob[Deploy to Dev\u003cbr/\u003eAuto Deploy\u003cbr/\u003eTerraform Apply\u003cbr/\u003eAnsible Playbook]\n        DeployStagingJob[Deploy to Staging\u003cbr/\u003eAuto Deploy\u003cbr/\u003eProduction-like\u003cbr/\u003eIntegration Tests]\n        DeployProdJob[Deploy to Production\u003cbr/\u003eManual Trigger\u003cbr/\u003eRelease-based\u003cbr/\u003eBlue-Green Deploy]\n    end\n    \n    subgraph \"Security Workflow\"\n        SecurityTrigger[Security Trigger\u003cbr/\u003eDaily Schedule\u003cbr/\u003ePush Events\u003cbr/\u003ePR Events]\n        DepScanJob[Dependency Scan\u003cbr/\u003eGo Security Audit\u003cbr/\u003eVulnerability Check\u003cbr/\u003eLicense Check]\n        ContainerScanJob[Container Scan\u003cbr/\u003eTrivy Scanner\u003cbr/\u003eImage Vulnerability\u003cbr/\u003eBase Image Check]\n        InfraScanJob[Infrastructure Scan\u003cbr/\u003eCheckov Scanner\u003cbr/\u003eTerraform Security\u003cbr/\u003eAWS Best Practices]\n        SecretsScanJob[Secrets Scan\u003cbr/\u003eTruffleHog\u003cbr/\u003eCredential Detection\u003cbr/\u003eAPI Key Check]\n    end\n    \n    subgraph \"Performance Workflow\"\n        PerfTrigger[Performance Trigger\u003cbr/\u003eWeekly Schedule\u003cbr/\u003eManual Trigger\u003cbr/\u003ePost-Deployment]\n        LoadTestJob[Load Testing\u003cbr/\u003ek6 Load Tests\u003cbr/\u003eResponse Time\u003cbr/\u003eThroughput Testing]\n        StressTestJob[Stress Testing\u003cbr/\u003ek6 Stress Tests\u003cbr/\u003eBreaking Point\u003cbr/\u003eResource Limits]\n        DBPerfJob[Database Performance\u003cbr/\u003eQuery Performance\u003cbr/\u003eConnection Pool\u003cbr/\u003eIndex Optimization]\n        ProfilingJob[Profiling\u003cbr/\u003eCPU Profiling\u003cbr/\u003eMemory Profiling\u003cbr/\u003ePerformance Analysis]\n    end\n    \n    subgraph \"Notification Workflow\"\n        NotifyTrigger[Notification Trigger\u003cbr/\u003eDeployment Status\u003cbr/\u003eTest Results\u003cbr/\u003eSecurity Alerts]\n        SlackNotify[Slack Notification\u003cbr/\u003eDeployment Status\u003cbr/\u003eTest Results\u003cbr/\u003eError Alerts]\n        EmailNotify[Email Notification\u003cbr/\u003eSecurity Alerts\u003cbr/\u003eCritical Issues\u003cbr/\u003eWeekly Reports]\n        WebhookNotify[Webhook Notification\u003cbr/\u003eExternal Systems\u003cbr/\u003eMonitoring Tools\u003cbr/\u003eAlert Management]\n    end\n    \n    CICDTrigger --\u003e TestBuildJob\n    TestBuildJob --\u003e InfraTestJob\n    InfraTestJob --\u003e DeployDevJob\n    DeployDevJob --\u003e DeployStagingJob\n    DeployStagingJob --\u003e DeployProdJob\n    \n    SecurityTrigger --\u003e DepScanJob\n    DepScanJob --\u003e ContainerScanJob\n    ContainerScanJob --\u003e InfraScanJob\n    InfraScanJob --\u003e SecretsScanJob\n    \n    PerfTrigger --\u003e LoadTestJob\n    LoadTestJob --\u003e StressTestJob\n    StressTestJob --\u003e DBPerfJob\n    DBPerfJob --\u003e ProfilingJob\n    \n    DeployProdJob --\u003e NotifyTrigger\n    SecretsScanJob --\u003e NotifyTrigger\n    ProfilingJob --\u003e NotifyTrigger\n    \n    NotifyTrigger --\u003e SlackNotify\n    NotifyTrigger --\u003e EmailNotify\n    NotifyTrigger --\u003e WebhookNotify\n```\n\n## Deployment Strategies\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Development Deployment\"\n        DevStrategy[Fast Deployment\u003cbr/\u003eImmediate Updates\u003cbr/\u003eDebug Mode\u003cbr/\u003eHot Reload]\n        DevRollback[Quick Rollback\u003cbr/\u003eGit Revert\u003cbr/\u003eDocker Image Rollback\u003cbr/\u003eConfiguration Reset]\n    end\n    \n    subgraph \"Staging Deployment\"\n        StagingStrategy[Production-like\u003cbr/\u003eIntegration Testing\u003cbr/\u003ePerformance Testing\u003cbr/\u003eSecurity Testing]\n        StagingValidation[Validation Tests\u003cbr/\u003eAPI Testing\u003cbr/\u003eDatabase Testing\u003cbr/\u003eEnd-to-End Tests]\n    end\n    \n    subgraph \"Production Deployment\"\n        BlueGreen[Blue-Green Deployment\u003cbr/\u003eZero Downtime\u003cbr/\u003eInstant Rollback\u003cbr/\u003eTraffic Switching]\n        Canary[Canary Deployment\u003cbr/\u003eGradual Rollout\u003cbr/\u003eA/B Testing\u003cbr/\u003eRisk Mitigation]\n        Rolling[Rolling Deployment\u003cbr/\u003eGradual Update\u003cbr/\u003eService Continuity\u003cbr/\u003eResource Management]\n    end\n    \n    subgraph \"Rollback Strategies\"\n        AutoRollback[Automatic Rollback\u003cbr/\u003eHealth Check Failure\u003cbr/\u003ePerformance Degradation\u003cbr/\u003eError Rate Threshold]\n        ManualRollback[Manual Rollback\u003cbr/\u003eAdmin Decision\u003cbr/\u003eEmergency Response\u003cbr/\u003eQuick Recovery]\n        DatabaseRollback[Database Rollback\u003cbr/\u003eMigration Rollback\u003cbr/\u003eData Consistency\u003cbr/\u003eBackup Restoration]\n    end\n    \n    DevStrategy --\u003e DevRollback\n    StagingStrategy --\u003e StagingValidation\n    StagingValidation --\u003e BlueGreen\n    \n    BlueGreen --\u003e Canary\n    Canary --\u003e Rolling\n    Rolling --\u003e AutoRollback\n    \n    AutoRollback --\u003e ManualRollback\n    ManualRollback --\u003e DatabaseRollback\n```\n\n## Monitoring and Alerting\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Application Monitoring\"\n        AppMetrics[Application Metrics\u003cbr/\u003eRequest Rate\u003cbr/\u003eResponse Time\u003cbr/\u003eError Rate\u003cbr/\u003eThroughput]\n        BusinessMetrics[Business Metrics\u003cbr/\u003eUser Activity\u003cbr/\u003eTransaction Volume\u003cbr/\u003eRevenue Metrics\u003cbr/\u003eConversion Rate]\n    end\n    \n    subgraph \"Infrastructure Monitoring\"\n        SystemMetrics[System Metrics\u003cbr/\u003eCPU Usage\u003cbr/\u003eMemory Usage\u003cbr/\u003eDisk I/O\u003cbr/\u003eNetwork I/O]\n        K8sMetrics[Kubernetes Metrics\u003cbr/\u003ePod Status\u003cbr/\u003eNode Health\u003cbr/\u003eResource Usage\u003cbr/\u003eCluster Health]\n    end\n    \n    subgraph \"Database Monitoring\"\n        DBMetrics[Database Metrics\u003cbr/\u003eQuery Performance\u003cbr/\u003eConnection Pool\u003cbr/\u003eLock Contention\u003cbr/\u003eReplication Lag]\n        CacheMetrics[Cache Metrics\u003cbr/\u003eHit Rate\u003cbr/\u003eMiss Rate\u003cbr/\u003eMemory Usage\u003cbr/\u003eEviction Rate]\n    end\n    \n    subgraph \"Security Monitoring\"\n        SecurityMetrics[Security Metrics\u003cbr/\u003eFailed Logins\u003cbr/\u003eSuspicious Activity\u003cbr/\u003eVulnerability Scan\u003cbr/\u003eCompliance Status]\n        AuditLogs[Audit Logs\u003cbr/\u003eUser Actions\u003cbr/\u003eSystem Changes\u003cbr/\u003eAccess Logs\u003cbr/\u003eSecurity Events]\n    end\n    \n    subgraph \"Alerting System\"\n        AlertRules[Alert Rules\u003cbr/\u003eThreshold-based\u003cbr/\u003eAnomaly Detection\u003cbr/\u003eTrend Analysis\u003cbr/\u003ePredictive Alerts]\n        NotificationChannels[Notification Channels\u003cbr/\u003eSlack\u003cbr/\u003eEmail\u003cbr/\u003ePagerDuty\u003cbr/\u003eWebhooks]\n        EscalationPolicy[Escalation Policy\u003cbr/\u003eSeverity Levels\u003cbr/\u003eResponse Time\u003cbr/\u003eEscalation Path\u003cbr/\u003eOn-call Rotation]\n    end\n    \n    AppMetrics --\u003e AlertRules\n    BusinessMetrics --\u003e AlertRules\n    SystemMetrics --\u003e AlertRules\n    K8sMetrics --\u003e AlertRules\n    DBMetrics --\u003e AlertRules\n    CacheMetrics --\u003e AlertRules\n    SecurityMetrics --\u003e AlertRules\n    AuditLogs --\u003e AlertRules\n    \n    AlertRules --\u003e NotificationChannels\n    NotificationChannels --\u003e EscalationPolicy\n```\n\n## GitHub Bots and Automation\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Automation Bots\"\n        Dependabot[Dependabot\u003cbr/\u003eDependency Updates\u003cbr/\u003eSecurity Patches\u003cbr/\u003eVersion Management]\n        AutoCommit[Auto Commit Bot\u003cbr/\u003eDocumentation Updates\u003cbr/\u003eCode Formatting\u003cbr/\u003eStatistics Tracking]\n        AutoPR[Auto PR Bot\u003cbr/\u003eFeature PRs\u003cbr/\u003eImprovement PRs\u003cbr/\u003eDocumentation PRs]\n        AutoMerge[Auto Merge Bot\u003cbr/\u003eApproved PRs\u003cbr/\u003eAuto-generated PRs\u003cbr/\u003eStatus Checks]\n        AutoRelease[Auto Release Bot\u003cbr/\u003ePatch Releases\u003cbr/\u003eMinor Releases\u003cbr/\u003eMajor Releases]\n    end\n    \n    subgraph \"Bot Triggers\"\n        ScheduleTrigger[Scheduled Triggers\u003cbr/\u003eDaily Updates\u003cbr/\u003eWeekly Releases\u003cbr/\u003eMonthly Maintenance]\n        EventTrigger[Event Triggers\u003cbr/\u003eCode Push\u003cbr/\u003ePR Creation\u003cbr/\u003eReview Approval]\n        ManualTrigger[Manual Triggers\u003cbr/\u003eWorkflow Dispatch\u003cbr/\u003eAdmin Commands\u003cbr/\u003eEmergency Actions]\n    end\n    \n    subgraph \"Bot Activities\"\n        CodeUpdates[Code Updates\u003cbr/\u003eFormatting\u003cbr/\u003eImport Organization\u003cbr/\u003eDependency Updates]\n        Documentation[Documentation\u003cbr/\u003eREADME Updates\u003cbr/\u003eAPI Documentation\u003cbr/\u003eChangelog Updates]\n        PRManagement[PR Management\u003cbr/\u003eAuto-creation\u003cbr/\u003eAuto-merge\u003cbr/\u003eStatus Updates]\n        ReleaseManagement[Release Management\u003cbr/\u003eVersion Bumping\u003cbr/\u003eRelease Notes\u003cbr/\u003eTag Creation]\n    end\n    \n    subgraph \"Bot Outputs\"\n        Commits[Automated Commits\u003cbr/\u003eDocumentation Updates\u003cbr/\u003eCode Improvements\u003cbr/\u003eStatistics Updates]\n        PullRequests[Generated PRs\u003cbr/\u003eFeature Requests\u003cbr/\u003eImprovement Suggestions\u003cbr/\u003eDocumentation Updates]\n        Releases[Automated Releases\u003cbr/\u003eVersion Tags\u003cbr/\u003eRelease Notes\u003cbr/\u003eChangelog Updates]\n        Notifications[Bot Notifications\u003cbr/\u003eStatus Updates\u003cbr/\u003eProgress Reports\u003cbr/\u003eError Alerts]\n    end\n    \n    Dependabot --\u003e CodeUpdates\n    AutoCommit --\u003e Documentation\n    AutoPR --\u003e PRManagement\n    AutoMerge --\u003e PRManagement\n    AutoRelease --\u003e ReleaseManagement\n    \n    ScheduleTrigger --\u003e Dependabot\n    ScheduleTrigger --\u003e AutoCommit\n    ScheduleTrigger --\u003e AutoPR\n    ScheduleTrigger --\u003e AutoRelease\n    \n    EventTrigger --\u003e AutoMerge\n    EventTrigger --\u003e AutoCommit\n    EventTrigger --\u003e AutoPR\n    \n    ManualTrigger --\u003e AutoRelease\n    ManualTrigger --\u003e AutoPR\n    ManualTrigger --\u003e AutoCommit\n    \n    CodeUpdates --\u003e Commits\n    Documentation --\u003e Commits\n    PRManagement --\u003e PullRequests\n    ReleaseManagement --\u003e Releases\n    \n    Commits --\u003e Notifications\n    PullRequests --\u003e Notifications\n    Releases --\u003e Notifications\n```\n\n## Bot Workflow Schedules\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph LR\n    subgraph \"Monday\"\n        MonDeps[Dependabot\u003cbr/\u003eGo Dependencies\u003cbr/\u003e9:00 AM UTC]\n        MonCommit[Auto Commit\u003cbr/\u003eDocumentation\u003cbr/\u003e8:00 AM UTC]\n    end\n    \n    subgraph \"Tuesday\"\n        TueDeps[Dependabot\u003cbr/\u003eDocker Dependencies\u003cbr/\u003e9:00 AM UTC]\n        TuePR[Auto PR\u003cbr/\u003eFeature PR\u003cbr/\u003e10:00 AM UTC]\n    end\n    \n    subgraph \"Wednesday\"\n        WedDeps[Dependabot\u003cbr/\u003eGitHub Actions\u003cbr/\u003e9:00 AM UTC]\n        WedPR[Auto PR\u003cbr/\u003eImprovement PR\u003cbr/\u003e10:00 AM UTC]\n    end\n    \n    subgraph \"Thursday\"\n        ThuDeps[Dependabot\u003cbr/\u003eTerraform Dependencies\u003cbr/\u003e9:00 AM UTC]\n        ThuPR[Auto PR\u003cbr/\u003eDocumentation PR\u003cbr/\u003e10:00 AM UTC]\n    end\n    \n    subgraph \"Friday\"\n        FriDeps[Dependabot\u003cbr/\u003eAnsible Dependencies\u003cbr/\u003e9:00 AM UTC]\n        FriPR[Auto PR\u003cbr/\u003eRefactor PR\u003cbr/\u003e10:00 AM UTC]\n    end\n    \n    subgraph \"Saturday\"\n        SatDeps[Dependabot\u003cbr/\u003eHelm Dependencies\u003cbr/\u003e9:00 AM UTC]\n        SatCommit[Auto Commit\u003cbr/\u003eCode Quality\u003cbr/\u003e8:00 AM UTC]\n    end\n    \n    subgraph \"Sunday\"\n        SunRelease[Auto Release\u003cbr/\u003eWeekly Release\u003cbr/\u003e12:00 AM UTC]\n        SunCommit[Auto Commit\u003cbr/\u003eStatistics\u003cbr/\u003e8:00 AM UTC]\n    end\n    \n    MonDeps --\u003e MonCommit\n    TueDeps --\u003e TuePR\n    WedDeps --\u003e WedPR\n    ThuDeps --\u003e ThuPR\n    FriDeps --\u003e FriPR\n    SatDeps --\u003e SatCommit\n    SunRelease --\u003e SunCommit\n```\n\n## Bot Configuration\n\n```mermaid\n%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#663399', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#663399', 'lineColor': '#ffffff', 'secondaryColor': '#663399', 'tertiaryColor': '#663399'}}}%%\ngraph TB\n    subgraph \"Dependabot Configuration\"\n        DepConfig[Dependabot Config\u003cbr/\u003ePackage Ecosystems\u003cbr/\u003eUpdate Schedules\u003cbr/\u003ePR Limits]\n        GoDeps[Go Dependencies\u003cbr/\u003eWeekly Updates\u003cbr/\u003eMonday 9:00 AM\u003cbr/\u003e10 PR Limit]\n        DockerDeps[Docker Dependencies\u003cbr/\u003eWeekly Updates\u003cbr/\u003eTuesday 9:00 AM\u003cbr/\u003e5 PR Limit]\n        ActionsDeps[GitHub Actions\u003cbr/\u003eWeekly Updates\u003cbr/\u003eWednesday 9:00 AM\u003cbr/\u003e5 PR Limit]\n        TerraformDeps[Terraform Dependencies\u003cbr/\u003eWeekly Updates\u003cbr/\u003eThursday 9:00 AM\u003cbr/\u003e3 PR Limit]\n        AnsibleDeps[Ansible Dependencies\u003cbr/\u003eWeekly Updates\u003cbr/\u003eFriday 9:00 AM\u003cbr/\u003e3 PR Limit]\n        HelmDeps[Helm Dependencies\u003cbr/\u003eWeekly Updates\u003cbr/\u003eSaturday 9:00 AM\u003cbr/\u003e3 PR Limit]\n    end\n    \n    subgraph \"Auto Commit Bot\"\n        CommitConfig[Auto Commit Config\u003cbr/\u003eDaily Schedule\u003cbr/\u003eWeekdays 8:00 AM\u003cbr/\u003eMultiple Tasks]\n        DocsUpdate[Documentation Updates\u003cbr/\u003eREADME Updates\u003cbr/\u003eChangelog Updates\u003cbr/\u003eStatistics Tracking]\n        CodeQuality[Code Quality\u003cbr/\u003egofmt Formatting\u003cbr/\u003egoimports Organization\u003cbr/\u003ego.mod Updates]\n        TestImprovements[Test Improvements\u003cbr/\u003eCoverage Reports\u003cbr/\u003eTest Documentation\u003cbr/\u003ePerformance Analysis]\n        CIImprovements[CI Improvements\u003cbr/\u003eAction Updates\u003cbr/\u003eWorkflow Optimization\u003cbr/\u003eStatus Tracking]\n        ChoreTasks[Chore Tasks\u003cbr/\u003eMetadata Updates\u003cbr/\u003eStatistics Generation\u003cbr/\u003eProject Maintenance]\n    end\n    \n    subgraph \"Auto PR Bot\"\n        PRConfig[Auto PR Config\u003cbr/\u003eDaily Schedule\u003cbr/\u003eWeekdays 10:00 AM\u003cbr/\u003eMultiple PR Types]\n        FeaturePR[Feature PRs\u003cbr/\u003eNew Features\u003cbr/\u003eEnhancements\u003cbr/\u003eImprovements]\n        ImprovementPR[Improvement PRs\u003cbr/\u003eCode Improvements\u003cbr/\u003eError Handling\u003cbr/\u003ePerformance]\n        DocumentationPR[Documentation PRs\u003cbr/\u003eAPI Documentation\u003cbr/\u003eDeployment Guides\u003cbr/\u003eTroubleshooting]\n        RefactorPR[Refactor PRs\u003cbr/\u003eCode Structure\u003cbr/\u003eReadability\u003cbr/\u003eMaintainability]\n    end\n    \n    subgraph \"Auto Merge Bot\"\n        MergeConfig[Auto Merge Config\u003cbr/\u003ePR Events\u003cbr/\u003eReview Events\u003cbr/\u003eStatus Checks]\n        AutoGeneratedPR[Auto-generated PRs\u003cbr/\u003eImmediate Merge\u003cbr/\u003eStatus Check Pass\u003cbr/\u003eSquash Merge]\n        ApprovedPR[Approved PRs\u003cbr/\u003eReview Approval\u003cbr/\u003eStatus Check Pass\u003cbr/\u003eSquash Merge]\n        StatusChecks[Status Checks\u003cbr/\u003eCI/CD Pass\u003cbr/\u003eSecurity Scan Pass\u003cbr/\u003eTest Pass]\n    end\n    \n    subgraph \"Auto Release Bot\"\n        ReleaseConfig[Auto Release Config\u003cbr/\u003eWeekly Schedule\u003cbr/\u003eSunday Midnight\u003cbr/\u003eManual Triggers]\n        PatchRelease[Patch Releases\u003cbr/\u003eBug Fixes\u003cbr/\u003eMinor Updates\u003cbr/\u003eWeekly Schedule]\n        MinorRelease[Minor Releases\u003cbr/\u003eNew Features\u003cbr/\u003eEnhancements\u003cbr/\u003eManual Trigger]\n        MajorRelease[Major Releases\u003cbr/\u003eBreaking Changes\u003cbr/\u003eMajor Features\u003cbr/\u003eManual Trigger]\n    end\n    \n    DepConfig --\u003e GoDeps\n    DepConfig --\u003e DockerDeps\n    DepConfig --\u003e ActionsDeps\n    DepConfig --\u003e TerraformDeps\n    DepConfig --\u003e AnsibleDeps\n    DepConfig --\u003e HelmDeps\n    \n    CommitConfig --\u003e DocsUpdate\n    CommitConfig --\u003e CodeQuality\n    CommitConfig --\u003e TestImprovements\n    CommitConfig --\u003e CIImprovements\n    CommitConfig --\u003e ChoreTasks\n    \n    PRConfig --\u003e FeaturePR\n    PRConfig --\u003e ImprovementPR\n    PRConfig --\u003e DocumentationPR\n    PRConfig --\u003e RefactorPR\n    \n    MergeConfig --\u003e AutoGeneratedPR\n    MergeConfig --\u003e ApprovedPR\n    MergeConfig --\u003e StatusChecks\n    \n    ReleaseConfig --\u003e PatchRelease\n    ReleaseConfig --\u003e MinorRelease\n    ReleaseConfig --\u003e MajorRelease\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiraten-bot%2Fobs-tools-usage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiraten-bot%2Fobs-tools-usage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiraten-bot%2Fobs-tools-usage/lists"}