sigs.k8s.io/gateway-api@v1.0.0/conformance/base/manifests.yaml (about)

     1  # This file contains the base resources that most conformance tests will rely
     2  # on. This includes 3 namespaces along with Gateways, Services and Deployments
     3  # that can be used as backends for routing traffic. The most important
     4  # resources included are the Gateways (all in the gateway-conformance-infra
     5  # namespace):
     6  # - same-namespace (only supports route in same ns)
     7  # - all-namespaces (supports routes in all ns)
     8  # - backend-namespaces (supports routes in ns with backend label)
     9  apiVersion: v1
    10  kind: Namespace
    11  metadata:
    12    name: gateway-conformance-infra
    13    labels:
    14      gateway-conformance: infra
    15  ---
    16  apiVersion: gateway.networking.k8s.io/v1beta1
    17  kind: Gateway
    18  metadata:
    19    name: same-namespace
    20    namespace: gateway-conformance-infra
    21  spec:
    22    gatewayClassName: "{GATEWAY_CLASS_NAME}"
    23    listeners:
    24    - name: http
    25      port: 80
    26      protocol: HTTP
    27      allowedRoutes:
    28        namespaces:
    29          from: Same
    30  ---
    31  apiVersion: gateway.networking.k8s.io/v1beta1
    32  kind: Gateway
    33  metadata:
    34    name: same-namespace-with-https-listener
    35    namespace: gateway-conformance-infra
    36  spec:
    37    gatewayClassName: "{GATEWAY_CLASS_NAME}"
    38    listeners:
    39    - name: https
    40      port: 443
    41      protocol: HTTPS
    42      allowedRoutes:
    43        namespaces:
    44          from: Same
    45      tls:
    46        certificateRefs:
    47        - group: ""
    48          kind: Secret
    49          name: tls-validity-checks-certificate
    50          namespace: gateway-conformance-infra
    51  ---
    52  apiVersion: gateway.networking.k8s.io/v1beta1
    53  kind: Gateway
    54  metadata:
    55    name: all-namespaces
    56    namespace: gateway-conformance-infra
    57  spec:
    58    gatewayClassName: "{GATEWAY_CLASS_NAME}"
    59    listeners:
    60    - name: http
    61      port: 80
    62      protocol: HTTP
    63      allowedRoutes:
    64        namespaces:
    65          from: All
    66  ---
    67  apiVersion: gateway.networking.k8s.io/v1beta1
    68  kind: Gateway
    69  metadata:
    70    name: backend-namespaces
    71    namespace: gateway-conformance-infra
    72  spec:
    73    gatewayClassName: "{GATEWAY_CLASS_NAME}"
    74    listeners:
    75    - name: http
    76      port: 80
    77      protocol: HTTP
    78      allowedRoutes:
    79        namespaces:
    80          from: Selector
    81          selector:
    82            matchLabels:
    83              gateway-conformance: backend
    84  ---
    85  apiVersion: v1
    86  kind: Service
    87  metadata:
    88    name: infra-backend-v1
    89    namespace: gateway-conformance-infra
    90  spec:
    91    selector:
    92      app: infra-backend-v1
    93    ports:
    94    - name: first-port
    95      protocol: TCP
    96      port: 8080
    97      targetPort: 3000
    98    - name: second-port
    99      protocol: TCP
   100      appProtocol: kubernetes.io/h2c
   101      port: 8081
   102      targetPort: 3001
   103    - name: third-port
   104      protocol: TCP
   105      appProtocol: kubernetes.io/ws
   106      port: 8082
   107      targetPort: 3000
   108  ---
   109  apiVersion: apps/v1
   110  kind: Deployment
   111  metadata:
   112    name: infra-backend-v1
   113    namespace: gateway-conformance-infra
   114    labels:
   115      app: infra-backend-v1
   116  spec:
   117    replicas: 2
   118    selector:
   119      matchLabels:
   120        app: infra-backend-v1
   121    template:
   122      metadata:
   123        labels:
   124          app: infra-backend-v1
   125      spec:
   126        containers:
   127        - name: infra-backend-v1
   128          # From https://github.com/kubernetes-sigs/ingress-controller-conformance/tree/master/images/echoserver
   129          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   130          env:
   131          - name: POD_NAME
   132            valueFrom:
   133              fieldRef:
   134                fieldPath: metadata.name
   135          - name: NAMESPACE
   136            valueFrom:
   137              fieldRef:
   138                fieldPath: metadata.namespace
   139          resources:
   140            requests:
   141              cpu: 10m
   142  ---
   143  apiVersion: v1
   144  kind: Service
   145  metadata:
   146    name: infra-backend-v2
   147    namespace: gateway-conformance-infra
   148  spec:
   149    selector:
   150      app: infra-backend-v2
   151    ports:
   152    - protocol: TCP
   153      port: 8080
   154      targetPort: 3000
   155  ---
   156  apiVersion: apps/v1
   157  kind: Deployment
   158  metadata:
   159    name: infra-backend-v2
   160    namespace: gateway-conformance-infra
   161    labels:
   162      app: infra-backend-v2
   163  spec:
   164    replicas: 2
   165    selector:
   166      matchLabels:
   167        app: infra-backend-v2
   168    template:
   169      metadata:
   170        labels:
   171          app: infra-backend-v2
   172      spec:
   173        containers:
   174        - name: infra-backend-v2
   175          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   176          env:
   177          - name: POD_NAME
   178            valueFrom:
   179              fieldRef:
   180                fieldPath: metadata.name
   181          - name: NAMESPACE
   182            valueFrom:
   183              fieldRef:
   184                fieldPath: metadata.namespace
   185          resources:
   186            requests:
   187              cpu: 10m
   188  ---
   189  apiVersion: v1
   190  kind: Service
   191  metadata:
   192    name: infra-backend-v3
   193    namespace: gateway-conformance-infra
   194  spec:
   195    selector:
   196      app: infra-backend-v3
   197    ports:
   198    - protocol: TCP
   199      port: 8080
   200      targetPort: 3000
   201  ---
   202  apiVersion: apps/v1
   203  kind: Deployment
   204  metadata:
   205    name: infra-backend-v3
   206    namespace: gateway-conformance-infra
   207    labels:
   208      app: infra-backend-v3
   209  spec:
   210    replicas: 2
   211    selector:
   212      matchLabels:
   213        app: infra-backend-v3
   214    template:
   215      metadata:
   216        labels:
   217          app: infra-backend-v3
   218      spec:
   219        containers:
   220        - name: infra-backend-v3
   221          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   222          env:
   223          - name: POD_NAME
   224            valueFrom:
   225              fieldRef:
   226                fieldPath: metadata.name
   227          - name: NAMESPACE
   228            valueFrom:
   229              fieldRef:
   230                fieldPath: metadata.namespace
   231          resources:
   232            requests:
   233              cpu: 10m
   234  ---
   235  apiVersion: v1
   236  kind: Service
   237  metadata:
   238    name: tls-backend
   239    namespace: gateway-conformance-infra
   240  spec:
   241    selector:
   242      app: tls-backend
   243    ports:
   244    - protocol: TCP
   245      port: 443
   246      targetPort: 8443
   247  ---
   248  apiVersion: apps/v1
   249  kind: Deployment
   250  metadata:
   251    name: tls-backend
   252    namespace: gateway-conformance-infra
   253    labels:
   254      app: tls-backend
   255  spec:
   256    replicas: 1
   257    selector:
   258      matchLabels:
   259        app: tls-backend
   260    template:
   261      metadata:
   262        labels:
   263          app: tls-backend
   264      spec:
   265        containers:
   266        - name: tls-backend
   267          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   268          volumeMounts:
   269          - name: secret-volume
   270            mountPath: /etc/secret-volume
   271          env:
   272          - name: POD_NAME
   273            valueFrom:
   274              fieldRef:
   275                fieldPath: metadata.name
   276          - name: NAMESPACE
   277            valueFrom:
   278              fieldRef:
   279                fieldPath: metadata.namespace
   280          - name: TLS_SERVER_CERT
   281            value: /etc/secret-volume/crt
   282          - name: TLS_SERVER_PRIVKEY
   283            value: /etc/secret-volume/key
   284          resources:
   285            requests:
   286              cpu: 10m
   287        volumes:
   288        - name: secret-volume
   289          secret:
   290            secretName: tls-passthrough-checks-certificate
   291            items:
   292            - key: tls.crt
   293              path: crt
   294            - key: tls.key
   295              path: key
   296  ---
   297  apiVersion: v1
   298  kind: Namespace
   299  metadata:
   300    name: gateway-conformance-app-backend
   301    labels:
   302      gateway-conformance: backend
   303  ---
   304  apiVersion: v1
   305  kind: Service
   306  metadata:
   307    name: tls-backend
   308    namespace: gateway-conformance-app-backend
   309  spec:
   310    selector:
   311      app: tls-backend
   312    ports:
   313    - protocol: TCP
   314      port: 443
   315      targetPort: 8443
   316  ---
   317  apiVersion: apps/v1
   318  kind: Deployment
   319  metadata:
   320    name: tls-backend
   321    namespace: gateway-conformance-app-backend
   322    labels:
   323      app: tls-backend
   324  spec:
   325    replicas: 1
   326    selector:
   327      matchLabels:
   328        app: tls-backend
   329    template:
   330      metadata:
   331        labels:
   332          app: tls-backend
   333      spec:
   334        containers:
   335        - name: tls-backend
   336          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   337          volumeMounts:
   338          - name: secret-volume
   339            mountPath: /etc/secret-volume
   340          env:
   341          - name: POD_NAME
   342            valueFrom:
   343              fieldRef:
   344                fieldPath: metadata.name
   345          - name: NAMESPACE
   346            valueFrom:
   347              fieldRef:
   348                fieldPath: metadata.namespace
   349          - name: TLS_SERVER_CERT
   350            value: /etc/secret-volume/crt
   351          - name: TLS_SERVER_PRIVKEY
   352            value: /etc/secret-volume/key
   353          resources:
   354            requests:
   355              cpu: 10m
   356        volumes:
   357        - name: secret-volume
   358          secret:
   359            secretName: tls-passthrough-checks-certificate
   360            items:
   361            - key: tls.crt
   362              path: crt
   363            - key: tls.key
   364              path: key
   365  ---
   366  apiVersion: v1
   367  kind: Service
   368  metadata:
   369    name: app-backend-v1
   370    namespace: gateway-conformance-app-backend
   371  spec:
   372    selector:
   373      app: app-backend-v1
   374    ports:
   375    - protocol: TCP
   376      port: 8080
   377      targetPort: 3000
   378  ---
   379  apiVersion: apps/v1
   380  kind: Deployment
   381  metadata:
   382    name: app-backend-v1
   383    namespace: gateway-conformance-app-backend
   384    labels:
   385      app: app-backend-v1
   386  spec:
   387    replicas: 2
   388    selector:
   389      matchLabels:
   390        app: app-backend-v1
   391    template:
   392      metadata:
   393        labels:
   394          app: app-backend-v1
   395      spec:
   396        containers:
   397        - name: app-backend-v1
   398          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   399          env:
   400          - name: POD_NAME
   401            valueFrom:
   402              fieldRef:
   403                fieldPath: metadata.name
   404          - name: NAMESPACE
   405            valueFrom:
   406              fieldRef:
   407                fieldPath: metadata.namespace
   408          resources:
   409            requests:
   410              cpu: 10m
   411  ---
   412  apiVersion: v1
   413  kind: Service
   414  metadata:
   415    name: app-backend-v2
   416    namespace: gateway-conformance-app-backend
   417  spec:
   418    selector:
   419      app: app-backend-v2
   420    ports:
   421    - protocol: TCP
   422      port: 8080
   423      targetPort: 3000
   424  ---
   425  apiVersion: apps/v1
   426  kind: Deployment
   427  metadata:
   428    name: app-backend-v2
   429    namespace: gateway-conformance-app-backend
   430    labels:
   431      app: app-backend-v2
   432  spec:
   433    replicas: 2
   434    selector:
   435      matchLabels:
   436        app: app-backend-v2
   437    template:
   438      metadata:
   439        labels:
   440          app: app-backend-v2
   441      spec:
   442        containers:
   443        - name: app-backend-v2
   444          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   445          env:
   446          - name: POD_NAME
   447            valueFrom:
   448              fieldRef:
   449                fieldPath: metadata.name
   450          - name: NAMESPACE
   451            valueFrom:
   452              fieldRef:
   453                fieldPath: metadata.namespace
   454          resources:
   455            requests:
   456              cpu: 10m
   457  ---
   458  apiVersion: v1
   459  kind: Namespace
   460  metadata:
   461    name: gateway-conformance-web-backend
   462    labels:
   463      gateway-conformance: backend
   464  ---
   465  apiVersion: v1
   466  kind: Service
   467  metadata:
   468    name: web-backend
   469    namespace: gateway-conformance-web-backend
   470  spec:
   471    selector:
   472      app: web-backend
   473    ports:
   474    - protocol: TCP
   475      port: 8080
   476      targetPort: 3000
   477  ---
   478  apiVersion: apps/v1
   479  kind: Deployment
   480  metadata:
   481    name: web-backend
   482    namespace: gateway-conformance-web-backend
   483    labels:
   484      app: web-backend
   485  spec:
   486    replicas: 2
   487    selector:
   488      matchLabels:
   489        app: web-backend
   490    template:
   491      metadata:
   492        labels:
   493          app: web-backend
   494      spec:
   495        containers:
   496        - name: web-backend
   497          image: gcr.io/k8s-staging-gateway-api/echo-basic:v20231024-v1.0.0-rc1-33-g9c830e50
   498          env:
   499          - name: POD_NAME
   500            valueFrom:
   501              fieldRef:
   502                fieldPath: metadata.name
   503          - name: NAMESPACE
   504            valueFrom:
   505              fieldRef:
   506                fieldPath: metadata.namespace
   507          resources:
   508            requests:
   509              cpu: 10m