Skip to content

Commit

Permalink
Merge pull request #633 from landylee007/main
Browse files Browse the repository at this point in the history
add Zadig System Architecture Overview
  • Loading branch information
landylee007 authored Nov 16, 2021
2 parents ddeac41 + 32b5cd9 commit df007e4
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 1 deletion.
2 changes: 2 additions & 0 deletions README-zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ Zadig 是一款面向开发者设计的云原生持续交付(Continuous Delivery

![业务架构图](./Zadig-Business-Architecture-zh.jpg)

想了解更多系统架构信息,参考 [系统架构简介](System-Architecture-Overview-zh-CN.md).

产品特性介绍:

<details>
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

<details>
Expand Down
39 changes: 39 additions & 0 deletions System-Architecture-Overview-zh-CN.md
Original file line number Diff line number Diff line change
@@ -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 集群
39 changes: 39 additions & 0 deletions System-Architecture-Overview.md
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions Zadig-System-Architecture.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit df007e4

Please sign in to comment.