mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 15:12:08 +01:00
feat(design): add infrastructure diagram
This commit is contained in:
43
design.md
43
design.md
@@ -94,19 +94,46 @@ Notes:
|
|||||||
Describe the deployment strategy and infrastructure requirements.
|
Describe the deployment strategy and infrastructure requirements.
|
||||||
|
|
||||||
- Environments: prod, local dev
|
- Environments: prod, local dev
|
||||||
- Runtime platform: Kubernetes
|
- Runtime platform: Kubernetes, serverless - cloudflare pages
|
||||||
- Infrastructure diagram (optional):
|
- Infrastructure diagram (optional):
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TB
|
flowchart TB
|
||||||
subgraph Cloud
|
subgraph "Cloudflare"
|
||||||
lb[Load Balancer]
|
pages[React App<br/>Cloudflare Pages]
|
||||||
asg[Service / Deployment]
|
|
||||||
db[(Managed DB)]
|
|
||||||
bucket[(Object Storage)]
|
|
||||||
end
|
end
|
||||||
user((User)) --> lb --> asg --> db
|
|
||||||
asg --> bucket
|
subgraph "Kubernetes Cluster"
|
||||||
|
subgraph "Ingress"
|
||||||
|
ingress[Ingress Controller]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Services"
|
||||||
|
api[API Gateway /<br/>Web Server]
|
||||||
|
svc[Web API Service]
|
||||||
|
worker[Worker Service]
|
||||||
|
planner[Task Planner]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Infrastructure"
|
||||||
|
queue[Message Queue]
|
||||||
|
db[(Database)]
|
||||||
|
cache[(Cache)]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
user((User)) --> pages
|
||||||
|
pages -.-> ingress
|
||||||
|
ingress --> api
|
||||||
|
api --> svc
|
||||||
|
svc --> queue
|
||||||
|
svc --> db
|
||||||
|
svc --> cache
|
||||||
|
|
||||||
|
queue --> worker
|
||||||
|
planner --> queue
|
||||||
|
|
||||||
|
worker --> db
|
||||||
```
|
```
|
||||||
|
|
||||||
- Configuration & secrets: Env vars, secret manager, .env files (never commit secrets).
|
- Configuration & secrets: Env vars, secret manager, .env files (never commit secrets).
|
||||||
|
|||||||
Reference in New Issue
Block a user