Skip to content

EdgeFlowCDN/cdn-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cdn-deploy

EdgeFlow CDN deployment configurations.

System Architecture

graph TD
    User[User Request] --> Scheduler[cdn-scheduler<br/>DNS / HTTP 302]
    Scheduler --> Edge[cdn-edge<br/>Caching Proxy]
    Edge --> Origin[Origin Server]
    Edge -->|Metrics| Prometheus
    Prometheus --> Grafana

    Console[cdn-console<br/>React UI] -->|REST API| Control[cdn-control<br/>Gin + gRPC]
    Control -->|gRPC Config Push| Edge
    Control --> PG[(PostgreSQL)]
    Control --> Redis[(Redis)]
    Redis -->|Pub/Sub Purge| Edge
    Edge -->|Access Logs| CH[(ClickHouse)]
Loading

Docker Compose (Full Stack)

Start all services with one command:

docker compose up --build

Services

Service Port Description
cdn-console 3000 Admin web UI
cdn-control 8090 Control plane API
cdn-edge 8080/8443 Edge proxy (HTTP/HTTPS)
cdn-scheduler 15353/8053 DNS + HTTP scheduling
postgres 5432 Database
redis 6379 Cache purge pub/sub
prometheus 9090 Metrics collection
grafana 3001 Monitoring dashboards

Default Credentials

  • Console: admin / admin123
  • Grafana: admin / admin

Grafana Dashboards

Import grafana/cdn-overview.json into Grafana for the pre-built CDN monitoring dashboard.

Panels: QPS, cache hit rate, active connections, latency percentiles, bandwidth, status codes, origin metrics.

End-to-End Test

cd e2e
chmod +x e2e_test.sh
./e2e_test.sh

Production Deployment

For VPS or K8s deployments, customize the config files in each service's configs/docker-config.yaml.

About

EdgeFlow CDN - Deployment configs (Docker Compose, K8s, Prometheus)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages