# 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: Pod metadata: name: consul-standlone namespace: higress-conformance-app-backend labels: name: consul-standlone spec: containers: - name: consul image: docker.io/hashicorp/consul:1.16.0 resources: requests: cpu: 10m ports: - containerPort: 8500 name: http protocol: TCP --- apiVersion: v1 kind: Service metadata: name: consul-service namespace: higress-conformance-app-backend labels: name: consul-standlone spec: clusterIP: None ports: - name: http-query port: 8500 protocol: TCP targetPort: 8500 selector: name: consul-standlone --- apiVersion: v1 kind: Pod metadata: name: httpbin namespace: higress-conformance-app-backend spec: containers: - name: httpbin image: registry.cn-hangzhou.aliyuncs.com/2456868764/httpbin:1.0.2 command: - /app/httpbin - --registry-type=consul - --consul-server-address=consul-service:8500 - --server-port=8080 - --service-tags=higress,httpbin env: - name: SERVICE_NAME value: httpbin - name: VERSION value: v1 - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: SERVICE_ACCOUNT valueFrom: fieldRef: fieldPath: spec.serviceAccountName ports: - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: /ping port: 8080 scheme: HTTP periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 livenessProbe: httpGet: path: /ping port: 8080 scheme: HTTP initialDelaySeconds: 20 periodSeconds: 20