Skip to content

release-v0.3.3

Choose a tag to compare

@mingqing mingqing released this 09 Nov 09:16
· 123 commits to main since this release

[0.3.3] - 2023-04-09

Added

配置对接兼容 S3 接口的公有云对象存储

  1. 基于 minio-go/v7 封装,提供简单:Get、Upload、Delete、Attributes、Iter 等方法;
  2. 实现腾讯云 COS、阿里云 OSS的接入,见配置使用文档。

可观测性重构以支持 OTLP 协议上报数据

  1. 支持 遥测数据(链路、指标)通过 OLTP 协议上报数据,见 配置使用文档;
  2. 支持 阿里云 可观测链路 OpenTelemetry 版 的接入;
  3. 支持 腾讯云 应用性能监控 的接入;
  4. 支持 私有 jaeger 服务 的接入。

环境文件 env-* 新增变量 DOCKER_IMAGE_FROM

scripts/env-dev-local

# 基础镜像:构建业务镜像依赖的基础环境
DOCKER_IMAGE_FROM=centos:latest

也就是控制 Dockerfile 中 FROM 的镜像来源。

在 jwt 中添加属性 tenant 表示租户

示例 token 格式如下:

{
  "aud": "api-gateway",
  "exp": 1893427200,
  "iat": 1668396542,
  "iss": "https://grpc-kit.com/oauth2",
  "sub": "oneops",
  "email": "oneops@grpc-kit.com",
  "email_verified": true,
  "federated_claims": {
    "connector_id": "local",
    "user_id": "oneops"
  },
  "groups": [
    "admin"
  ],
  "tenant" : "default"
}

相比原先新增 tenant 表示租户,参考了第三方文档设计。

支持 http 响应体为空时以 204 状态码返回

当微服务中 rpc 方法定义使用 google.protobuf.Empty 类型返回时,处理请求时会在 http gateway 中判断 proto 类型是否为 *emptypb.Empty 如则以状态码 204 返回。

// 该微服务支持的 RPC 方法定义
service OpsaidTest1 {
  rpc HelloNoContent(DemoRequest) returns (google.protobuf.Empty) {}
}

Fixed

make manifests 变量问题修复

scripts/variable.sh: line 45: CI_BIZ_GROUP_APPID: command not found

Changed

升级 go-grpc-middleware 为 v2 版本

  1. go-grpc-middleware v1 已被废弃;
  2. 更改了服务依赖组件,以兼容 v2 版本。

私有 http handler 实现函数添加错误返回

在代码文件 handler/private.go 中函数 privateHTTPHandle(mux *http.ServeMux) error 添加错误返回。

同时这里实现的 http 接口默认不支持链路可观测,需用户特殊编码后开启,见配置使用文档。