```plaintext %% Notification Architecture (ADR-0021) %% C4 Component diagram showing notification sources and hub flowchart LR subgraph sources["📤 Notification Sources"] direction TB ci["🔧 Gitea Actions
CI/CD builds"] alertmanager["🔔 Alertmanager
Prometheus alerts"] gatus["❤️ Gatus
Health monitoring"] flux["🔄 Flux
GitOps events"] end subgraph hub["📡 Central Hub"] ntfy["📢 ntfy
Notification Server"] end subgraph topics["🏷️ Topics"] direction TB t_ci["gitea-ci"] t_alerts["alertmanager-alerts"] t_gatus["gatus"] t_flux["flux"] t_deploy["deployments"] end subgraph consumers["📱 Consumers"] direction TB mobile["📱 ntfy App
(iOS/Android)"] bridge["🌉 ntfy-discord
Bridge"] discord["💬 Discord
Webhooks"] end %% Source to hub ci -->|"POST"| ntfy alertmanager -->|"webhook"| ntfy gatus -->|"webhook"| ntfy flux -->|"notification-controller"| ntfy %% Hub to topics ntfy --> topics %% Topics to consumers t_ci --> mobile t_alerts --> mobile t_gatus --> mobile t_flux --> mobile t_deploy --> mobile topics --> bridge bridge --> discord classDef source fill:#3498db,color:white classDef hub fill:#e74c3c,color:white classDef topic fill:#9b59b6,color:white classDef consumer fill:#27ae60,color:white class ci,alertmanager,gatus,flux source class ntfy hub class t_ci,t_alerts,t_gatus,t_flux,t_deploy topic class mobile,bridge,discord consumer ```