diff --git a/README-zh-CN.md b/README-zh-CN.md index beba21f0e2..3bd629bace 100644 --- a/README-zh-CN.md +++ b/README-zh-CN.md @@ -42,6 +42,8 @@ Zadig 是一款面向开发者设计的云原生持续交付(Continuous Delivery ![业务架构图](./Zadig-Business-Architecture-zh.jpg) +想了解更多系统架构信息,参考 [系统架构简介](System-Architecture-Overview-zh-CN.md). + 产品特性介绍:
diff --git a/README.md b/README.md index 374fa483ae..7ba402d46c 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,12 @@ Zadig is non-invasive, it does not exclude any of your existing development proc > Our vision is: Developer + Zadig = Business success -The architecture is as follows: +The business architecture is as follows: ![Business Architecture](./Zadig-Business-Architecture.jpg) +For more details about system architecture, see [Zadig System Architecture Overview](System-Architecture-Overview.md). + The Highlighted Features:
diff --git a/System-Architecture-Overview-zh-CN.md b/System-Architecture-Overview-zh-CN.md new file mode 100644 index 0000000000..4f10c078ae --- /dev/null +++ b/System-Architecture-Overview-zh-CN.md @@ -0,0 +1,39 @@ +# Zadig 系统架构简介 + +## 系统架构图 + +![Architecture_diagram](./Zadig-System-Architecture.svg) + +## 核心组件介绍 + +用户入口: +- zadig-portal:Zadig 前端组件 +- kodespace:Zadig 开发者命令行工具 +- Zadig Toolkit:vscode 开发者插件 + +API 网关: +- Gloo Edge:Zadig 的 API 网关组件 +- OPA:认证和授权组件 +- User:用户管理,Token 生成 +- Dex:Zadig 的身份认证服务,用于连接其他第三方认证系统,比如 AD / LDAP / OAuth2 / GitHub / .. + +Zadig 核心业务: +- Picket:数据聚合服务 +- Aslan:项目 / 环境 / 服务 / 工作流 / 构建配置 / 系统配置等系统功能 +- Policy:OPA 数据源,策略注册中心 +- Config:系统配置 +- Workflow Runner: + - warpdrive:工作流引擎,负责 reaper、predator 实例的创建销毁等管理操作 + - reaper:负责执行单个工作流作业中的构建、测试等任务 + - predator:负责执行单个工作流作业中的镜像分发任务 + - plugins:工作流插件 + - Jenkins-plugin:用于触发 Jenkins job,显示状态和结果等 +- Cron:定时任务,包括环境的回收,K8s 资源的清理等 +- NSQ:消息队列(第三方组件) + +数据平面: +- MongoDB:业务数据数据库 +- MySQL:存储 dex 配置、用户信息的数据库 + +K8s 集群: +- Zadig 业务运行在各种云厂商的标准 K8s 集群 \ No newline at end of file diff --git a/System-Architecture-Overview.md b/System-Architecture-Overview.md new file mode 100644 index 0000000000..61e0597798 --- /dev/null +++ b/System-Architecture-Overview.md @@ -0,0 +1,39 @@ +# Zadig System Architecture Overview + +## System Architecture + +![Architecture_diagram](./Zadig-System-Architecture.svg) + +## Main Components + +User Interface: +- zadig-portal:Zadig web component +- kodespace:Zadig command line tools +- Zadig Toolkit:vscode plugin + +API Gateway: +- Gloo Edge:Zadig API gateway +- OPA:Authentication and authorization +- User:User management, token generation +- Dex:Identity service for Zadig, acts as a portal to other identity providers like AD / LDAP / OAuth2 / GitHub / .. + +Zadig Core: +- Picket:backend for frontend service. +- Aslan:main service for all business logic. Project, environment, service, workflow, build, system management are all in this service. +- Policy:data source of OPA and policy registration center. +- Config:system configuration center. +- Workflow Runner: + - warpdrive:workflow engine, manages reaper and predator + - reaper:workflow runner. Used for building, testing tasks. + - predator:workflow runner. Used for distribute tasks. + - plugins:workflow plugins + - Jenkins-plugin:workflow runner. Used as connector to trigger Jenkins job and retrieve job information. +- Cron:cronjob runner +- NSQ:message queue + +Data Plane: +- MongoDB:database for business data. +- MySQL:dex configuration,database for user. + +Kubernetes Cluster: +- Zadig business runs on standard K8s clusters from cloud vendors diff --git a/Zadig-System-Architecture.svg b/Zadig-System-Architecture.svg new file mode 100644 index 0000000000..c53a8eacda --- /dev/null +++ b/Zadig-System-Architecture.svg @@ -0,0 +1 @@ +
User
Interface
User...
API
Gateway
API...
OAuth 2.0
OAuth 2.0
LDAP/AD
LDAP/AD
GitHub
GitHub
……
……
OpenID Provider
OpenID Provider
Zadig Core
Zadig...
Data Plane
Data Plane
MongoDB
MongoDB
MySQL
MySQL
Engineer (development, testing, SRE etc.)
Engineer (development, testing, SRE etc.)
Workflow Runner
Workflow Runner
warpdrive
warpdrive
Dind Replicas
Dind Replicas
dind
dind
dind
dind
NSQ
NSQ
Cron
Cron
workflow controller
workflow controller
project
project
service
service
environment
environment
cronjob controller
cronjob controller
Zadig Portal
Zadig Portal
Zadig Toolkit
Zadig Toolkit
Kodespace
Kodespace
reaper
reaper
predator
predat...
plugins
plugins
warpdrive
warpdr...
warpdrive
warpdr...
Picket
Picket
Aslan
Aslan
Dex
Dex
User
User
Gloo Edge
Gloo Edge
Opa
Opa
Kubernetes
Cluster
Kubern...
Ali ACK 
Ali ACK 
AWS EKS
AWS EKS
Tencent TKE
Tencent TKE
Huawei CCE
Huawei CCE
......
......
Config
Config
Policy
Policy
Viewer does not support full SVG 1.1
\ No newline at end of file