开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
目前开源之夏官网已经开启了学生报名,只要你满足以下要求即可进行项目申请:
参与项目不仅可以为开源世界做出自己的贡献,还能获得丰厚的结项奖金(基础难度 8000 RMB/进阶难度 12000 RMB ),项目经验也会成为你毕业简历上的亮点,快来报名吧!
报名截止时间为 6 月 3 日 15 点,具体参考官网活动流程和参与指南介绍:
Higress 介绍
Higress 是基于阿里内部两年多的实践沉淀,以开源 Istio 与 Envoy 为核心构建的下一代云原生网关。Higress 实现了安全防护网关、流量网关、微服务网关三层网关合一,可以显著降低网关的部署和运维成本。
Higress 在阿里内部的诞生和演进历程可以看这篇文章:
阿里巴巴重磅开源云原生网关: Higress
Higress 开源半年时间,GitHub star 数已经破千,在上个月 Higress 已经 Release 出了第一个 RC 版本,作为正式 GA 的候选发布版本,详情可以查看这篇文章:
上线控制台,降低使用门槛| Higress 1.0.0 RC 版本发布
在本次开源之夏活动中,Higress 有两个进阶难度的项目可以申请,欢迎各位同学踊跃报名。
项目介绍
项目一:Higress Wasm 插件构建 /调试 /部署的命令行实现
Higress 提供了很方便的 Wasm 插件扩展框架,具体可以查看这篇文章: 30 行代码写一个 Wasm Go 插件
更详细的插件开发和调试流程可以查看这篇文章:使用 Go 语言开发 WASM 插件
这里对插件的生效机制简单做个说明:
[ol]
[/ol]
这里 envoy 获取配置并加载 wasm 文件使用到了 ECDS (Extension Config Discovery Service)的机制,实现了 wasm 文件更新,直接热加载,不会导致任何连接中断,业务流量完全无损。
这个项目的初衷是希望能基于 Higress 的 CLI 命令行工具(hgctl) 来进一步简化 Higress Wasm 插件的开发调试和安装部署步骤,使之更容易上手使用。
需要实现的 hgctl 命令如下:
Higress Wasm 插件配置基于 Openapi Specification ( OAS 3.0 )进行约束,需要能从代码中解析出插件配置字段格式,自动生成对应的 OAS 约束,用于添加到 OCI 镜像中,并同时用于 install/uninstall/config 等命令的参数配置校验
项目二:基于 Wasm 实现 OIDC 认证插件
Higress 作为一个云原生网关,需要实现 OIDC 认证的能力,方便用户对接外部认证服务。
OIDC ( OpenID Connect ) 是基于 OAuth 2.0 的身份认证协议,可以用于实现 SSO ( Single Sign On )单点登录,即通过网关统一完成用户的身份认证,在身份认证成功后,再将资源请求转发给后端服务。
流程简介如下:
[ol]
[/ol]
目前 Higress 也可以基于 Envoy 的 Ext Authz 机制对接外置的 oauth2-proxy 来实现鉴权,不过这个方案一方面有额外的请求开销,另一方面 oauth2-proxy 只能作一组 OIDC 配置,无法对接多个不同的认证服务
加入社区
GitHub: https://github.com/alibaba/higress
官网: https://higress.io
对于报名方式有任何疑问,或者对某一个任务非常感兴趣,并且想要深入了解的同学,欢迎扫码添加微信,备注开源之夏