diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index cd49c5a82c..9df9e8d6ac 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -122,8 +122,8 @@ jobs: - version: v1.30.4 ipFamily: ipv4 # Enable these after https://github.com/envoyproxy/gateway/issues/4572 fixed - # - version: v1.31.0 - # ipFamily: ipv6 # only run ipv6 test on latest version to save time + - version: v1.31.0 + ipFamily: ipv6 # only run ipv6 test on latest version to save time # TODO: this's IPv4 first, need a way to test IPv6 first. - version: v1.31.0 ipFamily: dual # only run dual test on latest version to save time @@ -148,6 +148,7 @@ jobs: KIND_NODE_TAG: ${{ matrix.target.version }} IMAGE_PULL_POLICY: IfNotPresent IP_FAMILY: ${{ matrix.target.ipFamily }} + E2E_TIMEOUT: 1h run: make e2e benchmark-test: diff --git a/examples/redis/redis.yaml b/examples/redis/redis.yaml index cee4a37c55..95f6cb3d90 100644 --- a/examples/redis/redis.yaml +++ b/examples/redis/redis.yaml @@ -60,6 +60,11 @@ data: kind: EnvoyGateway provider: type: Kubernetes + kubernetes: + rateLimitDeployment: + container: + # remove this line when https://github.com/envoyproxy/ratelimit/pull/748 merged + image: ghcr.io/zirain-dev/ratelimit:latest gateway: controllerName: gateway.envoyproxy.io/gatewayclass-controller extensionApis: diff --git a/internal/infrastructure/kubernetes/ratelimit/resource.go b/internal/infrastructure/kubernetes/ratelimit/resource.go index 4785a700d4..0d35196d62 100644 --- a/internal/infrastructure/kubernetes/ratelimit/resource.go +++ b/internal/infrastructure/kubernetes/ratelimit/resource.go @@ -277,6 +277,22 @@ func expectedRateLimitContainerEnv(rateLimit *egv1a1.RateLimit, rateLimitDeploym namespace string, ) []corev1.EnvVar { env := []corev1.EnvVar{ + { + Name: "PROTO", + Value: "tcp6", + }, + { + Name: "HOST", + Value: "", + }, + { + Name: "DEBUG_HOST", + Value: "", + }, + { + Name: "GRPC_HOST", + Value: "", + }, { Name: RuntimeRootEnvVar, Value: "/data", diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/custom.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/custom.yaml index 0c1be549e8..fc06ce0e6b 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/custom.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/custom.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default-env.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default-env.yaml index 0c1be549e8..fc06ce0e6b 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default-env.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default-env.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default.yaml index f3b49afb41..41d39a1014 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/default.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/disable-prometheus.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/disable-prometheus.yaml index b579400b05..3aee734932 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/disable-prometheus.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/disable-prometheus.yaml @@ -36,6 +36,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing-custom.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing-custom.yaml index c8586388f3..a12fac5f5d 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing-custom.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing-custom.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing.yaml index 002ee53bda..6b3b49bee5 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/enable-tracing.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/extension-env.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/extension-env.yaml index 65c68972f9..290e9f656a 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/extension-env.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/extension-env.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-annotations.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-annotations.yaml index fc6600de07..f936e1092d 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-annotations.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-annotations.yaml @@ -42,6 +42,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-labels.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-labels.yaml index 0c944d8fd8..4b3869b736 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-labels.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/merge-labels.yaml @@ -42,6 +42,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/override-env.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/override-env.yaml index 0c0f73f3c8..915e44b089 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/override-env.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/override-env.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/patch-deployment.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/patch-deployment.yaml index 5556e12d2e..3588b8533c 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/patch-deployment.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/patch-deployment.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/redis-tls-settings.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/redis-tls-settings.yaml index 29428fc447..a540605282 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/redis-tls-settings.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/redis-tls-settings.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/tolerations.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/tolerations.yaml index a247822262..41ac3eef2c 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/tolerations.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/tolerations.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/volumes.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/volumes.yaml index 30d8852d64..be42c7e0f8 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/volumes.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/volumes.yaml @@ -41,6 +41,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-node-selector.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-node-selector.yaml index f65e6f23e1..9534267717 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-node-selector.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-node-selector.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY diff --git a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-topology-spread-constraints.yaml b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-topology-spread-constraints.yaml index e726269ccb..abdb70dbd8 100644 --- a/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-topology-spread-constraints.yaml +++ b/internal/infrastructure/kubernetes/ratelimit/testdata/deployments/with-topology-spread-constraints.yaml @@ -40,6 +40,11 @@ spec: - command: - /bin/ratelimit env: + - name: PROTO + value: tcp6 + - name: HOST + - name: DEBUG_HOST + - name: GRPC_HOST - name: RUNTIME_ROOT value: /data - name: RUNTIME_SUBDIRECTORY