Skip to content

Commit b51db5c

Browse files
Merge pull request #17 from MaYuan-02/mayuanyuan/gatewayapi-conformance-refine
Mayuanyuan/gatewayapi conformance refine
2 parents b1dc7d9 + d177022 commit b51db5c

File tree

9 files changed

+1266
-0
lines changed

9 files changed

+1266
-0
lines changed

gateway-api-conformance/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# 阿里云服务网格Gateway API一致性测试说明
2+
## 关于阿里云服务网格
3+
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容于社区Istio开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,从而极大地减轻开发与运维的工作负担。
4+
## 开始之前
5+
1. 请确保您已经创建了一个ACK集群,参考:https://www.alibabacloud.com/help/zh/ack/ack-managed-and-ack-dedicated/user-guide/create-an-ack-managed-cluster-2/?spm=a2c63.p38356.help-menu-85222.d_2_0_1.4c287474VErtwq
6+
1. 请确保您已经在ACK集群中安装了servicemesh-operator组件,并且已经获取了ASM ID。参考:https://help.aliyun.com/zh/ack/product-overview/servicemesh-operator
7+
1. 已经有一个阿里云AccessKey,可以操作所有ACK和ASM的资源,并且可以获取到管理员权限的KubeConfig。
8+
## 开始测试
9+
```sh
10+
# 设置测试环境变量
11+
export ALICLOUD_ACCESS_KEY='xxxxx'
12+
export ALICLOUD_SECRET_KEY='xxxxx'
13+
export ACK_ID='xxxxx'
14+
export ASM_ID='xxxxx'
15+
```
16+
```sh
17+
go test Test_AmbientGatewayAPIConformance ./test/ -v
18+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Alibaba Cloud Service Mesh Gateway API Conformance Test Instructions
2+
## About Alibaba Cloud Service Mesh
3+
Alibaba Cloud Service Mesh (Service Mesh, abbreviated as ASM) provides a fully managed service mesh platform that is compatible with the community Istio open source service mesh. It simplifies service governance, including traffic routing and split management between service calls, authentication security for inter-service communication, and mesh observability capabilities, thereby greatly reducing the workload of development and operations.
4+
5+
## Before You Begin
6+
1. Ensure you have created an ACK cluster, see:
7+
- https://www.alibabacloud.com/help/zh/ack/ack-managed-and-ack-dedicated/user-guide/create-an-ack-managed-cluster-2/?spm=a2c63.p38356.help-menu-85222.d_2_0_1.4c287474VErtwq
8+
1. Ensure you have installed the servicemesh-operator component in your ACK cluster and have obtained the ASM ID. See:
9+
- https://help.aliyun.com/zh/ack/product-overview/servicemesh-operator
10+
1. Have an Alibaba Cloud AccessKey that can operate all ACK and ASM resources and can obtain administrator-level KubeConfig.
11+
12+
## Start Testing
13+
```sh
14+
# Set test environment variables
15+
export ALICLOUD_ACCESS_KEY='xxxxx'
16+
export ALICLOUD_SECRET_KEY='xxxxx'
17+
export ACK_ID='xxxxx'
18+
export ASM_ID='xxxxx'
19+
```
20+
```sh
21+
go test Test_AmbientGatewayAPIConformance ./test/ -v
22+
```

gateway-api-conformance/go.mod

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
module alibabacloud.com/servicemesh
2+
3+
go 1.25.5
4+
5+
require (
6+
github.com/alibabacloud-go/cs-20151215/v5 v5.9.8
7+
github.com/alibabacloud-go/darabonba-openapi/v2 v2.1.13
8+
github.com/alibabacloud-go/servicemesh-20200111/v4 v4.4.0
9+
github.com/alibabacloud-go/tea v1.3.14
10+
github.com/aliyun/credentials-go v1.4.10
11+
github.com/stretchr/testify v1.11.1
12+
istio.io/api v1.28.0-alpha.0.0.20251231162138-f47776fba30e
13+
istio.io/istio v0.0.0-20251017121353-df538c2279a6
14+
k8s.io/api v0.33.3
15+
k8s.io/apimachinery v0.33.3
16+
k8s.io/client-go v0.33.3
17+
sigs.k8s.io/controller-runtime v0.21.0
18+
sigs.k8s.io/gateway-api v1.3.0
19+
sigs.k8s.io/yaml v1.5.0
20+
)
21+
22+
require (
23+
cel.dev/expr v0.24.0 // indirect
24+
dario.cat/mergo v1.0.2 // indirect
25+
github.com/Masterminds/goutils v1.1.1 // indirect
26+
github.com/Masterminds/semver/v3 v3.3.1 // indirect
27+
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
28+
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 // indirect
29+
github.com/alibabacloud-go/debug v1.0.1 // indirect
30+
github.com/alibabacloud-go/tea-utils/v2 v2.0.7 // indirect
31+
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
32+
github.com/beorn7/perks v1.0.1 // indirect
33+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
34+
github.com/clbanning/mxj/v2 v2.7.0 // indirect
35+
github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f // indirect
36+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
37+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
38+
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
39+
github.com/envoyproxy/go-control-plane/contrib v1.32.5-0.20250627145903-197b96a9c7f8 // indirect
40+
github.com/envoyproxy/go-control-plane/envoy v1.35.0 // indirect
41+
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
42+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
43+
github.com/fxamacker/cbor/v2 v2.8.0 // indirect
44+
github.com/go-logr/logr v1.4.3 // indirect
45+
github.com/go-logr/stdr v1.2.2 // indirect
46+
github.com/go-openapi/jsonpointer v0.21.1 // indirect
47+
github.com/go-openapi/jsonreference v0.21.0 // indirect
48+
github.com/go-openapi/swag v0.23.1 // indirect
49+
github.com/goccy/go-json v0.10.5 // indirect
50+
github.com/gogo/protobuf v1.3.2 // indirect
51+
github.com/golang/protobuf v1.5.4 // indirect
52+
github.com/google/btree v1.1.3 // indirect
53+
github.com/google/cel-go v0.25.0 // indirect
54+
github.com/google/gnostic-models v0.6.9 // indirect
55+
github.com/google/go-cmp v0.7.0 // indirect
56+
github.com/google/uuid v1.6.0 // indirect
57+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
58+
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
59+
github.com/hashicorp/errwrap v1.1.0 // indirect
60+
github.com/hashicorp/go-multierror v1.1.1 // indirect
61+
github.com/huandu/xstrings v1.5.0 // indirect
62+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
63+
github.com/josharian/intern v1.0.0 // indirect
64+
github.com/json-iterator/go v1.1.12 // indirect
65+
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
66+
github.com/lestrrat-go/blackmagic v1.0.3 // indirect
67+
github.com/lestrrat-go/httpcc v1.0.1 // indirect
68+
github.com/lestrrat-go/iter v1.0.2 // indirect
69+
github.com/lestrrat-go/jwx v1.2.31 // indirect
70+
github.com/lestrrat-go/option v1.0.1 // indirect
71+
github.com/mailru/easyjson v0.9.0 // indirect
72+
github.com/miekg/dns v1.1.66 // indirect
73+
github.com/mitchellh/copystructure v1.2.0 // indirect
74+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
75+
github.com/moby/spdystream v0.5.0 // indirect
76+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
77+
github.com/modern-go/reflect2 v1.0.2 // indirect
78+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
79+
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
80+
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
81+
github.com/pkg/errors v0.9.1 // indirect
82+
github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca // indirect
83+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
84+
github.com/prometheus/client_golang v1.22.0 // indirect
85+
github.com/prometheus/client_model v0.6.2 // indirect
86+
github.com/prometheus/common v0.65.0 // indirect
87+
github.com/prometheus/procfs v0.16.1 // indirect
88+
github.com/shopspring/decimal v1.4.0 // indirect
89+
github.com/spf13/cast v1.8.0 // indirect
90+
github.com/spf13/cobra v1.9.1 // indirect
91+
github.com/spf13/pflag v1.0.7 // indirect
92+
github.com/stoewer/go-strcase v1.3.0 // indirect
93+
github.com/tjfoc/gmsm v1.4.1 // indirect
94+
github.com/x448/float16 v0.8.4 // indirect
95+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
96+
go.opentelemetry.io/otel v1.38.0 // indirect
97+
go.opentelemetry.io/otel/exporters/prometheus v0.57.0 // indirect
98+
go.opentelemetry.io/otel/metric v1.38.0 // indirect
99+
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
100+
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
101+
go.opentelemetry.io/otel/trace v1.38.0 // indirect
102+
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
103+
go.uber.org/atomic v1.11.0 // indirect
104+
go.uber.org/multierr v1.11.0 // indirect
105+
go.uber.org/zap v1.27.0 // indirect
106+
go.yaml.in/yaml/v2 v2.4.2 // indirect
107+
golang.org/x/crypto v0.46.0 // indirect
108+
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
109+
golang.org/x/mod v0.30.0 // indirect
110+
golang.org/x/net v0.48.0 // indirect
111+
golang.org/x/oauth2 v0.32.0 // indirect
112+
golang.org/x/sync v0.19.0 // indirect
113+
golang.org/x/sys v0.39.0 // indirect
114+
golang.org/x/term v0.38.0 // indirect
115+
golang.org/x/text v0.32.0 // indirect
116+
golang.org/x/time v0.11.0 // indirect
117+
golang.org/x/tools v0.39.0 // indirect
118+
google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 // indirect
119+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect
120+
google.golang.org/grpc v1.77.0 // indirect
121+
google.golang.org/protobuf v1.36.11 // indirect
122+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
123+
gopkg.in/inf.v0 v0.9.1 // indirect
124+
gopkg.in/ini.v1 v1.67.0 // indirect
125+
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
126+
gopkg.in/yaml.v3 v3.0.1 // indirect
127+
istio.io/client-go v1.27.2-0.20251010090538-d3877427e89c // indirect
128+
k8s.io/apiextensions-apiserver v0.33.3 // indirect
129+
k8s.io/apiserver v0.33.3 // indirect
130+
k8s.io/klog/v2 v2.130.1 // indirect
131+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
132+
k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979 // indirect
133+
sigs.k8s.io/gateway-api-inference-extension v0.5.0 // indirect
134+
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
135+
sigs.k8s.io/mcs-api v0.1.1-0.20240624222831-d7001fe1d21c // indirect
136+
sigs.k8s.io/randfill v1.0.0 // indirect
137+
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
138+
)

0 commit comments

Comments
 (0)