kuma
88 строк · 2.5 Кб
1package gateway
2
3import (
4"fmt"
5
6. "github.com/onsi/ginkgo/v2"
7. "github.com/onsi/gomega"
8
9"github.com/kumahq/kuma/test/e2e_env/kubernetes/gateway/delegated"
10. "github.com/kumahq/kuma/test/framework"
11"github.com/kumahq/kuma/test/framework/deployments/democlient"
12"github.com/kumahq/kuma/test/framework/deployments/kic"
13"github.com/kumahq/kuma/test/framework/deployments/testserver"
14"github.com/kumahq/kuma/test/framework/envs/kubernetes"
15)
16
17func Delegated() {
18config := delegated.Config{
19Namespace: "delegated-gateway",
20NamespaceOutsideMesh: "delegated-gateway-outside-mesh",
21Mesh: "delegated-gateway",
22KicIP: "",
23CpNamespace: Config.KumaNamespace,
24}
25
26BeforeAll(func() {
27err := NewClusterSetup().
28Install(MTLSMeshKubernetes(config.Mesh)).
29Install(MeshTrafficPermissionAllowAllKubernetes(config.Mesh)).
30Install(NamespaceWithSidecarInjection(config.Namespace)).
31Install(Namespace(config.NamespaceOutsideMesh)).
32Install(democlient.Install(
33democlient.WithNamespace(config.NamespaceOutsideMesh),
34)).
35Install(testserver.Install(
36testserver.WithMesh(config.Mesh),
37testserver.WithNamespace(config.Namespace),
38testserver.WithName("test-server"),
39)).
40Install(kic.KongIngressController(
41kic.WithName("delegated"),
42kic.WithNamespace(config.Namespace),
43kic.WithMesh(config.Mesh),
44)).
45Install(kic.KongIngressService(
46kic.WithName("delegated"),
47kic.WithNamespace(config.Namespace),
48)).
49Install(YamlK8s(fmt.Sprintf(`
50apiVersion: networking.k8s.io/v1
51kind: Ingress
52metadata:
53namespace: %s
54name: %s-ingress
55annotations:
56kubernetes.io/ingress.class: delegated
57spec:
58rules:
59- http:
60paths:
61- path: /test-server
62pathType: Prefix
63backend:
64service:
65name: test-server
66port:
67number: 80
68`, config.Namespace, config.Mesh))).
69Setup(kubernetes.Cluster)
70Expect(err).ToNot(HaveOccurred())
71
72kicIP, err := kic.From(kubernetes.Cluster).IP(config.Namespace)
73Expect(err).ToNot(HaveOccurred())
74
75config.KicIP = kicIP
76})
77
78E2EAfterAll(func() {
79Expect(kubernetes.Cluster.TriggerDeleteNamespace(config.Namespace)).
80To(Succeed())
81Expect(kubernetes.Cluster.TriggerDeleteNamespace(config.NamespaceOutsideMesh)).
82To(Succeed())
83Expect(kubernetes.Cluster.DeleteMesh(config.Mesh)).To(Succeed())
84})
85
86Context("MeshCircuitBreaker", delegated.CircuitBreaker(&config))
87Context("MeshProxyPatch", delegated.MeshProxyPatch(&config))
88}
89