You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API 产品:必填,从 API 产品列表中下拉选择。
域名和 BasePath,继承 API 产品中的属性,在创建时回显供用户查看。
API 名称:必填,校验规则:包含小写字母、数字和以及特殊字符(- .),且不能以特殊字符开头和结尾,长度限制:63
请求方法:方法配置值,可多选,不填则匹配所有的 HTTP 方法,枚举值:GET/POST/PUT/DELETE/OPTIONS/HEAD/PATCH/TRACE/CONNECT
请求路径:必填,校验规则:以 / 开头,长度限制:255
映射模式:必填,下拉选择,目前仅支持入参透传这种模式,后期考虑支持入参映射(过滤未知参数)、入参映射(透传未知参数)问号提示文案:“透传:将请求头、请求方法、请求体透传至后端服务”
后端配置
后端服务:必填,从服务列表中下拉获取,并关联后端服务的协议类型,进行回显
请求路径:必填,默认设置为 API 定义模块中的请求路径,校验规则相同,允许用户编辑重写为其他路径。
导入页
编辑页
除 API 产品和 API 名称外,其他均允许编辑
领域模型解释
Higress API Portal 可以看做是 Higress 现有形态的延伸,所以两者的绝大部分领域模型是相同的,可以将 Higress 现有的控制台当做是 API Portal 的运维平面,API Portal 会针对其使用场景提出一些新的领域模型,下面诠释这些领域模型的关联。
Higress API Portal 的 API 产品跟 Higress 的路由一样,都对应一个 Ingress 规则,所以可以将 API 产品理解为一个配置 BasePath 为前缀匹配的路由。
Higress API Portal 中的 API 在现有的 Higress 中没有与之对应的模型,所以需要新增一个 CRD 与之对应。API 目前仅支持透传模式,所以仅需新增 API 请求路径映射这一个新特性,便可达到上述交互的效果,考虑使用 Higress 的插件机制完成该功能,后续针对 API 会有很多新的功能,也考虑使用插件机制完成,以保持跟 Higress 运维平面的兼容性。
API 是 API 产品精细化管理的产品,如果按照路由原先的模型,当 API 产品创建完毕后,意味着所有的路径都会被开放出去,但期望是只有具体的 API 被创建,才能正常进行路由,所以需要对 API 产品创建的 Ingress 规则做一些限制,判断是否有与之对应的 API,否则应该提示路由不存在相关的异常。
服务来源、服务列表、域名管理、证书管理等沿用 Higress 目前的领域对象完成映射。
Higress 的能力一定大于 Higress API Portal,但并不意味着所有用户都需要使用 Higress 全量的能力,API Portal 的提出是希望区分两类用户人群,让 Higress API Portal 服务于偏研发侧的用户,让 Higress 服务于偏运维侧的用户,Higress 和 Higress API Portal 识别同一套领域模型,共用同一个控制面,他们的数据是互通的。
如果目前没有 Higress API Portal 的需求,可以继续使用 Higress 控制台,Higress API Portal 不会损害现有的使用体验。
工作项拆分
前端页面开发
Higress Console 后端接口开发
API Product 对应的 Ingress 规则设计,支持无 API 时不能路由,API 级别精细化路由
API CRD 设计
API 路径重写插件开发设计
支持 OAS 2.0/3.0 规范导入 API 产品
The text was updated successfully, but these errors were encountered:
背景
#501
功能设计
Higress API Portal 包含服务来源、服务列表、API 产品、API 列表、域名管理、证书管理 6 个菜单,其中服务来源、服务列表、域名管理、证书管理等和 Higress 控制台交互一致。可以理解为将 Higress 的路由配置替换为了 API 产品和 API 列表。Higress 原有的监控面板和插件市场,在初版设计中不涉及,后续考虑优化。
原型设计
API产品
列表页
列表页的操作包含 API 管理和策略,对应的行为
查询过滤条件:API产品名称
创建页
名称:必填,校验规则:包含小写字母、数字和以及特殊字符(- .),且不能以特殊字符开头和结尾,长度限制:63
BasePath:必填,默认值:/,校验规则:以 / 开头,长度限制:255
域名:必填,从域名管理中获取域名列表,支持下拉选择
目标服务:必填,从服务列表中获取服务列表,支持下拉选择
编辑页
除名称外,其他均允许编辑
鉴于 Higress 的“传统”,暂不涉及详情页
API 列表
列表页
支持按照 API 名称和 API 产品名称进行检索
创建 API 页
创建 API 主要分成两个部分:API 定义和后端配置
API 定义
API 产品:必填,从 API 产品列表中下拉选择。
域名和 BasePath,继承 API 产品中的属性,在创建时回显供用户查看。
API 名称:必填,校验规则:包含小写字母、数字和以及特殊字符(- .),且不能以特殊字符开头和结尾,长度限制:63
请求方法:方法配置值,可多选,不填则匹配所有的 HTTP 方法,枚举值:GET/POST/PUT/DELETE/OPTIONS/HEAD/PATCH/TRACE/CONNECT
请求路径:必填,校验规则:以 / 开头,长度限制:255
映射模式:必填,下拉选择,目前仅支持入参透传这种模式,后期考虑支持入参映射(过滤未知参数)、入参映射(透传未知参数)问号提示文案:“透传:将请求头、请求方法、请求体透传至后端服务”
后端配置
后端服务:必填,从服务列表中下拉获取,并关联后端服务的协议类型,进行回显
请求路径:必填,默认设置为 API 定义模块中的请求路径,校验规则相同,允许用户编辑重写为其他路径。
导入页
编辑页
除 API 产品和 API 名称外,其他均允许编辑
领域模型解释
Higress API Portal 可以看做是 Higress 现有形态的延伸,所以两者的绝大部分领域模型是相同的,可以将 Higress 现有的控制台当做是 API Portal 的运维平面,API Portal 会针对其使用场景提出一些新的领域模型,下面诠释这些领域模型的关联。
Higress API Portal 的 API 产品跟 Higress 的路由一样,都对应一个 Ingress 规则,所以可以将 API 产品理解为一个配置 BasePath 为前缀匹配的路由。
Higress API Portal 中的 API 在现有的 Higress 中没有与之对应的模型,所以需要新增一个 CRD 与之对应。API 目前仅支持透传模式,所以仅需新增 API 请求路径映射这一个新特性,便可达到上述交互的效果,考虑使用 Higress 的插件机制完成该功能,后续针对 API 会有很多新的功能,也考虑使用插件机制完成,以保持跟 Higress 运维平面的兼容性。
API 是 API 产品精细化管理的产品,如果按照路由原先的模型,当 API 产品创建完毕后,意味着所有的路径都会被开放出去,但期望是只有具体的 API 被创建,才能正常进行路由,所以需要对 API 产品创建的 Ingress 规则做一些限制,判断是否有与之对应的 API,否则应该提示路由不存在相关的异常。
服务来源、服务列表、域名管理、证书管理等沿用 Higress 目前的领域对象完成映射。
Higress 的能力一定大于 Higress API Portal,但并不意味着所有用户都需要使用 Higress 全量的能力,API Portal 的提出是希望区分两类用户人群,让 Higress API Portal 服务于偏研发侧的用户,让 Higress 服务于偏运维侧的用户,Higress 和 Higress API Portal 识别同一套领域模型,共用同一个控制面,他们的数据是互通的。
如果目前没有 Higress API Portal 的需求,可以继续使用 Higress 控制台,Higress API Portal 不会损害现有的使用体验。
工作项拆分
The text was updated successfully, but these errors were encountered: