104 lines
3.6 KiB
Plaintext
104 lines
3.6 KiB
Plaintext
graph TB
|
|
%% External Users
|
|
Users[👥 Users] --> Internet[🌐 Internet]
|
|
|
|
%% DNS Layer
|
|
Internet --> EuroDNS[📡 EuroDNS<br/>askeveai.com]
|
|
|
|
%% Email Flow (Direct)
|
|
EuroDNS --> ProtonMail[📧 ProtonMail<br/>MX Records]
|
|
|
|
%% Web Traffic via Bunny.net
|
|
EuroDNS --> BunnyNet[🐰 Bunny.net CDN]
|
|
|
|
%% Bunny.net Pull Zones + Storage
|
|
BunnyNet --> WP_Zone[📝 WordPress Zone<br/>askeveai.com]
|
|
BunnyNet --> Staging_Zone[🧪 Staging Zone<br/>evie-staging.askeveai.com]
|
|
BunnyNet --> Prod_Zone[🚀 Production Zone<br/>evie.askeveai.com]
|
|
BunnyNet --> Static_Zone[📦 Static Assets Zone<br/>static.askeveai.com]
|
|
BunnyNet --> BunnyStorage[🗂️ Bunny Storage<br/>Static Files]
|
|
|
|
%% WordPress Origin
|
|
WP_Zone --> HostingCom[🏠 hosting.com<br/>WordPress Site]
|
|
|
|
%% Scaleway Infrastructure
|
|
subgraph Scaleway["☁️ Scaleway Cloud Platform"]
|
|
|
|
%% Load Balancer
|
|
ScalewayLB[⚖️ Load Balancer<br/>Static IP]
|
|
|
|
%% Kubernetes Cluster
|
|
subgraph K8sCluster["🐳 Kubernetes Cluster"]
|
|
Ingress[🚪 Ingress Controller<br/>Host-based Routing]
|
|
|
|
%% Application Pods
|
|
subgraph AppPods["📱 Application Pods"]
|
|
EveAI_App[evie_app<br/>Frontend]
|
|
EveAI_API[evie_api<br/>Backend API]
|
|
EveAI_Workers[evie_workers<br/>Background Jobs]
|
|
Other_Pods[... other pods]
|
|
end
|
|
|
|
%% Monitoring
|
|
subgraph Monitoring["📊 Monitoring"]
|
|
Prometheus[🔥 Prometheus<br/>Business Events]
|
|
Grafana[📈 Grafana<br/>Dashboards]
|
|
end
|
|
end
|
|
|
|
%% Managed Services
|
|
subgraph ManagedServices["🛠️ Managed Services"]
|
|
Redis[🔴 Redis<br/>Caching Layer]
|
|
PostgreSQL[🐘 PostgreSQL<br/>Database]
|
|
ObjectStorage[📂 Object Storage<br/>S3 Compatible]
|
|
end
|
|
|
|
%% Cockpit Monitoring
|
|
Cockpit[🚁 Scaleway Cockpit<br/>Infrastructure Monitoring]
|
|
end
|
|
|
|
%% Connections to Scaleway
|
|
Staging_Zone --> ScalewayLB
|
|
Prod_Zone --> ScalewayLB
|
|
Static_Zone --> BunnyStorage
|
|
|
|
%% Internal Scaleway Connections
|
|
ScalewayLB --> Ingress
|
|
|
|
Ingress --> EveAI_App
|
|
Ingress --> EveAI_API
|
|
Ingress --> EveAI_Workers
|
|
Ingress --> Other_Pods
|
|
|
|
EveAI_App --> Redis
|
|
EveAI_API --> PostgreSQL
|
|
EveAI_API --> Redis
|
|
EveAI_Workers --> PostgreSQL
|
|
EveAI_Workers --> Redis
|
|
EveAI_API --> ObjectStorage
|
|
|
|
%% Monitoring Connections
|
|
EveAI_App --> Prometheus
|
|
EveAI_API --> Prometheus
|
|
EveAI_Workers --> Prometheus
|
|
Prometheus --> Grafana
|
|
|
|
%% Cockpit monitors everything
|
|
ScalewayLB --> Cockpit
|
|
K8sCluster --> Cockpit
|
|
ManagedServices --> Cockpit
|
|
|
|
%% Styling
|
|
classDef bunnynet fill:#ff6b35,stroke:#333,stroke-width:2px,color:#fff
|
|
classDef scaleway fill:#4c1d95,stroke:#333,stroke-width:2px,color:#fff
|
|
classDef external fill:#10b981,stroke:#333,stroke-width:2px,color:#fff
|
|
classDef monitoring fill:#f59e0b,stroke:#333,stroke-width:2px,color:#fff
|
|
classDef managed fill:#8b5cf6,stroke:#333,stroke-width:2px,color:#fff
|
|
classDef apps fill:#06b6d4,stroke:#333,stroke-width:2px,color:#fff
|
|
|
|
class BunnyNet,WP_Zone,Staging_Zone,Prod_Zone,Static_Zone,BunnyStorage bunnynet
|
|
class EuroDNS,ProtonMail,HostingCom,Users,Internet external
|
|
class ScalewayLB,Ingress,Cockpit scaleway
|
|
class Prometheus,Grafana monitoring
|
|
class Redis,PostgreSQL,ObjectStorage managed
|
|
class EveAI_App,EveAI_API,EveAI_Workers,Other_Pods apps |