sigs.k8s.io/gateway-api@v1.0.0/conformance/tests/httproute-hostname-intersection.yaml (about)

     1  apiVersion: gateway.networking.k8s.io/v1
     2  kind: Gateway
     3  metadata:
     4    name: httproute-hostname-intersection
     5    namespace: gateway-conformance-infra
     6  spec:
     7    gatewayClassName: "{GATEWAY_CLASS_NAME}"
     8    listeners:
     9    - name: listener-1
    10      port: 80
    11      protocol: HTTP
    12      allowedRoutes:
    13        namespaces:
    14          from: Same
    15      hostname: very.specific.com
    16    - name: listener-2
    17      port: 80
    18      protocol: HTTP
    19      allowedRoutes:
    20        namespaces:
    21          from: Same
    22      hostname: "*.wildcard.io"
    23    - name: listener-3
    24      port: 80
    25      protocol: HTTP
    26      allowedRoutes:
    27        namespaces:
    28          from: Same
    29      hostname: "*.anotherwildcard.io"
    30  ---
    31  apiVersion: gateway.networking.k8s.io/v1
    32  kind: HTTPRoute
    33  metadata:
    34    name: specific-host-matches-listener-specific-host
    35    namespace: gateway-conformance-infra
    36  spec:
    37    parentRefs:
    38    - name: httproute-hostname-intersection
    39      namespace: gateway-conformance-infra
    40    hostnames:
    41    - non.matching.com
    42    - "*.nonmatchingwildcard.io"
    43    - very.specific.com  #  matches listener-1's specific host
    44    rules:
    45    - matches:
    46      - path:
    47          type: PathPrefix
    48          value: /s1
    49      backendRefs:
    50      - name: infra-backend-v1
    51        port: 8080
    52  ---
    53  apiVersion: gateway.networking.k8s.io/v1
    54  kind: HTTPRoute
    55  metadata:
    56    name: specific-host-matches-listener-wildcard-host
    57    namespace: gateway-conformance-infra
    58  spec:
    59    parentRefs:
    60    - name: httproute-hostname-intersection
    61      namespace: gateway-conformance-infra
    62    hostnames:
    63    - non.matching.com
    64    - wildcard.io
    65    - foo.wildcard.io  #  matches listener-2's wildcard host
    66    - bar.wildcard.io  #  matches listener-2's wildcard host
    67    - foo.bar.wildcard.io  #  matches listener-2's wildcard host
    68    rules:
    69    - matches:
    70      - path:
    71          type: PathPrefix
    72          value: /s2
    73      backendRefs:
    74      - name: infra-backend-v2
    75        port: 8080
    76  ---
    77  apiVersion: gateway.networking.k8s.io/v1
    78  kind: HTTPRoute
    79  metadata:
    80    name: wildcard-host-matches-listener-specific-host
    81    namespace: gateway-conformance-infra
    82  spec:
    83    parentRefs:
    84    - name: httproute-hostname-intersection
    85      namespace: gateway-conformance-infra
    86    hostnames:
    87    - non.matching.com
    88    - "*.specific.com"  # matches listener-1's specific host
    89    rules:
    90    - matches:
    91      - path:
    92          type: PathPrefix
    93          value: /s3
    94      backendRefs:
    95      - name: infra-backend-v3
    96        port: 8080
    97  ---
    98  apiVersion: gateway.networking.k8s.io/v1
    99  kind: HTTPRoute
   100  metadata:
   101    name: wildcard-host-matches-listener-wildcard-host
   102    namespace: gateway-conformance-infra
   103  spec:
   104    parentRefs:
   105    - name: httproute-hostname-intersection
   106      namespace: gateway-conformance-infra
   107    hostnames:
   108    - "*.anotherwildcard.io"  # matches listener-3's wildcard host
   109    rules:
   110    - matches:
   111      - path:
   112          type: PathPrefix
   113          value: /s4
   114      backendRefs:
   115      - name: infra-backend-v1
   116        port: 8080
   117  ---
   118  apiVersion: gateway.networking.k8s.io/v1
   119  kind: HTTPRoute
   120  metadata:
   121    name: no-intersecting-hosts
   122    namespace: gateway-conformance-infra
   123  spec:
   124    parentRefs:
   125    - name: httproute-hostname-intersection
   126      namespace: gateway-conformance-infra
   127    hostnames:
   128    - specific.but.wrong.com
   129    - wildcard.io
   130    rules:
   131    - matches:
   132      - path:
   133          type: PathPrefix
   134          value: /s5
   135      backendRefs:
   136      - name: infra-backend-v2
   137        port: 8080