# Copyright (c) 2022 Alibaba Group Holding Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This file contains the base resources that most conformance tests will rely # on. This includes 3 namespaces along with Gateways, Services and Deployments # that can be used as backends for routing traffic. The most important # resources included are the Gateways (all in the higress-conformance-infra # namespace): # - same-namespace (only supports route in same ns) # - all-namespaces (supports routes in all ns) # - backend-namespaces (supports routes in ns with backend label) apiVersion: v1 kind: Namespace metadata: name: higress-conformance-infra labels: higress-conformance: infra --- apiVersion: v1 kind: Service metadata: name: infra-backend-v1 namespace: higress-conformance-infra spec: selector: app: infra-backend-v1 ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: infra-backend-v1 namespace: higress-conformance-infra labels: app: infra-backend-v1 spec: replicas: 2 selector: matchLabels: app: infra-backend-v1 template: metadata: labels: app: infra-backend-v1 spec: containers: - name: infra-backend-v1 # From https://github.com/kubernetes-sigs/ingress-controller-conformance/tree/master/images/echoserver image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Service metadata: name: infra-backend-v2 namespace: higress-conformance-infra spec: selector: app: infra-backend-v2 ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: infra-backend-v2 namespace: higress-conformance-infra labels: app: infra-backend-v2 spec: replicas: 2 selector: matchLabels: app: infra-backend-v2 template: metadata: labels: app: infra-backend-v2 spec: containers: - name: infra-backend-v2 image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Service metadata: name: infra-backend-v3 namespace: higress-conformance-infra spec: selector: app: infra-backend-v3 ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: infra-backend-v3 namespace: higress-conformance-infra labels: app: infra-backend-v3 spec: replicas: 2 selector: matchLabels: app: infra-backend-v3 template: metadata: labels: app: infra-backend-v3 spec: containers: - name: infra-backend-v3 image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Namespace metadata: name: higress-conformance-app-backend labels: higress-conformance: backend --- apiVersion: v1 kind: Service metadata: name: app-backend-v1 namespace: higress-conformance-app-backend spec: selector: app: app-backend-v1 ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: app-backend-v1 namespace: higress-conformance-app-backend labels: app: app-backend-v1 spec: replicas: 2 selector: matchLabels: app: app-backend-v1 template: metadata: labels: app: app-backend-v1 spec: containers: - name: app-backend-v1 image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Service metadata: name: app-backend-v2 namespace: higress-conformance-app-backend spec: selector: app: app-backend-v2 ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: app-backend-v2 namespace: higress-conformance-app-backend labels: app: app-backend-v2 spec: replicas: 2 selector: matchLabels: app: app-backend-v2 template: metadata: labels: app: app-backend-v2 spec: containers: - name: app-backend-v2 image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Namespace metadata: name: higress-conformance-web-backend labels: higress-conformance: backend --- apiVersion: v1 kind: Service metadata: name: web-backend namespace: higress-conformance-web-backend spec: selector: app: web-backend ports: - protocol: TCP port: 8080 targetPort: 3000 --- apiVersion: apps/v1 kind: Deployment metadata: name: web-backend namespace: higress-conformance-web-backend labels: app: web-backend spec: replicas: 2 selector: matchLabels: app: web-backend template: metadata: labels: app: web-backend spec: containers: - name: web-backend image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/echoserver:v20221109-7ee2f3e env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace resources: requests: cpu: 10m --- apiVersion: v1 kind: Pod metadata: name: nacos-standlone-rc3 namespace: higress-conformance-app-backend labels: name: nacos-standlone-rc3 spec: containers: - name: nacos-standlone-rc3 image: registry.cn-hangzhou.aliyuncs.com/hinsteny/nacos-standlone-rc3:1.0.0-RC3 ports: - containerPort: 8848 --- apiVersion: v1 kind: Service metadata: name: nacos-standlone-rc3-service namespace: higress-conformance-app-backend spec: selector: name: nacos-standlone-rc3 clusterIP: None ports: - name: foo # name is not required for single-port Services port: 8848 --- apiVersion: v1 kind: Pod metadata: name: dubbo-demo-provider namespace: higress-conformance-app-backend spec: containers: - name: dubbo-demo-provider image: registry.cn-hangzhou.aliyuncs.com/hinsteny/dubbo-provider-demo:0.0.2 env: - name: NACOS_K8S_NAMESPACE value: higress-conformance-app-backend - name: DUBBO_GROUP value: dev ports: - containerPort: 20880