From f870e922e2cb61cb2d42a0d81319f449ae037e6f Mon Sep 17 00:00:00 2001 From: yu_tao <59214333+trickMin@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:06:38 +0800 Subject: [PATCH] feat: release 1.6.0 plugin market (#65) Signed-off-by: yutao04 --- CHANGELOG.md | 1 - CONTRIBUTING.md | 66 +++++- README.EN.md | 2 +- README.md | 2 +- changelog/RoadMap 2023.md | 10 +- changelog/announcing-v1.6.0.md | 14 ++ docs/README.md | 2 + install/crds/crd-slime.yaml | 199 +----------------- .../charts/hango-gateway/values.yaml | 12 +- test/hango-test.py | 2 +- 10 files changed, 100 insertions(+), 210 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 changelog/announcing-v1.6.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index c702e4e..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -[//]: TODO \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c702e4e..97fdb25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1,65 @@ -[//]: TODO \ No newline at end of file +# 代码贡献 + + 如果你: + + - 有新的想法 + - 提交Feature + - Bug report/fix + - 贡献文档 + - Help wanted + + 建议先提[Issues](https://github.com/hango-io/hango-gateway/issues),描述你的目的或者问题。 + +## 代码/文档贡献流程 + +Hango 项目分多个模块仓库,下面以 Hango-portal 为例,介绍代码如何提交至我们的开源仓库! + +### 1. fork代码 + +访问 [https://github.com/hango-io/portal](https://github.com/hango-io/portal),选择指定仓库,点击右上角的 Fork ,将 Hango-portal 仓库代码 fork 到自己的 github 仓库中。 + +### 2. 创建本地工程 + +本地 clone 远端的 github 仓库,添加、修改制定内容,如何进行本地调试可以参考本地调试章节;代码开发请遵守 [Hango 代码开发规范](https://hango-io.github.io/developer-guide/development/),否则在代码 review 阶段会被驳回 + +### 3. 将变更推送到远端 + +本地完成代码构建后,我们需要将代码内容进行 commit, commit 按如下格式进行信息提交 + +commit message格式 +``` +(): +``` +- type: 用于说明git commit的类别,只允许使用下面的标识。 +- feat: 新功能(feature)。 +- fix/to: 修复bug +- docs: 文档(documentation)。 +- style: 格式(不影响代码运行的变动)。 +- refactor: 重构(即不是新增功能,也不是修改bug的代码变动)。 +- perf: 优化相关,比如提升性能、体验。 +- test: 增加测试。 +- chore: 构建过程或辅助工具的变动。 +- revert: 回滚到上一个版本。 +- merge: 代码合并。 +- sync: 同步主线或分支的Bug。 +- scope(可选): scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。 +- subject(必须): subject是commit目的的简短描述,不超过50个字符。 +> 结尾不加其他标点符号 + +commit 要求功能聚合,因此在推送前请进行适当的代码 rebase 操作 + +### 4. 提交Pull Request + +待代码提交到个人的 fork 仓库后,我们可以向 Hango-portal 主仓库进行 PR 提交, PR 提交信息如下 + +- 关联 issue +- 提交人(关联人) + Signed-off-by: \[姓名\] <邮箱> +- PR 简要描述 +- 对模块或 Hango 项目的影响点 + +### 5. 其他 + +提交 PR 后,可以通过我们的官方微信平台或邮箱方式(hango.io@gmail.com)通知我们检视合入 + +![wechat](./images/hango-wechat.png) \ No newline at end of file diff --git a/README.EN.md b/README.EN.md index c3365fc..1f0a354 100644 --- a/README.EN.md +++ b/README.EN.md @@ -117,7 +117,7 @@ Hango Gateway is an open-source project, and welcomes any and all contributors. * Mail List: Mail to hango.io@gmail.com, follow the reply to subscribe to the mailing list. * QQ Group 914823850 -* WeChat Group:Scan QR +* (Suggest) WeChat Group:Scan QR * Check out the Hango documentation * Read the [CONTRIBUTING.md](CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) files. diff --git a/README.md b/README.md index 3d8d908..fce17d9 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ Hango UI提供了用户使用指南,通过使用指南用户可以方面上手 * 邮件:hango.io@gmail.com * qq群:Hango 交流群 914823850 -* 微信群:扫码加入 - Hango 开源交流群 +* (推荐)微信群:扫码加入 - Hango 开源交流群 * 参考[CONTRIBUTING.md](CONTRIBUTING.md) 和 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 文件 同时,也可以通过以下方式进行项目贡献: diff --git a/changelog/RoadMap 2023.md b/changelog/RoadMap 2023.md index 903a8cb..2687d61 100644 --- a/changelog/RoadMap 2023.md +++ b/changelog/RoadMap 2023.md @@ -27,12 +27,14 @@ ### v1.5.0(Ingress) > 已发布 + * 支持K8S Ingress流量治理 -### v1.6.0(4层流量治理) -* 虚拟网关同时支持HTTP和HTTPS -* 支持TCP协议代理 -* 支持UDP协议代理 +### v1.6.0(插件市场) +> 已发布 + +* 支持插件市场能力 +* 支持Lua语言自定义插件接入插件市场 ### v1.7.0(7层负载功能) * 支持网关向upstream传客户端IP diff --git a/changelog/announcing-v1.6.0.md b/changelog/announcing-v1.6.0.md new file mode 100644 index 0000000..928638f --- /dev/null +++ b/changelog/announcing-v1.6.0.md @@ -0,0 +1,14 @@ +### 描述 +本次更新是Hango正式版v1.6.0的发布。 + +本次新增了网关对插件市场功能支持 + +### 新功能 + +- [支持插件市场](https://hango-io.github.io/user-guide/extension/plugin-market/) + +- [支持Lua语言接入插件市场](https://hango-io.github.io/user-guide/extension/plugin-market/#1lua) + +### 工程修复 + +- [修复安装刷屏问题](https://github.com/hango-io/hango-gateway/pull/64) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 61397a4..5175115 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,7 @@ # Hango 文档 +仅罗列部分插件文档,更多文档请参考[Hango website](https://hango-io.github.io/) + ## 插件 * [插件界面配置引导](plugin/plugin-configuring-guide.md) diff --git a/install/crds/crd-slime.yaml b/install/crds/crd-slime.yaml index 9a424d3..77f7d1f 100644 --- a/install/crds/crd-slime.yaml +++ b/install/crds/crd-slime.yaml @@ -199,205 +199,14 @@ spec: scope: Namespaced versions: - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase' - type: string - metadata: - type: object - spec: - description: 'envoyplugin spec' - type: object - properties: - gateway: - description: which gateway should use this plugin setting - items: - type: string - type: array - host: - description: host level plugin - items: - type: string - type: array - isGroupSetting: - description: Deprecated - type: boolean - listener: - description: listener level - items: - properties: - outbound: - type: boolean - port: - format: int32 - type: integer - type: object - type: array - plugins: - items: - oneOf: - - not: - anyOf: - - required: - - wasm - - required: - - inline - - required: - - rider - - required: - - wasm - - required: - - inline - - required: - - rider - properties: - enable: - type: boolean - listenerType: - type: string - enum: - - Outbound - - Inbound - - Gateway - name: - type: string - port: - format: int32 - type: integer - settings: - description: Deprecated - properties: - fields: - additionalProperties: - description: "`Value` represents a dynamically typed value - which can be either null, a number, a string, a boolean, - a recursive struct value, or a list of values. A producer - of value is expected to set one of that variants, absence - of any variant indicates an error. \n The JSON representation - for `Value` is JSON value." - type: object - description: Unordered map of dynamically typed values. - type: object - type: object - typeUrl: - type: string - rider: - type: object - properties: - url: - type: string - pluginName: - type: string - sha256: - type: string - settings: # TODO more detailed - type: object - x-kubernetes-preserve-unknown-fields: true - image_pull_secret: - type: object - properties: - imagePullSecretName: - type: string - imagePullSecretContent: - type: string - oneOf: - - required: - - imagePullSecretName - - required: - - imagePullSecretContent - - not: - anyOf: - - required: - - imagePullSecretName - - required: - - imagePullSecretContent - wasm: - type: object - oneOf: - - required: - - imagePullSecretName - - required: - - imagePullSecretContent - - not: - anyOf: - - required: - - imagePullSecretName - - required: - - imagePullSecretContent - properties: - url: - type: string - pluginName: - type: string - sha256: - type: string - settings: # TODO more detailed - type: object - x-kubernetes-preserve-unknown-fields: true - imagePullSecretName: - type: string - imagePullSecretContent: - type: string - inline: - type: object - properties: - settings: # TODO more detailed - type: object - x-kubernetes-preserve-unknown-fields: true - directPatch: - type: boolean - fieldPatchTo: - type: string - type: object - type: array - route: - description: route level plugin - items: - type: string - type: array - service: - description: service level plugin - items: - type: string - type: array - user: - description: which user should use this plugin setting - items: - type: string - type: array - workloadSelector: - description: '`WorkloadSelector` specifies the criteria used to determine - if the `Gateway`, `Sidecar`, or `EnvoyFilter` or `ServiceEntry` configuration - can be applied to a proxy. The matching criteria includes the metadata - associated with a proxy, workload instance info such as labels attached - to the pod/VM, or any other info that the proxy provides to Istio during - the initial handshake. If multiple conditions are specified, all conditions - need to match in order for the workload instance to be selected. Currently, - only label based selection mechanism is supported.' - additionalProperties: - type: string - description: workload selector , it should not be nil in Gateway Scenarios - type: object - status: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object served: true storage: true subresources: status: {} + schema: + openAPIV3Schema: + type: object + x-kubernetes-preserve-unknown-fields: true --- diff --git a/install/helm/hango-gateway/charts/hango-gateway/values.yaml b/install/helm/hango-gateway/charts/hango-gateway/values.yaml index 91de502..1604c12 100644 --- a/install/helm/hango-gateway/charts/hango-gateway/values.yaml +++ b/install/helm/hango-gateway/charts/hango-gateway/values.yaml @@ -2,12 +2,12 @@ data_dir: /data cluster_dns_domain: cluster.local images: - hango_apiplane_image: hangoio/api-plane:1.5.0 - hango_portal_image: hangoio/hango-portal:1.5.0 - hango_ui_image: hangoio/hango-ui:v2.2.0-c0750aef - istiod_image: hangoio/pilot:hango-2.1.0 - slime_image: docker.io/slimeio/slime-bundle-hango:hango-v1.3.0 - hango_proxy_image: hangoio/envoy-proxy:hango-v2.1.0-112caf6 + hango_apiplane_image: hangoio/api-plane:1.6.0 + hango_portal_image: hangoio/hango-portal:1.6.0 + hango_ui_image: docker.io/hangoio/hango-ui:v1.6.0-6b84bc94 + istiod_image: docker.io/slimeio/pilot:hango-1.6.0-rc1 + slime_image: docker.io/slimeio/slime-bundle-hango:hango-v1.6.0 + hango_proxy_image: hangoio/envoy-proxy:hango-v1.6.0-rc1-b3c2851-unstripped namespace: hango-system diff --git a/test/hango-test.py b/test/hango-test.py index e04f1cf..5e1dc36 100644 --- a/test/hango-test.py +++ b/test/hango-test.py @@ -6,7 +6,7 @@ import commands import sys -# 等待测试适配网关新模型版本 v1.4.0 +# 等待后续版本进行适配 print("Please wait for the test future online...") sys.exit()