kuma

Форк
0
88 строк · 2.5 Кб
1
package gateway
2

3
import (
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

17
func Delegated() {
18
	config := delegated.Config{
19
		Namespace:            "delegated-gateway",
20
		NamespaceOutsideMesh: "delegated-gateway-outside-mesh",
21
		Mesh:                 "delegated-gateway",
22
		KicIP:                "",
23
		CpNamespace:          Config.KumaNamespace,
24
	}
25

26
	BeforeAll(func() {
27
		err := NewClusterSetup().
28
			Install(MTLSMeshKubernetes(config.Mesh)).
29
			Install(MeshTrafficPermissionAllowAllKubernetes(config.Mesh)).
30
			Install(NamespaceWithSidecarInjection(config.Namespace)).
31
			Install(Namespace(config.NamespaceOutsideMesh)).
32
			Install(democlient.Install(
33
				democlient.WithNamespace(config.NamespaceOutsideMesh),
34
			)).
35
			Install(testserver.Install(
36
				testserver.WithMesh(config.Mesh),
37
				testserver.WithNamespace(config.Namespace),
38
				testserver.WithName("test-server"),
39
			)).
40
			Install(kic.KongIngressController(
41
				kic.WithName("delegated"),
42
				kic.WithNamespace(config.Namespace),
43
				kic.WithMesh(config.Mesh),
44
			)).
45
			Install(kic.KongIngressService(
46
				kic.WithName("delegated"),
47
				kic.WithNamespace(config.Namespace),
48
			)).
49
			Install(YamlK8s(fmt.Sprintf(`
50
apiVersion: networking.k8s.io/v1
51
kind: Ingress
52
metadata:
53
  namespace: %s
54
  name: %s-ingress
55
  annotations:
56
    kubernetes.io/ingress.class: delegated
57
spec:
58
  rules:
59
  - http:
60
      paths:
61
      - path: /test-server
62
        pathType: Prefix
63
        backend:
64
          service:
65
            name: test-server
66
            port:
67
              number: 80
68
`, config.Namespace, config.Mesh))).
69
			Setup(kubernetes.Cluster)
70
		Expect(err).ToNot(HaveOccurred())
71

72
		kicIP, err := kic.From(kubernetes.Cluster).IP(config.Namespace)
73
		Expect(err).ToNot(HaveOccurred())
74

75
		config.KicIP = kicIP
76
	})
77

78
	E2EAfterAll(func() {
79
		Expect(kubernetes.Cluster.TriggerDeleteNamespace(config.Namespace)).
80
			To(Succeed())
81
		Expect(kubernetes.Cluster.TriggerDeleteNamespace(config.NamespaceOutsideMesh)).
82
			To(Succeed())
83
		Expect(kubernetes.Cluster.DeleteMesh(config.Mesh)).To(Succeed())
84
	})
85

86
	Context("MeshCircuitBreaker", delegated.CircuitBreaker(&config))
87
	Context("MeshProxyPatch", delegated.MeshProxyPatch(&config))
88
}
89

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.