Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation of frontend pluggable architecture #392

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions sig-architecture/concepts-and-designs/pluggable-architecture-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,26 @@
3. 插件管理:提供可视化的插件管理机制,支持插件的安装、卸载、启用、停用、配置、升级
4. 插件仓库:提供插件的打包、发布机制,提供内置的插件仓库。
5. 插件框架:提供插件开发、打包、发布相关的脚手架,提供完善的插件开发文档。

## Architecture

![plugin-arch](../images/pluggable-arch.png)

## Frontend

TBD
前端采用微内核+插件的架构重构整个前端。架构图如下:

![frontend framework](../images/frontend-framework.svg)

内核仅提供插件注册、运行时上下文、事件总线、路由管理、国际化管理、基础页面(如登录、布局页面)、BFF等核心功能,所有业务代码以插件形式接入。如:Clusters、DevOps、DMP。
插件区分本地插件和远程插件,他们的开发模式基本相同但存在以下不同:
- 本地插件的代码和 ks-core 在同一个 repo 并且会和 ks-core 同时打包。
- 远程插件的代码和 ks-core 在不同的 repo,会单独打包发布,然后在 ks-core 运行时远程加载。

同时,为了提高开发效率降低开发门槛我们对基础组件库 KubeDesign 做了全新的封装,对通用业务组件也会做一些封装。
另外我们会提供开发脚手架,方便开发者快速构建插件。



## Backend

Expand Down Expand Up @@ -114,4 +126,4 @@ spec:
- 'Foo: Bar'
status:
enabled: true
```
```
16 changes: 16 additions & 0 deletions sig-architecture/images/frontend-framework.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.