From 750f978b27d11a7b8b47197a527770085370363b Mon Sep 17 00:00:00 2001 From: Rob Scott Date: Thu, 9 Jun 2022 20:34:04 +0000 Subject: [PATCH] Generating CRDs and client code for v1beta1 --- README.md | 2 +- apis/v1alpha1/backendpolicy_types.go | 149 -- apis/v1alpha1/gateway_types.go | 812 --------- apis/v1alpha1/gatewayclass_types.go | 185 -- apis/v1alpha1/httproute_types.go | 721 -------- apis/v1alpha1/local_object_reference_types.go | 39 - apis/v1alpha1/shared_types.go | 262 --- apis/v1alpha1/tcproute_types.go | 126 -- apis/v1alpha1/tlsroute_types.go | 161 -- apis/v1alpha1/udproute_types.go | 126 -- apis/v1alpha2/validation/httproute_test.go | 54 +- .../v1alpha2/validation}/util/utils.go | 0 .../v1alpha2/validation}/util/utils_test.go | 0 apis/v1beta1/gateway_types.go | 2 - apis/v1beta1/gatewayclass_types.go | 1 - apis/v1beta1/httproute_types.go | 19 +- apis/v1beta1/validation/doc.go | 19 + apis/v1beta1/validation/gateway.go | 128 ++ apis/v1beta1/validation/gateway_test.go | 131 ++ apis/v1beta1/validation/gatewayclass.go | 38 + apis/v1beta1/validation/gatewayclass_test.go | 98 ++ apis/v1beta1/validation/httproute.go | 234 +++ apis/v1beta1/validation/httproute_test.go | 833 +++++++++ apis/v1beta1/validation/util/utils.go | 33 + apis/v1beta1/validation/util/utils_test.go | 104 ++ .../zz_generated.deepcopy.go | 1067 +++--------- .../zz_generated.register.go | 16 +- ...eway.networking.k8s.io_gatewayclasses.yaml | 201 +++ .../gateway.networking.k8s.io_gateways.yaml | 688 ++++++++ .../gateway.networking.k8s.io_httproutes.yaml | 1532 +++++++++++++++++ config/crd/kustomization.yaml | 10 +- ...eway.networking.k8s.io_gatewayclasses.yaml | 201 +++ .../gateway.networking.k8s.io_gateways.yaml | 688 ++++++++ .../gateway.networking.k8s.io_httproutes.yaml | 1287 ++++++++++++++ ...way.networking.k8s.io_referencegrants.yaml | 145 -- ...y.networking.k8s.io_referencepolicies.yaml | 145 -- .../gateway.networking.k8s.io_tcproutes.yaml | 438 ----- .../gateway.networking.k8s.io_tlsroutes.yaml | 487 ------ .../gateway.networking.k8s.io_udproutes.yaml | 438 ----- .../v1alpha2/basic-tcp.yaml | 0 .../httproute-redirect-full.yaml | 0 .../httproute-redirect-https.yaml | 0 .../httproute-redirect-prefix.yaml | 0 .../httproute-rewrite-path.yaml | 0 .../httproute-rewrite.yaml | 0 .../v1alpha2/reference-grant.yaml | 0 .../v1alpha2/tls-cert-cross-namespace.yaml | 0 examples/v1alpha1/backendpolicy.yaml | 15 - examples/v1alpha1/basic-http.yaml | 62 - examples/v1alpha1/basic-tcp.yaml | 59 - examples/v1alpha1/basic-udp.yaml | 39 - .../example-namespaces.yaml | 14 - .../cross-namespace-routing/gateway.yaml | 17 - .../cross-namespace-routing/site-route.yaml | 40 - .../cross-namespace-routing/store-route.yaml | 20 - examples/v1alpha1/default-match-http.yaml | 60 - examples/v1alpha1/http-filter.yaml | 53 - .../v1alpha1/http-routing/bar-httproute.yaml | 23 - .../v1alpha1/http-routing/foo-httproute.yaml | 19 - examples/v1alpha1/http-routing/gateway.yaml | 16 - examples/v1alpha1/http-trafficsplit.yaml | 52 - examples/v1alpha1/multiple-tcp.yaml | 48 - .../routes-in-multiple-namespaces.yaml | 93 - examples/v1alpha1/simple-gateway/gateway.yaml | 17 - .../v1alpha1/simple-gateway/httproute.yaml | 13 - examples/v1alpha1/single-http.yaml | 20 - examples/v1alpha1/tls-basic.yaml | 34 - examples/v1alpha1/tls-cert-in-route.yaml | 67 - .../traffic-splitting/simple-split.yaml | 15 - .../traffic-splitting/traffic-split-1.yaml | 23 - examples/v1alpha1/upstream-tls.yaml | 49 - examples/v1alpha1/wildcard-http.yaml | 22 - examples/v1alpha1/wildcard-https.yaml | 28 - examples/v1alpha1/wildcard-tls-gateway.yaml | 33 - examples/v1beta1/0-namespaces.yaml | 11 + examples/v1beta1/basic-http.yaml | 57 + .../cross-namespace-routing/0-namespaces.yaml | 27 + .../cross-namespace-routing/gateway.yaml | 23 + .../cross-namespace-routing/site-route.yaml | 36 + .../cross-namespace-routing/store-route.yaml | 18 + examples/v1beta1/default-match-http.yaml | 51 + examples/v1beta1/http-filter.yaml | 20 + examples/v1beta1/http-redirect.yaml | 68 + .../gateway-namespaces.yaml | 21 + .../http-route-attachment/gateway-strict.yaml | 23 + .../http-route-attachment/httproute.yaml | 16 + .../v1beta1/http-routing/bar-httproute.yaml | 23 + .../v1beta1/http-routing/foo-httproute.yaml | 19 + examples/v1beta1/http-routing/gateway.yaml | 26 + examples/v1beta1/simple-gateway/gateway.yaml | 16 + .../v1beta1/simple-gateway/httproute.yaml | 14 + examples/v1beta1/tls-basic.yaml | 27 + .../traffic-splitting/simple-split.yaml | 15 + .../traffic-splitting/traffic-split-1.yaml | 22 + .../traffic-splitting/traffic-split-2.yaml | 11 +- .../traffic-splitting/traffic-split-3.yaml | 10 +- examples/v1beta1/wildcard-tls-gateway.yaml | 27 + hack/make-docs.sh | 4 - hack/update-codegen.sh | 47 +- mkdocs.yml | 46 +- pkg/admission/server.go | 48 + pkg/client/clientset/versioned/clientset.go | 14 + .../versioned/fake/clientset_generated.go | 7 + .../clientset/versioned/fake/register.go | 2 + .../clientset/versioned/scheme/register.go | 2 + .../typed/apis/v1beta1/apis_client.go | 99 ++ .../versioned/typed/apis/v1beta1}/doc.go | 11 +- .../versioned/typed/apis/v1beta1/fake/doc.go | 20 + .../apis/v1beta1/fake/fake_apis_client.go | 48 + .../typed/apis/v1beta1/fake/fake_gateway.go | 142 ++ .../apis/v1beta1/fake/fake_gatewayclass.go | 133 ++ .../typed/apis/v1beta1/fake/fake_httproute.go | 142 ++ .../versioned/typed/apis/v1beta1/gateway.go | 195 +++ .../typed/apis/v1beta1/gatewayclass.go | 184 ++ .../typed/apis/v1beta1/generated_expansion.go | 25 + .../versioned/typed/apis/v1beta1/httproute.go | 195 +++ .../externalversions/apis/interface.go | 8 + .../externalversions/apis/v1beta1/gateway.go | 90 + .../apis/v1beta1/gatewayclass.go | 89 + .../apis/v1beta1/httproute.go | 90 + .../apis/v1beta1/interface.go | 59 + .../informers/externalversions/generic.go | 9 + .../apis/v1beta1/expansion_generated.go | 39 + pkg/client/listers/apis/v1beta1/gateway.go | 99 ++ .../listers/apis/v1beta1/gatewayclass.go | 68 + pkg/client/listers/apis/v1beta1/httproute.go | 99 ++ pkg/generator/main.go | 12 + site-src/blog/2021/introducing-v1alpha2.md | 2 +- site-src/concepts/security-model.md | 2 +- site-src/v1alpha1/api-types/gateway.md | 53 - site-src/v1alpha1/api-types/gatewayclass.md | 145 -- site-src/v1alpha1/api-types/httproute.md | 249 --- site-src/v1alpha1/guides/getting-started.md | 58 - site-src/v1alpha1/guides/http-routing.md | 66 - site-src/v1alpha1/guides/multiple-ns.md | 163 -- site-src/v1alpha1/guides/simple-gateway.md | 46 - site-src/v1alpha1/guides/tcp.md | 31 - site-src/v1alpha1/guides/tls.md | 165 -- site-src/v1alpha1/guides/traffic-splitting.md | 92 - site-src/v1alpha1/images/api-model.png | Bin 363629 -> 0 bytes .../images/cross-namespace-routing.svg | 1 - site-src/v1alpha1/images/gateway-roles.png | Bin 312120 -> 0 bytes .../v1alpha1/images/gateway-route-binding.png | Bin 112900 -> 0 bytes site-src/v1alpha1/images/http-routing.png | Bin 246962 -> 0 bytes .../images/httproute-basic-example.svg | 1 - site-src/v1alpha1/images/policy/hierarchy.png | Bin 59253 -> 0 bytes .../images/policy/ingress-attachment.png | Bin 45528 -> 0 bytes .../images/policy/ingress-complex.png | Bin 45879 -> 0 bytes .../v1alpha1/images/policy/ingress-simple.png | Bin 25918 -> 0 bytes .../v1alpha1/images/policy/mesh-complex.png | Bin 50515 -> 0 bytes .../v1alpha1/images/policy/mesh-simple.png | Bin 21854 -> 0 bytes site-src/v1alpha1/images/schema-uml.svg | 275 --- site-src/v1alpha1/images/simple-split.png | Bin 144202 -> 0 bytes .../images/single-service-gateway.png | Bin 80791 -> 0 bytes site-src/v1alpha1/images/tls-overview.svg | 3 - .../v1alpha1/images/traffic-splitting-1.png | Bin 172529 -> 0 bytes .../v1alpha1/images/traffic-splitting-2.png | Bin 155319 -> 0 bytes .../v1alpha1/images/traffic-splitting-3.png | Bin 150087 -> 0 bytes site-src/v1alpha1/references/spec.md | 8 - .../v1alpha2/guides/http-redirect-rewrite.md | 10 +- site-src/v1alpha2/guides/tcp.md | 2 +- site-src/v1alpha2/guides/tls.md | 2 +- 162 files changed, 9084 insertions(+), 7468 deletions(-) delete mode 100644 apis/v1alpha1/backendpolicy_types.go delete mode 100644 apis/v1alpha1/gateway_types.go delete mode 100644 apis/v1alpha1/gatewayclass_types.go delete mode 100644 apis/v1alpha1/httproute_types.go delete mode 100644 apis/v1alpha1/local_object_reference_types.go delete mode 100644 apis/v1alpha1/shared_types.go delete mode 100644 apis/v1alpha1/tcproute_types.go delete mode 100644 apis/v1alpha1/tlsroute_types.go delete mode 100644 apis/v1alpha1/udproute_types.go rename {pkg => apis/v1alpha2/validation}/util/utils.go (100%) rename {pkg => apis/v1alpha2/validation}/util/utils_test.go (100%) create mode 100644 apis/v1beta1/validation/doc.go create mode 100644 apis/v1beta1/validation/gateway.go create mode 100644 apis/v1beta1/validation/gateway_test.go create mode 100644 apis/v1beta1/validation/gatewayclass.go create mode 100644 apis/v1beta1/validation/gatewayclass_test.go create mode 100644 apis/v1beta1/validation/httproute.go create mode 100644 apis/v1beta1/validation/httproute_test.go create mode 100644 apis/v1beta1/validation/util/utils.go create mode 100644 apis/v1beta1/validation/util/utils_test.go rename apis/{v1alpha1 => v1beta1}/zz_generated.deepcopy.go (56%) rename apis/{v1alpha1 => v1beta1}/zz_generated.register.go (90%) delete mode 100644 config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml delete mode 100644 config/crd/standard/gateway.networking.k8s.io_referencepolicies.yaml delete mode 100644 config/crd/standard/gateway.networking.k8s.io_tcproutes.yaml delete mode 100644 config/crd/standard/gateway.networking.k8s.io_tlsroutes.yaml delete mode 100644 config/crd/standard/gateway.networking.k8s.io_udproutes.yaml rename examples/{ => experimental}/v1alpha2/basic-tcp.yaml (100%) rename examples/experimental/{ => v1alpha2}/http-redirect-rewrite/httproute-redirect-full.yaml (100%) rename examples/experimental/{ => v1alpha2}/http-redirect-rewrite/httproute-redirect-https.yaml (100%) rename examples/experimental/{ => v1alpha2}/http-redirect-rewrite/httproute-redirect-prefix.yaml (100%) rename examples/experimental/{ => v1alpha2}/http-redirect-rewrite/httproute-rewrite-path.yaml (100%) rename examples/experimental/{ => v1alpha2}/http-redirect-rewrite/httproute-rewrite.yaml (100%) rename examples/{ => experimental}/v1alpha2/reference-grant.yaml (100%) rename examples/{ => experimental}/v1alpha2/tls-cert-cross-namespace.yaml (100%) delete mode 100644 examples/v1alpha1/backendpolicy.yaml delete mode 100644 examples/v1alpha1/basic-http.yaml delete mode 100644 examples/v1alpha1/basic-tcp.yaml delete mode 100644 examples/v1alpha1/basic-udp.yaml delete mode 100644 examples/v1alpha1/cross-namespace-routing/example-namespaces.yaml delete mode 100644 examples/v1alpha1/cross-namespace-routing/gateway.yaml delete mode 100644 examples/v1alpha1/cross-namespace-routing/site-route.yaml delete mode 100644 examples/v1alpha1/cross-namespace-routing/store-route.yaml delete mode 100644 examples/v1alpha1/default-match-http.yaml delete mode 100644 examples/v1alpha1/http-filter.yaml delete mode 100644 examples/v1alpha1/http-routing/bar-httproute.yaml delete mode 100644 examples/v1alpha1/http-routing/foo-httproute.yaml delete mode 100644 examples/v1alpha1/http-routing/gateway.yaml delete mode 100644 examples/v1alpha1/http-trafficsplit.yaml delete mode 100644 examples/v1alpha1/multiple-tcp.yaml delete mode 100644 examples/v1alpha1/routes-in-multiple-namespaces.yaml delete mode 100644 examples/v1alpha1/simple-gateway/gateway.yaml delete mode 100644 examples/v1alpha1/simple-gateway/httproute.yaml delete mode 100644 examples/v1alpha1/single-http.yaml delete mode 100644 examples/v1alpha1/tls-basic.yaml delete mode 100644 examples/v1alpha1/tls-cert-in-route.yaml delete mode 100644 examples/v1alpha1/traffic-splitting/simple-split.yaml delete mode 100644 examples/v1alpha1/traffic-splitting/traffic-split-1.yaml delete mode 100644 examples/v1alpha1/upstream-tls.yaml delete mode 100644 examples/v1alpha1/wildcard-http.yaml delete mode 100644 examples/v1alpha1/wildcard-https.yaml delete mode 100644 examples/v1alpha1/wildcard-tls-gateway.yaml create mode 100644 examples/v1beta1/0-namespaces.yaml create mode 100644 examples/v1beta1/basic-http.yaml create mode 100644 examples/v1beta1/cross-namespace-routing/0-namespaces.yaml create mode 100644 examples/v1beta1/cross-namespace-routing/gateway.yaml create mode 100644 examples/v1beta1/cross-namespace-routing/site-route.yaml create mode 100644 examples/v1beta1/cross-namespace-routing/store-route.yaml create mode 100644 examples/v1beta1/default-match-http.yaml create mode 100644 examples/v1beta1/http-filter.yaml create mode 100644 examples/v1beta1/http-redirect.yaml create mode 100644 examples/v1beta1/http-route-attachment/gateway-namespaces.yaml create mode 100644 examples/v1beta1/http-route-attachment/gateway-strict.yaml create mode 100644 examples/v1beta1/http-route-attachment/httproute.yaml create mode 100644 examples/v1beta1/http-routing/bar-httproute.yaml create mode 100644 examples/v1beta1/http-routing/foo-httproute.yaml create mode 100644 examples/v1beta1/http-routing/gateway.yaml create mode 100644 examples/v1beta1/simple-gateway/gateway.yaml create mode 100644 examples/v1beta1/simple-gateway/httproute.yaml create mode 100644 examples/v1beta1/tls-basic.yaml create mode 100644 examples/v1beta1/traffic-splitting/simple-split.yaml create mode 100644 examples/v1beta1/traffic-splitting/traffic-split-1.yaml rename examples/{v1alpha1 => v1beta1}/traffic-splitting/traffic-split-2.yaml (51%) rename examples/{v1alpha1 => v1beta1}/traffic-splitting/traffic-split-3.yaml (56%) create mode 100644 examples/v1beta1/wildcard-tls-gateway.yaml create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/apis_client.go rename {apis/v1alpha1 => pkg/client/clientset/versioned/typed/apis/v1beta1}/doc.go (70%) create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/fake/doc.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_apis_client.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gateway.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gatewayclass.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_httproute.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/gateway.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/gatewayclass.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/generated_expansion.go create mode 100644 pkg/client/clientset/versioned/typed/apis/v1beta1/httproute.go create mode 100644 pkg/client/informers/externalversions/apis/v1beta1/gateway.go create mode 100644 pkg/client/informers/externalversions/apis/v1beta1/gatewayclass.go create mode 100644 pkg/client/informers/externalversions/apis/v1beta1/httproute.go create mode 100644 pkg/client/informers/externalversions/apis/v1beta1/interface.go create mode 100644 pkg/client/listers/apis/v1beta1/expansion_generated.go create mode 100644 pkg/client/listers/apis/v1beta1/gateway.go create mode 100644 pkg/client/listers/apis/v1beta1/gatewayclass.go create mode 100644 pkg/client/listers/apis/v1beta1/httproute.go delete mode 100644 site-src/v1alpha1/api-types/gateway.md delete mode 100644 site-src/v1alpha1/api-types/gatewayclass.md delete mode 100644 site-src/v1alpha1/api-types/httproute.md delete mode 100644 site-src/v1alpha1/guides/getting-started.md delete mode 100644 site-src/v1alpha1/guides/http-routing.md delete mode 100644 site-src/v1alpha1/guides/multiple-ns.md delete mode 100644 site-src/v1alpha1/guides/simple-gateway.md delete mode 100644 site-src/v1alpha1/guides/tcp.md delete mode 100644 site-src/v1alpha1/guides/tls.md delete mode 100644 site-src/v1alpha1/guides/traffic-splitting.md delete mode 100644 site-src/v1alpha1/images/api-model.png delete mode 100644 site-src/v1alpha1/images/cross-namespace-routing.svg delete mode 100644 site-src/v1alpha1/images/gateway-roles.png delete mode 100644 site-src/v1alpha1/images/gateway-route-binding.png delete mode 100644 site-src/v1alpha1/images/http-routing.png delete mode 100644 site-src/v1alpha1/images/httproute-basic-example.svg delete mode 100644 site-src/v1alpha1/images/policy/hierarchy.png delete mode 100644 site-src/v1alpha1/images/policy/ingress-attachment.png delete mode 100644 site-src/v1alpha1/images/policy/ingress-complex.png delete mode 100644 site-src/v1alpha1/images/policy/ingress-simple.png delete mode 100644 site-src/v1alpha1/images/policy/mesh-complex.png delete mode 100644 site-src/v1alpha1/images/policy/mesh-simple.png delete mode 100644 site-src/v1alpha1/images/schema-uml.svg delete mode 100644 site-src/v1alpha1/images/simple-split.png delete mode 100644 site-src/v1alpha1/images/single-service-gateway.png delete mode 100644 site-src/v1alpha1/images/tls-overview.svg delete mode 100644 site-src/v1alpha1/images/traffic-splitting-1.png delete mode 100644 site-src/v1alpha1/images/traffic-splitting-2.png delete mode 100644 site-src/v1alpha1/images/traffic-splitting-3.png delete mode 100644 site-src/v1alpha1/references/spec.md diff --git a/README.md b/README.md index 8f8df6a609..cf6727e87b 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ one of the guides. A complete API reference, please refer to: - [API reference][spec] -- [Go docs for the package](https://pkg.go.dev/sigs.k8s.io/gateway-api/apis/v1alpha1) +- [Go docs for the package](https://pkg.go.dev/sigs.k8s.io/gateway-api/apis/v1alpha2) ## Contributing diff --git a/apis/v1alpha1/backendpolicy_types.go b/apis/v1alpha1/backendpolicy_types.go deleted file mode 100644 index b3f66c9879..0000000000 --- a/apis/v1alpha1/backendpolicy_types.go +++ /dev/null @@ -1,149 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api,shortName=bp -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// BackendPolicy defines policies associated with backends. For the purpose of -// this API, a backend is defined as any resource that a route can forward -// traffic to. A common example of a backend is a Service. Configuration that is -// implementation specific may be represented with similar implementation -// specific custom resources. -type BackendPolicy struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of BackendPolicy. - Spec BackendPolicySpec `json:"spec,omitempty"` - - // Status defines the current state of BackendPolicy. - Status BackendPolicyStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// BackendPolicyList contains a list of BackendPolicy. -type BackendPolicyList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []BackendPolicy `json:"items"` -} - -// BackendPolicySpec defines desired policy for a backend. -type BackendPolicySpec struct { - // BackendRefs define which backends this policy should be applied to. This - // policy can only apply to backends within the same namespace. If more than - // one BackendPolicy targets the same backend, precedence must be given to - // the oldest BackendPolicy. - // - // Support: Core - // - // +kubebuilder:validation:MaxItems=16 - BackendRefs []BackendRef `json:"backendRefs"` - - // TLS is the TLS configuration for these backends. - // - // Support: Extended - // - // +optional - TLS *BackendTLSConfig `json:"tls,omitempty"` -} - -// BackendRef identifies an API object within the same namespace -// as the BackendPolicy. -type BackendRef struct { - // Group is the group of the referent. - // - // +kubebuilder:validation:MaxLength=253 - Group string `json:"group"` - - // Kind is the kind of the referent. - // - // +kubebuilder:validation:MaxLength=253 - Kind string `json:"kind"` - - // Name is the name of the referent. - // - // +kubebuilder:validation:MaxLength=253 - Name string `json:"name"` - - // Port is the port of the referent. If unspecified, this policy applies to - // all ports on the backend. - // - // +optional - Port *PortNumber `json:"port,omitempty"` -} - -// BackendTLSConfig describes TLS configuration for a backend. -type BackendTLSConfig struct { - // CertificateAuthorityRef is a reference to a Kubernetes object that contains - // one or more trusted CA certificates. The CA certificates are used to establish - // a TLS handshake to backends listed in BackendRefs. The referenced object MUST - // reside in the same namespace as BackendPolicy. - // - // CertificateAuthorityRef can reference a standard Kubernetes resource, i.e. - // ConfigMap, or an implementation-specific custom resource. - // - // When stored in a Secret, certificates must be PEM encoded and specified within - // the "ca.crt" data field of the Secret. When multiple certificates are specified, - // the certificates MUST be concatenated by new lines. - // - // CertificateAuthorityRef can also reference a standard Kubernetes resource, i.e. - // ConfigMap, or an implementation-specific custom resource. - // - // Support: Extended - // - // +optional - CertificateAuthorityRef *LocalObjectReference `json:"certificateAuthorityRef,omitempty"` - - // Options are a list of key/value pairs to give extended options to the - // provider. - // - // Support: Implementation-specific - // - // +optional - Options map[string]string `json:"options,omitempty"` -} - -// BackendPolicyStatus defines the observed state of BackendPolicy. Conditions -// that are related to a specific Route or Gateway must be placed on the -// Route(s) using backends configured by this BackendPolicy. -type BackendPolicyStatus struct { - // Conditions describe the current conditions of the BackendPolicy. - // - // +listType=map - // +listMapKey=type - // +kubebuilder:validation:MaxItems=8 - Conditions []metav1.Condition `json:"conditions,omitempty"` -} - -// BackendPolicyConditionType is a type of condition used to express the current -// state of a BackendPolicy resource. -type BackendPolicyConditionType string - -const ( - // Indicates that one or more of the the specified backend references could not be resolved. - ConditionNoSuchBackend BackendPolicyConditionType = "NoSuchBackend" -) diff --git a/apis/v1alpha1/gateway_types.go b/apis/v1alpha1/gateway_types.go deleted file mode 100644 index 10135f9f24..0000000000 --- a/apis/v1alpha1/gateway_types.go +++ /dev/null @@ -1,812 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api,shortName=gtw -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Class",type=string,JSONPath=`.spec.gatewayClassName` -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// Gateway represents an instantiation of a service-traffic handling -// infrastructure by binding Listeners to a set of IP addresses. -// -// Implementations should add the `gateway-exists-finalizer.networking.x-k8s.io` -// finalizer on the associated GatewayClass whenever Gateway(s) is running. -// This ensures that a GatewayClass associated with a Gateway(s) is not -// deleted while in use. -type Gateway struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of Gateway. - Spec GatewaySpec `json:"spec,omitempty"` - - // Status defines the current state of Gateway. - // - // +kubebuilder:default={conditions: {{type: "Scheduled", status: "False", reason:"NotReconciled", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}} - Status GatewayStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// GatewayList contains a list of Gateway. -type GatewayList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []Gateway `json:"items"` -} - -// GatewaySpec defines the desired state of Gateway. -// -// Not all possible combinations of options specified in the Spec are -// valid. Some invalid configurations can be caught synchronously via a -// webhook, but there are many cases that will require asynchronous -// signaling via the GatewayStatus block. -type GatewaySpec struct { - // GatewayClassName used for this Gateway. This is the name of a - // GatewayClass resource. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - GatewayClassName string `json:"gatewayClassName"` - - // Listeners associated with this Gateway. Listeners define - // logical endpoints that are bound on this Gateway's addresses. - // At least one Listener MUST be specified. - // - // An implementation MAY group Listeners by Port and then collapse each - // group of Listeners into a single Listener if the implementation - // determines that the Listeners in the group are "compatible". An - // implementation MAY also group together and collapse compatible - // Listeners belonging to different Gateways. - // - // For example, an implementation might consider Listeners to be - // compatible with each other if all of the following conditions are - // met: - // - // 1. Either each Listener within the group specifies the "HTTP" - // Protocol or each Listener within the group specifies either - // the "HTTPS" or "TLS" Protocol. - // - // 2. Each Listener within the group specifies a Hostname that is unique - // within the group. - // - // 3. As a special case, one Listener within a group may omit Hostname, - // in which case this Listener matches when no other Listener - // matches. - // - // If the implementation does collapse compatible Listeners, the - // hostname provided in the incoming client request MUST be - // matched to a Listener to find the correct set of Routes. - // The incoming hostname MUST be matched using the Hostname - // field for each Listener in order of most to least specific. - // That is, exact matches must be processed before wildcard - // matches. - // - // If this field specifies multiple Listeners that have the same - // Port value but are not compatible, the implementation must raise - // a "Conflicted" condition in the Listener status. - // - // Support: Core - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=64 - Listeners []Listener `json:"listeners"` - - // Addresses requested for this gateway. This is optional and - // behavior can depend on the GatewayClass. If a value is set - // in the spec and the requested address is invalid, the - // GatewayClass MUST indicate this in the associated entry in - // GatewayStatus.Addresses. - // - // If no Addresses are specified, the GatewayClass may - // schedule the Gateway in an implementation-defined manner, - // assigning an appropriate set of Addresses. - // - // The GatewayClass MUST bind all Listeners to every - // GatewayAddress that it assigns to the Gateway. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Addresses []GatewayAddress `json:"addresses,omitempty"` -} - -// Listener embodies the concept of a logical endpoint where a Gateway can -// accept network connections. Each listener in a Gateway must have a unique -// combination of Hostname, Port, and Protocol. This will be enforced by a -// validating webhook. -type Listener struct { - // Hostname specifies the virtual hostname to match for protocol types that - // define this concept. When unspecified, "", or `*`, all hostnames are - // matched. This field can be omitted for protocols that don't require - // hostname based matching. - // - // Hostname is the fully qualified domain name of a network host, as defined - // by RFC 3986. Note the following deviations from the "host" part of the - // URI as defined in the RFC: - // - // 1. IP literals are not allowed. - // 2. The `:` delimiter is not respected because ports are not allowed. - // - // Hostname can be "precise" which is a domain name without the terminating - // dot of a network host (e.g. "foo.example.com") or "wildcard", which is a - // domain name prefixed with a single wildcard label (e.g. `*.example.com`). - // The wildcard character `*` must appear by itself as the first DNS label - // and matches only a single label. - // - // Support: Core - // - // +optional - Hostname *Hostname `json:"hostname,omitempty"` - - // Port is the network port. Multiple listeners may use the - // same port, subject to the Listener compatibility rules. - // - // Support: Core - Port PortNumber `json:"port"` - - // Protocol specifies the network protocol this listener expects to receive. - // The GatewayClass MUST apply the Hostname match appropriately for each - // protocol: - // - // * For the "TLS" protocol, the Hostname match MUST be - // applied to the [SNI](https://tools.ietf.org/html/rfc6066#section-3) - // server name offered by the client. - // * For the "HTTP" protocol, the Hostname match MUST be - // applied to the host portion of the - // [effective request URI](https://tools.ietf.org/html/rfc7230#section-5.5) - // or the [:authority pseudo-header](https://tools.ietf.org/html/rfc7540#section-8.1.2.3) - // * For the "HTTPS" protocol, the Hostname match MUST be - // applied at both the TLS and HTTP protocol layers. - // - // Support: Core - Protocol ProtocolType `json:"protocol"` - - // TLS is the TLS configuration for the Listener. This field - // is required if the Protocol field is "HTTPS" or "TLS" and - // ignored otherwise. - // - // The association of SNIs to Certificate defined in GatewayTLSConfig is - // defined based on the Hostname field for this listener. - // - // The GatewayClass MUST use the longest matching SNI out of all - // available certificates for any TLS handshake. - // - // Support: Core - // - // +optional - TLS *GatewayTLSConfig `json:"tls,omitempty"` - - // Routes specifies a schema for associating routes with the - // Listener using selectors. A Route is a resource capable of - // servicing a request and allows a cluster operator to expose - // a cluster resource (i.e. Service) by externally-reachable - // URL, load-balance traffic and terminate SSL/TLS. Typically, - // a route is a "HTTPRoute" or "TCPRoute" in group - // "networking.x-k8s.io", however, an implementation may support - // other types of resources. - // - // The Routes selector MUST select a set of objects that - // are compatible with the application protocol specified in - // the Protocol field. - // - // Although a client request may technically match multiple route rules, - // only one rule may ultimately receive the request. Matching precedence - // MUST be determined in order of the following criteria: - // - // * The most specific match. For example, the most specific HTTPRoute match - // is determined by the longest matching combination of hostname and path. - // * The oldest Route based on creation timestamp. For example, a Route with - // a creation timestamp of "2020-09-08 01:02:03" is given precedence over - // a Route with a creation timestamp of "2020-09-08 01:02:04". - // * If everything else is equivalent, the Route appearing first in - // alphabetical order (namespace/name) should be given precedence. For - // example, foo/bar is given precedence over foo/baz. - // - // All valid portions of a Route selected by this field should be supported. - // Invalid portions of a Route can be ignored (sometimes that will mean the - // full Route). If a portion of a Route transitions from valid to invalid, - // support for that portion of the Route should be dropped to ensure - // consistency. For example, even if a filter specified by a Route is - // invalid, the rest of the Route should still be supported. - // - // Support: Core - Routes RouteBindingSelector `json:"routes"` -} - -// ProtocolType defines the application protocol accepted by a Listener. -// Implementations are not required to accept all the defined protocols. -// If an implementation does not support a specified protocol, it -// should raise a "Detached" condition for the affected Listener with -// a reason of "UnsupportedProtocol". -// -// Core ProtocolType values are listed in the table below. -// -// Implementations can define their own protocols if a core ProtocolType does not -// exist. Such definitions must use prefixed name, such as -// `mycompany.com/my-custom-protocol`. Un-prefixed names are reserved for core -// protocols. Any protocol defined by implementations will fall under custom -// conformance. -type ProtocolType string - -const ( - // Accepts cleartext HTTP/1.1 sessions over TCP. - HTTPProtocolType ProtocolType = "HTTP" - - // Accepts HTTP/1.1 or HTTP/2 sessions over TLS. - HTTPSProtocolType ProtocolType = "HTTPS" - - // Accepts TLS sessions over TCP. - TLSProtocolType ProtocolType = "TLS" - - // Accepts TCP sessions. - TCPProtocolType ProtocolType = "TCP" - - // Accepts UDP packets. - UDPProtocolType ProtocolType = "UDP" -) - -// TLSRouteOverrideType type defines the level of allowance for Routes -// to override a specific TLS setting. -// +kubebuilder:validation:Enum=Allow;Deny -// +kubebuilder:default=Deny -type TLSRouteOverrideType string - -const ( - // Allows the parameter to be configured from all routes. - TLSROuteOVerrideAllow TLSRouteOverrideType = "Allow" - - // Prohibits the parameter from being configured from any route. - TLSRouteOverrideDeny TLSRouteOverrideType = "Deny" -) - -// TLSOverridePolicy defines a schema for overriding TLS settings at the Route -// level. -type TLSOverridePolicy struct { - // Certificate dictates if TLS certificates can be configured - // via Routes. If set to 'Allow', a TLS certificate for a hostname - // defined in a Route takes precedence over the certificate defined in - // Gateway. - // - // Support: Core - // - // +optional - // +kubebuilder:default=Deny - Certificate *TLSRouteOverrideType `json:"certificate,omitempty"` -} - -// GatewayTLSConfig describes a TLS configuration. -type GatewayTLSConfig struct { - // Mode defines the TLS behavior for the TLS session initiated by the client. - // There are two possible modes: - // - Terminate: The TLS session between the downstream client - // and the Gateway is terminated at the Gateway. This mode requires - // certificateRef to be set. - // - Passthrough: The TLS session is NOT terminated by the Gateway. This - // implies that the Gateway can't decipher the TLS stream except for - // the ClientHello message of the TLS protocol. - // CertificateRef field is ignored in this mode. - // - // Support: Core - // - // +optional - // +kubebuilder:default=Terminate - Mode *TLSModeType `json:"mode,omitempty"` - - // CertificateRef is a reference to a Kubernetes object that contains a TLS - // certificate and private key. This certificate is used to establish a TLS - // handshake for requests that match the hostname of the associated listener. - // The referenced object MUST reside in the same namespace as Gateway. - // - // This field is required when mode is set to "Terminate" (default) and - // optional otherwise. - // - // CertificateRef can reference a standard Kubernetes resource, i.e. Secret, - // or an implementation-specific custom resource. - // - // Support: Core (Kubernetes Secrets) - // - // Support: Implementation-specific (Other resource types) - // - // +optional - CertificateRef *LocalObjectReference `json:"certificateRef,omitempty"` - - // RouteOverride dictates if TLS settings can be configured - // via Routes or not. - // - // CertificateRef must be defined even if `routeOverride.certificate` is - // set to 'Allow' as it will be used as the default certificate for the - // listener. - // - // Support: Core - // - // +optional - // +kubebuilder:default={certificate:Deny} - RouteOverride *TLSOverridePolicy `json:"routeOverride,omitempty"` - - // Options are a list of key/value pairs to give extended options - // to the provider. - // - // There variation among providers as to how ciphersuites are - // expressed. If there is a common subset for expressing ciphers - // then it will make sense to loft that as a core API - // construct. - // - // Support: Implementation-specific - // - // +optional - Options map[string]string `json:"options,omitempty"` -} - -// TLSModeType type defines how a Gateway handles TLS sessions. -// -// +kubebuilder:validation:Enum=Terminate;Passthrough -type TLSModeType string - -const ( - // In this mode, TLS session between the downstream client - // and the Gateway is terminated at the Gateway. - TLSModeTerminate TLSModeType = "Terminate" - // In this mode, the TLS session is NOT terminated by the Gateway. This - // implies that the Gateway can't decipher the TLS stream except for - // the ClientHello message of the TLS protocol. - TLSModePassthrough TLSModeType = "Passthrough" -) - -// RouteBindingSelector defines a schema for associating routes with the Gateway. -// If Namespaces and Selector are defined, only routes matching both selectors are -// associated with the Gateway. -type RouteBindingSelector struct { - // Namespaces indicates in which namespaces Routes should be selected - // for this Gateway. This is restricted to the namespace of this Gateway by - // default. - // - // Support: Core - // - // +optional - // +kubebuilder:default={from: Same} - Namespaces *RouteNamespaces `json:"namespaces,omitempty"` - // Selector specifies a set of route labels used for selecting - // routes to associate with the Gateway. If this Selector is defined, - // only routes matching the Selector are associated with the Gateway. - // An empty Selector matches all routes. - // - // Support: Core - // - // +optional - Selector *metav1.LabelSelector `json:"selector,omitempty"` - // Group is the group of the route resource to select. Omitting the value or specifying - // the empty string indicates the networking.x-k8s.io API group. - // For example, use the following to select an HTTPRoute: - // - // routes: - // kind: HTTPRoute - // - // Otherwise, if an alternative API group is desired, specify the desired - // group: - // - // routes: - // group: acme.io - // kind: FooRoute - // - // Support: Core - // - // +optional - // +kubebuilder:default=networking.x-k8s.io - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Group *string `json:"group,omitempty"` - // Kind is the kind of the route resource to select. - // - // Kind MUST correspond to kinds of routes that are compatible with the - // application protocol specified in the Listener's Protocol field. - // - // If an implementation does not support or recognize this - // resource type, it SHOULD set the "ResolvedRefs" condition to false for - // this listener with the "InvalidRoutesRef" reason. - // - // Support: Core - Kind string `json:"kind"` -} - -// RouteSelectType specifies where Routes should be selected by a Gateway. -// -// +kubebuilder:validation:Enum=All;Selector;Same -type RouteSelectType string - -const ( - // Routes in all namespaces may be used by this Gateway. - RouteSelectAll RouteSelectType = "All" - // Only Routes in namespaces selected by the selector may be used by this Gateway. - RouteSelectSelector RouteSelectType = "Selector" - // Only Routes in the same namespace as the Gateway may be used by this Gateway. - RouteSelectSame RouteSelectType = "Same" -) - -// RouteNamespaces indicate which namespaces Routes should be selected from. -type RouteNamespaces struct { - // From indicates where Routes will be selected for this Gateway. Possible - // values are: - // * All: Routes in all namespaces may be used by this Gateway. - // * Selector: Routes in namespaces selected by the selector may be used by - // this Gateway. - // * Same: Only Routes in the same namespace may be used by this Gateway. - // - // Support: Core - // - // +optional - // +kubebuilder:default=Same - From *RouteSelectType `json:"from,omitempty"` - - // Selector must be specified when From is set to "Selector". In that case, - // only Routes in Namespaces matching this Selector will be selected by this - // Gateway. This field is ignored for other values of "From". - // - // Support: Core - // - // +optional - Selector *metav1.LabelSelector `json:"selector,omitempty"` -} - -// GatewayAddress describes an address that can be bound to a Gateway. -type GatewayAddress struct { - // Type of the address. - // - // Support: Extended - // - // +optional - // +kubebuilder:default=IPAddress - Type *AddressType `json:"type,omitempty"` - - // Value of the address. The validity of the values will depend - // on the type and support by the controller. - // - // Examples: `1.2.3.4`, `128::1`, `my-ip-address`. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Value string `json:"value"` -} - -// AddressType defines how a network address is represented as a text string. -// -// If the requested address is unsupported, the controller -// should raise the "Detached" listener status condition on -// the Gateway with the "UnsupportedAddress" reason. -// -// +kubebuilder:validation:Enum=IPAddress;NamedAddress -type AddressType string - -const ( - // A textual representation of a numeric IP address. IPv4 - // addresses must be in dotted-decimal form. IPv6 addresses - // must be in a standard IPv6 text representation - // (see [RFC 5952](https://tools.ietf.org/html/rfc5952)). - // - // Support: Extended - IPAddressType AddressType = "IPAddress" - - // An opaque identifier that represents a specific IP address. The - // interpretation of the name is dependent on the controller. For - // example, a "NamedAddress" might be a cloud-dependent identifier - // for a static or elastic IP. - // - // Support: Implementation-specific - NamedAddressType AddressType = "NamedAddress" -) - -// GatewayStatus defines the observed state of Gateway. -type GatewayStatus struct { - // Addresses lists the IP addresses that have actually been - // bound to the Gateway. These addresses may differ from the - // addresses in the Spec, e.g. if the Gateway automatically - // assigns an address from a reserved pool. - // - // These addresses should all be of type "IPAddress". - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Addresses []GatewayAddress `json:"addresses,omitempty"` - - // Conditions describe the current conditions of the Gateway. - // - // Implementations should prefer to express Gateway conditions - // using the `GatewayConditionType` and `GatewayConditionReason` - // constants so that operators and tools can converge on a common - // vocabulary to describe Gateway state. - // - // Known condition types are: - // - // * "Scheduled" - // * "Ready" - // - // +optional - // +listType=map - // +listMapKey=type - // +kubebuilder:validation:MaxItems=8 - // +kubebuilder:default={{type: "Scheduled", status: "False", reason:"NotReconciled", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}} - Conditions []metav1.Condition `json:"conditions,omitempty"` - - // Listeners provide status for each unique listener port defined in the Spec. - // - // +optional - // +listType=map - // +listMapKey=port - // +kubebuilder:validation:MaxItems=64 - Listeners []ListenerStatus `json:"listeners,omitempty"` -} - -// GatewayConditionType is a type of condition associated with a -// Gateway. This type should be used with the GatewayStatus.Conditions -// field. -type GatewayConditionType string - -// GatewayConditionReason defines the set of reasons that explain -// why a particular Gateway condition type has been raised. -type GatewayConditionReason string - -const ( - // This condition is true when the controller managing the - // Gateway has scheduled the Gateway to the underlying network - // infrastructure. - // - // Possible reasons for this condition to be false are: - // - // * "NotReconciled" - // * "NoSuchGatewayClass" - // * "NoResources" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - GatewayConditionScheduled GatewayConditionType = "Scheduled" - - // This reason is used with the "Scheduled" condition when - // been recently created and no controller has reconciled it yet. - GatewayReasonNotReconciled GatewayConditionReason = "NotReconciled" - - // This reason is used with the "Scheduled" condition when the Gateway is - // not scheduled because there is no controller that recognizes the - // GatewayClassName. This reason has been deprecated and will be removed in - // a future release. - // +deprecated - GatewayReasonNoSuchGatewayClass GatewayConditionReason = "NoSuchGatewayClass" - - // This reason is used with the "Scheduled" condition when the - // Gateway is not scheduled because insufficient infrastructure - // resources are available. - GatewayReasonNoResources GatewayConditionReason = "NoResources" -) - -const ( - // This condition is true when the Gateway is expected to be able - // to serve traffic. Note that this does not indicate that the - // Gateway configuration is current or even complete (e.g. the - // controller may still not have reconciled the latest version, - // or some parts of the configuration could be missing). - // - // If both the "ListenersNotValid" and "ListenersNotReady" - // reasons are true, the Gateway controller should prefer the - // "ListenersNotValid" reason. - // - // Possible reasons for this condition to be false are: - // - // * "ListenersNotValid" - // * "ListenersNotReady" - // * "AddressNotAssigned" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - GatewayConditionReady GatewayConditionType = "Ready" - - // This reason is used with the "Ready" condition when one or - // more Listeners have an invalid or unsupported configuration - // and cannot be configured on the Gateway. - GatewayReasonListenersNotValid GatewayConditionReason = "ListenersNotValid" - - // This reason is used with the "Ready" condition when one or - // more Listeners are not ready to serve traffic. - GatewayReasonListenersNotReady GatewayConditionReason = "ListenersNotReady" - - // This reason is used with the "Ready" condition when the requested - // address has not been assigned to the Gateway. This reason - // can be used to express a range of circumstances, including - // (but not limited to) IPAM address exhaustion, invalid - // or unsupported address requests, or a named address not - // being found. - GatewayReasonAddressNotAssigned GatewayConditionReason = "AddressNotAssigned" -) - -// ListenerStatus is the status associated with a Listener. -type ListenerStatus struct { - // Port is the unique Listener port value for which this message is - // reporting the status. - Port PortNumber `json:"port"` - - // Protocol is the Listener protocol value for which this message is - // reporting the status. - Protocol ProtocolType `json:"protocol"` - - // Hostname is the Listener hostname value for which this message is - // reporting the status. - // - // +optional - Hostname *Hostname `json:"hostname,omitempty"` - - // Conditions describe the current condition of this listener. - // - // +listType=map - // +listMapKey=type - // +kubebuilder:validation:MaxItems=8 - Conditions []metav1.Condition `json:"conditions"` -} - -// ListenerConditionType is a type of condition associated with the -// listener. This type should be used with the ListenerStatus.Conditions -// field. -type ListenerConditionType string - -// ListenerConditionReason defines the set of reasons that explain -// why a particular Listener condition type has been raised. -type ListenerConditionReason string - -const ( - // This condition indicates that the controller was unable to resolve - // conflicting specification requirements for this Listener. If a - // Listener is conflicted, its network port should not be configured - // on any network elements. - // - // Possible reasons for this condition to be true are: - // - // * "HostnameConflict" - // * "ProtocolConflict" - // * "RouteConflict" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - ListenerConditionConflicted ListenerConditionType = "Conflicted" - - // This reason is used with the "Conflicted" condition when - // the Listener conflicts with hostnames in other Listeners. For - // example, this reason would be used when multiple Listeners on - // the same port use `*` in the hostname field. - ListenerReasonHostnameConflict ListenerConditionReason = "HostnameConflict" - - // This reason is used with the "Conflicted" condition when - // multiple Listeners are specified with the same Listener port - // number, but have conflicting protocol specifications. - ListenerReasonProtocolConflict ListenerConditionReason = "ProtocolConflict" - - // This reason is used with the "Conflicted" condition when the route - // resources selected for this Listener conflict with other - // specified properties of the Listener (e.g. Protocol). - // For example, a Listener that specifies "UDP" as the protocol - // but a route selector that resolves "TCPRoute" objects. - ListenerReasonRouteConflict ListenerConditionReason = "RouteConflict" -) - -const ( - // This condition indicates that, even though the listener is - // syntactically and semantically valid, the controller is not able - // to configure it on the underlying Gateway infrastructure. - // - // A Listener is specified as a logical requirement, but needs to be - // configured on a network endpoint (i.e. address and port) by a - // controller. The controller may be unable to attach the Listener - // if it specifies an unsupported requirement, or prerequisite - // resources are not available. - // - // Possible reasons for this condition to be true are: - // - // * "PortUnavailable" - // * "UnsupportedExtension" - // * "UnsupportedProtocol" - // * "UnsupportedAddress" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - ListenerConditionDetached ListenerConditionType = "Detached" - - // This reason is used with the "Detached" condition when the - // Listener requests a port that cannot be used on the Gateway. - ListenerReasonPortUnavailable ListenerConditionReason = "PortUnavailable" - - // This reason is used with the "Detached" condition when the - // controller detects that an implementation-specific Listener - // extension is being requested, but is not able to support - // the extension. - ListenerReasonUnsupportedExtension ListenerConditionReason = "UnsupportedExtension" - - // This reason is used with the "Detached" condition when the - // Listener could not be attached to be Gateway because its - // protocol type is not supported. - ListenerReasonUnsupportedProtocol ListenerConditionReason = "UnsupportedProtocol" - - // This reason is used with the "Detached" condition when - // the Listener could not be attached to the Gateway because the - // requested address is not supported. - ListenerReasonUnsupportedAddress ListenerConditionReason = "UnsupportedAddress" -) - -const ( - // This condition indicates whether the controller was able to - // resolve all the object references for the Listener. - // - // Possible reasons for this condition to be false are: - // - // * "DegradedRoutes" - // * "InvalidCertificateRef" - // * "InvalidRoutesRef" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - ListenerConditionResolvedRefs ListenerConditionType = "ResolvedRefs" - - // This reason is used with the "ResolvedRefs" condition - // when not all of the routes selected by this Listener could be - // configured. The specific reason for the degraded route should - // be indicated in the route's .Status.Conditions field. - ListenerReasonDegradedRoutes ListenerConditionReason = "DegradedRoutes" - - // This reason is used with the "ResolvedRefs" condition when the - // Listener has a TLS configuration with a TLS CertificateRef - // that is invalid or cannot be resolved. - ListenerReasonInvalidCertificateRef ListenerConditionReason = "InvalidCertificateRef" - - // This reason is used with the "ResolvedRefs" condition when - // the Listener's Routes selector or kind is invalid or cannot - // be resolved. Note that it is not an error for this selector to - // not resolve any Routes, and the "ResolvedRefs" status condition - // should not be raised in that case. - ListenerReasonInvalidRoutesRef ListenerConditionReason = "InvalidRoutesRef" -) - -const ( - // This condition indicates whether the Listener has been - // configured on the Gateway. - // - // Possible reasons for this condition to be false are: - // - // * "Invalid" - // * "Pending" - // - // Controllers may raise this condition with other reasons, - // but should prefer to use the reasons listed above to improve - // interoperability. - ListenerConditionReady ListenerConditionType = "Ready" - - // This reason is used with the "Ready" condition when the - // Listener is syntactically or semantically invalid. - ListenerReasonInvalid ListenerConditionReason = "Invalid" - - // This reason is used with the "Ready" condition when the - // Listener is not yet not online and ready to accept client - // traffic. - ListenerReasonPending ListenerConditionReason = "Pending" -) diff --git a/apis/v1alpha1/gatewayclass_types.go b/apis/v1alpha1/gatewayclass_types.go deleted file mode 100644 index 38349b3df1..0000000000 --- a/apis/v1alpha1/gatewayclass_types.go +++ /dev/null @@ -1,185 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +genclient:nonNamespaced -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api,scope=Cluster,shortName=gc -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Controller",type=string,JSONPath=`.spec.controller` -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// GatewayClass describes a class of Gateways available to the user -// for creating Gateway resources. -// -// GatewayClass is a Cluster level resource. -type GatewayClass struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of GatewayClass. - Spec GatewayClassSpec `json:"spec,omitempty"` - - // Status defines the current state of GatewayClass. - // - // +kubebuilder:default={conditions: {{type: "Admitted", status: "False", message: "Waiting for controller", reason: "Waiting", lastTransitionTime: "1970-01-01T00:00:00Z"}}} - Status GatewayClassStatus `json:"status,omitempty"` -} - -// GatewayClassSpec reflects the configuration of a class of Gateways. -type GatewayClassSpec struct { - // Controller is a domain/path string that indicates the - // controller that is managing Gateways of this class. - // - // Example: "acme.io/gateway-controller". - // - // This field is not mutable and cannot be empty. - // - // The format of this field is DOMAIN "/" PATH, where DOMAIN - // and PATH are valid Kubernetes names - // (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - // - // Support: Core - // - // +kubebuilder:validation:MaxLength=253 - Controller string `json:"controller"` - - // ParametersRef is a reference to a resource that contains the configuration - // parameters corresponding to the GatewayClass. This is optional if the - // controller does not require any additional configuration. - // - // ParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap, - // or an implementation-specific custom resource. The resource can be - // cluster-scoped or namespace-scoped. - // - // If the referent cannot be found, the GatewayClass's "InvalidParameters" - // status condition will be true. - // - // Support: Custom - // - // +optional - ParametersRef *ParametersReference `json:"parametersRef,omitempty"` -} - -// ParametersReference identifies an API object containing controller-specific -// configuration resource within the cluster. -type ParametersReference struct { - // Group is the group of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Group string `json:"group"` - - // Kind is kind of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Kind string `json:"kind"` - - // Name is the name of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Name string `json:"name"` - - // Scope represents if the referent is a Cluster or Namespace scoped resource. - // This may be set to "Cluster" or "Namespace". - // +kubebuilder:validation:Enum=Cluster;Namespace - // +kubebuilder:default=Cluster - // +optional - Scope *string `json:"scope,omitempty"` - - // Namespace is the namespace of the referent. - // This field is required when scope is set to "Namespace" and ignored when - // scope is set to "Cluster". - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - // +optional - Namespace *string `json:"namespace,omitempty"` -} - -// GatewayClassConditionType is the type for status conditions on -// Gateway resources. This type should be used with the -// GatewayClassStatus.Conditions field. -type GatewayClassConditionType string - -// GatewayClassConditionReason defines the set of reasons that explain why -// a particular GatewayClass condition type has been raised. -type GatewayClassConditionReason string - -const ( - // This condition indicates whether the GatewayClass has been - // admitted by the controller requested in the `spec.controller` - // field. - // - // This condition defaults to False, and MUST be set by a controller when it sees - // a GatewayClass using its controller string. - // The status of this condition MUST be set to true if the controller will support - // provisioning Gateways using this class. Otherwise, this status MUST be set to false. - // If the status is set to false, the controller SHOULD set a Message and Reason as an - // explanation. - // - // Controllers should prefer to use the values of GatewayClassConditionReason - // for the corresponding Reason, where appropriate. - GatewayClassConditionStatusAdmitted GatewayClassConditionType = "Admitted" - - // This reason is used with the "Admitted" condition when the - // GatewayClass was not admitted because the parametersRef field - // was invalid, with more detail in the message. - GatewayClassNotAdmittedInvalidParameters GatewayClassConditionReason = "InvalidParameters" - - // This reason is used with the "Admitted" condition when the - // requested controller has not yet made a decision about whether - // to admit the GatewayClass. It is the default Reason on a new - // GatewayClass. It indicates - GatewayClassNotAdmittedWaiting GatewayClassConditionReason = "Waiting" - - // GatewayClassFinalizerGatewaysExist should be added as a finalizer to the - // GatewayClass whenever there are provisioned Gateways using a GatewayClass. - GatewayClassFinalizerGatewaysExist = "gateway-exists-finalizer.networking.x-k8s.io" -) - -// GatewayClassStatus is the current status for the GatewayClass. -type GatewayClassStatus struct { - // Conditions is the current status from the controller for - // this GatewayClass. - // - // Controllers should prefer to publish conditions using values - // of GatewayClassConditionType for the type of each Condition. - // - // +optional - // +listType=map - // +listMapKey=type - // +kubebuilder:validation:MaxItems=8 - // +kubebuilder:default={{type: "Admitted", status: "False", message: "Waiting for controller", reason: "Waiting", lastTransitionTime: "1970-01-01T00:00:00Z"}} - Conditions []metav1.Condition `json:"conditions,omitempty"` -} - -// +kubebuilder:object:root=true - -// GatewayClassList contains a list of GatewayClass -type GatewayClassList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []GatewayClass `json:"items"` -} diff --git a/apis/v1alpha1/httproute_types.go b/apis/v1alpha1/httproute_types.go deleted file mode 100644 index e2608942e8..0000000000 --- a/apis/v1alpha1/httproute_types.go +++ /dev/null @@ -1,721 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Hostnames",type=string,JSONPath=`.spec.hostnames` -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// HTTPRoute is the Schema for the HTTPRoute resource. -type HTTPRoute struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of HTTPRoute. - Spec HTTPRouteSpec `json:"spec,omitempty"` - - // Status defines the current state of HTTPRoute. - Status HTTPRouteStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// HTTPRouteList contains a list of HTTPRoute. -type HTTPRouteList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []HTTPRoute `json:"items"` -} - -// HTTPRouteSpec defines the desired state of HTTPRoute -type HTTPRouteSpec struct { - // Gateways defines which Gateways can use this Route. - // - // +optional - // +kubebuilder:default={allow: "SameNamespace"} - Gateways *RouteGateways `json:"gateways,omitempty"` - - // Hostnames defines a set of hostname that should match against - // the HTTP Host header to select a HTTPRoute to process the request. - // Hostname is the fully qualified domain name of a network host, - // as defined by RFC 3986. Note the following deviations from the - // "host" part of the URI as defined in the RFC: - // - // 1. IPs are not allowed. - // 2. The `:` delimiter is not respected because ports are not allowed. - // - // Incoming requests are matched against the hostnames before the - // HTTPRoute rules. If no hostname is specified, traffic is routed - // based on the HTTPRouteRules. - // - // Hostname can be "precise" which is a domain name without the terminating - // dot of a network host (e.g. "foo.example.com") or "wildcard", which is - // a domain name prefixed with a single wildcard label (e.g. `*.example.com`). - // The wildcard character `*` must appear by itself as the first DNS - // label and matches only a single label. - // You cannot have a wildcard label by itself (e.g. Host == `*`). - // Requests will be matched against the Host field in the following order: - // - // 1. If Host is precise, the request matches this rule if - // the HTTP Host header is equal to Host. - // 2. If Host is a wildcard, then the request matches this rule if - // the HTTP Host header is to equal to the suffix - // (removing the first label) of the wildcard rule. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Hostnames []Hostname `json:"hostnames,omitempty"` - - // TLS defines the TLS certificate to use for Hostnames defined in this - // Route. This configuration only takes effect if the AllowRouteOverride - // field is set to true in the associated Gateway resource. - // - // Collisions can happen if multiple HTTPRoutes define a TLS certificate - // for the same hostname. In such a case, conflict resolution guiding - // principles apply, specifically, if hostnames are same and two different - // certificates are specified then the certificate in the - // oldest resource wins. - // - // Please note that HTTP Route-selection takes place after the - // TLS Handshake (ClientHello). Due to this, TLS certificate defined - // here will take precedence even if the request has the potential to - // match multiple routes (in case multiple HTTPRoutes share the same - // hostname). - // - // Support: Core - // - // +optional - TLS *RouteTLSConfig `json:"tls,omitempty"` - - // Rules are a list of HTTP matchers, filters and actions. - // - // +optional - // +kubebuilder:validation:MaxItems=16 - // +kubebuilder:default={{matches: {{path: {type: "Prefix", value: "/"}}}}} - Rules []HTTPRouteRule `json:"rules,omitempty"` -} - -// RouteTLSConfig describes a TLS configuration defined at the Route level. -type RouteTLSConfig struct { - // CertificateRef is a reference to a Kubernetes object that contains a TLS - // certificate and private key. This certificate is used to establish a TLS - // handshake for requests that match the hostname of the associated HTTPRoute. - // The referenced object MUST reside in the same namespace as HTTPRoute. - // - // This field is required when the TLS configuration mode of the associated - // Gateway listener is set to "Passthrough". - // - // CertificateRef can reference a standard Kubernetes resource, i.e. Secret, - // or an implementation-specific custom resource. - // - // Support: Core (Kubernetes Secrets) - // - // Support: Implementation-specific (Other resource types) - // - CertificateRef LocalObjectReference `json:"certificateRef"` -} - -// HTTPRouteRule defines semantics for matching an HTTP request based on -// conditions, optionally executing additional processing steps, and forwarding -// the request to an API object. -type HTTPRouteRule struct { - // Matches define conditions used for matching the rule against incoming - // HTTP requests. Each match is independent, i.e. this rule will be matched - // if **any** one of the matches is satisfied. - // - // For example, take the following matches configuration: - // - // ``` - // matches: - // - path: - // value: "/foo" - // headers: - // values: - // version: "2" - // - path: - // value: "/v2/foo" - // ``` - // - // For a request to match against this rule, a request should satisfy - // EITHER of the two conditions: - // - // - path prefixed with `/foo` AND contains the header `version: "2"` - // - path prefix of `/v2/foo` - // - // See the documentation for HTTPRouteMatch on how to specify multiple - // match conditions that should be ANDed together. - // - // If no matches are specified, the default is a prefix - // path match on "/", which has the effect of matching every - // HTTP request. - // - // - // Each client request MUST map to a maximum of one route rule. If a request - // matches multiple rules, matching precedence MUST be determined in order - // of the following criteria, continuing on ties: - // - // * The longest matching hostname. - // * The longest matching path. - // * The largest number of header matches. - // - // If ties still exist across multiple Routes, matching precedence MUST be - // determined in order of the following criteria, continuing on ties: - // - // * The oldest Route based on creation timestamp. For example, a Route with - // a creation timestamp of "2020-09-08 01:02:03" is given precedence over - // a Route with a creation timestamp of "2020-09-08 01:02:04". - // * The Route appearing first in alphabetical order by - // "{namespace}/{name}". For example, foo/bar is given precedence over - // foo/baz. - // - // If ties still exist within the Route that has been given precedence, - // matching precedence MUST be granted to the first matching rule meeting - // the above criteria. - // - // +optional - // +kubebuilder:validation:MaxItems=8 - // +kubebuilder:default={{path:{ type: "Prefix", value: "/"}}} - Matches []HTTPRouteMatch `json:"matches,omitempty"` - - // Filters define the filters that are applied to requests that match - // this rule. - // - // The effects of ordering of multiple behaviors are currently unspecified. - // This can change in the future based on feedback during the alpha stage. - // - // Conformance-levels at this level are defined based on the type of filter: - // - // - ALL core filters MUST be supported by all implementations. - // - Implementers are encouraged to support extended filters. - // - Implementation-specific custom filters have no API guarantees across - // implementations. - // - // Specifying a core filter multiple times has unspecified or custom conformance. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Filters []HTTPRouteFilter `json:"filters,omitempty"` - - // ForwardTo defines the backend(s) where matching requests should be sent. - // If unspecified, the rule performs no forwarding. If unspecified and no - // filters are specified that would result in a response being sent, a 503 - // error code is returned. - // - // +optional - // +kubebuilder:validation:MaxItems=16 - ForwardTo []HTTPRouteForwardTo `json:"forwardTo,omitempty"` -} - -// PathMatchType specifies the semantics of how HTTP paths should be compared. -// Valid PathMatchType values are: -// -// * "Exact" -// * "Prefix" -// * "RegularExpression" -// * "ImplementationSpecific" -// -// Prefix and Exact paths must be syntactically valid: -// -// - Must begin with the '/' character -// - Must not contain consecutive '/' characters (e.g. /foo///, //). -// - For prefix paths, a trailing '/' character in the Path is ignored, -// e.g. /abc and /abc/ specify the same match. -// -// +kubebuilder:validation:Enum=Exact;Prefix;RegularExpression;ImplementationSpecific -type PathMatchType string - -// PathMatchType constants. -const ( - PathMatchExact PathMatchType = "Exact" - PathMatchPrefix PathMatchType = "Prefix" - PathMatchRegularExpression PathMatchType = "RegularExpression" - PathMatchImplementationSpecific PathMatchType = "ImplementationSpecific" -) - -// HeaderMatchType specifies the semantics of how HTTP header values should be -// compared. Valid HeaderMatchType values are: -// -// * "Exact" -// * "RegularExpression" -// * "ImplementationSpecific" -// -// +kubebuilder:validation:Enum=Exact;RegularExpression;ImplementationSpecific -type HeaderMatchType string - -// HeaderMatchType constants. -const ( - HeaderMatchExact HeaderMatchType = "Exact" - HeaderMatchRegularExpression HeaderMatchType = "RegularExpression" - HeaderMatchImplementationSpecific HeaderMatchType = "ImplementationSpecific" -) - -// QueryParamMatchType specifies the semantics of how HTTP query parameter -// values should be compared. Valid QueryParamMatchType values are: -// -// * "Exact" -// * "RegularExpression" -// * "ImplementationSpecific" -// -// +kubebuilder:validation:Enum=Exact;RegularExpression;ImplementationSpecific -type QueryParamMatchType string - -// QueryParamMatchType constants. -const ( - QueryParamMatchExact QueryParamMatchType = "Exact" - QueryParamMatchRegularExpression QueryParamMatchType = "RegularExpression" - QueryParamMatchImplementationSpecific QueryParamMatchType = "ImplementationSpecific" -) - -// HTTPPathMatch describes how to select a HTTP route by matching the HTTP request path. -type HTTPPathMatch struct { - // Type specifies how to match against the path Value. - // - // Support: Core (Exact, Prefix) - // - // Support: Custom (RegularExpression, ImplementationSpecific) - // - // Since RegularExpression PathType has custom conformance, implementations - // can support POSIX, PCRE or any other dialects of regular expressions. - // Please read the implementation's documentation to determine the supported - // dialect. - // - // +optional - // +kubebuilder:default=Prefix - Type *PathMatchType `json:"type,omitempty"` - - // Value of the HTTP path to match against. - // - // +optional - // +kubebuilder:default="/" - Value *string `json:"value,omitempty"` -} - -// HTTPHeaderMatch describes how to select a HTTP route by matching HTTP request -// headers. -type HTTPHeaderMatch struct { - // Type specifies how to match against the value of the header. - // - // Support: Core (Exact) - // - // Support: Custom (RegularExpression, ImplementationSpecific) - // - // Since RegularExpression PathType has custom conformance, implementations - // can support POSIX, PCRE or any other dialects of regular expressions. - // Please read the implementation's documentation to determine the supported - // dialect. - // - // HTTP Header name matching MUST be case-insensitive (RFC 2616 - section 4.2). - // - // +optional - // +kubebuilder:default=Exact - Type *HeaderMatchType `json:"type,omitempty"` - - // Values is a map of HTTP Headers to be matched. - // It MUST contain at least one entry. - // - // The HTTP header field name to match is the map key, and the - // value of the HTTP header is the map value. HTTP header field name matching - // MUST be case-insensitive. - // - // Multiple match values are ANDed together, meaning, a request - // must match all the specified headers to select the route. - Values map[string]string `json:"values"` -} - -// HTTPQueryParamMatch describes how to select a HTTP route by matching HTTP -// query parameters. -type HTTPQueryParamMatch struct { - // Type specifies how to match against the value of the query parameter. - // - // Support: Extended (Exact) - // - // Support: Custom (RegularExpression, ImplementationSpecific) - // - // Since RegularExpression QueryParamMatchType has custom conformance, - // implementations can support POSIX, PCRE or any other dialects of regular - // expressions. Please read the implementation's documentation to determine - // the supported dialect. - // - // +optional - // +kubebuilder:default=Exact - Type *QueryParamMatchType `json:"type,omitempty"` - - // Values is a map of HTTP query parameters to be matched. It MUST contain - // at least one entry. - // - // The query parameter name to match is the map key, and the value of the - // query parameter is the map value. - // - // Multiple match values are ANDed together, meaning, a request must match - // all the specified query parameters to select the route. - // - // HTTP query parameter matching MUST be case-sensitive for both keys and - // values. (See https://tools.ietf.org/html/rfc7230#section-2.7.3). - // - // Note that the query parameter key MUST always be an exact match by string - // comparison. - Values map[string]string `json:"values"` -} - -// HTTPRouteMatch defines the predicate used to match requests to a given -// action. Multiple match types are ANDed together, i.e. the match will -// evaluate to true only if all conditions are satisfied. -// -// For example, the match below will match a HTTP request only if its path -// starts with `/foo` AND it contains the `version: "1"` header: -// -// ``` -// match: -// path: -// value: "/foo" -// headers: -// values: -// version: "1" -// ``` -type HTTPRouteMatch struct { - // Path specifies a HTTP request path matcher. If this field is not - // specified, a default prefix match on the "/" path is provided. - // - // +optional - // +kubebuilder:default={type: "Prefix", value: "/"} - Path *HTTPPathMatch `json:"path,omitempty"` - - // Headers specifies a HTTP request header matcher. - // - // +optional - Headers *HTTPHeaderMatch `json:"headers,omitempty"` - - // QueryParams specifies a HTTP query parameter matcher. - // - // +optional - QueryParams *HTTPQueryParamMatch `json:"queryParams,omitempty"` - - // ExtensionRef is an optional, implementation-specific extension to the - // "match" behavior. For example, resource "myroutematcher" in group - // "networking.acme.io". If the referent cannot be found, the rule is not - // included in the route. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. The gateway - // status for this route should be updated with a condition that describes - // the error more specifically. - // - // Support: Custom - // - // +optional - ExtensionRef *LocalObjectReference `json:"extensionRef,omitempty"` -} - -// HTTPRouteFilter defines additional processing steps that must be completed -// during the request or response lifecycle. HTTPRouteFilters are meant as an -// extension point to express additional processing that may be done in Gateway -// implementations. Some examples include request or response modification, -// implementing authentication strategies, rate-limiting, and traffic shaping. -// API guarantee/conformance is defined based on the type of the filter. -// TODO(hbagdi): re-render CRDs once controller-tools supports union tags: -// - https://github.com/kubernetes-sigs/controller-tools/pull/298 -// - https://github.com/kubernetes-sigs/controller-tools/issues/461 -// +union -type HTTPRouteFilter struct { - // Type identifies the type of filter to apply. As with other API fields, - // types are classified into three conformance levels: - // - // - Core: Filter types and their corresponding configuration defined by - // "Support: Core" in this package, e.g. "RequestHeaderModifier". All - // implementations must support core filters. - // - // - Extended: Filter types and their corresponding configuration defined by - // "Support: Extended" in this package, e.g. "RequestMirror". Implementers - // are encouraged to support extended filters. - // - // - Custom: Filters that are defined and supported by specific vendors. - // In the future, filters showing convergence in behavior across multiple - // implementations will be considered for inclusion in extended or core - // conformance levels. Filter-specific configuration for such filters - // is specified using the ExtensionRef field. `Type` should be set to - // "ExtensionRef" for custom filters. - // - // Implementers are encouraged to define custom implementation types to - // extend the core API with implementation-specific behavior. - // - // +unionDiscriminator - Type HTTPRouteFilterType `json:"type"` - - // RequestHeaderModifier defines a schema for a filter that modifies request - // headers. - // - // Support: Core - // - // +optional - RequestHeaderModifier *HTTPRequestHeaderFilter `json:"requestHeaderModifier,omitempty"` - - // RequestMirror defines a schema for a filter that mirrors requests. - // - // Support: Extended - // - // +optional - RequestMirror *HTTPRequestMirrorFilter `json:"requestMirror,omitempty"` - - // ExtensionRef is an optional, implementation-specific extension to the - // "filter" behavior. For example, resource "myroutefilter" in group - // "networking.acme.io"). ExtensionRef MUST NOT be used for core and - // extended filters. - // - // Support: Implementation-specific - // - // +optional - ExtensionRef *LocalObjectReference `json:"extensionRef,omitempty"` -} - -// HTTPRouteFilterType identifies a type of HTTPRoute filter. -// +kubebuilder:validation:Enum=RequestHeaderModifier;RequestMirror;ExtensionRef -type HTTPRouteFilterType string - -const ( - // HTTPRouteFilterRequestHeaderModifier can be used to add or remove an HTTP - // header from an HTTP request before it is sent to the upstream target. - // - // Support in HTTPRouteRule: Core - // - // Support in HTTPRouteForwardTo: Extended - HTTPRouteFilterRequestHeaderModifier HTTPRouteFilterType = "RequestHeaderModifier" - - // HTTPRouteFilterRequestMirror can be used to mirror HTTP requests to a - // different backend. The responses from this backend MUST be ignored by - // the Gateway. - // - // Support in HTTPRouteRule: Extended - // - // Support in HTTPRouteForwardTo: Extended - HTTPRouteFilterRequestMirror HTTPRouteFilterType = "RequestMirror" - - // HTTPRouteFilterExtensionRef should be used for configuring custom - // HTTP filters. - // - // Support in HTTPRouteRule: Custom - // - // Support in HTTPRouteForwardTo: Custom - HTTPRouteFilterExtensionRef HTTPRouteFilterType = "ExtensionRef" -) - -// HTTPRequestHeaderFilter defines configuration for the RequestHeaderModifier -// filter. -type HTTPRequestHeaderFilter struct { - // Set overwrites the request with the given header (name, value) - // before the action. - // - // Input: - // GET /foo HTTP/1.1 - // my-header: foo - // - // Config: - // set: {"my-header": "bar"} - // - // Output: - // GET /foo HTTP/1.1 - // my-header: bar - // - // Support: Extended - // - // +optional - Set map[string]string `json:"set,omitempty"` - - // Add adds the given header (name, value) to the request - // before the action. It appends to any existing values associated - // with the header name. - // - // Input: - // GET /foo HTTP/1.1 - // my-header: foo - // - // Config: - // add: {"my-header": "bar"} - // - // Output: - // GET /foo HTTP/1.1 - // my-header: foo - // my-header: bar - // - // Support: Extended - // - // +optional - Add map[string]string `json:"add,omitempty"` - - // Remove the given header(s) from the HTTP request before the - // action. The value of RemoveHeader is a list of HTTP header - // names. Note that the header names are case-insensitive - // [RFC-2616 4.2]. - // - // Input: - // GET /foo HTTP/1.1 - // my-header1: foo - // my-header2: bar - // my-header3: baz - // - // Config: - // remove: ["my-header1", "my-header3"] - // - // Output: - // GET /foo HTTP/1.1 - // my-header2: bar - // - // Support: Extended - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Remove []string `json:"remove,omitempty"` -} - -// HTTPRequestMirrorFilter defines configuration for the RequestMirror filter. -type HTTPRequestMirrorFilter struct { - // ServiceName refers to the name of the Service to mirror matched requests - // to. When specified, this takes the place of BackendRef. If both - // BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the rule is not included in the route. - // The controller should raise the "ResolvedRefs" condition on the Gateway - // with the "DegradedRoutes" reason. The gateway status for this route should - // be updated with a condition that describes the error more specifically. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxLength=253 - ServiceName *string `json:"serviceName,omitempty"` - - // BackendRef is a local object reference to mirror matched requests to. If - // both BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the rule is not included in the route. - // The controller should raise the "ResolvedRefs" condition on the Gateway - // with the "DegradedRoutes" reason. The gateway status for this route should - // be updated with a condition that describes the error more specifically. - // - // Support: Custom - // - // +optional - BackendRef *LocalObjectReference `json:"backendRef,omitempty"` - - // Port specifies the destination port number to use for the - // backend referenced by the ServiceName or BackendRef field. - // - // If unspecified, the destination port in the request is used - // when forwarding to a backendRef or serviceName. - // - // +optional - Port *PortNumber `json:"port,omitempty"` -} - -// HTTPRouteForwardTo defines how a HTTPRoute should forward a request. -type HTTPRouteForwardTo struct { - // ServiceName refers to the name of the Service to forward matched requests - // to. When specified, this takes the place of BackendRef. If both - // BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the route must be dropped - // from the Gateway. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. - // The gateway status for this route should be updated with a - // condition that describes the error more specifically. - // - // The protocol to use should be specified with the AppProtocol field on Service - // resources. This field was introduced in Kubernetes 1.18. If using an earlier version - // of Kubernetes, a `networking.x-k8s.io/app-protocol` annotation on the - // BackendPolicy resource may be used to define the protocol. If the - // AppProtocol field is available, this annotation should not be used. The - // AppProtocol field, when populated, takes precedence over the annotation - // in the BackendPolicy resource. For custom backends, it is encouraged to - // add a semantically-equivalent field in the Custom Resource Definition. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxLength=253 - ServiceName *string `json:"serviceName,omitempty"` - - // BackendRef is a reference to a backend to forward matched requests to. If - // both BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the route must be dropped - // from the Gateway. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. - // The gateway status for this route should be updated with a - // condition that describes the error more specifically. - // - // Support: Custom - // - // +optional - BackendRef *LocalObjectReference `json:"backendRef,omitempty"` - - // Port specifies the destination port number to use for the - // backend referenced by the ServiceName or BackendRef field. - // If unspecified, the destination port in the request is used - // when forwarding to a backendRef or serviceName. - // - // Support: Core - // - // +optional - Port *PortNumber `json:"port,omitempty"` - - // Weight specifies the proportion of HTTP requests forwarded to the backend - // referenced by the ServiceName or BackendRef field. This is computed as - // weight/(sum of all weights in this ForwardTo list). For non-zero values, - // there may be some epsilon from the exact proportion defined here - // depending on the precision an implementation supports. Weight is not a - // percentage and the sum of weights does not need to equal 100. - // - // If only one backend is specified and it has a weight greater than 0, 100% - // of the traffic is forwarded to that backend. If weight is set to 0, no - // traffic should be forwarded for this entry. If unspecified, weight - // defaults to 1. - // - // Support: Core - // - // +optional - // +kubebuilder:default=1 - // +kubebuilder:validation:Minimum=0 - // +kubebuilder:validation:Maximum=1000000 - Weight *int32 `json:"weight,omitempty"` - - // Filters defined at this-level should be executed if and only if the - // request is being forwarded to the backend defined here. - // - // Support: Custom (For broader support of filters, use the Filters field - // in HTTPRouteRule.) - // - // +optional - // +kubebuilder:validation:MaxItems=16 - Filters []HTTPRouteFilter `json:"filters,omitempty"` -} - -// HTTPRouteStatus defines the observed state of HTTPRoute. -type HTTPRouteStatus struct { - RouteStatus `json:",inline"` -} diff --git a/apis/v1alpha1/local_object_reference_types.go b/apis/v1alpha1/local_object_reference_types.go deleted file mode 100644 index abc80d783d..0000000000 --- a/apis/v1alpha1/local_object_reference_types.go +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -// LocalObjectReference identifies an API object within the namespace of the -// referrer. -type LocalObjectReference struct { - // Group is the group of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Group string `json:"group"` - - // Kind is kind of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Kind string `json:"kind"` - - // Name is the name of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Name string `json:"name"` -} diff --git a/apis/v1alpha1/shared_types.go b/apis/v1alpha1/shared_types.go deleted file mode 100644 index ca9d0b6a5f..0000000000 --- a/apis/v1alpha1/shared_types.go +++ /dev/null @@ -1,262 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// GatewayAllowType specifies which Gateways should be allowed to use a Route. -type GatewayAllowType string - -const ( - // Any Gateway will be able to use this route. - GatewayAllowAll GatewayAllowType = "All" - // Only Gateways that have been specified in GatewayRefs will be able to use this route. - GatewayAllowFromList GatewayAllowType = "FromList" - // Only Gateways within the same namespace as the route will be able to use this route. - GatewayAllowSameNamespace GatewayAllowType = "SameNamespace" -) - -const ( - // AnnotationAppProtocol defines the protocol a Gateway should use for - // communication with a Kubernetes Service. This annotation must be present - // on the BackendPolicy resource and the protocol will apply to all Service - // ports that are selected by BackendPolicy.Spec.BackendRefs. If the - // AppProtocol field is available, this annotation should not be used. The - // AppProtocol field, when populated, takes precedence over this annotation. - // The value of this annotation must be also be a valid value for the - // AppProtocol field. - // - // Examples: - // - // - `networking.x-k8s.io/app-protocol: https` - // - `networking.x-k8s.io/app-protocol: tls` - AnnotationAppProtocol = "networking.x-k8s.io/app-protocol" -) - -// RouteGateways defines which Gateways will be able to use a route. If this -// field results in preventing the selection of a Route by a Gateway, an -// "Admitted" condition with a status of false must be set for the Gateway on -// that Route. -type RouteGateways struct { - // Allow indicates which Gateways will be allowed to use this route. - // Possible values are: - // * All: Gateways in any namespace can use this route. - // * FromList: Only Gateways specified in GatewayRefs may use this route. - // * SameNamespace: Only Gateways in the same namespace may use this route. - // - // +optional - // +kubebuilder:validation:Enum=All;FromList;SameNamespace - // +kubebuilder:default=SameNamespace - Allow *GatewayAllowType `json:"allow,omitempty"` - - // GatewayRefs must be specified when Allow is set to "FromList". In that - // case, only Gateways referenced in this list will be allowed to use this - // route. This field is ignored for other values of "Allow". - // - // +optional - GatewayRefs []GatewayReference `json:"gatewayRefs,omitempty"` -} - -// PortNumber defines a network port. -// -// +kubebuilder:validation:Minimum=1 -// +kubebuilder:validation:Maximum=65535 -type PortNumber int32 - -// GatewayReference identifies a Gateway in a specified namespace. -type GatewayReference struct { - // Name is the name of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Name string `json:"name"` - - // Namespace is the namespace of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Namespace string `json:"namespace"` -} - -// RouteForwardTo defines how a Route should forward a request. -type RouteForwardTo struct { - // ServiceName refers to the name of the Service to forward matched requests - // to. When specified, this takes the place of BackendRef. If both - // BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the rule is not included in the route. - // The controller should raise the "ResolvedRefs" condition on the Gateway - // with the "DegradedRoutes" reason. The gateway status for this route should - // be updated with a condition that describes the error more specifically. - // - // The protocol to use is defined using AppProtocol field (introduced in - // Kubernetes 1.18) in the Service resource. In the absence of the - // AppProtocol field a `networking.x-k8s.io/app-protocol` annotation on the - // BackendPolicy resource may be used to define the protocol. If the - // AppProtocol field is available, this annotation should not be used. The - // AppProtocol field, when populated, takes precedence over the annotation - // in the BackendPolicy resource. For custom backends, it is encouraged to - // add a semantically-equivalent field in the Custom Resource Definition. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxLength=253 - ServiceName *string `json:"serviceName,omitempty"` - - // BackendRef is a reference to a backend to forward matched requests to. If - // both BackendRef and ServiceName are specified, ServiceName will be given - // precedence. - // - // If the referent cannot be found, the rule is not included in the route. - // The controller should raise the "ResolvedRefs" condition on the Gateway - // with the "DegradedRoutes" reason. The gateway status for this route should - // be updated with a condition that describes the error more specifically. - // - // Support: Custom - // - // +optional - BackendRef *LocalObjectReference `json:"backendRef,omitempty"` - - // Port specifies the destination port number to use for the - // backend referenced by the ServiceName or BackendRef field. - // If unspecified, the destination port in the request is used - // when forwarding to a backendRef or serviceName. - // - // Support: Core - // - // +optional - Port *PortNumber `json:"port,omitempty"` - - // Weight specifies the proportion of HTTP requests forwarded to the backend - // referenced by the ServiceName or BackendRef field. This is computed as - // weight/(sum of all weights in this ForwardTo list). For non-zero values, - // there may be some epsilon from the exact proportion defined here - // depending on the precision an implementation supports. Weight is not a - // percentage and the sum of weights does not need to equal 100. - // - // If only one backend is specified and it has a weight greater than 0, 100% - // of the traffic is forwarded to that backend. If weight is set to 0, no - // traffic should be forwarded for this entry. If unspecified, weight - // defaults to 1. - // - // Support: Extended - // - // +optional - // +kubebuilder:default=1 - // +kubebuilder:validation:Minimum=0 - // +kubebuilder:validation:Maximum=1000000 - Weight *int32 `json:"weight,omitempty"` -} - -// RouteConditionType is a type of condition for a route. -type RouteConditionType string - -// RouteConditionReason is a reason for a route condition. -type RouteConditionReason string - -const ( - // This condition indicates whether the route has been admitted - // or refused by a Gateway. - ConditionRouteAdmitted RouteConditionType = "Admitted" - - // This reason is used with the "Admitted" condition when the Route has been - // admitted by the Gateway. - RouteReasonAdmitted RouteConditionReason = "Admitted" - - // This reason is used with the "Admitted" condition when the Route has been - // refused by the Gateway. - RouteReasonRefused RouteConditionReason = "Refused" -) - -// RouteGatewayStatus describes the status of a route with respect to an -// associated Gateway. -type RouteGatewayStatus struct { - // GatewayRef is a reference to a Gateway object that is associated with - // the route. - GatewayRef RouteStatusGatewayReference `json:"gatewayRef"` - - // Conditions describes the status of the route with respect to the - // Gateway. The "Admitted" condition must always be specified by controllers - // to indicate whether the route has been admitted or rejected by the Gateway, - // and why. Note that the route's availability is also subject to the Gateway's - // own status conditions and listener status. - // - // +listType=map - // +listMapKey=type - // +kubebuilder:validation:MaxItems=8 - Conditions []metav1.Condition `json:"conditions,omitempty"` -} - -// RouteStatusGatewayReference identifies a Gateway in a specified namespace. -// This reference also includes a controller name to simplify cleaning up status -// entries. -type RouteStatusGatewayReference struct { - // Name is the name of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Name string `json:"name"` - - // Namespace is the namespace of the referent. - // - // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength=253 - Namespace string `json:"namespace"` - - // Controller is a domain/path string that indicates the controller - // implementing the Gateway. This corresponds with the controller field on - // GatewayClass. - // - // Example: "acme.io/gateway-controller". - // - // The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are - // valid Kubernetes names - // (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - // - // +kubebuilder:validation:MaxLength=253 - // +optional - Controller *string `json:"controller"` -} - -// RouteStatus defines the observed state that is required across -// all route types. -type RouteStatus struct { - // Gateways is a list of Gateways that are associated with the route, - // and the status of the route with respect to each Gateway. When a - // Gateway selects this route, the controller that manages the Gateway - // must add an entry to this list when the controller first sees the - // route and should update the entry as appropriate when the route is - // modified. - // - // A maximum of 100 Gateways will be represented in this list. If this list - // is full, there may be additional Gateways using this Route that are not - // included in the list. An empty list means the route has not been admitted - // by any Gateway. - // - // +kubebuilder:validation:MaxItems=100 - Gateways []RouteGatewayStatus `json:"gateways"` -} - -// Hostname is used to specify a hostname that should be matched. -// -// +kubebuilder:validation:MinLength=1 -// +kubebuilder:validation:MaxLength=253 -type Hostname string diff --git a/apis/v1alpha1/tcproute_types.go b/apis/v1alpha1/tcproute_types.go deleted file mode 100644 index 44bf3f7bb7..0000000000 --- a/apis/v1alpha1/tcproute_types.go +++ /dev/null @@ -1,126 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// TCPRoute is the Schema for the TCPRoute resource. -type TCPRoute struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of TCPRoute. - Spec TCPRouteSpec `json:"spec,omitempty"` - - // Status defines the current state of TCPRoute. - Status TCPRouteStatus `json:"status,omitempty"` -} - -// TCPRouteSpec defines the desired state of TCPRoute -type TCPRouteSpec struct { - // Rules are a list of TCP matchers and actions. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - Rules []TCPRouteRule `json:"rules"` - - // Gateways defines which Gateways can use this Route. - // - // +optional - // +kubebuilder:default={allow: "SameNamespace"} - Gateways *RouteGateways `json:"gateways,omitempty"` -} - -// TCPRouteStatus defines the observed state of TCPRoute -type TCPRouteStatus struct { - RouteStatus `json:",inline"` -} - -// TCPRouteRule is the configuration for a given rule. -type TCPRouteRule struct { - // Matches define conditions used for matching the rule against incoming TCP - // connections. Each match is independent, i.e. this rule will be matched if - // **any** one of the matches is satisfied. If unspecified (i.e. empty), - // this Rule will match all requests for the associated Listener. - // - // Each client request MUST map to a maximum of one route rule. If a request - // matches multiple rules, matching precedence MUST be determined in order - // of the following criteria, continuing on ties: - // - // * The most specific match specified by ExtensionRef. Each implementation - // that supports ExtensionRef may have different ways of determining the - // specificity of the referenced extension. - // - // If ties still exist across multiple Routes, matching precedence MUST be - // determined in order of the following criteria, continuing on ties: - // - // * The oldest Route based on creation timestamp. For example, a Route with - // a creation timestamp of "2020-09-08 01:02:03" is given precedence over - // a Route with a creation timestamp of "2020-09-08 01:02:04". - // * The Route appearing first in alphabetical order by - // "{namespace}/{name}". For example, foo/bar is given precedence over - // foo/baz. - // - // If ties still exist within the Route that has been given precedence, - // matching precedence MUST be granted to the first matching rule meeting - // the above criteria. - // - // +optional - // +kubebuilder:validation:MaxItems=8 - Matches []TCPRouteMatch `json:"matches,omitempty"` - - // ForwardTo defines the backend(s) where matching requests should - // be sent. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - ForwardTo []RouteForwardTo `json:"forwardTo"` -} - -// TCPRouteMatch defines the predicate used to match connections to a -// given action. -type TCPRouteMatch struct { - // ExtensionRef is an optional, implementation-specific extension to the - // "match" behavior. For example, resource "mytcproutematcher" in group - // "networking.acme.io". If the referent cannot be found, the rule is not - // included in the route. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. The gateway - // status for this route should be updated with a condition that describes - // the error more specifically. - // - // Support: Custom - // - // +optional - ExtensionRef *LocalObjectReference `json:"extensionRef,omitempty"` -} - -// +kubebuilder:object:root=true - -// TCPRouteList contains a list of TCPRoute -type TCPRouteList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []TCPRoute `json:"items"` -} diff --git a/apis/v1alpha1/tlsroute_types.go b/apis/v1alpha1/tlsroute_types.go deleted file mode 100644 index 021e5673b4..0000000000 --- a/apis/v1alpha1/tlsroute_types.go +++ /dev/null @@ -1,161 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// The TLSRoute resource is similar to TCPRoute, but can be configured -// to match against TLS-specific metadata. This allows more flexibility -// in matching streams for a given TLS listener. -// -// If you need to forward traffic to a single target for a TLS listener, you -// could choose to use a TCPRoute with a TLS listener. -type TLSRoute struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of TLSRoute. - Spec TLSRouteSpec `json:"spec,omitempty"` - - // Status defines the current state of TLSRoute. - Status TLSRouteStatus `json:"status,omitempty"` -} - -// TLSRouteSpec defines the desired state of a TLSRoute resource. -type TLSRouteSpec struct { - // Rules are a list of TLS matchers and actions. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - Rules []TLSRouteRule `json:"rules"` - - // Gateways defines which Gateways can use this Route. - // - // +optional - // +kubebuilder:default={allow: "SameNamespace"} - Gateways *RouteGateways `json:"gateways,omitempty"` -} - -// TLSRouteStatus defines the observed state of TLSRoute -type TLSRouteStatus struct { - RouteStatus `json:",inline"` -} - -// TLSRouteRule is the configuration for a given rule. -type TLSRouteRule struct { - // Matches define conditions used for matching the rule against incoming TLS - // connections. Each match is independent, i.e. this rule will be matched if - // **any** one of the matches is satisfied. If unspecified (i.e. empty), - // this Rule will match all requests for the associated Listener. - // - // Each client request MUST map to a maximum of one route rule. If a request - // matches multiple rules, matching precedence MUST be determined in order - // of the following criteria, continuing on ties: - // - // * The longest matching SNI. - // * The longest matching precise SNI (without a wildcard). This means that - // "b.example.com" should be given precedence over "*.example.com". - // * The most specific match specified by ExtensionRef. Each implementation - // that supports ExtensionRef may have different ways of determining the - // specificity of the referenced extension. - // - // If ties still exist across multiple Routes, matching precedence MUST be - // determined in order of the following criteria, continuing on ties: - // - // * The oldest Route based on creation timestamp. For example, a Route with - // a creation timestamp of "2020-09-08 01:02:03" is given precedence over - // a Route with a creation timestamp of "2020-09-08 01:02:04". - // * The Route appearing first in alphabetical order by - // "{namespace}/{name}". For example, foo/bar is given precedence over - // foo/baz. - // - // If ties still exist within the Route that has been given precedence, - // matching precedence MUST be granted to the first matching rule meeting - // the above criteria. - // - // +optional - // +kubebuilder:validation:MaxItems=8 - Matches []TLSRouteMatch `json:"matches,omitempty"` - - // ForwardTo defines the backend(s) where matching requests should be - // sent. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - ForwardTo []RouteForwardTo `json:"forwardTo"` -} - -// TLSRouteMatch defines the predicate used to match connections to a -// given action. -type TLSRouteMatch struct { - // SNIs defines a set of SNI names that should match against the - // SNI attribute of TLS ClientHello message in TLS handshake. - // - // SNI can be "precise" which is a domain name without the terminating - // dot of a network host (e.g. "foo.example.com") or "wildcard", which is - // a domain name prefixed with a single wildcard label (e.g. `*.example.com`). - // The wildcard character `*` must appear by itself as the first DNS label - // and matches only a single label. You cannot have a wildcard label by - // itself (e.g. Host == `*`). - // - // Requests will be matched against the Host field in the following order: - // - // 1. If SNI is precise, the request matches this rule if the SNI in - // ClientHello is equal to one of the defined SNIs. - // 2. If SNI is a wildcard, then the request matches this rule if the - // SNI is to equal to the suffix (removing the first label) of the - // wildcard rule. - // 3. If SNIs is unspecified, all requests associated with the gateway TLS - // listener will match. This can be used to define a default backend - // for a TLS listener. - // - // Support: Core - // - // +optional - // +kubebuilder:validation:MaxItems=16 - SNIs []Hostname `json:"snis,omitempty"` - - // ExtensionRef is an optional, implementation-specific extension to the - // "match" behavior. For example, resource "mytlsroutematcher" in group - // "networking.acme.io". If the referent cannot be found, the rule is not - // included in the route. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. The gateway - // status for this route should be updated with a condition that describes - // the error more specifically. - // - // Support: Custom - // - // +optional - ExtensionRef *LocalObjectReference `json:"extensionRef,omitempty"` -} - -// +kubebuilder:object:root=true - -// TLSRouteList contains a list of TLSRoute -type TLSRouteList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []TLSRoute `json:"items"` -} diff --git a/apis/v1alpha1/udproute_types.go b/apis/v1alpha1/udproute_types.go deleted file mode 100644 index 960014eb42..0000000000 --- a/apis/v1alpha1/udproute_types.go +++ /dev/null @@ -1,126 +0,0 @@ -/* -Copyright 2020 The Kubernetes Authors. - -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. -*/ - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// +genclient -// +kubebuilder:object:root=true -// +kubebuilder:resource:categories=gateway-api -// +kubebuilder:subresource:status -// +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` - -// UDPRoute is a resource that specifies how a Gateway should forward UDP traffic. -type UDPRoute struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - // Spec defines the desired state of UDPRoute. - Spec UDPRouteSpec `json:"spec,omitempty"` - - // Status defines the current state of UDPRoute. - Status UDPRouteStatus `json:"status,omitempty"` -} - -// UDPRouteSpec defines the desired state of UDPRoute. -type UDPRouteSpec struct { - // Rules are a list of UDP matchers and actions. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - Rules []UDPRouteRule `json:"rules"` - - // Gateways defines which Gateways can use this Route. - // - // +optional - // +kubebuilder:default={allow: "SameNamespace"} - Gateways *RouteGateways `json:"gateways,omitempty"` -} - -// UDPRouteStatus defines the observed state of UDPRoute. -type UDPRouteStatus struct { - RouteStatus `json:",inline"` -} - -// UDPRouteRule is the configuration for a given rule. -type UDPRouteRule struct { - // Matches define conditions used for matching the rule against incoming UDP - // connections. Each match is independent, i.e. this rule will be matched if - // **any** one of the matches is satisfied. If unspecified (i.e. empty), - // this Rule will match all requests for the associated Listener. - // - // Each client request MUST map to a maximum of one route rule. If a request - // matches multiple rules, matching precedence MUST be determined in order - // of the following criteria, continuing on ties: - // - // * The most specific match specified by ExtensionRef. Each implementation - // that supports ExtensionRef may have different ways of determining the - // specificity of the referenced extension. - // - // If ties still exist across multiple Routes, matching precedence MUST be - // determined in order of the following criteria, continuing on ties: - // - // * The oldest Route based on creation timestamp. For example, a Route with - // a creation timestamp of "2020-09-08 01:02:03" is given precedence over - // a Route with a creation timestamp of "2020-09-08 01:02:04". - // * The Route appearing first in alphabetical order by - // "{namespace}/{name}". For example, foo/bar is given precedence over - // foo/baz. - // - // If ties still exist within the Route that has been given precedence, - // matching precedence MUST be granted to the first matching rule meeting - // the above criteria. - // - // +optional - // +kubebuilder:validation:MaxItems=8 - Matches []UDPRouteMatch `json:"matches,omitempty"` - - // ForwardTo defines the backend(s) where matching requests should - // be sent. - // - // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=16 - ForwardTo []RouteForwardTo `json:"forwardTo"` -} - -// UDPRouteMatch defines the predicate used to match packets to a -// given action. -type UDPRouteMatch struct { - // ExtensionRef is an optional, implementation-specific extension to the - // "match" behavior. For example, resource "myudproutematcher" in group - // "networking.acme.io". If the referent cannot be found, the rule is not - // included in the route. The controller should raise the "ResolvedRefs" - // condition on the Gateway with the "DegradedRoutes" reason. The gateway - // status for this route should be updated with a condition that describes - // the error more specifically. - // - // Support: Custom - // - // +optional - ExtensionRef *LocalObjectReference `json:"extensionRef,omitempty"` -} - -// +kubebuilder:object:root=true - -// UDPRouteList contains a list of UDPRoute -type UDPRouteList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []UDPRoute `json:"items"` -} diff --git a/apis/v1alpha2/validation/httproute_test.go b/apis/v1alpha2/validation/httproute_test.go index ee2262325b..48833572b5 100644 --- a/apis/v1alpha2/validation/httproute_test.go +++ b/apis/v1alpha2/validation/httproute_test.go @@ -24,7 +24,7 @@ import ( "sigs.k8s.io/gateway-api/apis/v1alpha2" gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1alpha2" - pkgutils "sigs.k8s.io/gateway-api/pkg/util" + utils "sigs.k8s.io/gateway-api/apis/v1alpha2/validation/util" ) func TestValidateHTTPRoute(t *testing.T) { @@ -44,7 +44,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -54,7 +54,7 @@ func TestValidateHTTPRoute(t *testing.T) { BackendRef: gatewayv1a2.BackendRef{ BackendObjectReference: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, Weight: utilpointer.Int32(100), }, @@ -70,7 +70,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -81,7 +81,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8081), + Port: utils.PortNumberPtr(8081), }, }, }, @@ -96,7 +96,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -107,7 +107,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -116,7 +116,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: specialService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -131,7 +131,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -153,7 +153,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -179,7 +179,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -190,7 +190,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -210,7 +210,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -230,7 +230,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: specialService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -245,7 +245,7 @@ func TestValidateHTTPRoute(t *testing.T) { Matches: []gatewayv1a2.HTTPRouteMatch{ { Path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, }, @@ -267,7 +267,7 @@ func TestValidateHTTPRoute(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -452,7 +452,7 @@ func TestValidateHTTPBackendUniqueFilters(t *testing.T) { BackendRef: gatewayv1a2.BackendRef{ BackendObjectReference: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, Weight: utilpointer.Int32(100), }, @@ -462,7 +462,7 @@ func TestValidateHTTPBackendUniqueFilters(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -479,7 +479,7 @@ func TestValidateHTTPBackendUniqueFilters(t *testing.T) { BackendRef: gatewayv1a2.BackendRef{ BackendObjectReference: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, Filters: []gatewayv1a2.HTTPRouteFilter{ @@ -488,7 +488,7 @@ func TestValidateHTTPBackendUniqueFilters(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: testService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -497,7 +497,7 @@ func TestValidateHTTPBackendUniqueFilters(t *testing.T) { RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ BackendRef: gatewayv1a2.BackendObjectReference{ Name: specialService, - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }, @@ -526,21 +526,21 @@ func TestValidateHTTPPathMatch(t *testing.T) { }{{ name: "invalid httpRoute prefix", path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/."), }, errCount: 1, }, { name: "invalid httpRoute Exact", path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("Exact"), + Type: utils.PathMatchTypePtr("Exact"), Value: utilpointer.String("/foo/./bar"), }, errCount: 1, }, { name: "invalid httpRoute prefix", path: &gatewayv1a2.HTTPPathMatch{ - Type: pkgutils.PathMatchTypePtr("PathPrefix"), + Type: utils.PathMatchTypePtr("PathPrefix"), Value: utilpointer.String("/"), }, errCount: 0, @@ -557,7 +557,7 @@ func TestValidateHTTPPathMatch(t *testing.T) { BackendRef: gatewayv1a2.BackendRef{ BackendObjectReference: gatewayv1a2.BackendObjectReference{ Name: gatewayv1a2.ObjectName("test"), - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }}, @@ -711,7 +711,7 @@ func TestValidateHTTPRouteTypeMatchesField(t *testing.T) { Kind: new(gatewayv1a2.Kind), Name: "name", Namespace: new(gatewayv1a2.Namespace), - Port: pkgutils.PortNumberPtr(22), + Port: utils.PortNumberPtr(22), }}, }, errCount: 0, @@ -817,7 +817,7 @@ func TestValidateHTTPRouteTypeMatchesField(t *testing.T) { BackendRef: gatewayv1a2.BackendRef{ BackendObjectReference: gatewayv1a2.BackendObjectReference{ Name: gatewayv1a2.ObjectName("test"), - Port: pkgutils.PortNumberPtr(8080), + Port: utils.PortNumberPtr(8080), }, }, }}, diff --git a/pkg/util/utils.go b/apis/v1alpha2/validation/util/utils.go similarity index 100% rename from pkg/util/utils.go rename to apis/v1alpha2/validation/util/utils.go diff --git a/pkg/util/utils_test.go b/apis/v1alpha2/validation/util/utils_test.go similarity index 100% rename from pkg/util/utils_test.go rename to apis/v1alpha2/validation/util/utils_test.go diff --git a/apis/v1beta1/gateway_types.go b/apis/v1beta1/gateway_types.go index 2f7f73da5d..0dbb30f0fb 100644 --- a/apis/v1beta1/gateway_types.go +++ b/apis/v1beta1/gateway_types.go @@ -24,7 +24,6 @@ import ( // +kubebuilder:object:root=true // +kubebuilder:resource:categories=gateway-api,shortName=gtw // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Class",type=string,JSONPath=`.spec.gatewayClassName` // +kubebuilder:printcolumn:name="Address",type=string,JSONPath=`.status.addresses[*].value` // +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status` @@ -454,7 +453,6 @@ type GatewayAddress struct { // Type of the address. // // +optional - // +kubebuilder:validation:Enum=IPAddress;Hostname;NamedAddress // +kubebuilder:default=IPAddress Type *AddressType `json:"type,omitempty"` diff --git a/apis/v1beta1/gatewayclass_types.go b/apis/v1beta1/gatewayclass_types.go index ee1a5c5af0..76c10631ac 100644 --- a/apis/v1beta1/gatewayclass_types.go +++ b/apis/v1beta1/gatewayclass_types.go @@ -25,7 +25,6 @@ import ( // +kubebuilder:object:root=true // +kubebuilder:resource:categories=gateway-api,scope=Cluster,shortName=gc // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Controller",type=string,JSONPath=`.spec.controllerName` // +kubebuilder:printcolumn:name="Accepted",type=string,JSONPath=`.status.conditions[?(@.type=="Accepted")].status` // +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` diff --git a/apis/v1beta1/httproute_types.go b/apis/v1beta1/httproute_types.go index 9e978e8303..a62c91117a 100644 --- a/apis/v1beta1/httproute_types.go +++ b/apis/v1beta1/httproute_types.go @@ -24,7 +24,6 @@ import ( // +kubebuilder:object:root=true // +kubebuilder:resource:categories=gateway-api // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Hostnames",type=string,JSONPath=`.spec.hostnames` // +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` @@ -187,6 +186,12 @@ type HTTPRouteRule struct { // Specifying a core filter multiple times has unspecified or custom // conformance. // + // All filters are expected to be compatible with each other except for the + // URLRewrite and RequestRedirect filters, which may not be combined. If an + // implementation can not support other combinations of filters, they must clearly + // document that limitation. In all cases where incompatible or unsupported + // filters are specified, implementations MUST add a warning condition to status. + // // Support: Core // // +optional @@ -716,6 +721,12 @@ const ( // replaced by the substitution value. For example, a path with a prefix // match of "/foo" and a ReplacePrefixMatch substitution of "/bar" will have // the "/foo" prefix replaced with "/bar" in matching requests. + // + // Note that this matches the behavior of the PathPrefix match type. This + // matches full path elements. A path element refers to the list of labels + // in the path split by the `/` separator. When specified, a trailing `/` is + // ignored. For example, the paths `/abc`, `/abc/`, and `/abc/def` would all + // match the prefix `/abc`, but the path `/abcd` would not. PrefixMatchHTTPPathModifier HTTPPathModifierType = "ReplacePrefixMatch" ) @@ -741,6 +752,12 @@ type HTTPPathModifier struct { // match of a request during a rewrite or redirect. For example, a request // to "/foo/bar" with a prefix match of "/foo" would be modified to "/bar". // + // Note that this matches the behavior of the PathPrefix match type. This + // matches full path elements. A path element refers to the list of labels + // in the path split by the `/` separator. When specified, a trailing `/` is + // ignored. For example, the paths `/abc`, `/abc/`, and `/abc/def` would all + // match the prefix `/abc`, but the path `/abcd` would not. + // // // +kubebuilder:validation:MaxLength=1024 // +optional diff --git a/apis/v1beta1/validation/doc.go b/apis/v1beta1/validation/doc.go new file mode 100644 index 0000000000..426fea6260 --- /dev/null +++ b/apis/v1beta1/validation/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +// Package validation has functions for validating the correctness of api +// objects and explaining what's wrong with them when they're not valid. +package validation // import "sigs.k8s.io/gateway-api/apis/v1beta1/validation" diff --git a/apis/v1beta1/validation/gateway.go b/apis/v1beta1/validation/gateway.go new file mode 100644 index 0000000000..37505b3b26 --- /dev/null +++ b/apis/v1beta1/validation/gateway.go @@ -0,0 +1,128 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "fmt" + "regexp" + + "k8s.io/apimachinery/pkg/util/validation/field" + + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +var ( + // set of protocols for which we need to validate that hostname is empty + protocolsHostnameInvalid = map[gatewayv1a2.ProtocolType]struct{}{ + gatewayv1a2.TCPProtocolType: {}, + gatewayv1a2.UDPProtocolType: {}, + } + // set of protocols for which TLSConfig shall not be present + protocolsTLSInvalid = map[gatewayv1a2.ProtocolType]struct{}{ + gatewayv1a2.HTTPProtocolType: {}, + gatewayv1a2.UDPProtocolType: {}, + gatewayv1a2.TCPProtocolType: {}, + } + + addressTypesValid = map[gatewayv1a2.AddressType]struct{}{ + gatewayv1a2.HostnameAddressType: {}, + gatewayv1a2.IPAddressType: {}, + } +) + +// ValidateGateway validates gw according to the Gateway API specification. +// For additional details of the Gateway spec, refer to: +// https://gateway-api.sigs.k8s.io/v1beta1/references/spec/#gateway.networking.k8s.io/v1beta1.Gateway +// +// Validation that is not possible with CRD annotations may be added here in the future. +// See https://github.com/kubernetes-sigs/gateway-api/issues/868 for more information. +func ValidateGateway(gw *gatewayv1a2.Gateway) field.ErrorList { + return validateGatewaySpec(&gw.Spec, field.NewPath("spec")) +} + +// validateGatewaySpec validates whether required fields of spec are set according to the +// Gateway API specification. +func validateGatewaySpec(spec *gatewayv1a2.GatewaySpec, path *field.Path) field.ErrorList { + var errs field.ErrorList + errs = append(errs, validateGatewayListeners(spec.Listeners, path.Child("listeners"))...) + errs = append(errs, validateAddresses(spec.Addresses, path.Child("addresses"))...) + return errs +} + +// validateGatewayListeners validates whether required fields of listeners are set according +// to the Gateway API specification. +func validateGatewayListeners(listeners []gatewayv1a2.Listener, path *field.Path) field.ErrorList { + var errs field.ErrorList + errs = append(errs, validateListenerTLSConfig(listeners, path)...) + errs = append(errs, validateListenerHostname(listeners, path)...) + return errs +} + +func validateListenerTLSConfig(listeners []gatewayv1a2.Listener, path *field.Path) field.ErrorList { + var errs field.ErrorList + for i, l := range listeners { + if isProtocolInSubset(l.Protocol, protocolsTLSInvalid) && l.TLS != nil { + errs = append(errs, field.Forbidden(path.Index(i).Child("tls"), fmt.Sprintf("should be empty for protocol %v", l.Protocol))) + } + } + return errs +} + +func isProtocolInSubset(protocol gatewayv1a2.ProtocolType, set map[gatewayv1a2.ProtocolType]struct{}) bool { + _, ok := set[protocol] + return ok +} + +// validateListenerHostname validates each listener hostname +// should be empty in case protocol is TCP or UDP +func validateListenerHostname(listeners []gatewayv1a2.Listener, path *field.Path) field.ErrorList { + var errs field.ErrorList + for i, h := range listeners { + if isProtocolInSubset(h.Protocol, protocolsHostnameInvalid) && h.Hostname != nil { + errs = append(errs, field.Forbidden(path.Index(i).Child("hostname"), fmt.Sprintf("should be empty for protocol %v", h.Protocol))) + } + } + return errs +} + +// domainPrefixedStringRegex is a regex used in validation to determine whether +// a provided string is a domain-prefixed string. Domain-prefixed strings are used +// to indicate custom (implementation-specific) address types. +var domainPrefixedStringRegex = regexp.MustCompile(`^([a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])\/[a-zA-Z0-9]+$`) + +// validateAddresses validates each listener address +// if there are addresses set. Otherwise, returns no error. +func validateAddresses(addresses []gatewayv1a2.GatewayAddress, path *field.Path) field.ErrorList { + var errs field.ErrorList + + for i, a := range addresses { + if a.Type == nil { + continue + } + _, ok := addressTypesValid[*a.Type] + if !ok { + // Found something that's not one of the upstream AddressTypes + // Next, check for a domain-prefixed string + match := domainPrefixedStringRegex.Match([]byte(*a.Type)) + if !match { + errs = append(errs, field.Invalid(path.Index(i).Child("type"), a.Type, "should either be a defined constant or a domain-prefixed string (example.com/Type)")) + } + } + + } + return errs +} diff --git a/apis/v1beta1/validation/gateway_test.go b/apis/v1beta1/validation/gateway_test.go new file mode 100644 index 0000000000..5418b67fb1 --- /dev/null +++ b/apis/v1beta1/validation/gateway_test.go @@ -0,0 +1,131 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +func TestValidateGateway(t *testing.T) { + listeners := []gatewayv1a2.Listener{ + { + Hostname: nil, + }, + } + addresses := []gatewayv1a2.GatewayAddress{ + { + Type: nil, + }, + } + baseGateway := gatewayv1a2.Gateway{ + ObjectMeta: metav1.ObjectMeta{ + Name: "foo", + Namespace: metav1.NamespaceDefault, + }, + Spec: gatewayv1a2.GatewaySpec{ + GatewayClassName: "foo", + Listeners: listeners, + Addresses: addresses, + }, + } + tlsConfig := gatewayv1a2.GatewayTLSConfig{} + + testCases := map[string]struct { + mutate func(gw *gatewayv1a2.Gateway) + expectErrsOnFields []string + }{ + "tls config present with http protocol": { + mutate: func(gw *gatewayv1a2.Gateway) { + gw.Spec.Listeners[0].Protocol = gatewayv1a2.HTTPProtocolType + gw.Spec.Listeners[0].TLS = &tlsConfig + }, + expectErrsOnFields: []string{"spec.listeners[0].tls"}, + }, + "tls config present with tcp protocol": { + mutate: func(gw *gatewayv1a2.Gateway) { + gw.Spec.Listeners[0].Protocol = gatewayv1a2.TCPProtocolType + gw.Spec.Listeners[0].TLS = &tlsConfig + }, + expectErrsOnFields: []string{"spec.listeners[0].tls"}, + }, + "hostname present with tcp protocol": { + mutate: func(gw *gatewayv1a2.Gateway) { + hostname := gatewayv1a2.Hostname("foo.bar.com") + gw.Spec.Listeners[0].Hostname = &hostname + gw.Spec.Listeners[0].Protocol = gatewayv1a2.TCPProtocolType + }, + expectErrsOnFields: []string{"spec.listeners[0].hostname"}, + }, + "hostname present with udp protocol": { + mutate: func(gw *gatewayv1a2.Gateway) { + hostname := gatewayv1a2.Hostname("foo.bar.com") + gw.Spec.Listeners[0].Hostname = &hostname + gw.Spec.Listeners[0].Protocol = gatewayv1a2.UDPProtocolType + }, + expectErrsOnFields: []string{"spec.listeners[0].hostname"}, + }, + "Address present with IPAddress": { + mutate: func(gw *gatewayv1a2.Gateway) { + ip := gatewayv1a2.IPAddressType + gw.Spec.Addresses[0].Type = &ip + }, + expectErrsOnFields: []string{}, + }, + "Address present with Hostname": { + mutate: func(gw *gatewayv1a2.Gateway) { + host := gatewayv1a2.HostnameAddressType + gw.Spec.Addresses[0].Type = &host + }, + expectErrsOnFields: []string{}, + }, + "Address present with example.com/CustomAddress": { + mutate: func(gw *gatewayv1a2.Gateway) { + customAddress := gatewayv1a2.AddressType("example.com/CustomAddress") + gw.Spec.Addresses[0].Type = &customAddress + }, + expectErrsOnFields: []string{}, + }, + "Address present with invalid Type": { + mutate: func(gw *gatewayv1a2.Gateway) { + customAddress := gatewayv1a2.AddressType("CustomAddress") + gw.Spec.Addresses[0].Type = &customAddress + }, + expectErrsOnFields: []string{"spec.addresses[0].type"}, + }, + } + + for name, tc := range testCases { + tc := tc + t.Run(name, func(t *testing.T) { + gw := baseGateway.DeepCopy() + tc.mutate(gw) + errs := ValidateGateway(gw) + if len(tc.expectErrsOnFields) != len(errs) { + t.Fatalf("Expected %d errors, got %d errors: %v", len(tc.expectErrsOnFields), len(errs), errs) + } + for i, err := range errs { + if err.Field != tc.expectErrsOnFields[i] { + t.Errorf("Expected error on field: %s, got: %s", tc.expectErrsOnFields[i], err.Error()) + } + } + }) + } +} diff --git a/apis/v1beta1/validation/gatewayclass.go b/apis/v1beta1/validation/gatewayclass.go new file mode 100644 index 0000000000..83da93b072 --- /dev/null +++ b/apis/v1beta1/validation/gatewayclass.go @@ -0,0 +1,38 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "k8s.io/apimachinery/pkg/util/validation/field" + + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// ValidateGatewayClassUpdate validates an update to oldClass according to the +// Gateway API specification. For additional details of the GatewayClass spec, refer to: +// https://gateway-api.sigs.k8s.io/v1beta1/references/spec/#gateway.networking.k8s.io/v1beta1.GatewayClass +func ValidateGatewayClassUpdate(oldClass, newClass *gatewayv1a2.GatewayClass) field.ErrorList { + if oldClass == nil || newClass == nil { + return nil + } + var errs field.ErrorList + if oldClass.Spec.ControllerName != newClass.Spec.ControllerName { + errs = append(errs, field.Invalid(field.NewPath("spec.controllerName"), newClass.Spec.ControllerName, + "cannot update an immutable field")) + } + return errs +} diff --git a/apis/v1beta1/validation/gatewayclass_test.go b/apis/v1beta1/validation/gatewayclass_test.go new file mode 100644 index 0000000000..02b2c30f88 --- /dev/null +++ b/apis/v1beta1/validation/gatewayclass_test.go @@ -0,0 +1,98 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/util/validation/field" + + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +func TestValidateGatewayClassUpdate(t *testing.T) { + type args struct { + oldClass *gatewayv1a2.GatewayClass + newClass *gatewayv1a2.GatewayClass + } + tests := []struct { + name string + args args + want field.ErrorList + }{ + { + name: "changing parameters reference is allowed", + args: args{ + oldClass: &gatewayv1a2.GatewayClass{ + Spec: gatewayv1a2.GatewayClassSpec{ + ControllerName: "foo", + }, + }, + newClass: &gatewayv1a2.GatewayClass{ + Spec: gatewayv1a2.GatewayClassSpec{ + ControllerName: "foo", + ParametersRef: &gatewayv1a2.ParametersReference{ + Group: "example.com", + Kind: "GatewayClassConfig", + Name: "foo", + }, + }, + }, + }, + want: nil, + }, + { + name: "changing controller field results in an error", + args: args{ + oldClass: &gatewayv1a2.GatewayClass{ + Spec: gatewayv1a2.GatewayClassSpec{ + ControllerName: "example.com/gateway", + }, + }, + newClass: &gatewayv1a2.GatewayClass{ + Spec: gatewayv1a2.GatewayClassSpec{ + ControllerName: "example.org/gateway", + }, + }, + }, + want: field.ErrorList{ + { + Type: field.ErrorTypeInvalid, + Field: "spec.controllerName", + Detail: "cannot update an immutable field", + BadValue: gatewayv1a2.GatewayController("example.org/gateway"), + }, + }, + }, + { + name: "nil input result in no errors", + args: args{ + oldClass: nil, + newClass: nil, + }, + want: nil, + }, + } + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + if got := ValidateGatewayClassUpdate(tc.args.oldClass, tc.args.newClass); !reflect.DeepEqual(got, tc.want) { + t.Errorf("ValidateGatewayClassUpdate() = %v, want %v", got, tc.want) + } + }) + } +} diff --git a/apis/v1beta1/validation/httproute.go b/apis/v1beta1/validation/httproute.go new file mode 100644 index 0000000000..ca91c01b16 --- /dev/null +++ b/apis/v1beta1/validation/httproute.go @@ -0,0 +1,234 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "fmt" + "strings" + + "k8s.io/apimachinery/pkg/util/validation/field" + + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +var ( + // repeatableHTTPRouteFilters are filter types that can are allowed to be + // repeated multiple times in a rule. + repeatableHTTPRouteFilters = []gatewayv1a2.HTTPRouteFilterType{ + gatewayv1a2.HTTPRouteFilterExtensionRef, + } + + invalidPathSequences = []string{"//", "/./", "/../", "%2f", "%2F", "#"} + invalidPathSuffixes = []string{"/..", "/."} +) + +// ValidateHTTPRoute validates HTTPRoute according to the Gateway API specification. +// For additional details of the HTTPRoute spec, refer to: +// https://gateway-api.sigs.k8s.io/v1beta1/references/spec/#gateway.networking.k8s.io/v1beta1.HTTPRoute +func ValidateHTTPRoute(route *gatewayv1a2.HTTPRoute) field.ErrorList { + return validateHTTPRouteSpec(&route.Spec, field.NewPath("spec")) +} + +// validateHTTPRouteSpec validates that required fields of spec are set according to the +// HTTPRoute specification. +func validateHTTPRouteSpec(spec *gatewayv1a2.HTTPRouteSpec, path *field.Path) field.ErrorList { + var errs field.ErrorList + for i, rule := range spec.Rules { + errs = append(errs, validateHTTPRouteFilters(rule.Filters, rule.Matches, path.Child("rules").Index(i))...) + for j, backendRef := range rule.BackendRefs { + errs = append(errs, validateHTTPRouteFilters(backendRef.Filters, rule.Matches, path.Child("rules").Index(i).Child("backendsrefs").Index(j))...) + } + for j, m := range rule.Matches { + if m.Path != nil { + errs = append(errs, validateHTTPPathMatch(m.Path, path.Child("matches").Index(j).Child("path"))...) + } + } + } + errs = append(errs, validateHTTPRouteBackendServicePorts(spec.Rules, path.Child("rules"))...) + return errs +} + +// validateHTTPRouteBackendServicePorts validates that v1.Service backends always have a port. +func validateHTTPRouteBackendServicePorts(rules []gatewayv1a2.HTTPRouteRule, path *field.Path) field.ErrorList { + var errs field.ErrorList + + for i, rule := range rules { + path = path.Index(i).Child("backendRefs") + for i, ref := range rule.BackendRefs { + if ref.BackendObjectReference.Group != nil && + *ref.BackendObjectReference.Group != "" { + continue + } + + if ref.BackendObjectReference.Kind != nil && + *ref.BackendObjectReference.Kind != "Service" { + continue + } + + if ref.BackendObjectReference.Port == nil { + errs = append(errs, field.Required(path.Index(i).Child("port"), "missing port for Service reference")) + } + } + } + + return errs +} + +// validateHTTPRouteFilters validates that a list of core and extended filters +// is used at most once and that the filter type matches its value +func validateHTTPRouteFilters(filters []gatewayv1a2.HTTPRouteFilter, matches []gatewayv1a2.HTTPRouteMatch, path *field.Path) field.ErrorList { + var errs field.ErrorList + counts := map[gatewayv1a2.HTTPRouteFilterType]int{} + + for i, filter := range filters { + counts[filter.Type]++ + if filter.RequestRedirect != nil && filter.RequestRedirect.Path != nil { + errs = append(errs, validateHTTPPathModifier(*filter.RequestRedirect.Path, matches, path.Index(i).Child("requestRedirect", "path"))...) + } + if filter.URLRewrite != nil && filter.URLRewrite.Path != nil { + errs = append(errs, validateHTTPPathModifier(*filter.URLRewrite.Path, matches, path.Index(i).Child("urlRewrite", "path"))...) + } + errs = append(errs, validateHTTPRouteFilterTypeMatchesValue(filter, path.Index(i))...) + } + // custom filters don't have any validation + for _, key := range repeatableHTTPRouteFilters { + delete(counts, key) + } + + if counts[gatewayv1a2.HTTPRouteFilterRequestRedirect] > 0 && counts[gatewayv1a2.HTTPRouteFilterURLRewrite] > 0 { + errs = append(errs, field.Invalid(path.Child("filters"), gatewayv1a2.HTTPRouteFilterRequestRedirect, "Redirect and Rewrite filters cannot be defined in the same list of filters")) + } + + for filterType, count := range counts { + if count > 1 { + errs = append(errs, field.Invalid(path.Child("filters"), filterType, "cannot be used multiple times in the same rule")) + } + } + return errs +} + +// webhook validation of HTTPPathMatch +func validateHTTPPathMatch(path *gatewayv1a2.HTTPPathMatch, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if path.Type == nil { + return append(allErrs, field.Required(fldPath.Child("type"), "must be specified")) + } + + if path.Value == nil { + return append(allErrs, field.Required(fldPath.Child("value"), "must be specified")) + } + + switch *path.Type { + case gatewayv1a2.PathMatchExact, gatewayv1a2.PathMatchPathPrefix: + if !strings.HasPrefix(*path.Value, "/") { + allErrs = append(allErrs, field.Invalid(fldPath.Child("value"), *path.Value, "must be an absolute path")) + } + if len(*path.Value) > 0 { + for _, invalidSeq := range invalidPathSequences { + if strings.Contains(*path.Value, invalidSeq) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("value"), *path.Value, fmt.Sprintf("must not contain %q", invalidSeq))) + } + } + + for _, invalidSuff := range invalidPathSuffixes { + if strings.HasSuffix(*path.Value, invalidSuff) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("value"), *path.Value, fmt.Sprintf("cannot end with '%s'", invalidSuff))) + } + } + } + case gatewayv1a2.PathMatchRegularExpression: + default: + pathTypes := []string{string(gatewayv1a2.PathMatchExact), string(gatewayv1a2.PathMatchPathPrefix), string(gatewayv1a2.PathMatchRegularExpression)} + allErrs = append(allErrs, field.NotSupported(fldPath.Child("type"), *path.Type, pathTypes)) + } + return allErrs +} + +// validateHTTPRouteFilterTypeMatchesValue validates that only the expected fields are +//// set for the specified filter type. +func validateHTTPRouteFilterTypeMatchesValue(filter gatewayv1a2.HTTPRouteFilter, path *field.Path) field.ErrorList { + var errs field.ErrorList + if filter.ExtensionRef != nil && filter.Type != gatewayv1a2.HTTPRouteFilterExtensionRef { + errs = append(errs, field.Invalid(path, filter.ExtensionRef, "must be nil if the HTTPRouteFilter.Type is not ExtensionRef")) + } + if filter.ExtensionRef == nil && filter.Type == gatewayv1a2.HTTPRouteFilterExtensionRef { + errs = append(errs, field.Required(path, "filter.ExtensionRef must be specified for ExtensionRef HTTPRouteFilter.Type")) + } + if filter.RequestHeaderModifier != nil && filter.Type != gatewayv1a2.HTTPRouteFilterRequestHeaderModifier { + errs = append(errs, field.Invalid(path, filter.RequestHeaderModifier, "must be nil if the HTTPRouteFilter.Type is not RequestHeaderModifier")) + } + if filter.RequestHeaderModifier == nil && filter.Type == gatewayv1a2.HTTPRouteFilterRequestHeaderModifier { + errs = append(errs, field.Required(path, "filter.RequestHeaderModifier must be specified for RequestHeaderModifier HTTPRouteFilter.Type")) + } + if filter.RequestMirror != nil && filter.Type != gatewayv1a2.HTTPRouteFilterRequestMirror { + errs = append(errs, field.Invalid(path, filter.RequestMirror, "must be nil if the HTTPRouteFilter.Type is not RequestMirror")) + } + if filter.RequestMirror == nil && filter.Type == gatewayv1a2.HTTPRouteFilterRequestMirror { + errs = append(errs, field.Required(path, "filter.RequestMirror must be specified for RequestMirror HTTPRouteFilter.Type")) + } + if filter.RequestRedirect != nil && filter.Type != gatewayv1a2.HTTPRouteFilterRequestRedirect { + errs = append(errs, field.Invalid(path, filter.RequestRedirect, "must be nil if the HTTPRouteFilter.Type is not RequestRedirect")) + } + if filter.RequestRedirect == nil && filter.Type == gatewayv1a2.HTTPRouteFilterRequestRedirect { + errs = append(errs, field.Required(path, "filter.RequestRedirect must be specified for RequestRedirect HTTPRouteFilter.Type")) + } + if filter.URLRewrite != nil && filter.Type != gatewayv1a2.HTTPRouteFilterURLRewrite { + errs = append(errs, field.Invalid(path, filter.URLRewrite, "must be nil if the HTTPRouteFilter.Type is not URLRewrite")) + } + if filter.URLRewrite == nil && filter.Type == gatewayv1a2.HTTPRouteFilterURLRewrite { + errs = append(errs, field.Required(path, "filter.URLRewrite must be specified for URLRewrite HTTPRouteFilter.Type")) + } + return errs +} + +// validateHTTPPathModifier validates that only the expected fields are set in a +// path modifier. +func validateHTTPPathModifier(modifier gatewayv1a2.HTTPPathModifier, matches []gatewayv1a2.HTTPRouteMatch, path *field.Path) field.ErrorList { + var errs field.ErrorList + if modifier.ReplaceFullPath != nil && modifier.Type != gatewayv1a2.FullPathHTTPPathModifier { + errs = append(errs, field.Invalid(path, modifier.ReplaceFullPath, "must be nil if the HTTPRouteFilter.Type is not ReplaceFullPath")) + } + if modifier.ReplaceFullPath == nil && modifier.Type == gatewayv1a2.FullPathHTTPPathModifier { + errs = append(errs, field.Invalid(path, modifier.ReplaceFullPath, "must not be nil if the HTTPRouteFilter.Type is ReplaceFullPath")) + } + if modifier.ReplacePrefixMatch != nil && modifier.Type != gatewayv1a2.PrefixMatchHTTPPathModifier { + errs = append(errs, field.Invalid(path, modifier.ReplacePrefixMatch, "must be nil if the HTTPRouteFilter.Type is not ReplacePrefixMatch")) + } + if modifier.ReplacePrefixMatch == nil && modifier.Type == gatewayv1a2.PrefixMatchHTTPPathModifier { + errs = append(errs, field.Invalid(path, modifier.ReplacePrefixMatch, "must not be nil if the HTTPRouteFilter.Type is ReplacePrefixMatch")) + } + + if modifier.Type == gatewayv1a2.PrefixMatchHTTPPathModifier && modifier.ReplacePrefixMatch != nil { + if !hasExactlyOnePrefixMatch(matches) { + errs = append(errs, field.Invalid(path, modifier.ReplacePrefixMatch, "exactly one PathPrefix match must be specified to use this path modifier")) + } + } + return errs +} + +func hasExactlyOnePrefixMatch(matches []gatewayv1a2.HTTPRouteMatch) bool { + if len(matches) != 1 || matches[0].Path == nil { + return false + } + pathMatchType := matches[0].Path.Type + if *pathMatchType != gatewayv1a2.PathMatchPathPrefix { + return false + } + + return true +} diff --git a/apis/v1beta1/validation/httproute_test.go b/apis/v1beta1/validation/httproute_test.go new file mode 100644 index 0000000000..e951eb1027 --- /dev/null +++ b/apis/v1beta1/validation/httproute_test.go @@ -0,0 +1,833 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package validation + +import ( + "testing" + + "k8s.io/apimachinery/pkg/util/validation/field" + utilpointer "k8s.io/utils/pointer" + + "sigs.k8s.io/gateway-api/apis/v1beta1" + gatewayv1a2 "sigs.k8s.io/gateway-api/apis/v1beta1" + utils "sigs.k8s.io/gateway-api/apis/v1beta1/validation/util" +) + +func TestValidateHTTPRoute(t *testing.T) { + testService := gatewayv1a2.ObjectName("test-service") + specialService := gatewayv1a2.ObjectName("special-service") + pathPrefixMatchType := gatewayv1a2.PathMatchPathPrefix + + tests := []struct { + name string + rules []gatewayv1a2.HTTPRouteRule + errCount int + }{{ + name: "valid httpRoute with no filters", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + BackendRefs: []gatewayv1a2.HTTPBackendRef{ + { + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + Weight: utilpointer.Int32(100), + }, + }, + }, + }, + }, + }, { + name: "valid httpRoute with 1 filter", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8081), + }, + }, + }, + }, + }, + }, + }, { + name: "invalid httpRoute with 2 extended filters", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: specialService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + }, + }, + }, + }, { + name: "invalid httpRoute with mix of filters and one duplicate", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Set: []gatewayv1a2.HTTPHeader{ + { + Name: "special-header", + Value: "foo", + }, + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Add: []gatewayv1a2.HTTPHeader{ + { + Name: "my-header", + Value: "bar", + }, + }, + }, + }, + }, + }, + }, + }, { + name: "invalid httpRoute with multiple duplicate filters", + errCount: 2, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Set: []gatewayv1a2.HTTPHeader{ + { + Name: "special-header", + Value: "foo", + }, + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Add: []gatewayv1a2.HTTPHeader{ + { + Name: "my-header", + Value: "bar", + }, + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: specialService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + }, + }, + }, + }, { + name: "valid httpRoute with duplicate ExtensionRef filters", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Matches: []gatewayv1a2.HTTPRouteMatch{ + { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Set: []gatewayv1a2.HTTPHeader{ + { + Name: "special-header", + Value: "foo", + }, + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: "ExtensionRef", + ExtensionRef: &gatewayv1a2.LocalObjectReference{ + Kind: "Service", + Name: "test", + }, + }, + { + Type: "ExtensionRef", + ExtensionRef: &gatewayv1a2.LocalObjectReference{ + Kind: "Service", + Name: "test", + }, + }, + { + Type: "ExtensionRef", + ExtensionRef: &gatewayv1a2.LocalObjectReference{ + Kind: "Service", + Name: "test", + }, + }, + }, + }, + }, + }, { + name: "valid redirect path modifier", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{ + { + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + RequestRedirect: &gatewayv1a2.HTTPRequestRedirectFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.FullPathHTTPPathModifier, + ReplaceFullPath: utilpointer.String("foo"), + }, + }, + }, + }, + }, + }, + }, { + name: "redirect path modifier with type mismatch", + errCount: 2, + rules: []gatewayv1a2.HTTPRouteRule{{ + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + RequestRedirect: &gatewayv1a2.HTTPRequestRedirectFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplaceFullPath: utilpointer.String("foo"), + }, + }, + }}, + }}, + }, { + name: "valid rewrite path modifier", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{{ + Matches: []gatewayv1a2.HTTPRouteMatch{{ + Path: &gatewayv1a2.HTTPPathMatch{ + Type: &pathPrefixMatchType, + Value: utilpointer.String("/bar"), + }, + }}, + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }}, + }}, + }, { + name: "rewrite path modifier missing path match", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{{ + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }}, + }}, + }, { + name: "rewrite path too many matches", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{{ + Matches: []gatewayv1a2.HTTPRouteMatch{{ + Path: &gatewayv1a2.HTTPPathMatch{ + Type: &pathPrefixMatchType, + Value: utilpointer.String("/foo"), + }, + }, { + Path: &gatewayv1a2.HTTPPathMatch{ + Type: &pathPrefixMatchType, + Value: utilpointer.String("/bar"), + }, + }}, + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }}, + }}, + }, { + name: "redirect path modifier with type mismatch", + errCount: 2, + rules: []gatewayv1a2.HTTPRouteRule{{ + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.FullPathHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }}, + }}, + }, { + name: "rewrite and redirect filters combined (invalid)", + errCount: 3, + rules: []gatewayv1a2.HTTPRouteRule{{ + Filters: []gatewayv1a2.HTTPRouteFilter{{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }, { + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + RequestRedirect: &gatewayv1a2.HTTPRequestRedirectFilter{ + Path: &gatewayv1a2.HTTPPathModifier{ + Type: gatewayv1a2.PrefixMatchHTTPPathModifier, + ReplacePrefixMatch: utilpointer.String("foo"), + }, + }, + }}, + }}, + }} + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + var errs field.ErrorList + route := gatewayv1a2.HTTPRoute{Spec: gatewayv1a2.HTTPRouteSpec{Rules: tc.rules}} + errs = ValidateHTTPRoute(&route) + if len(errs) != tc.errCount { + t.Errorf("got %d errors, want %d errors: %s", len(errs), tc.errCount, errs) + } + }) + } +} + +func TestValidateHTTPBackendUniqueFilters(t *testing.T) { + var testService v1beta1.ObjectName = "testService" + var specialService v1beta1.ObjectName = "specialService" + tests := []struct { + name string + rules []gatewayv1a2.HTTPRouteRule + errCount int + }{{ + name: "valid httpRoute Rules backendref filters", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{ + { + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + Weight: utilpointer.Int32(100), + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + }, + }, + }, + }}, + }, { + name: "invalid httpRoute Rules duplicate mirror filter", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{ + { + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + Filters: []gatewayv1a2.HTTPRouteFilter{ + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: testService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + { + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{ + BackendRef: gatewayv1a2.BackendObjectReference{ + Name: specialService, + Port: utils.PortNumberPtr(8080), + }, + }, + }, + }, + }, + }, + }}, + }} + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + route := gatewayv1a2.HTTPRoute{Spec: gatewayv1a2.HTTPRouteSpec{Rules: tc.rules}} + errs := ValidateHTTPRoute(&route) + if len(errs) != tc.errCount { + t.Errorf("got %d errors, want %d errors: %s", len(errs), tc.errCount, errs) + } + }) + } +} + +func TestValidateHTTPPathMatch(t *testing.T) { + tests := []struct { + name string + path *gatewayv1a2.HTTPPathMatch + errCount int + }{{ + name: "invalid httpRoute prefix", + path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/."), + }, + errCount: 1, + }, { + name: "invalid httpRoute Exact", + path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("Exact"), + Value: utilpointer.String("/foo/./bar"), + }, + errCount: 1, + }, { + name: "invalid httpRoute prefix", + path: &gatewayv1a2.HTTPPathMatch{ + Type: utils.PathMatchTypePtr("PathPrefix"), + Value: utilpointer.String("/"), + }, + errCount: 0, + }} + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + route := gatewayv1a2.HTTPRoute{Spec: gatewayv1a2.HTTPRouteSpec{ + Rules: []gatewayv1a2.HTTPRouteRule{{ + Matches: []gatewayv1a2.HTTPRouteMatch{{ + Path: tc.path, + }}, + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: gatewayv1a2.ObjectName("test"), + Port: utils.PortNumberPtr(8080), + }, + }, + }}, + }}, + }} + + errs := ValidateHTTPRoute(&route) + if len(errs) != tc.errCount { + t.Errorf("got %d errors, want %d errors: %s", len(errs), tc.errCount, errs) + } + }) + } +} + +func TestValidateServicePort(t *testing.T) { + portPtr := func(n int) *gatewayv1a2.PortNumber { + p := gatewayv1a2.PortNumber(n) + return &p + } + + groupPtr := func(g string) *gatewayv1a2.Group { + p := gatewayv1a2.Group(g) + return &p + } + + kindPtr := func(k string) *gatewayv1a2.Kind { + p := gatewayv1a2.Kind(k) + return &p + } + + tests := []struct { + name string + rules []gatewayv1a2.HTTPRouteRule + errCount int + }{{ + name: "default groupkind with port", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: "backend", + Port: portPtr(99), + }, + }, + }}, + }}, + }, { + name: "default groupkind with no port", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: "backend", + }, + }, + }}, + }}, + }, { + name: "explicit service with port", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Group: groupPtr(""), + Kind: kindPtr("Service"), + Name: "backend", + Port: portPtr(99), + }, + }, + }}, + }}, + }, { + name: "explicit service with no port", + errCount: 1, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Group: groupPtr(""), + Kind: kindPtr("Service"), + Name: "backend", + }, + }, + }}, + }}, + }, { + name: "explicit ref with no port", + errCount: 0, + rules: []gatewayv1a2.HTTPRouteRule{{ + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Group: groupPtr("foo.example.com"), + Kind: kindPtr("Foo"), + Name: "backend", + }, + }, + }}, + }}, + }} + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + route := gatewayv1a2.HTTPRoute{Spec: gatewayv1a2.HTTPRouteSpec{Rules: tc.rules}} + errs := ValidateHTTPRoute(&route) + if len(errs) != tc.errCount { + t.Errorf("got %d errors, want %d errors: %s", len(errs), tc.errCount, errs) + } + }) + } +} + +func TestValidateHTTPRouteTypeMatchesField(t *testing.T) { + tests := []struct { + name string + routeFilter gatewayv1a2.HTTPRouteFilter + errCount int + }{{ + name: "valid HTTPRouteFilterRequestHeaderModifier route filter", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{ + Set: []gatewayv1a2.HTTPHeader{{Name: "name"}}, + Add: []gatewayv1a2.HTTPHeader{{Name: "add"}}, + Remove: []string{"remove"}, + }, + }, + errCount: 0, + }, { + name: "invalid HTTPRouteFilterRequestHeaderModifier type filter with non-matching field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{}, + }, + errCount: 2, + }, { + name: "invalid HTTPRouteFilterRequestHeaderModifier type filter with empty value field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestHeaderModifier, + }, + errCount: 1, + }, { + name: "valid HTTPRouteFilterRequestMirror route filter", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{BackendRef: gatewayv1a2.BackendObjectReference{ + Group: new(gatewayv1a2.Group), + Kind: new(gatewayv1a2.Kind), + Name: "name", + Namespace: new(gatewayv1a2.Namespace), + Port: utils.PortNumberPtr(22), + }}, + }, + errCount: 0, + }, { + name: "invalid HTTPRouteFilterRequestMirror type filter with non-matching field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + RequestHeaderModifier: &gatewayv1a2.HTTPRequestHeaderFilter{}, + }, + errCount: 2, + }, { + name: "invalid HTTPRouteFilterRequestMirror type filter with empty value field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestMirror, + }, + errCount: 1, + }, { + name: "valid HTTPRouteFilterRequestRedirect route filter", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + RequestRedirect: &gatewayv1a2.HTTPRequestRedirectFilter{ + Scheme: new(string), + Hostname: new(gatewayv1a2.PreciseHostname), + Path: &gatewayv1a2.HTTPPathModifier{}, + Port: new(gatewayv1a2.PortNumber), + StatusCode: new(int), + }, + }, + errCount: 0, + }, { + name: "invalid HTTPRouteFilterRequestRedirect type filter with non-matching field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{}, + }, + errCount: 2, + }, { + name: "invalid HTTPRouteFilterRequestRedirect type filter with empty value field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterRequestRedirect, + }, + errCount: 1, + }, { + name: "valid HTTPRouteFilterExtensionRef filter", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterExtensionRef, + ExtensionRef: &gatewayv1a2.LocalObjectReference{ + Group: "group", + Kind: "kind", + Name: "name", + }, + }, + errCount: 0, + }, { + name: "invalid HTTPRouteFilterExtensionRef type filter with non-matching field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterExtensionRef, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{}, + }, + errCount: 2, + }, { + name: "invalid HTTPRouteFilterExtensionRef type filter with empty value field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterExtensionRef, + }, + errCount: 1, + }, { + name: "valid HTTPRouteFilterURLRewrite route filter", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + URLRewrite: &gatewayv1a2.HTTPURLRewriteFilter{ + Hostname: new(gatewayv1a2.PreciseHostname), + Path: &gatewayv1a2.HTTPPathModifier{}, + }, + }, + errCount: 0, + }, { + name: "invalid HTTPRouteFilterURLRewrite type filter with non-matching field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + RequestMirror: &gatewayv1a2.HTTPRequestMirrorFilter{}, + }, + errCount: 2, + }, { + name: "invalid HTTPRouteFilterURLRewrite type filter with empty value field", + routeFilter: gatewayv1a2.HTTPRouteFilter{ + Type: gatewayv1a2.HTTPRouteFilterURLRewrite, + }, + errCount: 1, + }, { + name: "empty type filter is valid (caught by CRD validation)", + routeFilter: gatewayv1a2.HTTPRouteFilter{}, + errCount: 0, + }} + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + route := gatewayv1a2.HTTPRoute{ + Spec: gatewayv1a2.HTTPRouteSpec{ + Rules: []gatewayv1a2.HTTPRouteRule{{ + Filters: []gatewayv1a2.HTTPRouteFilter{tc.routeFilter}, + BackendRefs: []gatewayv1a2.HTTPBackendRef{{ + BackendRef: gatewayv1a2.BackendRef{ + BackendObjectReference: gatewayv1a2.BackendObjectReference{ + Name: gatewayv1a2.ObjectName("test"), + Port: utils.PortNumberPtr(8080), + }, + }, + }}, + }}, + }, + } + errs := ValidateHTTPRoute(&route) + if len(errs) != tc.errCount { + t.Errorf("got %d errors, want %d errors: %s", len(errs), tc.errCount, errs) + } + }) + } +} diff --git a/apis/v1beta1/validation/util/utils.go b/apis/v1beta1/validation/util/utils.go new file mode 100644 index 0000000000..52408574ad --- /dev/null +++ b/apis/v1beta1/validation/util/utils.go @@ -0,0 +1,33 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package utils + +import ( + gatewayv1b1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// PathMatchTypePtr translates a string to *PathMatchType +func PathMatchTypePtr(s string) *gatewayv1b1.PathMatchType { + result := gatewayv1b1.PathMatchType(s) + return &result +} + +// PortNumberPtr translates an int to a *PortNumber +func PortNumberPtr(p int) *gatewayv1b1.PortNumber { + result := gatewayv1b1.PortNumber(p) + return &result +} diff --git a/apis/v1beta1/validation/util/utils_test.go b/apis/v1beta1/validation/util/utils_test.go new file mode 100644 index 0000000000..9e0deb62da --- /dev/null +++ b/apis/v1beta1/validation/util/utils_test.go @@ -0,0 +1,104 @@ +/* +Copyright 2021 The Kubernetes Authors. + +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. +*/ + +package utils + +import ( + "testing" + + gatewayv1b1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +func Test_PortNumberPtr(t *testing.T) { + var exportedPort65535 gatewayv1b1.PortNumber = 65535 + var exportedPort1 gatewayv1b1.PortNumber = 1 + var exportedPort0 gatewayv1b1.PortNumber + var exportedPort65536 gatewayv1b1.PortNumber = 65536 + + portNumberPtrTests := []struct { + name string + port int + expectedPort *gatewayv1b1.PortNumber + }{ + { + name: "invalid port number", + port: 0, + expectedPort: &exportedPort0, + }, + { + name: "valid port number", + port: 65535, + expectedPort: &exportedPort65535, + }, + { + name: "invalid port number", + port: 65536, + expectedPort: &exportedPort65536, + }, + { + name: "valid port number", + port: 1, + expectedPort: &exportedPort1, + }, + } + + for _, tc := range portNumberPtrTests { + t.Run(tc.name, func(t *testing.T) { + port := PortNumberPtr(tc.port) + if port == nil || tc.expectedPort == nil { + if port != tc.expectedPort { + t.Errorf("Expected port %d, got %d", tc.expectedPort, port) + } + } else if *port != *tc.expectedPort { + t.Errorf("Expected port %d, got %d", *tc.expectedPort, *port) + } + }) + } +} + +func Test_PathMatchTypePtr(t *testing.T) { + pathMatchTypePtrTests := []struct { + name string + pathType string + expectedPath gatewayv1b1.PathMatchType + }{ + { + name: "valid path exact match", + pathType: "Exact", + expectedPath: gatewayv1b1.PathMatchExact, + }, + + { + name: "valid path prefix match", + pathType: "PathPrefix", + expectedPath: gatewayv1b1.PathMatchPathPrefix, + }, + { + name: "valid path regular expression match", + pathType: "RegularExpression", + expectedPath: gatewayv1b1.PathMatchRegularExpression, + }, + } + + for _, tc := range pathMatchTypePtrTests { + t.Run(tc.name, func(t *testing.T) { + path := PathMatchTypePtr(tc.pathType) + if *path != tc.expectedPath { + t.Errorf("Expected path %s, got %s", tc.expectedPath, *path) + } + }) + } +} diff --git a/apis/v1alpha1/zz_generated.deepcopy.go b/apis/v1beta1/zz_generated.deepcopy.go similarity index 56% rename from apis/v1alpha1/zz_generated.deepcopy.go rename to apis/v1beta1/zz_generated.deepcopy.go index 81696264ad..cbea355eae 100644 --- a/apis/v1alpha1/zz_generated.deepcopy.go +++ b/apis/v1beta1/zz_generated.deepcopy.go @@ -19,7 +19,7 @@ limitations under the License. // Code generated by controller-gen. DO NOT EDIT. -package v1alpha1 +package v1beta1 import ( "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -27,109 +27,63 @@ import ( ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *BackendPolicy) DeepCopyInto(out *BackendPolicy) { +func (in *AllowedRoutes) DeepCopyInto(out *AllowedRoutes) { *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendPolicy. -func (in *BackendPolicy) DeepCopy() *BackendPolicy { - if in == nil { - return nil - } - out := new(BackendPolicy) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *BackendPolicy) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c + if in.Namespaces != nil { + in, out := &in.Namespaces, &out.Namespaces + *out = new(RouteNamespaces) + (*in).DeepCopyInto(*out) } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *BackendPolicyList) DeepCopyInto(out *BackendPolicyList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]BackendPolicy, len(*in)) + if in.Kinds != nil { + in, out := &in.Kinds, &out.Kinds + *out = make([]RouteGroupKind, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendPolicyList. -func (in *BackendPolicyList) DeepCopy() *BackendPolicyList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRoutes. +func (in *AllowedRoutes) DeepCopy() *AllowedRoutes { if in == nil { return nil } - out := new(BackendPolicyList) + out := new(AllowedRoutes) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *BackendPolicyList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *BackendPolicySpec) DeepCopyInto(out *BackendPolicySpec) { +func (in *BackendObjectReference) DeepCopyInto(out *BackendObjectReference) { *out = *in - if in.BackendRefs != nil { - in, out := &in.BackendRefs, &out.BackendRefs - *out = make([]BackendRef, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(Group) + **out = **in } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS - *out = new(BackendTLSConfig) - (*in).DeepCopyInto(*out) + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(Kind) + **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendPolicySpec. -func (in *BackendPolicySpec) DeepCopy() *BackendPolicySpec { - if in == nil { - return nil + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(Namespace) + **out = **in } - out := new(BackendPolicySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *BackendPolicyStatus) DeepCopyInto(out *BackendPolicyStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]v1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(PortNumber) + **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendPolicyStatus. -func (in *BackendPolicyStatus) DeepCopy() *BackendPolicyStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendObjectReference. +func (in *BackendObjectReference) DeepCopy() *BackendObjectReference { if in == nil { return nil } - out := new(BackendPolicyStatus) + out := new(BackendObjectReference) in.DeepCopyInto(out) return out } @@ -137,9 +91,10 @@ func (in *BackendPolicyStatus) DeepCopy() *BackendPolicyStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BackendRef) DeepCopyInto(out *BackendRef) { *out = *in - if in.Port != nil { - in, out := &in.Port, &out.Port - *out = new(PortNumber) + in.BackendObjectReference.DeepCopyInto(&out.BackendObjectReference) + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + *out = new(int32) **out = **in } } @@ -155,28 +110,23 @@ func (in *BackendRef) DeepCopy() *BackendRef { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *BackendTLSConfig) DeepCopyInto(out *BackendTLSConfig) { +func (in *CommonRouteSpec) DeepCopyInto(out *CommonRouteSpec) { *out = *in - if in.CertificateAuthorityRef != nil { - in, out := &in.CertificateAuthorityRef, &out.CertificateAuthorityRef - *out = new(LocalObjectReference) - **out = **in - } - if in.Options != nil { - in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val + if in.ParentRefs != nil { + in, out := &in.ParentRefs, &out.ParentRefs + *out = make([]ParentReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendTLSConfig. -func (in *BackendTLSConfig) DeepCopy() *BackendTLSConfig { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonRouteSpec. +func (in *CommonRouteSpec) DeepCopy() *CommonRouteSpec { if in == nil { return nil } - out := new(BackendTLSConfig) + out := new(CommonRouteSpec) in.DeepCopyInto(out) return out } @@ -295,6 +245,11 @@ func (in *GatewayClassSpec) DeepCopyInto(out *GatewayClassSpec) { *out = new(ParametersReference) (*in).DeepCopyInto(*out) } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayClassSpec. @@ -361,21 +316,6 @@ func (in *GatewayList) DeepCopyObject() runtime.Object { return nil } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *GatewayReference) DeepCopyInto(out *GatewayReference) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayReference. -func (in *GatewayReference) DeepCopy() *GatewayReference { - if in == nil { - return nil - } - out := new(GatewayReference) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec) { *out = *in @@ -449,19 +389,16 @@ func (in *GatewayTLSConfig) DeepCopyInto(out *GatewayTLSConfig) { *out = new(TLSModeType) **out = **in } - if in.CertificateRef != nil { - in, out := &in.CertificateRef, &out.CertificateRef - *out = new(LocalObjectReference) - **out = **in - } - if in.RouteOverride != nil { - in, out := &in.RouteOverride, &out.RouteOverride - *out = new(TLSOverridePolicy) - (*in).DeepCopyInto(*out) + if in.CertificateRefs != nil { + in, out := &in.CertificateRefs, &out.CertificateRefs + *out = make([]SecretObjectReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Options != nil { in, out := &in.Options, &out.Options - *out = make(map[string]string, len(*in)) + *out = make(map[AnnotationKey]AnnotationValue, len(*in)) for key, val := range *in { (*out)[key] = val } @@ -478,6 +415,44 @@ func (in *GatewayTLSConfig) DeepCopy() *GatewayTLSConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPBackendRef) DeepCopyInto(out *HTTPBackendRef) { + *out = *in + in.BackendRef.DeepCopyInto(&out.BackendRef) + if in.Filters != nil { + in, out := &in.Filters, &out.Filters + *out = make([]HTTPRouteFilter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPBackendRef. +func (in *HTTPBackendRef) DeepCopy() *HTTPBackendRef { + if in == nil { + return nil + } + out := new(HTTPBackendRef) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeader. +func (in *HTTPHeader) DeepCopy() *HTTPHeader { + if in == nil { + return nil + } + out := new(HTTPHeader) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPHeaderMatch) DeepCopyInto(out *HTTPHeaderMatch) { *out = *in @@ -486,13 +461,6 @@ func (in *HTTPHeaderMatch) DeepCopyInto(out *HTTPHeaderMatch) { *out = new(HeaderMatchType) **out = **in } - if in.Values != nil { - in, out := &in.Values, &out.Values - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeaderMatch. @@ -530,6 +498,31 @@ func (in *HTTPPathMatch) DeepCopy() *HTTPPathMatch { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPPathModifier) DeepCopyInto(out *HTTPPathModifier) { + *out = *in + if in.ReplaceFullPath != nil { + in, out := &in.ReplaceFullPath, &out.ReplaceFullPath + *out = new(string) + **out = **in + } + if in.ReplacePrefixMatch != nil { + in, out := &in.ReplacePrefixMatch, &out.ReplacePrefixMatch + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPPathModifier. +func (in *HTTPPathModifier) DeepCopy() *HTTPPathModifier { + if in == nil { + return nil + } + out := new(HTTPPathModifier) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPQueryParamMatch) DeepCopyInto(out *HTTPQueryParamMatch) { *out = *in @@ -538,13 +531,6 @@ func (in *HTTPQueryParamMatch) DeepCopyInto(out *HTTPQueryParamMatch) { *out = new(QueryParamMatchType) **out = **in } - if in.Values != nil { - in, out := &in.Values, &out.Values - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPQueryParamMatch. @@ -562,17 +548,13 @@ func (in *HTTPRequestHeaderFilter) DeepCopyInto(out *HTTPRequestHeaderFilter) { *out = *in if in.Set != nil { in, out := &in.Set, &out.Set - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } + *out = make([]HTTPHeader, len(*in)) + copy(*out, *in) } if in.Add != nil { in, out := &in.Add, &out.Add - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } + *out = make([]HTTPHeader, len(*in)) + copy(*out, *in) } if in.Remove != nil { in, out := &in.Remove, &out.Remove @@ -594,29 +576,55 @@ func (in *HTTPRequestHeaderFilter) DeepCopy() *HTTPRequestHeaderFilter { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPRequestMirrorFilter) DeepCopyInto(out *HTTPRequestMirrorFilter) { *out = *in - if in.ServiceName != nil { - in, out := &in.ServiceName, &out.ServiceName + in.BackendRef.DeepCopyInto(&out.BackendRef) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRequestMirrorFilter. +func (in *HTTPRequestMirrorFilter) DeepCopy() *HTTPRequestMirrorFilter { + if in == nil { + return nil + } + out := new(HTTPRequestMirrorFilter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPRequestRedirectFilter) DeepCopyInto(out *HTTPRequestRedirectFilter) { + *out = *in + if in.Scheme != nil { + in, out := &in.Scheme, &out.Scheme *out = new(string) **out = **in } - if in.BackendRef != nil { - in, out := &in.BackendRef, &out.BackendRef - *out = new(LocalObjectReference) + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(PreciseHostname) **out = **in } + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(HTTPPathModifier) + (*in).DeepCopyInto(*out) + } if in.Port != nil { in, out := &in.Port, &out.Port *out = new(PortNumber) **out = **in } + if in.StatusCode != nil { + in, out := &in.StatusCode, &out.StatusCode + *out = new(int) + **out = **in + } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRequestMirrorFilter. -func (in *HTTPRequestMirrorFilter) DeepCopy() *HTTPRequestMirrorFilter { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRequestRedirectFilter. +func (in *HTTPRequestRedirectFilter) DeepCopy() *HTTPRequestRedirectFilter { if in == nil { return nil } - out := new(HTTPRequestMirrorFilter) + out := new(HTTPRequestRedirectFilter) in.DeepCopyInto(out) return out } @@ -661,6 +669,16 @@ func (in *HTTPRouteFilter) DeepCopyInto(out *HTTPRouteFilter) { *out = new(HTTPRequestMirrorFilter) (*in).DeepCopyInto(*out) } + if in.RequestRedirect != nil { + in, out := &in.RequestRedirect, &out.RequestRedirect + *out = new(HTTPRequestRedirectFilter) + (*in).DeepCopyInto(*out) + } + if in.URLRewrite != nil { + in, out := &in.URLRewrite, &out.URLRewrite + *out = new(HTTPURLRewriteFilter) + (*in).DeepCopyInto(*out) + } if in.ExtensionRef != nil { in, out := &in.ExtensionRef, &out.ExtensionRef *out = new(LocalObjectReference) @@ -678,48 +696,6 @@ func (in *HTTPRouteFilter) DeepCopy() *HTTPRouteFilter { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *HTTPRouteForwardTo) DeepCopyInto(out *HTTPRouteForwardTo) { - *out = *in - if in.ServiceName != nil { - in, out := &in.ServiceName, &out.ServiceName - *out = new(string) - **out = **in - } - if in.BackendRef != nil { - in, out := &in.BackendRef, &out.BackendRef - *out = new(LocalObjectReference) - **out = **in - } - if in.Port != nil { - in, out := &in.Port, &out.Port - *out = new(PortNumber) - **out = **in - } - if in.Weight != nil { - in, out := &in.Weight, &out.Weight - *out = new(int32) - **out = **in - } - if in.Filters != nil { - in, out := &in.Filters, &out.Filters - *out = make([]HTTPRouteFilter, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteForwardTo. -func (in *HTTPRouteForwardTo) DeepCopy() *HTTPRouteForwardTo { - if in == nil { - return nil - } - out := new(HTTPRouteForwardTo) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPRouteList) DeepCopyInto(out *HTTPRouteList) { *out = *in @@ -762,17 +738,21 @@ func (in *HTTPRouteMatch) DeepCopyInto(out *HTTPRouteMatch) { } if in.Headers != nil { in, out := &in.Headers, &out.Headers - *out = new(HTTPHeaderMatch) - (*in).DeepCopyInto(*out) + *out = make([]HTTPHeaderMatch, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.QueryParams != nil { in, out := &in.QueryParams, &out.QueryParams - *out = new(HTTPQueryParamMatch) - (*in).DeepCopyInto(*out) + *out = make([]HTTPQueryParamMatch, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } - if in.ExtensionRef != nil { - in, out := &in.ExtensionRef, &out.ExtensionRef - *out = new(LocalObjectReference) + if in.Method != nil { + in, out := &in.Method, &out.Method + *out = new(HTTPMethod) **out = **in } } @@ -804,9 +784,9 @@ func (in *HTTPRouteRule) DeepCopyInto(out *HTTPRouteRule) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.ForwardTo != nil { - in, out := &in.ForwardTo, &out.ForwardTo - *out = make([]HTTPRouteForwardTo, len(*in)) + if in.BackendRefs != nil { + in, out := &in.BackendRefs, &out.BackendRefs + *out = make([]HTTPBackendRef, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -826,21 +806,12 @@ func (in *HTTPRouteRule) DeepCopy() *HTTPRouteRule { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPRouteSpec) DeepCopyInto(out *HTTPRouteSpec) { *out = *in - if in.Gateways != nil { - in, out := &in.Gateways, &out.Gateways - *out = new(RouteGateways) - (*in).DeepCopyInto(*out) - } + in.CommonRouteSpec.DeepCopyInto(&out.CommonRouteSpec) if in.Hostnames != nil { in, out := &in.Hostnames, &out.Hostnames *out = make([]Hostname, len(*in)) copy(*out, *in) } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS - *out = new(RouteTLSConfig) - **out = **in - } if in.Rules != nil { in, out := &in.Rules, &out.Rules *out = make([]HTTPRouteRule, len(*in)) @@ -877,19 +848,48 @@ func (in *HTTPRouteStatus) DeepCopy() *HTTPRouteStatus { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Listener) DeepCopyInto(out *Listener) { +func (in *HTTPURLRewriteFilter) DeepCopyInto(out *HTTPURLRewriteFilter) { *out = *in if in.Hostname != nil { in, out := &in.Hostname, &out.Hostname - *out = new(Hostname) + *out = new(PreciseHostname) **out = **in } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS + if in.Path != nil { + in, out := &in.Path, &out.Path + *out = new(HTTPPathModifier) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPURLRewriteFilter. +func (in *HTTPURLRewriteFilter) DeepCopy() *HTTPURLRewriteFilter { + if in == nil { + return nil + } + out := new(HTTPURLRewriteFilter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Listener) DeepCopyInto(out *Listener) { + *out = *in + if in.Hostname != nil { + in, out := &in.Hostname, &out.Hostname + *out = new(Hostname) + **out = **in + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS *out = new(GatewayTLSConfig) (*in).DeepCopyInto(*out) } - in.Routes.DeepCopyInto(&out.Routes) + if in.AllowedRoutes != nil { + in, out := &in.AllowedRoutes, &out.AllowedRoutes + *out = new(AllowedRoutes) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Listener. @@ -905,10 +905,12 @@ func (in *Listener) DeepCopy() *Listener { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ListenerStatus) DeepCopyInto(out *ListenerStatus) { *out = *in - if in.Hostname != nil { - in, out := &in.Hostname, &out.Hostname - *out = new(Hostname) - **out = **in + if in.SupportedKinds != nil { + in, out := &in.SupportedKinds, &out.SupportedKinds + *out = make([]RouteGroupKind, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions @@ -947,14 +949,9 @@ func (in *LocalObjectReference) DeepCopy() *LocalObjectReference { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ParametersReference) DeepCopyInto(out *ParametersReference) { *out = *in - if in.Scope != nil { - in, out := &in.Scope, &out.Scope - *out = new(string) - **out = **in - } if in.Namespace != nil { in, out := &in.Namespace, &out.Namespace - *out = new(string) + *out = new(Namespace) **out = **in } } @@ -970,46 +967,26 @@ func (in *ParametersReference) DeepCopy() *ParametersReference { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteBindingSelector) DeepCopyInto(out *RouteBindingSelector) { +func (in *ParentReference) DeepCopyInto(out *ParentReference) { *out = *in - if in.Namespaces != nil { - in, out := &in.Namespaces, &out.Namespaces - *out = new(RouteNamespaces) - (*in).DeepCopyInto(*out) - } - if in.Selector != nil { - in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - (*in).DeepCopyInto(*out) - } if in.Group != nil { in, out := &in.Group, &out.Group - *out = new(string) + *out = new(Group) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteBindingSelector. -func (in *RouteBindingSelector) DeepCopy() *RouteBindingSelector { - if in == nil { - return nil + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(Kind) + **out = **in } - out := new(RouteBindingSelector) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteForwardTo) DeepCopyInto(out *RouteForwardTo) { - *out = *in - if in.ServiceName != nil { - in, out := &in.ServiceName, &out.ServiceName - *out = new(string) + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(Namespace) **out = **in } - if in.BackendRef != nil { - in, out := &in.BackendRef, &out.BackendRef - *out = new(LocalObjectReference) + if in.SectionName != nil { + in, out := &in.SectionName, &out.SectionName + *out = new(SectionName) **out = **in } if in.Port != nil { @@ -1017,67 +994,34 @@ func (in *RouteForwardTo) DeepCopyInto(out *RouteForwardTo) { *out = new(PortNumber) **out = **in } - if in.Weight != nil { - in, out := &in.Weight, &out.Weight - *out = new(int32) - **out = **in - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteForwardTo. -func (in *RouteForwardTo) DeepCopy() *RouteForwardTo { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParentReference. +func (in *ParentReference) DeepCopy() *ParentReference { if in == nil { return nil } - out := new(RouteForwardTo) + out := new(ParentReference) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteGatewayStatus) DeepCopyInto(out *RouteGatewayStatus) { +func (in *RouteGroupKind) DeepCopyInto(out *RouteGroupKind) { *out = *in - in.GatewayRef.DeepCopyInto(&out.GatewayRef) - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]v1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteGatewayStatus. -func (in *RouteGatewayStatus) DeepCopy() *RouteGatewayStatus { - if in == nil { - return nil - } - out := new(RouteGatewayStatus) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteGateways) DeepCopyInto(out *RouteGateways) { - *out = *in - if in.Allow != nil { - in, out := &in.Allow, &out.Allow - *out = new(GatewayAllowType) + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(Group) **out = **in } - if in.GatewayRefs != nil { - in, out := &in.GatewayRefs, &out.GatewayRefs - *out = make([]GatewayReference, len(*in)) - copy(*out, *in) - } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteGateways. -func (in *RouteGateways) DeepCopy() *RouteGateways { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteGroupKind. +func (in *RouteGroupKind) DeepCopy() *RouteGroupKind { if in == nil { return nil } - out := new(RouteGateways) + out := new(RouteGroupKind) in.DeepCopyInto(out) return out } @@ -1087,7 +1031,7 @@ func (in *RouteNamespaces) DeepCopyInto(out *RouteNamespaces) { *out = *in if in.From != nil { in, out := &in.From, &out.From - *out = new(RouteSelectType) + *out = new(FromNamespaces) **out = **in } if in.Selector != nil { @@ -1108,537 +1052,76 @@ func (in *RouteNamespaces) DeepCopy() *RouteNamespaces { } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { +func (in *RouteParentStatus) DeepCopyInto(out *RouteParentStatus) { *out = *in - if in.Gateways != nil { - in, out := &in.Gateways, &out.Gateways - *out = make([]RouteGatewayStatus, len(*in)) + in.ParentRef.DeepCopyInto(&out.ParentRef) + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. -func (in *RouteStatus) DeepCopy() *RouteStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteParentStatus. +func (in *RouteParentStatus) DeepCopy() *RouteParentStatus { if in == nil { return nil } - out := new(RouteStatus) + out := new(RouteParentStatus) in.DeepCopyInto(out) return out } // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteStatusGatewayReference) DeepCopyInto(out *RouteStatusGatewayReference) { - *out = *in - if in.Controller != nil { - in, out := &in.Controller, &out.Controller - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatusGatewayReference. -func (in *RouteStatusGatewayReference) DeepCopy() *RouteStatusGatewayReference { - if in == nil { - return nil - } - out := new(RouteStatusGatewayReference) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RouteTLSConfig) DeepCopyInto(out *RouteTLSConfig) { - *out = *in - out.CertificateRef = in.CertificateRef -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTLSConfig. -func (in *RouteTLSConfig) DeepCopy() *RouteTLSConfig { - if in == nil { - return nil - } - out := new(RouteTLSConfig) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRoute) DeepCopyInto(out *TCPRoute) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRoute. -func (in *TCPRoute) DeepCopy() *TCPRoute { - if in == nil { - return nil - } - out := new(TCPRoute) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *TCPRoute) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRouteList) DeepCopyInto(out *TCPRouteList) { +func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]TCPRoute, len(*in)) + if in.Parents != nil { + in, out := &in.Parents, &out.Parents + *out = make([]RouteParentStatus, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteList. -func (in *TCPRouteList) DeepCopy() *TCPRouteList { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. +func (in *RouteStatus) DeepCopy() *RouteStatus { if in == nil { return nil } - out := new(TCPRouteList) + out := new(RouteStatus) in.DeepCopyInto(out) return out } -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *TCPRouteList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRouteMatch) DeepCopyInto(out *TCPRouteMatch) { +func (in *SecretObjectReference) DeepCopyInto(out *SecretObjectReference) { *out = *in - if in.ExtensionRef != nil { - in, out := &in.ExtensionRef, &out.ExtensionRef - *out = new(LocalObjectReference) + if in.Group != nil { + in, out := &in.Group, &out.Group + *out = new(Group) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteMatch. -func (in *TCPRouteMatch) DeepCopy() *TCPRouteMatch { - if in == nil { - return nil - } - out := new(TCPRouteMatch) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRouteRule) DeepCopyInto(out *TCPRouteRule) { - *out = *in - if in.Matches != nil { - in, out := &in.Matches, &out.Matches - *out = make([]TCPRouteMatch, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ForwardTo != nil { - in, out := &in.ForwardTo, &out.ForwardTo - *out = make([]RouteForwardTo, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteRule. -func (in *TCPRouteRule) DeepCopy() *TCPRouteRule { - if in == nil { - return nil - } - out := new(TCPRouteRule) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRouteSpec) DeepCopyInto(out *TCPRouteSpec) { - *out = *in - if in.Rules != nil { - in, out := &in.Rules, &out.Rules - *out = make([]TCPRouteRule, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Gateways != nil { - in, out := &in.Gateways, &out.Gateways - *out = new(RouteGateways) - (*in).DeepCopyInto(*out) - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteSpec. -func (in *TCPRouteSpec) DeepCopy() *TCPRouteSpec { - if in == nil { - return nil - } - out := new(TCPRouteSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TCPRouteStatus) DeepCopyInto(out *TCPRouteStatus) { - *out = *in - in.RouteStatus.DeepCopyInto(&out.RouteStatus) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPRouteStatus. -func (in *TCPRouteStatus) DeepCopy() *TCPRouteStatus { - if in == nil { - return nil - } - out := new(TCPRouteStatus) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSOverridePolicy) DeepCopyInto(out *TLSOverridePolicy) { - *out = *in - if in.Certificate != nil { - in, out := &in.Certificate, &out.Certificate - *out = new(TLSRouteOverrideType) + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(Kind) **out = **in } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSOverridePolicy. -func (in *TLSOverridePolicy) DeepCopy() *TLSOverridePolicy { - if in == nil { - return nil - } - out := new(TLSOverridePolicy) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRoute) DeepCopyInto(out *TLSRoute) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRoute. -func (in *TLSRoute) DeepCopy() *TLSRoute { - if in == nil { - return nil - } - out := new(TLSRoute) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *TLSRoute) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRouteList) DeepCopyInto(out *TLSRouteList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]TLSRoute, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRouteList. -func (in *TLSRouteList) DeepCopy() *TLSRouteList { - if in == nil { - return nil - } - out := new(TLSRouteList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *TLSRouteList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRouteMatch) DeepCopyInto(out *TLSRouteMatch) { - *out = *in - if in.SNIs != nil { - in, out := &in.SNIs, &out.SNIs - *out = make([]Hostname, len(*in)) - copy(*out, *in) - } - if in.ExtensionRef != nil { - in, out := &in.ExtensionRef, &out.ExtensionRef - *out = new(LocalObjectReference) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRouteMatch. -func (in *TLSRouteMatch) DeepCopy() *TLSRouteMatch { - if in == nil { - return nil - } - out := new(TLSRouteMatch) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRouteRule) DeepCopyInto(out *TLSRouteRule) { - *out = *in - if in.Matches != nil { - in, out := &in.Matches, &out.Matches - *out = make([]TLSRouteMatch, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ForwardTo != nil { - in, out := &in.ForwardTo, &out.ForwardTo - *out = make([]RouteForwardTo, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRouteRule. -func (in *TLSRouteRule) DeepCopy() *TLSRouteRule { - if in == nil { - return nil - } - out := new(TLSRouteRule) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRouteSpec) DeepCopyInto(out *TLSRouteSpec) { - *out = *in - if in.Rules != nil { - in, out := &in.Rules, &out.Rules - *out = make([]TLSRouteRule, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Gateways != nil { - in, out := &in.Gateways, &out.Gateways - *out = new(RouteGateways) - (*in).DeepCopyInto(*out) - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRouteSpec. -func (in *TLSRouteSpec) DeepCopy() *TLSRouteSpec { - if in == nil { - return nil - } - out := new(TLSRouteSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TLSRouteStatus) DeepCopyInto(out *TLSRouteStatus) { - *out = *in - in.RouteStatus.DeepCopyInto(&out.RouteStatus) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSRouteStatus. -func (in *TLSRouteStatus) DeepCopy() *TLSRouteStatus { - if in == nil { - return nil - } - out := new(TLSRouteStatus) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRoute) DeepCopyInto(out *UDPRoute) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRoute. -func (in *UDPRoute) DeepCopy() *UDPRoute { - if in == nil { - return nil - } - out := new(UDPRoute) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *UDPRoute) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRouteList) DeepCopyInto(out *UDPRouteList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]UDPRoute, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouteList. -func (in *UDPRouteList) DeepCopy() *UDPRouteList { - if in == nil { - return nil - } - out := new(UDPRouteList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *UDPRouteList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRouteMatch) DeepCopyInto(out *UDPRouteMatch) { - *out = *in - if in.ExtensionRef != nil { - in, out := &in.ExtensionRef, &out.ExtensionRef - *out = new(LocalObjectReference) + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(Namespace) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouteMatch. -func (in *UDPRouteMatch) DeepCopy() *UDPRouteMatch { - if in == nil { - return nil - } - out := new(UDPRouteMatch) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRouteRule) DeepCopyInto(out *UDPRouteRule) { - *out = *in - if in.Matches != nil { - in, out := &in.Matches, &out.Matches - *out = make([]UDPRouteMatch, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.ForwardTo != nil { - in, out := &in.ForwardTo, &out.ForwardTo - *out = make([]RouteForwardTo, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouteRule. -func (in *UDPRouteRule) DeepCopy() *UDPRouteRule { - if in == nil { - return nil - } - out := new(UDPRouteRule) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRouteSpec) DeepCopyInto(out *UDPRouteSpec) { - *out = *in - if in.Rules != nil { - in, out := &in.Rules, &out.Rules - *out = make([]UDPRouteRule, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Gateways != nil { - in, out := &in.Gateways, &out.Gateways - *out = new(RouteGateways) - (*in).DeepCopyInto(*out) - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouteSpec. -func (in *UDPRouteSpec) DeepCopy() *UDPRouteSpec { - if in == nil { - return nil - } - out := new(UDPRouteSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *UDPRouteStatus) DeepCopyInto(out *UDPRouteStatus) { - *out = *in - in.RouteStatus.DeepCopyInto(&out.RouteStatus) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPRouteStatus. -func (in *UDPRouteStatus) DeepCopy() *UDPRouteStatus { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretObjectReference. +func (in *SecretObjectReference) DeepCopy() *SecretObjectReference { if in == nil { return nil } - out := new(UDPRouteStatus) + out := new(SecretObjectReference) in.DeepCopyInto(out) return out } diff --git a/apis/v1alpha1/zz_generated.register.go b/apis/v1beta1/zz_generated.register.go similarity index 90% rename from apis/v1alpha1/zz_generated.register.go rename to apis/v1beta1/zz_generated.register.go index ac718c728c..7cb684d1cf 100644 --- a/apis/v1alpha1/zz_generated.register.go +++ b/apis/v1beta1/zz_generated.register.go @@ -16,7 +16,7 @@ limitations under the License. // Code generated by register-gen. DO NOT EDIT. -package v1alpha1 +package v1beta1 import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -25,14 +25,14 @@ import ( ) // GroupName specifies the group name used to register the objects. -const GroupName = "networking.x-k8s.io" +const GroupName = "gateway.networking.k8s.io" // GroupVersion specifies the group and the version used to register the objects. -var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1beta1"} // SchemeGroupVersion is group version used to register these objects // Deprecated: use GroupVersion instead. -var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} // Resource takes an unqualified resource and returns a Group qualified GroupResource func Resource(resource string) schema.GroupResource { @@ -58,20 +58,12 @@ func init() { // Adds the list of known types to Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &BackendPolicy{}, - &BackendPolicyList{}, &Gateway{}, &GatewayClass{}, &GatewayClassList{}, &GatewayList{}, &HTTPRoute{}, &HTTPRouteList{}, - &TCPRoute{}, - &TCPRouteList{}, - &TLSRoute{}, - &TLSRouteList{}, - &UDPRoute{}, - &UDPRouteList{}, ) // AddToGroupVersion allows the serialization of client types like ListOptions. v1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/config/crd/experimental/gateway.networking.k8s.io_gatewayclasses.yaml b/config/crd/experimental/gateway.networking.k8s.io_gatewayclasses.yaml index e9a52a5720..45a9674f15 100644 --- a/config/crd/experimental/gateway.networking.k8s.io_gatewayclasses.yaml +++ b/config/crd/experimental/gateway.networking.k8s.io_gatewayclasses.yaml @@ -221,6 +221,207 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.controllerName + name: Controller + type: string + - jsonPath: .status.conditions[?(@.type=="Accepted")].status + name: Accepted + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .spec.description + name: Description + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: "GatewayClass describes a class of Gateways available to the + user for creating Gateway resources. \n It is recommended that this resource + be used as a template for Gateways. This means that a Gateway is based on + the state of the GatewayClass at the time it was created and changes to + the GatewayClass or associated parameters are not propagated down to existing + Gateways. This recommendation is intended to limit the blast radius of changes + to GatewayClass or associated parameters. If implementations choose to propagate + GatewayClass changes to existing Gateways, that MUST be clearly documented + by the implementation. \n Whenever one or more Gateways are using a GatewayClass, + implementations MUST add the `gateway-exists-finalizer.gateway.networking.k8s.io` + finalizer on the associated GatewayClass. This ensures that a GatewayClass + associated with a Gateway is not deleted while in use. \n GatewayClass is + a Cluster level resource." + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of GatewayClass. + properties: + controllerName: + description: "ControllerName is the name of the controller that is + managing Gateways of this class. The value of this field MUST be + a domain prefixed path. \n Example: \"example.net/gateway-controller\". + \n This field is not mutable and cannot be empty. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + description: + description: Description helps describe a GatewayClass with more details. + maxLength: 64 + type: string + parametersRef: + description: "ParametersRef is a reference to a resource that contains + the configuration parameters corresponding to the GatewayClass. + This is optional if the controller does not require any additional + configuration. \n ParametersRef can reference a standard Kubernetes + resource, i.e. ConfigMap, or an implementation-specific custom resource. + The resource can be cluster-scoped or namespace-scoped. \n If the + referent cannot be found, the GatewayClass's \"InvalidParameters\" + status condition will be true. \n Support: Custom" + properties: + group: + description: Group is the group of the referent. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: Namespace is the namespace of the referent. This + field is required when referring to a Namespace-scoped resource + and MUST be unset when referring to a Cluster-scoped resource. + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - group + - kind + - name + type: object + required: + - controllerName + type: object + status: + default: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: Waiting + status: Unknown + type: Accepted + description: Status defines the current state of GatewayClass. + properties: + conditions: + default: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: Waiting + status: Unknown + type: Accepted + description: "Conditions is the current status from the controller + for this GatewayClass. \n Controllers should prefer to publish conditions + using values of GatewayClassConditionType for the type of each Condition." + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: + \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // +listMapKey=type + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml b/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml index e01c67d575..8498bb148c 100644 --- a/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml +++ b/config/crd/experimental/gateway.networking.k8s.io_gateways.yaml @@ -714,6 +714,694 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.gatewayClassName + name: Class + type: string + - jsonPath: .status.addresses[*].value + name: Address + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].status + name: Ready + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Gateway represents an instance of a service-traffic handling + infrastructure by binding Listeners to a set of IP addresses. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of Gateway. + properties: + addresses: + description: "Addresses requested for this Gateway. This is optional + and behavior can depend on the implementation. If a value is set + in the spec and the requested address is invalid or unavailable, + the implementation MUST indicate this in the associated entry in + GatewayStatus.Addresses. \n The Addresses field represents a request + for the address(es) on the \"outside of the Gateway\", that traffic + bound for this Gateway will use. This could be the IP address or + hostname of an external load balancer or other networking infrastructure, + or some other address that traffic will be sent to. \n The .listener.hostname + field is used to route traffic that has already arrived at the Gateway + to the correct in-cluster destination. \n If no Addresses are specified, + the implementation MAY schedule the Gateway in an implementation-specific + manner, assigning an appropriate set of Addresses. \n The implementation + MUST bind all Listeners to every GatewayAddress that it assigns + to the Gateway and add a corresponding entry in GatewayStatus.Addresses. + \n Support: Extended" + items: + description: GatewayAddress describes an address that can be bound + to a Gateway. + properties: + type: + default: IPAddress + description: Type of the address. + type: string + value: + description: "Value of the address. The validity of the values + will depend on the type and support by the controller. \n + Examples: `1.2.3.4`, `128::1`, `my-ip-address`." + maxLength: 253 + minLength: 1 + type: string + required: + - value + type: object + maxItems: 16 + type: array + gatewayClassName: + description: GatewayClassName used for this Gateway. This is the name + of a GatewayClass resource. + maxLength: 253 + minLength: 1 + type: string + listeners: + description: "Listeners associated with this Gateway. Listeners define + logical endpoints that are bound on this Gateway's addresses. At + least one Listener MUST be specified. \n Each listener in a Gateway + must have a unique combination of Hostname, Port, and Protocol. + \n An implementation MAY group Listeners by Port and then collapse + each group of Listeners into a single Listener if the implementation + determines that the Listeners in the group are \"compatible\". An + implementation MAY also group together and collapse compatible Listeners + belonging to different Gateways. \n For example, an implementation + might consider Listeners to be compatible with each other if all + of the following conditions are met: \n 1. Either each Listener + within the group specifies the \"HTTP\" Protocol or each Listener + within the group specifies either the \"HTTPS\" or \"TLS\" Protocol. + \n 2. Each Listener within the group specifies a Hostname that is + unique within the group. \n 3. As a special case, one Listener + within a group may omit Hostname, in which case this Listener + matches when no other Listener matches. \n If the implementation + does collapse compatible Listeners, the hostname provided in the + incoming client request MUST be matched to a Listener to find the + correct set of Routes. The incoming hostname MUST be matched using + the Hostname field for each Listener in order of most to least specific. + That is, exact matches must be processed before wildcard matches. + \n If this field specifies multiple Listeners that have the same + Port value but are not compatible, the implementation must raise + a \"Conflicted\" condition in the Listener status. \n Support: Core" + items: + description: Listener embodies the concept of a logical endpoint + where a Gateway accepts network connections. + properties: + allowedRoutes: + default: + namespaces: + from: Same + description: "AllowedRoutes defines the types of routes that + MAY be attached to a Listener and the trusted namespaces where + those Route resources MAY be present. \n Although a client + request may match multiple route rules, only one rule may + ultimately receive the request. Matching precedence MUST be + determined in order of the following criteria: \n * The most + specific match as defined by the Route type. * The oldest + Route based on creation timestamp. For example, a Route with + \ a creation timestamp of \"2020-09-08 01:02:03\" is given + precedence over a Route with a creation timestamp of \"2020-09-08 + 01:02:04\". * If everything else is equivalent, the Route + appearing first in alphabetical order (namespace/name) should + be given precedence. For example, foo/bar is given precedence + over foo/baz. \n All valid rules within a Route attached to + this Listener should be implemented. Invalid Route rules can + be ignored (sometimes that will mean the full Route). If a + Route rule transitions from valid to invalid, support for + that Route rule should be dropped to ensure consistency. For + example, even if a filter specified by a Route rule is invalid, + the rest of the rules within that Route should still be supported. + \n Support: Core" + properties: + kinds: + description: "Kinds specifies the groups and kinds of Routes + that are allowed to bind to this Gateway Listener. When + unspecified or empty, the kinds of Routes selected are + determined using the Listener protocol. \n A RouteGroupKind + MUST correspond to kinds of Routes that are compatible + with the application protocol specified in the Listener's + Protocol field. If an implementation does not support + or recognize this resource type, it MUST set the \"ResolvedRefs\" + condition to False for this Listener with the \"InvalidRouteKinds\" + reason. \n Support: Core" + items: + description: RouteGroupKind indicates the group and kind + of a Route resource. + properties: + group: + default: gateway.networking.k8s.io + description: Group is the group of the Route. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is the kind of the Route. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + required: + - kind + type: object + maxItems: 8 + type: array + namespaces: + default: + from: Same + description: "Namespaces indicates namespaces from which + Routes may be attached to this Listener. This is restricted + to the namespace of this Gateway by default. \n Support: + Core" + properties: + from: + default: Same + description: "From indicates where Routes will be selected + for this Gateway. Possible values are: * All: Routes + in all namespaces may be used by this Gateway. * Selector: + Routes in namespaces selected by the selector may + be used by this Gateway. * Same: Only Routes in + the same namespace may be used by this Gateway. \n + Support: Core" + enum: + - All + - Selector + - Same + type: string + selector: + description: "Selector must be specified when From is + set to \"Selector\". In that case, only Routes in + Namespaces matching this Selector will be selected + by this Gateway. This field is ignored for other values + of \"From\". \n Support: Core" + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a + selector that contains values, a key, and an + operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If the + operator is Exists or DoesNotExist, the + values array must be empty. This array is + replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". The + requirements are ANDed. + type: object + type: object + type: object + type: object + hostname: + description: "Hostname specifies the virtual hostname to match + for protocol types that define this concept. When unspecified, + all hostnames are matched. This field is ignored for protocols + that don't require hostname based matching. \n Implementations + MUST apply Hostname matching appropriately for each of the + following protocols: \n * TLS: The Listener Hostname MUST + match the SNI. * HTTP: The Listener Hostname MUST match the + Host header of the request. * HTTPS: The Listener Hostname + SHOULD match at both the TLS and HTTP protocol layers as + described above. If an implementation does not ensure that + both the SNI and Host header match the Listener hostname, + \ it MUST clearly document that. \n For HTTPRoute and TLSRoute + resources, there is an interaction with the `spec.hostnames` + array. When both listener and route specify hostnames, there + MUST be an intersection between the values for a Route to + be accepted. For more information, refer to the Route specific + Hostnames documentation. \n Hostnames that are prefixed with + a wildcard label (`*.`) are interpreted as a suffix match. + That means that a match for `*.example.com` would match both + `test.example.com`, and `foo.test.example.com`, but not `example.com`. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + name: + description: "Name is the name of the Listener. This name MUST + be unique within a Gateway. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + port: + description: "Port is the network port. Multiple listeners may + use the same port, subject to the Listener compatibility rules. + \n Support: Core" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: "Protocol specifies the network protocol this listener + expects to receive. \n Support: Core" + maxLength: 255 + minLength: 1 + pattern: ^[a-zA-Z0-9]([-a-zSA-Z0-9]*[a-zA-Z0-9])?$|[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9]+$ + type: string + tls: + description: "TLS is the TLS configuration for the Listener. + This field is required if the Protocol field is \"HTTPS\" + or \"TLS\". It is invalid to set this field if the Protocol + field is \"HTTP\", \"TCP\", or \"UDP\". \n The association + of SNIs to Certificate defined in GatewayTLSConfig is defined + based on the Hostname field for this listener. \n The GatewayClass + MUST use the longest matching SNI out of all available certificates + for any TLS handshake. \n Support: Core" + properties: + certificateRefs: + description: "CertificateRefs contains a series of references + to Kubernetes objects that contains TLS certificates and + private keys. These certificates are used to establish + a TLS handshake for requests that match the hostname of + the associated listener. \n A single CertificateRef to + a Kubernetes Secret has \"Core\" support. Implementations + MAY choose to support attaching multiple certificates + to a Listener, but this behavior is implementation-specific. + \n References to a resource in different namespace are + invalid UNLESS there is a ReferenceGrant in the target + namespace that allows the certificate to be attached. + If a ReferenceGrant does not allow this reference, the + \"ResolvedRefs\" condition MUST be set to False for this + listener with the \"InvalidCertificateRef\" reason. \n + This field is required to have at least one element when + the mode is set to \"Terminate\" (default) and is optional + otherwise. \n CertificateRefs can reference to standard + Kubernetes resources, i.e. Secret, or implementation-specific + custom resources. \n Support: Core - A single reference + to a Kubernetes Secret of type kubernetes.io/tls \n Support: + Implementation-specific (More than one reference or other + resource types)" + items: + description: "SecretObjectReference identifies an API + object including its namespace, defaulting to Secret. + \n The API object must be valid in the cluster; the + Group and Kind must be registered in the cluster for + this reference to be valid. \n References to objects + with invalid Group and Kind are not valid, and must + be rejected by the implementation, with appropriate + Conditions set on the containing object." + properties: + group: + default: "" + description: Group is the group of the referent. For + example, "networking.k8s.io". When unspecified (empty + string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Secret + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the backend. + When unspecified, the local namespace is inferred. + \n Note that when a namespace is specified, a ReferenceGrant + object is required in the referent namespace to + allow that namespace's owner to accept the reference. + See the ReferenceGrant documentation for details. + \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + maxItems: 64 + type: array + mode: + default: Terminate + description: "Mode defines the TLS behavior for the TLS + session initiated by the client. There are two possible + modes: \n - Terminate: The TLS session between the downstream + client and the Gateway is terminated at the Gateway. + This mode requires certificateRefs to be set and contain + at least one element. - Passthrough: The TLS session is + NOT terminated by the Gateway. This implies that the + Gateway can't decipher the TLS stream except for the + ClientHello message of the TLS protocol. CertificateRefs + field is ignored in this mode. \n Support: Core" + enum: + - Terminate + - Passthrough + type: string + options: + additionalProperties: + description: AnnotationValue is the value of an annotation + in Gateway API. This is used for validation of maps + such as TLS options. This roughly matches Kubernetes + annotation validation, although the length validation + in that case is based on the entire size of the annotations + struct. + maxLength: 4096 + minLength: 0 + type: string + description: "Options are a list of key/value pairs to enable + extended TLS configuration for each implementation. For + example, configuring the minimum TLS version or supported + cipher suites. \n A set of common keys MAY be defined + by the API in the future. To avoid any ambiguity, implementation-specific + definitions MUST use domain-prefixed names, such as `example.com/my-custom-option`. + Un-prefixed names are reserved for key names defined by + Gateway API. \n Support: Implementation-specific" + maxProperties: 16 + type: object + type: object + required: + - name + - port + - protocol + type: object + maxItems: 64 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - gatewayClassName + - listeners + type: object + status: + default: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: NotReconciled + status: Unknown + type: Scheduled + description: Status defines the current state of Gateway. + properties: + addresses: + description: Addresses lists the IP addresses that have actually been + bound to the Gateway. These addresses may differ from the addresses + in the Spec, e.g. if the Gateway automatically assigns an address + from a reserved pool. + items: + description: GatewayAddress describes an address that can be bound + to a Gateway. + properties: + type: + default: IPAddress + description: Type of the address. + type: string + value: + description: "Value of the address. The validity of the values + will depend on the type and support by the controller. \n + Examples: `1.2.3.4`, `128::1`, `my-ip-address`." + maxLength: 253 + minLength: 1 + type: string + required: + - value + type: object + maxItems: 16 + type: array + conditions: + default: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: NotReconciled + status: Unknown + type: Scheduled + description: "Conditions describe the current conditions of the Gateway. + \n Implementations should prefer to express Gateway conditions using + the `GatewayConditionType` and `GatewayConditionReason` constants + so that operators and tools can converge on a common vocabulary + to describe Gateway state. \n Known condition types are: \n * \"Scheduled\" + * \"Ready\"" + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: + \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // +listMapKey=type + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + listeners: + description: Listeners provide status for each unique listener port + defined in the Spec. + items: + description: ListenerStatus is the status associated with a Listener. + properties: + attachedRoutes: + description: AttachedRoutes represents the total number of Routes + that have been successfully attached to this Listener. + format: int32 + type: integer + conditions: + description: Conditions describe the current condition of this + listener. + items: + description: "Condition contains details for one aspect of + the current state of this API Resource. --- This struct + is intended for direct use as an array at the field path + .status.conditions. For example, type FooStatus struct{ + \ // Represents the observations of a foo's current state. + \ // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // + +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should + be when the underlying condition changed. If that is + not known, then using the time when the API field changed + is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, + if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the + current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier + indicating the reason for the condition's last transition. + Producers of specific condition types may define expected + values and meanings for this field, and whether the + values are considered a guaranteed API. The value should + be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across + resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability + to deconflict is important. The regex it matches is + (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: Name is the name of the Listener that this status + corresponds to. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + supportedKinds: + description: "SupportedKinds is the list indicating the Kinds + supported by this listener. This MUST represent the kinds + an implementation supports for that Listener configuration. + \n If kinds are specified in Spec that are not supported, + they MUST NOT appear in this list and an implementation MUST + set the \"ResolvedRefs\" condition to \"False\" with the \"InvalidRouteKinds\" + reason. If both valid and invalid Route kinds are specified, + the implementation MUST reference the valid Route kinds that + have been specified." + items: + description: RouteGroupKind indicates the group and kind of + a Route resource. + properties: + group: + default: gateway.networking.k8s.io + description: Group is the group of the Route. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is the kind of the Route. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + required: + - kind + type: object + maxItems: 8 + type: array + required: + - attachedRoutes + - conditions + - name + - supportedKinds + type: object + maxItems: 64 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/experimental/gateway.networking.k8s.io_httproutes.yaml b/config/crd/experimental/gateway.networking.k8s.io_httproutes.yaml index 4d0ef8f6c1..946412451d 100644 --- a/config/crd/experimental/gateway.networking.k8s.io_httproutes.yaml +++ b/config/crd/experimental/gateway.networking.k8s.io_httproutes.yaml @@ -1550,6 +1550,1538 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.hostnames + name: Hostnames + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: HTTPRoute provides a way to route HTTP requests. This includes + the capability to match requests by hostname, path, header, or query param. + Filters can be used to specify additional processing steps. Backends specify + where matching requests should be routed. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of HTTPRoute. + properties: + hostnames: + description: "Hostnames defines a set of hostname that should match + against the HTTP Host header to select a HTTPRoute to process the + request. This matches the RFC 1123 definition of a hostname with + 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname may + be prefixed with a wildcard label (`*.`). The wildcard label + must appear by itself as the first label. \n If a hostname is specified + by both the Listener and HTTPRoute, there must be at least one intersecting + hostname for the HTTPRoute to be attached to the Listener. For example: + \n * A Listener with `test.example.com` as the hostname matches + HTTPRoutes that have either not specified any hostnames, or have + specified at least one of `test.example.com` or `*.example.com`. + * A Listener with `*.example.com` as the hostname matches HTTPRoutes + \ that have either not specified any hostnames or have specified + at least one hostname that matches the Listener hostname. For + example, `*.example.com`, `test.example.com`, and `foo.test.example.com` + would all match. On the other hand, `example.com` and `test.example.net` + would not match. \n Hostnames that are prefixed with a wildcard + label (`*.`) are interpreted as a suffix match. That means that + a match for `*.example.com` would match both `test.example.com`, + and `foo.test.example.com`, but not `example.com`. \n If both the + Listener and HTTPRoute have specified hostnames, any HTTPRoute hostnames + that do not match the Listener hostname MUST be ignored. For example, + if a Listener specified `*.example.com`, and the HTTPRoute specified + `test.example.com` and `test.example.net`, `test.example.net` must + not be considered for a match. \n If both the Listener and HTTPRoute + have specified hostnames, and none match with the criteria above, + then the HTTPRoute is not accepted. The implementation must raise + an 'Accepted' Condition with a status of `False` in the corresponding + RouteParentStatus. \n Support: Core" + items: + description: "Hostname is the fully qualified domain name of a network + host. This matches the RFC 1123 definition of a hostname with + 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname + may be prefixed with a wildcard label (`*.`). The wildcard label + must appear by itself as the first label. \n Hostname can be \"precise\" + which is a domain name without the terminating dot of a network + host (e.g. \"foo.example.com\") or \"wildcard\", which is a domain + name prefixed with a single wildcard label (e.g. `*.example.com`). + \n Note that as per RFC1035 and RFC1123, a *label* must consist + of lower case alphanumeric characters or '-', and must start and + end with an alphanumeric character. No other punctuation is allowed." + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + maxItems: 16 + type: array + parentRefs: + description: "ParentRefs references the resources (usually Gateways) + that a Route wants to be attached to. Note that the referenced parent + resource needs to allow this for the attachment to be complete. + For Gateways, that means the Gateway needs to allow attachment from + Routes of this kind and namespace. \n The only kind of parent resource + with \"Core\" support is Gateway. This API may be extended in the + future to support additional kinds of parent resources such as one + of the route kinds. \n It is invalid to reference an identical parent + more than once. It is valid to reference multiple distinct sections + within the same parent resource, such as 2 Listeners within a Gateway. + \n It is possible to separately reference multiple distinct objects + that may be collapsed by an implementation. For example, some implementations + may choose to merge compatible Gateway Listeners together. If that + is the case, the list of routes attached to those resources should + also be merged." + items: + description: "ParentReference identifies an API object (usually + a Gateway) that can be considered a parent of this resource (usually + a route). The only kind of parent resource with \"Core\" support + is Gateway. This API may be extended in the future to support + additional kinds of parent resources, such as HTTPRoute. \n The + API object must be valid in the cluster; the Group and Kind must + be registered in the cluster for this reference to be valid." + properties: + group: + default: gateway.networking.k8s.io + description: "Group is the group of the referent. \n Support: + Core" + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: "Kind is kind of the referent. \n Support: Core + (Gateway) Support: Custom (Other Resources)" + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: "Name is the name of the referent. \n Support: + Core" + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the referent. When + unspecified (or empty string), this refers to the local namespace + of the Route. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: "Port is the network port this Route targets. It + can be interpreted differently based on the type of parent + resource. \n When the parent resource is a Gateway, this targets + all listeners listening on the specified port that also support + this kind of Route(and select this Route). It's not recommended + to set `Port` unless the networking behaviors specified in + a Route must apply to a specific port as opposed to a listener(s) + whose port(s) may be changed. When both Port and SectionName + are specified, the name and port of the selected listener + must match both specified values. \n Implementations MAY choose + to support other parent resources. Implementations supporting + other types of parent resources MUST clearly document how/if + Port is interpreted. \n For the purpose of status, an attachment + is considered successful as long as the parent resource accepts + it partially. For example, Gateway listeners can restrict + which Routes can attach to them by Route kind, namespace, + or hostname. If 1 of 2 Gateway listeners accept attachment + from the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this + Route, the Route MUST be considered detached from the Gateway. + \n Support: Extended \n " + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + description: "SectionName is the name of a section within the + target resource. In the following resources, SectionName is + interpreted as the following: \n * Gateway: Listener Name. + When both Port (experimental) and SectionName are specified, + the name and port of the selected listener must match both + specified values. \n Implementations MAY choose to support + attaching Routes to other resources. If that is the case, + they MUST clearly document how SectionName is interpreted. + \n When unspecified (empty string), this will reference the + entire resource. For the purpose of status, an attachment + is considered successful if at least one section in the parent + resource accepts it. For example, Gateway listeners can restrict + which Routes can attach to them by Route kind, namespace, + or hostname. If 1 of 2 Gateway listeners accept attachment + from the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this + Route, the Route MUST be considered detached from the Gateway. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + maxItems: 32 + type: array + rules: + default: + - matches: + - path: + type: PathPrefix + value: / + description: Rules are a list of HTTP matchers, filters and actions. + items: + description: HTTPRouteRule defines semantics for matching an HTTP + request based on conditions (matches), processing it (filters), + and forwarding the request to an API object (backendRefs). + properties: + backendRefs: + description: "BackendRefs defines the backend(s) where matching + requests should be sent. \n A 404 status code MUST be returned + if there are no BackendRefs or filters specified that would + result in a response being sent. \n A BackendRef is considered + invalid when it refers to: \n * an unknown or unsupported + kind of resource * a resource that does not exist * a resource + in another namespace when the reference has not been explicitly + allowed by a ReferenceGrant (or equivalent concept). \n When + a BackendRef is invalid, 404 status codes MUST be returned + for requests that would have otherwise been routed to an invalid + backend. If multiple backends are specified, and some are + invalid, the proportion of requests that would otherwise have + been routed to an invalid backend MUST receive a 404 status + code. \n When a BackendRef refers to a Service that has no + ready endpoints, it is recommended to return a 503 status + code. \n Support: Core for Kubernetes Service Support: Custom + for any other resource \n Support for weight: Core" + items: + description: HTTPBackendRef defines how a HTTPRoute should + forward an HTTP request. + properties: + filters: + description: "Filters defined at this level should be + executed if and only if the request is being forwarded + to the backend defined here. \n Support: Custom (For + broader support of filters, use the Filters field in + HTTPRouteRule.)" + items: + description: HTTPRouteFilter defines processing steps + that must be completed during the request or response + lifecycle. HTTPRouteFilters are meant as an extension + point to express processing that may be done in Gateway + implementations. Some examples include request or + response modification, implementing authentication + strategies, rate-limiting, and traffic shaping. API + guarantee/conformance is defined based on the type + of the filter. + properties: + extensionRef: + description: "ExtensionRef is an optional, implementation-specific + extension to the \"filter\" behavior. For example, + resource \"myroutefilter\" in group \"networking.example.net\"). + ExtensionRef MUST NOT be used for core and extended + filters. \n Support: Implementation-specific" + properties: + group: + description: Group is the group of the referent. + For example, "networking.k8s.io". When unspecified + (empty string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For + example "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + requestHeaderModifier: + description: "RequestHeaderModifier defines a schema + for a filter that modifies request headers. \n + Support: Core" + properties: + add: + description: "Add adds the given header(s) (name, + value) to the request before the action. It + appends to any existing values associated + with the header name. \n Input: GET /foo + HTTP/1.1 my-header: foo \n Config: add: + \ - name: \"my-header\" value: \"bar\" + \n Output: GET /foo HTTP/1.1 my-header: + foo my-header: bar" + items: + description: HTTPHeader represents an HTTP + Header name and value as defined by RFC + 7230. + properties: + name: + description: "Name is the name of the + HTTP Header to be matched. Name matching + MUST be case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an + equivalent name MUST be considered for + a match. Subsequent entries with an + equivalent header name MUST be ignored. + Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP + Header to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + remove: + description: "Remove the given header(s) from + the HTTP request before the action. The value + of Remove is a list of HTTP header names. + Note that the header names are case-insensitive + (see https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). + \n Input: GET /foo HTTP/1.1 my-header1: + foo my-header2: bar my-header3: baz \n + Config: remove: [\"my-header1\", \"my-header3\"] + \n Output: GET /foo HTTP/1.1 my-header2: + bar" + items: + type: string + maxItems: 16 + type: array + set: + description: "Set overwrites the request with + the given header (name, value) before the + action. \n Input: GET /foo HTTP/1.1 my-header: + foo \n Config: set: - name: \"my-header\" + \ value: \"bar\" \n Output: GET /foo + HTTP/1.1 my-header: bar" + items: + description: HTTPHeader represents an HTTP + Header name and value as defined by RFC + 7230. + properties: + name: + description: "Name is the name of the + HTTP Header to be matched. Name matching + MUST be case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an + equivalent name MUST be considered for + a match. Subsequent entries with an + equivalent header name MUST be ignored. + Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP + Header to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + requestMirror: + description: "RequestMirror defines a schema for + a filter that mirrors requests. Requests are sent + to the specified destination, but responses from + that destination are ignored. \n Support: Extended" + properties: + backendRef: + description: "BackendRef references a resource + where mirrored requests are sent. \n If the + referent cannot be found, this BackendRef + is invalid and must be dropped from the Gateway. + The controller must ensure the \"ResolvedRefs\" + condition on the Route status is set to `status: + False` and not configure this backend in the + underlying implementation. \n If there is + a cross-namespace reference to an *existing* + object that is not allowed by a ReferenceGrant, + the controller must ensure the \"ResolvedRefs\" + \ condition on the Route is set to `status: + False`, with the \"RefNotPermitted\" reason + and not configure this backend in the underlying + implementation. \n In either error case, the + Message of the `ResolvedRefs` Condition should + be used to provide more detail about the problem. + \n Support: Extended for Kubernetes Service + Support: Custom for any other resource" + properties: + group: + default: "" + description: Group is the group of the referent. + For example, "networking.k8s.io". When + unspecified (empty string), core API group + is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. + For example "HTTPRoute" or "Service". + Defaults to "Service" when not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace + of the backend. When unspecified, the + local namespace is inferred. \n Note that + when a namespace is specified, a ReferenceGrant + object is required in the referent namespace + to allow that namespace's owner to accept + the reference. See the ReferenceGrant + documentation for details. \n Support: + Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination + port number to use for this resource. + Port is required when the referent is + a Kubernetes Service. For other resources, + destination port might be derived from + the referent resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + required: + - name + type: object + required: + - backendRef + type: object + requestRedirect: + description: "RequestRedirect defines a schema for + a filter that responds to the request with an + HTTP redirection. \n Support: Core" + properties: + hostname: + description: "Hostname is the hostname to be + used in the value of the `Location` header + in the response. When empty, the hostname + of the request is used. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + path: + description: "Path defines parameters used to + modify the path of the incoming request. The + modified path is then used to construct the + `Location` header. When empty, the request + path is used as-is. \n Support: Extended \n + " + properties: + replaceFullPath: + description: "ReplaceFullPath specifies + the value with which to replace the full + path of a request during a rewrite or + redirect. \n " + maxLength: 1024 + type: string + replacePrefixMatch: + description: "ReplacePrefixMatch specifies + the value with which to replace the prefix + match of a request during a rewrite or + redirect. For example, a request to \"/foo/bar\" + with a prefix match of \"/foo\" would + be modified to \"/bar\". \n Note that + this matches the behavior of the PathPrefix + match type. This matches full path elements. + A path element refers to the list of labels + in the path split by the `/` separator. + When specified, a trailing `/` is ignored. + For example, the paths `/abc`, `/abc/`, + and `/abc/def` would all match the prefix + `/abc`, but the path `/abcd` would not. + \n " + maxLength: 1024 + type: string + type: + description: "Type defines the type of path + modifier. Additional types may be added + in a future release of the API. \n " + enum: + - ReplaceFullPath + - ReplacePrefixMatch + type: string + required: + - type + type: object + port: + description: "Port is the port to be used in + the value of the `Location` header in the + response. When empty, port (if specified) + of the request is used. \n Support: Extended" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + scheme: + description: "Scheme is the scheme to be used + in the value of the `Location` header in the + response. When empty, the scheme of the request + is used. \n Support: Extended" + enum: + - http + - https + type: string + statusCode: + default: 302 + description: "StatusCode is the HTTP status + code to be used in response. \n Support: Core" + enum: + - 301 + - 302 + type: integer + type: object + type: + description: "Type identifies the type of filter + to apply. As with other API fields, types are + classified into three conformance levels: \n - + Core: Filter types and their corresponding configuration + defined by \"Support: Core\" in this package, + e.g. \"RequestHeaderModifier\". All implementations + must support core filters. \n - Extended: Filter + types and their corresponding configuration defined + by \"Support: Extended\" in this package, e.g. + \"RequestMirror\". Implementers are encouraged + to support extended filters. \n - Custom: Filters + that are defined and supported by specific vendors. + \ In the future, filters showing convergence + in behavior across multiple implementations + will be considered for inclusion in extended or + core conformance levels. Filter-specific configuration + for such filters is specified using the ExtensionRef + field. `Type` should be set to \"ExtensionRef\" + for custom filters. \n Implementers are encouraged + to define custom implementation types to extend + the core API with implementation-specific behavior. + \n If a reference to a custom filter type cannot + be resolved, the filter MUST NOT be skipped. Instead, + requests that would have been processed by that + filter MUST receive a HTTP error response. \n " + enum: + - RequestHeaderModifier + - RequestMirror + - RequestRedirect + - URLRewrite + - ExtensionRef + type: string + urlRewrite: + description: "URLRewrite defines a schema for a + filter that modifies a request during forwarding. + Support: Extended \n " + properties: + hostname: + description: "Hostname is the value to be used + to replace the Host header value during forwarding. + \n Support: Extended \n " + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + path: + description: "Path defines a path rewrite. \n + Support: Extended \n " + properties: + replaceFullPath: + description: "ReplaceFullPath specifies + the value with which to replace the full + path of a request during a rewrite or + redirect. \n " + maxLength: 1024 + type: string + replacePrefixMatch: + description: "ReplacePrefixMatch specifies + the value with which to replace the prefix + match of a request during a rewrite or + redirect. For example, a request to \"/foo/bar\" + with a prefix match of \"/foo\" would + be modified to \"/bar\". \n Note that + this matches the behavior of the PathPrefix + match type. This matches full path elements. + A path element refers to the list of labels + in the path split by the `/` separator. + When specified, a trailing `/` is ignored. + For example, the paths `/abc`, `/abc/`, + and `/abc/def` would all match the prefix + `/abc`, but the path `/abcd` would not. + \n " + maxLength: 1024 + type: string + type: + description: "Type defines the type of path + modifier. Additional types may be added + in a future release of the API. \n " + enum: + - ReplaceFullPath + - ReplacePrefixMatch + type: string + required: + - type + type: object + type: object + required: + - type + type: object + maxItems: 16 + type: array + group: + default: "" + description: Group is the group of the referent. For example, + "networking.k8s.io". When unspecified (empty string), + core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". Defaults to "Service" when + not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the backend. + When unspecified, the local namespace is inferred. \n + Note that when a namespace is specified, a ReferenceGrant + object is required in the referent namespace to allow + that namespace's owner to accept the reference. See + the ReferenceGrant documentation for details. \n Support: + Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination port number + to use for this resource. Port is required when the + referent is a Kubernetes Service. For other resources, + destination port might be derived from the referent + resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + weight: + default: 1 + description: "Weight specifies the proportion of requests + forwarded to the referenced backend. This is computed + as weight/(sum of all weights in this BackendRefs list). + For non-zero values, there may be some epsilon from + the exact proportion defined here depending on the precision + an implementation supports. Weight is not a percentage + and the sum of weights does not need to equal 100. \n + If only one backend is specified and it has a weight + greater than 0, 100% of the traffic is forwarded to + that backend. If weight is set to 0, no traffic should + be forwarded for this entry. If unspecified, weight + defaults to 1. \n Support for this field varies based + on the context where used." + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + required: + - name + type: object + maxItems: 16 + type: array + filters: + description: "Filters define the filters that are applied to + requests that match this rule. \n The effects of ordering + of multiple behaviors are currently unspecified. This can + change in the future based on feedback during the alpha stage. + \n Conformance-levels at this level are defined based on the + type of filter: \n - ALL core filters MUST be supported by + all implementations. - Implementers are encouraged to support + extended filters. - Implementation-specific custom filters + have no API guarantees across implementations. \n Specifying + a core filter multiple times has unspecified or custom conformance. + \n All filters are expected to be compatible with each other + except for the URLRewrite and RequestRedirect filters, which + may not be combined. If an implementation can not support + other combinations of filters, they must clearly document + that limitation. In all cases where incompatible or unsupported + filters are specified, implementations MUST add a warning + condition to status. \n Support: Core" + items: + description: HTTPRouteFilter defines processing steps that + must be completed during the request or response lifecycle. + HTTPRouteFilters are meant as an extension point to express + processing that may be done in Gateway implementations. + Some examples include request or response modification, + implementing authentication strategies, rate-limiting, and + traffic shaping. API guarantee/conformance is defined based + on the type of the filter. + properties: + extensionRef: + description: "ExtensionRef is an optional, implementation-specific + extension to the \"filter\" behavior. For example, + resource \"myroutefilter\" in group \"networking.example.net\"). + ExtensionRef MUST NOT be used for core and extended + filters. \n Support: Implementation-specific" + properties: + group: + description: Group is the group of the referent. For + example, "networking.k8s.io". When unspecified (empty + string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + requestHeaderModifier: + description: "RequestHeaderModifier defines a schema for + a filter that modifies request headers. \n Support: + Core" + properties: + add: + description: "Add adds the given header(s) (name, + value) to the request before the action. It appends + to any existing values associated with the header + name. \n Input: GET /foo HTTP/1.1 my-header: + foo \n Config: add: - name: \"my-header\" value: + \"bar\" \n Output: GET /foo HTTP/1.1 my-header: + foo my-header: bar" + items: + description: HTTPHeader represents an HTTP Header + name and value as defined by RFC 7230. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case + insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST + be ignored. Due to the case-insensitivity + of header names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP Header + to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + remove: + description: "Remove the given header(s) from the + HTTP request before the action. The value of Remove + is a list of HTTP header names. Note that the header + names are case-insensitive (see https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). + \n Input: GET /foo HTTP/1.1 my-header1: foo + \ my-header2: bar my-header3: baz \n Config: + \ remove: [\"my-header1\", \"my-header3\"] \n Output: + \ GET /foo HTTP/1.1 my-header2: bar" + items: + type: string + maxItems: 16 + type: array + set: + description: "Set overwrites the request with the + given header (name, value) before the action. \n + Input: GET /foo HTTP/1.1 my-header: foo \n Config: + \ set: - name: \"my-header\" value: \"bar\" + \n Output: GET /foo HTTP/1.1 my-header: bar" + items: + description: HTTPHeader represents an HTTP Header + name and value as defined by RFC 7230. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case + insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST + be ignored. Due to the case-insensitivity + of header names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP Header + to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + requestMirror: + description: "RequestMirror defines a schema for a filter + that mirrors requests. Requests are sent to the specified + destination, but responses from that destination are + ignored. \n Support: Extended" + properties: + backendRef: + description: "BackendRef references a resource where + mirrored requests are sent. \n If the referent cannot + be found, this BackendRef is invalid and must be + dropped from the Gateway. The controller must ensure + the \"ResolvedRefs\" condition on the Route status + is set to `status: False` and not configure this + backend in the underlying implementation. \n If + there is a cross-namespace reference to an *existing* + object that is not allowed by a ReferenceGrant, + the controller must ensure the \"ResolvedRefs\" + \ condition on the Route is set to `status: False`, + with the \"RefNotPermitted\" reason and not configure + this backend in the underlying implementation. \n + In either error case, the Message of the `ResolvedRefs` + Condition should be used to provide more detail + about the problem. \n Support: Extended for Kubernetes + Service Support: Custom for any other resource" + properties: + group: + default: "" + description: Group is the group of the referent. + For example, "networking.k8s.io". When unspecified + (empty string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. For + example "HTTPRoute" or "Service". Defaults to + "Service" when not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the + backend. When unspecified, the local namespace + is inferred. \n Note that when a namespace is + specified, a ReferenceGrant object is required + in the referent namespace to allow that namespace's + owner to accept the reference. See the ReferenceGrant + documentation for details. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination port + number to use for this resource. Port is required + when the referent is a Kubernetes Service. For + other resources, destination port might be derived + from the referent resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + required: + - name + type: object + required: + - backendRef + type: object + requestRedirect: + description: "RequestRedirect defines a schema for a filter + that responds to the request with an HTTP redirection. + \n Support: Core" + properties: + hostname: + description: "Hostname is the hostname to be used + in the value of the `Location` header in the response. + When empty, the hostname of the request is used. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + path: + description: "Path defines parameters used to modify + the path of the incoming request. The modified path + is then used to construct the `Location` header. + When empty, the request path is used as-is. \n Support: + Extended \n " + properties: + replaceFullPath: + description: "ReplaceFullPath specifies the value + with which to replace the full path of a request + during a rewrite or redirect. \n " + maxLength: 1024 + type: string + replacePrefixMatch: + description: "ReplacePrefixMatch specifies the + value with which to replace the prefix match + of a request during a rewrite or redirect. For + example, a request to \"/foo/bar\" with a prefix + match of \"/foo\" would be modified to \"/bar\". + \n Note that this matches the behavior of the + PathPrefix match type. This matches full path + elements. A path element refers to the list + of labels in the path split by the `/` separator. + When specified, a trailing `/` is ignored. For + example, the paths `/abc`, `/abc/`, and `/abc/def` + would all match the prefix `/abc`, but the path + `/abcd` would not. \n " + maxLength: 1024 + type: string + type: + description: "Type defines the type of path modifier. + Additional types may be added in a future release + of the API. \n " + enum: + - ReplaceFullPath + - ReplacePrefixMatch + type: string + required: + - type + type: object + port: + description: "Port is the port to be used in the value + of the `Location` header in the response. When empty, + port (if specified) of the request is used. \n Support: + Extended" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + scheme: + description: "Scheme is the scheme to be used in the + value of the `Location` header in the response. + When empty, the scheme of the request is used. \n + Support: Extended" + enum: + - http + - https + type: string + statusCode: + default: 302 + description: "StatusCode is the HTTP status code to + be used in response. \n Support: Core" + enum: + - 301 + - 302 + type: integer + type: object + type: + description: "Type identifies the type of filter to apply. + As with other API fields, types are classified into + three conformance levels: \n - Core: Filter types and + their corresponding configuration defined by \"Support: + Core\" in this package, e.g. \"RequestHeaderModifier\". + All implementations must support core filters. \n + - Extended: Filter types and their corresponding configuration + defined by \"Support: Extended\" in this package, + e.g. \"RequestMirror\". Implementers are encouraged + to support extended filters. \n - Custom: Filters that + are defined and supported by specific vendors. In + the future, filters showing convergence in behavior + across multiple implementations will be considered + for inclusion in extended or core conformance levels. + Filter-specific configuration for such filters is + specified using the ExtensionRef field. `Type` should + be set to \"ExtensionRef\" for custom filters. \n + Implementers are encouraged to define custom implementation + types to extend the core API with implementation-specific + behavior. \n If a reference to a custom filter type + cannot be resolved, the filter MUST NOT be skipped. + Instead, requests that would have been processed by + that filter MUST receive a HTTP error response. \n " + enum: + - RequestHeaderModifier + - RequestMirror + - RequestRedirect + - URLRewrite + - ExtensionRef + type: string + urlRewrite: + description: "URLRewrite defines a schema for a filter + that modifies a request during forwarding. Support: + Extended \n " + properties: + hostname: + description: "Hostname is the value to be used to + replace the Host header value during forwarding. + \n Support: Extended \n " + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + path: + description: "Path defines a path rewrite. \n Support: + Extended \n " + properties: + replaceFullPath: + description: "ReplaceFullPath specifies the value + with which to replace the full path of a request + during a rewrite or redirect. \n " + maxLength: 1024 + type: string + replacePrefixMatch: + description: "ReplacePrefixMatch specifies the + value with which to replace the prefix match + of a request during a rewrite or redirect. For + example, a request to \"/foo/bar\" with a prefix + match of \"/foo\" would be modified to \"/bar\". + \n Note that this matches the behavior of the + PathPrefix match type. This matches full path + elements. A path element refers to the list + of labels in the path split by the `/` separator. + When specified, a trailing `/` is ignored. For + example, the paths `/abc`, `/abc/`, and `/abc/def` + would all match the prefix `/abc`, but the path + `/abcd` would not. \n " + maxLength: 1024 + type: string + type: + description: "Type defines the type of path modifier. + Additional types may be added in a future release + of the API. \n " + enum: + - ReplaceFullPath + - ReplacePrefixMatch + type: string + required: + - type + type: object + type: object + required: + - type + type: object + maxItems: 16 + type: array + matches: + default: + - path: + type: PathPrefix + value: / + description: "Matches define conditions used for matching the + rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if **any** one of the matches + is satisfied. \n For example, take the following matches configuration: + \n ``` matches: - path: value: \"/foo\" headers: - + name: \"version\" value: \"v2\" - path: value: \"/v2/foo\" + ``` \n For a request to match against this rule, a request + must satisfy EITHER of the two conditions: \n - path prefixed + with `/foo` AND contains the header `version: v2` - path prefix + of `/v2/foo` \n See the documentation for HTTPRouteMatch on + how to specify multiple match conditions that should be ANDed + together. \n If no matches are specified, the default is a + prefix path match on \"/\", which has the effect of matching + every HTTP request. \n Proxy or Load Balancer routing configuration + generated from HTTPRoutes MUST prioritize rules based on the + following criteria, continuing on ties. Precedence must be + given to the the Rule with the largest number of: \n * Characters + in a matching non-wildcard hostname. * Characters in a matching + hostname. * Characters in a matching path. * Header matches. + * Query param matches. \n If ties still exist across multiple + Routes, matching precedence MUST be determined in order of + the following criteria, continuing on ties: \n * The oldest + Route based on creation timestamp. * The Route appearing first + in alphabetical order by \"{namespace}/{name}\". \n If ties + still exist within the Route that has been given precedence, + matching precedence MUST be granted to the first matching + rule meeting the above criteria. \n When no rules matching + a request have been successfully attached to the parent a + request is coming from, a HTTP 404 status code MUST be returned." + items: + description: "HTTPRouteMatch defines the predicate used to + match requests to a given action. Multiple match types are + ANDed together, i.e. the match will evaluate to true only + if all conditions are satisfied. \n For example, the match + below will match a HTTP request only if its path starts + with `/foo` AND it contains the `version: v1` header: \n + ``` match: path: value: \"/foo\" headers: - name: + \"version\" value \"v1\" ```" + properties: + headers: + description: Headers specifies HTTP request header matchers. + Multiple match values are ANDed together, meaning, a + request must match all the specified headers to select + the route. + items: + description: HTTPHeaderMatch describes how to select + a HTTP route by matching HTTP request headers. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case insensitive. + (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent header + names, only the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST be + ignored. Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered equivalent. + \n When a header is repeated in an HTTP request, + it is implementation-specific behavior as to how + this is represented. Generally, proxies should + follow the guidance from the RFC: https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 + regarding processing a repeated header, with special + handling for \"Set-Cookie\"." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + type: + default: Exact + description: "Type specifies how to match against + the value of the header. \n Support: Core (Exact) + \n Support: Custom (RegularExpression) \n Since + RegularExpression HeaderMatchType has custom conformance, + implementations can support POSIX, PCRE or any + other dialects of regular expressions. Please + read the implementation's documentation to determine + the supported dialect." + enum: + - Exact + - RegularExpression + type: string + value: + description: Value is the value of HTTP Header to + be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + method: + description: "Method specifies HTTP method matcher. When + specified, this route will be matched only if the request + has the specified method. \n Support: Extended" + enum: + - GET + - HEAD + - POST + - PUT + - DELETE + - CONNECT + - OPTIONS + - TRACE + - PATCH + type: string + path: + default: + type: PathPrefix + value: / + description: Path specifies a HTTP request path matcher. + If this field is not specified, a default prefix match + on the "/" path is provided. + properties: + type: + default: PathPrefix + description: "Type specifies how to match against + the path Value. \n Support: Core (Exact, PathPrefix) + \n Support: Custom (RegularExpression)" + enum: + - Exact + - PathPrefix + - RegularExpression + type: string + value: + default: / + description: Value of the HTTP path to match against. + maxLength: 1024 + type: string + type: object + queryParams: + description: QueryParams specifies HTTP query parameter + matchers. Multiple match values are ANDed together, + meaning, a request must match all the specified query + parameters to select the route. + items: + description: HTTPQueryParamMatch describes how to select + a HTTP route by matching HTTP query parameters. + properties: + name: + description: Name is the name of the HTTP query + param to be matched. This must be an exact string + match. (See https://tools.ietf.org/html/rfc7230#section-2.7.3). + maxLength: 256 + minLength: 1 + type: string + type: + default: Exact + description: "Type specifies how to match against + the value of the query parameter. \n Support: + Extended (Exact) \n Support: Custom (RegularExpression) + \n Since RegularExpression QueryParamMatchType + has custom conformance, implementations can support + POSIX, PCRE or any other dialects of regular expressions. + Please read the implementation's documentation + to determine the supported dialect." + enum: + - Exact + - RegularExpression + type: string + value: + description: Value is the value of HTTP query param + to be matched. + maxLength: 1024 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + maxItems: 8 + type: array + type: object + maxItems: 16 + type: array + type: object + status: + description: Status defines the current state of HTTPRoute. + properties: + parents: + description: "Parents is a list of parent resources (usually Gateways) + that are associated with the route, and the status of the route + with respect to each parent. When this route attaches to a parent, + the controller that manages the parent must add an entry to this + list when the controller first sees the route and should update + the entry as appropriate when the route or gateway is modified. + \n Note that parent references that cannot be resolved by an implementation + of this API will not be added to this list. Implementations of this + API can only populate Route status for the Gateways/parent resources + they are responsible for. \n A maximum of 32 Gateways will be represented + in this list. An empty list means the route has not been attached + to any Gateway." + items: + description: RouteParentStatus describes the status of a route with + respect to an associated Parent. + properties: + conditions: + description: "Conditions describes the status of the route with + respect to the Gateway. Note that the route's availability + is also subject to the Gateway's own status conditions and + listener status. \n If the Route's ParentRef specifies an + existing Gateway that supports Routes of this kind AND that + Gateway's controller has sufficient access, then that Gateway's + controller MUST set the \"Accepted\" condition on the Route, + to indicate whether the route has been accepted or rejected + by the Gateway, and why. \n A Route MUST be considered \"Accepted\" + if at least one of the Route's rules is implemented by the + Gateway. \n There are a number of cases where the \"Accepted\" + condition may not be set due to lack of controller visibility, + that includes when: \n * The Route refers to a non-existent + parent. * The Route is of a type that the controller does + not support. * The Route is in a namespace the the controller + does not have access to." + items: + description: "Condition contains details for one aspect of + the current state of this API Resource. --- This struct + is intended for direct use as an array at the field path + .status.conditions. For example, type FooStatus struct{ + \ // Represents the observations of a foo's current state. + \ // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // + +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should + be when the underlying condition changed. If that is + not known, then using the time when the API field changed + is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, + if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the + current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier + indicating the reason for the condition's last transition. + Producers of specific condition types may define expected + values and meanings for this field, and whether the + values are considered a guaranteed API. The value should + be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across + resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability + to deconflict is important. The regex it matches is + (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controllerName: + description: "ControllerName is a domain/path string that indicates + the name of the controller that wrote this status. This corresponds + with the controllerName field on GatewayClass. \n Example: + \"example.net/gateway-controller\". \n The format of this + field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid + Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + \n Controllers MUST populate this field when writing status. + Controllers should ensure that entries to status populated + with their ControllerName are cleaned up when they are no + longer necessary." + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + parentRef: + description: ParentRef corresponds with a ParentRef in the spec + that this RouteParentStatus struct describes the status of. + properties: + group: + default: gateway.networking.k8s.io + description: "Group is the group of the referent. \n Support: + Core" + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: "Kind is kind of the referent. \n Support: + Core (Gateway) Support: Custom (Other Resources)" + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: "Name is the name of the referent. \n Support: + Core" + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the referent. + When unspecified (or empty string), this refers to the + local namespace of the Route. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: "Port is the network port this Route targets. + It can be interpreted differently based on the type of + parent resource. \n When the parent resource is a Gateway, + this targets all listeners listening on the specified + port that also support this kind of Route(and select this + Route). It's not recommended to set `Port` unless the + networking behaviors specified in a Route must apply to + a specific port as opposed to a listener(s) whose port(s) + may be changed. When both Port and SectionName are specified, + the name and port of the selected listener must match + both specified values. \n Implementations MAY choose to + support other parent resources. Implementations supporting + other types of parent resources MUST clearly document + how/if Port is interpreted. \n For the purpose of status, + an attachment is considered successful as long as the + parent resource accepts it partially. For example, Gateway + listeners can restrict which Routes can attach to them + by Route kind, namespace, or hostname. If 1 of 2 Gateway + listeners accept attachment from the referencing Route, + the Route MUST be considered successfully attached. If + no Gateway listeners accept attachment from this Route, + the Route MUST be considered detached from the Gateway. + \n Support: Extended \n " + format: int32 + maximum: 65535 + minimum: 1 + type: integer + sectionName: + description: "SectionName is the name of a section within + the target resource. In the following resources, SectionName + is interpreted as the following: \n * Gateway: Listener + Name. When both Port (experimental) and SectionName are + specified, the name and port of the selected listener + must match both specified values. \n Implementations MAY + choose to support attaching Routes to other resources. + If that is the case, they MUST clearly document how SectionName + is interpreted. \n When unspecified (empty string), this + will reference the entire resource. For the purpose of + status, an attachment is considered successful if at least + one section in the parent resource accepts it. For example, + Gateway listeners can restrict which Routes can attach + to them by Route kind, namespace, or hostname. If 1 of + 2 Gateway listeners accept attachment from the referencing + Route, the Route MUST be considered successfully attached. + If no Gateway listeners accept attachment from this Route, + the Route MUST be considered detached from the Gateway. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + required: + - controllerName + - parentRef + type: object + maxItems: 32 + type: array + required: + - parents + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index 85a0613078..f1f648e77e 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -1,8 +1,4 @@ resources: -- standard/gateway.networking.k8s.io_gatewayclasses.yaml -- standard/gateway.networking.k8s.io_gateways.yaml -- standard/gateway.networking.k8s.io_httproutes.yaml -- standard/gateway.networking.k8s.io_referencegrants.yaml -- standard/gateway.networking.k8s.io_tcproutes.yaml -- standard/gateway.networking.k8s.io_tlsroutes.yaml -- standard/gateway.networking.k8s.io_udproutes.yaml +- gateway.networking.k8s.io_gatewayclasses.yaml +- gateway.networking.k8s.io_gateways.yaml +- gateway.networking.k8s.io_httproutes.yaml \ No newline at end of file diff --git a/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml b/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml index addb458c21..9426382317 100644 --- a/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml +++ b/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml @@ -221,6 +221,207 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.controllerName + name: Controller + type: string + - jsonPath: .status.conditions[?(@.type=="Accepted")].status + name: Accepted + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + - jsonPath: .spec.description + name: Description + priority: 1 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: "GatewayClass describes a class of Gateways available to the + user for creating Gateway resources. \n It is recommended that this resource + be used as a template for Gateways. This means that a Gateway is based on + the state of the GatewayClass at the time it was created and changes to + the GatewayClass or associated parameters are not propagated down to existing + Gateways. This recommendation is intended to limit the blast radius of changes + to GatewayClass or associated parameters. If implementations choose to propagate + GatewayClass changes to existing Gateways, that MUST be clearly documented + by the implementation. \n Whenever one or more Gateways are using a GatewayClass, + implementations MUST add the `gateway-exists-finalizer.gateway.networking.k8s.io` + finalizer on the associated GatewayClass. This ensures that a GatewayClass + associated with a Gateway is not deleted while in use. \n GatewayClass is + a Cluster level resource." + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of GatewayClass. + properties: + controllerName: + description: "ControllerName is the name of the controller that is + managing Gateways of this class. The value of this field MUST be + a domain prefixed path. \n Example: \"example.net/gateway-controller\". + \n This field is not mutable and cannot be empty. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + description: + description: Description helps describe a GatewayClass with more details. + maxLength: 64 + type: string + parametersRef: + description: "ParametersRef is a reference to a resource that contains + the configuration parameters corresponding to the GatewayClass. + This is optional if the controller does not require any additional + configuration. \n ParametersRef can reference a standard Kubernetes + resource, i.e. ConfigMap, or an implementation-specific custom resource. + The resource can be cluster-scoped or namespace-scoped. \n If the + referent cannot be found, the GatewayClass's \"InvalidParameters\" + status condition will be true. \n Support: Custom" + properties: + group: + description: Group is the group of the referent. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: Namespace is the namespace of the referent. This + field is required when referring to a Namespace-scoped resource + and MUST be unset when referring to a Cluster-scoped resource. + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - group + - kind + - name + type: object + required: + - controllerName + type: object + status: + default: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: Waiting + status: Unknown + type: Accepted + description: Status defines the current state of GatewayClass. + properties: + conditions: + default: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: Waiting + status: Unknown + type: Accepted + description: "Conditions is the current status from the controller + for this GatewayClass. \n Controllers should prefer to publish conditions + using values of GatewayClassConditionType for the type of each Condition." + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: + \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // +listMapKey=type + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/standard/gateway.networking.k8s.io_gateways.yaml b/config/crd/standard/gateway.networking.k8s.io_gateways.yaml index 7356c0c5bb..93e9290867 100644 --- a/config/crd/standard/gateway.networking.k8s.io_gateways.yaml +++ b/config/crd/standard/gateway.networking.k8s.io_gateways.yaml @@ -714,6 +714,694 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.gatewayClassName + name: Class + type: string + - jsonPath: .status.addresses[*].value + name: Address + type: string + - jsonPath: .status.conditions[?(@.type=="Ready")].status + name: Ready + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: Gateway represents an instance of a service-traffic handling + infrastructure by binding Listeners to a set of IP addresses. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of Gateway. + properties: + addresses: + description: "Addresses requested for this Gateway. This is optional + and behavior can depend on the implementation. If a value is set + in the spec and the requested address is invalid or unavailable, + the implementation MUST indicate this in the associated entry in + GatewayStatus.Addresses. \n The Addresses field represents a request + for the address(es) on the \"outside of the Gateway\", that traffic + bound for this Gateway will use. This could be the IP address or + hostname of an external load balancer or other networking infrastructure, + or some other address that traffic will be sent to. \n The .listener.hostname + field is used to route traffic that has already arrived at the Gateway + to the correct in-cluster destination. \n If no Addresses are specified, + the implementation MAY schedule the Gateway in an implementation-specific + manner, assigning an appropriate set of Addresses. \n The implementation + MUST bind all Listeners to every GatewayAddress that it assigns + to the Gateway and add a corresponding entry in GatewayStatus.Addresses. + \n Support: Extended" + items: + description: GatewayAddress describes an address that can be bound + to a Gateway. + properties: + type: + default: IPAddress + description: Type of the address. + type: string + value: + description: "Value of the address. The validity of the values + will depend on the type and support by the controller. \n + Examples: `1.2.3.4`, `128::1`, `my-ip-address`." + maxLength: 253 + minLength: 1 + type: string + required: + - value + type: object + maxItems: 16 + type: array + gatewayClassName: + description: GatewayClassName used for this Gateway. This is the name + of a GatewayClass resource. + maxLength: 253 + minLength: 1 + type: string + listeners: + description: "Listeners associated with this Gateway. Listeners define + logical endpoints that are bound on this Gateway's addresses. At + least one Listener MUST be specified. \n Each listener in a Gateway + must have a unique combination of Hostname, Port, and Protocol. + \n An implementation MAY group Listeners by Port and then collapse + each group of Listeners into a single Listener if the implementation + determines that the Listeners in the group are \"compatible\". An + implementation MAY also group together and collapse compatible Listeners + belonging to different Gateways. \n For example, an implementation + might consider Listeners to be compatible with each other if all + of the following conditions are met: \n 1. Either each Listener + within the group specifies the \"HTTP\" Protocol or each Listener + within the group specifies either the \"HTTPS\" or \"TLS\" Protocol. + \n 2. Each Listener within the group specifies a Hostname that is + unique within the group. \n 3. As a special case, one Listener + within a group may omit Hostname, in which case this Listener + matches when no other Listener matches. \n If the implementation + does collapse compatible Listeners, the hostname provided in the + incoming client request MUST be matched to a Listener to find the + correct set of Routes. The incoming hostname MUST be matched using + the Hostname field for each Listener in order of most to least specific. + That is, exact matches must be processed before wildcard matches. + \n If this field specifies multiple Listeners that have the same + Port value but are not compatible, the implementation must raise + a \"Conflicted\" condition in the Listener status. \n Support: Core" + items: + description: Listener embodies the concept of a logical endpoint + where a Gateway accepts network connections. + properties: + allowedRoutes: + default: + namespaces: + from: Same + description: "AllowedRoutes defines the types of routes that + MAY be attached to a Listener and the trusted namespaces where + those Route resources MAY be present. \n Although a client + request may match multiple route rules, only one rule may + ultimately receive the request. Matching precedence MUST be + determined in order of the following criteria: \n * The most + specific match as defined by the Route type. * The oldest + Route based on creation timestamp. For example, a Route with + \ a creation timestamp of \"2020-09-08 01:02:03\" is given + precedence over a Route with a creation timestamp of \"2020-09-08 + 01:02:04\". * If everything else is equivalent, the Route + appearing first in alphabetical order (namespace/name) should + be given precedence. For example, foo/bar is given precedence + over foo/baz. \n All valid rules within a Route attached to + this Listener should be implemented. Invalid Route rules can + be ignored (sometimes that will mean the full Route). If a + Route rule transitions from valid to invalid, support for + that Route rule should be dropped to ensure consistency. For + example, even if a filter specified by a Route rule is invalid, + the rest of the rules within that Route should still be supported. + \n Support: Core" + properties: + kinds: + description: "Kinds specifies the groups and kinds of Routes + that are allowed to bind to this Gateway Listener. When + unspecified or empty, the kinds of Routes selected are + determined using the Listener protocol. \n A RouteGroupKind + MUST correspond to kinds of Routes that are compatible + with the application protocol specified in the Listener's + Protocol field. If an implementation does not support + or recognize this resource type, it MUST set the \"ResolvedRefs\" + condition to False for this Listener with the \"InvalidRouteKinds\" + reason. \n Support: Core" + items: + description: RouteGroupKind indicates the group and kind + of a Route resource. + properties: + group: + default: gateway.networking.k8s.io + description: Group is the group of the Route. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is the kind of the Route. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + required: + - kind + type: object + maxItems: 8 + type: array + namespaces: + default: + from: Same + description: "Namespaces indicates namespaces from which + Routes may be attached to this Listener. This is restricted + to the namespace of this Gateway by default. \n Support: + Core" + properties: + from: + default: Same + description: "From indicates where Routes will be selected + for this Gateway. Possible values are: * All: Routes + in all namespaces may be used by this Gateway. * Selector: + Routes in namespaces selected by the selector may + be used by this Gateway. * Same: Only Routes in + the same namespace may be used by this Gateway. \n + Support: Core" + enum: + - All + - Selector + - Same + type: string + selector: + description: "Selector must be specified when From is + set to \"Selector\". In that case, only Routes in + Namespaces matching this Selector will be selected + by this Gateway. This field is ignored for other values + of \"From\". \n Support: Core" + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a + selector that contains values, a key, and an + operator that relates the key and values. + properties: + key: + description: key is the label key that the + selector applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are + In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. If the + operator is Exists or DoesNotExist, the + values array must be empty. This array is + replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, + whose key field is "key", the operator is "In", + and the values array contains only "value". The + requirements are ANDed. + type: object + type: object + type: object + type: object + hostname: + description: "Hostname specifies the virtual hostname to match + for protocol types that define this concept. When unspecified, + all hostnames are matched. This field is ignored for protocols + that don't require hostname based matching. \n Implementations + MUST apply Hostname matching appropriately for each of the + following protocols: \n * TLS: The Listener Hostname MUST + match the SNI. * HTTP: The Listener Hostname MUST match the + Host header of the request. * HTTPS: The Listener Hostname + SHOULD match at both the TLS and HTTP protocol layers as + described above. If an implementation does not ensure that + both the SNI and Host header match the Listener hostname, + \ it MUST clearly document that. \n For HTTPRoute and TLSRoute + resources, there is an interaction with the `spec.hostnames` + array. When both listener and route specify hostnames, there + MUST be an intersection between the values for a Route to + be accepted. For more information, refer to the Route specific + Hostnames documentation. \n Hostnames that are prefixed with + a wildcard label (`*.`) are interpreted as a suffix match. + That means that a match for `*.example.com` would match both + `test.example.com`, and `foo.test.example.com`, but not `example.com`. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + name: + description: "Name is the name of the Listener. This name MUST + be unique within a Gateway. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + port: + description: "Port is the network port. Multiple listeners may + use the same port, subject to the Listener compatibility rules. + \n Support: Core" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: "Protocol specifies the network protocol this listener + expects to receive. \n Support: Core" + maxLength: 255 + minLength: 1 + pattern: ^[a-zA-Z0-9]([-a-zSA-Z0-9]*[a-zA-Z0-9])?$|[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9]+$ + type: string + tls: + description: "TLS is the TLS configuration for the Listener. + This field is required if the Protocol field is \"HTTPS\" + or \"TLS\". It is invalid to set this field if the Protocol + field is \"HTTP\", \"TCP\", or \"UDP\". \n The association + of SNIs to Certificate defined in GatewayTLSConfig is defined + based on the Hostname field for this listener. \n The GatewayClass + MUST use the longest matching SNI out of all available certificates + for any TLS handshake. \n Support: Core" + properties: + certificateRefs: + description: "CertificateRefs contains a series of references + to Kubernetes objects that contains TLS certificates and + private keys. These certificates are used to establish + a TLS handshake for requests that match the hostname of + the associated listener. \n A single CertificateRef to + a Kubernetes Secret has \"Core\" support. Implementations + MAY choose to support attaching multiple certificates + to a Listener, but this behavior is implementation-specific. + \n References to a resource in different namespace are + invalid UNLESS there is a ReferenceGrant in the target + namespace that allows the certificate to be attached. + If a ReferenceGrant does not allow this reference, the + \"ResolvedRefs\" condition MUST be set to False for this + listener with the \"InvalidCertificateRef\" reason. \n + This field is required to have at least one element when + the mode is set to \"Terminate\" (default) and is optional + otherwise. \n CertificateRefs can reference to standard + Kubernetes resources, i.e. Secret, or implementation-specific + custom resources. \n Support: Core - A single reference + to a Kubernetes Secret of type kubernetes.io/tls \n Support: + Implementation-specific (More than one reference or other + resource types)" + items: + description: "SecretObjectReference identifies an API + object including its namespace, defaulting to Secret. + \n The API object must be valid in the cluster; the + Group and Kind must be registered in the cluster for + this reference to be valid. \n References to objects + with invalid Group and Kind are not valid, and must + be rejected by the implementation, with appropriate + Conditions set on the containing object." + properties: + group: + default: "" + description: Group is the group of the referent. For + example, "networking.k8s.io". When unspecified (empty + string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Secret + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the backend. + When unspecified, the local namespace is inferred. + \n Note that when a namespace is specified, a ReferenceGrant + object is required in the referent namespace to + allow that namespace's owner to accept the reference. + See the ReferenceGrant documentation for details. + \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + maxItems: 64 + type: array + mode: + default: Terminate + description: "Mode defines the TLS behavior for the TLS + session initiated by the client. There are two possible + modes: \n - Terminate: The TLS session between the downstream + client and the Gateway is terminated at the Gateway. + This mode requires certificateRefs to be set and contain + at least one element. - Passthrough: The TLS session is + NOT terminated by the Gateway. This implies that the + Gateway can't decipher the TLS stream except for the + ClientHello message of the TLS protocol. CertificateRefs + field is ignored in this mode. \n Support: Core" + enum: + - Terminate + - Passthrough + type: string + options: + additionalProperties: + description: AnnotationValue is the value of an annotation + in Gateway API. This is used for validation of maps + such as TLS options. This roughly matches Kubernetes + annotation validation, although the length validation + in that case is based on the entire size of the annotations + struct. + maxLength: 4096 + minLength: 0 + type: string + description: "Options are a list of key/value pairs to enable + extended TLS configuration for each implementation. For + example, configuring the minimum TLS version or supported + cipher suites. \n A set of common keys MAY be defined + by the API in the future. To avoid any ambiguity, implementation-specific + definitions MUST use domain-prefixed names, such as `example.com/my-custom-option`. + Un-prefixed names are reserved for key names defined by + Gateway API. \n Support: Implementation-specific" + maxProperties: 16 + type: object + type: object + required: + - name + - port + - protocol + type: object + maxItems: 64 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - gatewayClassName + - listeners + type: object + status: + default: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: NotReconciled + status: Unknown + type: Scheduled + description: Status defines the current state of Gateway. + properties: + addresses: + description: Addresses lists the IP addresses that have actually been + bound to the Gateway. These addresses may differ from the addresses + in the Spec, e.g. if the Gateway automatically assigns an address + from a reserved pool. + items: + description: GatewayAddress describes an address that can be bound + to a Gateway. + properties: + type: + default: IPAddress + description: Type of the address. + type: string + value: + description: "Value of the address. The validity of the values + will depend on the type and support by the controller. \n + Examples: `1.2.3.4`, `128::1`, `my-ip-address`." + maxLength: 253 + minLength: 1 + type: string + required: + - value + type: object + maxItems: 16 + type: array + conditions: + default: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: Waiting for controller + reason: NotReconciled + status: Unknown + type: Scheduled + description: "Conditions describe the current conditions of the Gateway. + \n Implementations should prefer to express Gateway conditions using + the `GatewayConditionType` and `GatewayConditionReason` constants + so that operators and tools can converge on a common vocabulary + to describe Gateway state. \n Known condition types are: \n * \"Scheduled\" + * \"Ready\"" + items: + description: "Condition contains details for one aspect of the current + state of this API Resource. --- This struct is intended for direct + use as an array at the field path .status.conditions. For example, + type FooStatus struct{ // Represents the observations of a + foo's current state. // Known .status.conditions.type are: + \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // +listMapKey=type + \ Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should be when + the underlying condition changed. If that is not known, then + using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, if .metadata.generation + is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the current + state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier indicating + the reason for the condition's last transition. Producers + of specific condition types may define expected values and + meanings for this field, and whether the values are considered + a guaranteed API. The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across resources + like Available, but because arbitrary conditions can be useful + (see .node.status.conditions), the ability to deconflict is + important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + listeners: + description: Listeners provide status for each unique listener port + defined in the Spec. + items: + description: ListenerStatus is the status associated with a Listener. + properties: + attachedRoutes: + description: AttachedRoutes represents the total number of Routes + that have been successfully attached to this Listener. + format: int32 + type: integer + conditions: + description: Conditions describe the current condition of this + listener. + items: + description: "Condition contains details for one aspect of + the current state of this API Resource. --- This struct + is intended for direct use as an array at the field path + .status.conditions. For example, type FooStatus struct{ + \ // Represents the observations of a foo's current state. + \ // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // + +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should + be when the underlying condition changed. If that is + not known, then using the time when the API field changed + is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, + if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the + current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier + indicating the reason for the condition's last transition. + Producers of specific condition types may define expected + values and meanings for this field, and whether the + values are considered a guaranteed API. The value should + be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across + resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability + to deconflict is important. The regex it matches is + (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: Name is the name of the Listener that this status + corresponds to. + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + supportedKinds: + description: "SupportedKinds is the list indicating the Kinds + supported by this listener. This MUST represent the kinds + an implementation supports for that Listener configuration. + \n If kinds are specified in Spec that are not supported, + they MUST NOT appear in this list and an implementation MUST + set the \"ResolvedRefs\" condition to \"False\" with the \"InvalidRouteKinds\" + reason. If both valid and invalid Route kinds are specified, + the implementation MUST reference the valid Route kinds that + have been specified." + items: + description: RouteGroupKind indicates the group and kind of + a Route resource. + properties: + group: + default: gateway.networking.k8s.io + description: Group is the group of the Route. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is the kind of the Route. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + required: + - kind + type: object + maxItems: 8 + type: array + required: + - attachedRoutes + - conditions + - name + - supportedKinds + type: object + maxItems: 64 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml b/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml index e5abe435ec..49483b8c87 100644 --- a/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml +++ b/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml @@ -1305,6 +1305,1293 @@ spec: storage: true subresources: status: {} + - additionalPrinterColumns: + - jsonPath: .spec.hostnames + name: Hostnames + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + schema: + openAPIV3Schema: + description: HTTPRoute provides a way to route HTTP requests. This includes + the capability to match requests by hostname, path, header, or query param. + Filters can be used to specify additional processing steps. Backends specify + where matching requests should be routed. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of HTTPRoute. + properties: + hostnames: + description: "Hostnames defines a set of hostname that should match + against the HTTP Host header to select a HTTPRoute to process the + request. This matches the RFC 1123 definition of a hostname with + 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname may + be prefixed with a wildcard label (`*.`). The wildcard label + must appear by itself as the first label. \n If a hostname is specified + by both the Listener and HTTPRoute, there must be at least one intersecting + hostname for the HTTPRoute to be attached to the Listener. For example: + \n * A Listener with `test.example.com` as the hostname matches + HTTPRoutes that have either not specified any hostnames, or have + specified at least one of `test.example.com` or `*.example.com`. + * A Listener with `*.example.com` as the hostname matches HTTPRoutes + \ that have either not specified any hostnames or have specified + at least one hostname that matches the Listener hostname. For + example, `*.example.com`, `test.example.com`, and `foo.test.example.com` + would all match. On the other hand, `example.com` and `test.example.net` + would not match. \n Hostnames that are prefixed with a wildcard + label (`*.`) are interpreted as a suffix match. That means that + a match for `*.example.com` would match both `test.example.com`, + and `foo.test.example.com`, but not `example.com`. \n If both the + Listener and HTTPRoute have specified hostnames, any HTTPRoute hostnames + that do not match the Listener hostname MUST be ignored. For example, + if a Listener specified `*.example.com`, and the HTTPRoute specified + `test.example.com` and `test.example.net`, `test.example.net` must + not be considered for a match. \n If both the Listener and HTTPRoute + have specified hostnames, and none match with the criteria above, + then the HTTPRoute is not accepted. The implementation must raise + an 'Accepted' Condition with a status of `False` in the corresponding + RouteParentStatus. \n Support: Core" + items: + description: "Hostname is the fully qualified domain name of a network + host. This matches the RFC 1123 definition of a hostname with + 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname + may be prefixed with a wildcard label (`*.`). The wildcard label + must appear by itself as the first label. \n Hostname can be \"precise\" + which is a domain name without the terminating dot of a network + host (e.g. \"foo.example.com\") or \"wildcard\", which is a domain + name prefixed with a single wildcard label (e.g. `*.example.com`). + \n Note that as per RFC1035 and RFC1123, a *label* must consist + of lower case alphanumeric characters or '-', and must start and + end with an alphanumeric character. No other punctuation is allowed." + maxLength: 253 + minLength: 1 + pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + maxItems: 16 + type: array + parentRefs: + description: "ParentRefs references the resources (usually Gateways) + that a Route wants to be attached to. Note that the referenced parent + resource needs to allow this for the attachment to be complete. + For Gateways, that means the Gateway needs to allow attachment from + Routes of this kind and namespace. \n The only kind of parent resource + with \"Core\" support is Gateway. This API may be extended in the + future to support additional kinds of parent resources such as one + of the route kinds. \n It is invalid to reference an identical parent + more than once. It is valid to reference multiple distinct sections + within the same parent resource, such as 2 Listeners within a Gateway. + \n It is possible to separately reference multiple distinct objects + that may be collapsed by an implementation. For example, some implementations + may choose to merge compatible Gateway Listeners together. If that + is the case, the list of routes attached to those resources should + also be merged." + items: + description: "ParentReference identifies an API object (usually + a Gateway) that can be considered a parent of this resource (usually + a route). The only kind of parent resource with \"Core\" support + is Gateway. This API may be extended in the future to support + additional kinds of parent resources, such as HTTPRoute. \n The + API object must be valid in the cluster; the Group and Kind must + be registered in the cluster for this reference to be valid." + properties: + group: + default: gateway.networking.k8s.io + description: "Group is the group of the referent. \n Support: + Core" + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: "Kind is kind of the referent. \n Support: Core + (Gateway) Support: Custom (Other Resources)" + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: "Name is the name of the referent. \n Support: + Core" + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the referent. When + unspecified (or empty string), this refers to the local namespace + of the Route. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + sectionName: + description: "SectionName is the name of a section within the + target resource. In the following resources, SectionName is + interpreted as the following: \n * Gateway: Listener Name. + When both Port (experimental) and SectionName are specified, + the name and port of the selected listener must match both + specified values. \n Implementations MAY choose to support + attaching Routes to other resources. If that is the case, + they MUST clearly document how SectionName is interpreted. + \n When unspecified (empty string), this will reference the + entire resource. For the purpose of status, an attachment + is considered successful if at least one section in the parent + resource accepts it. For example, Gateway listeners can restrict + which Routes can attach to them by Route kind, namespace, + or hostname. If 1 of 2 Gateway listeners accept attachment + from the referencing Route, the Route MUST be considered successfully + attached. If no Gateway listeners accept attachment from this + Route, the Route MUST be considered detached from the Gateway. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + maxItems: 32 + type: array + rules: + default: + - matches: + - path: + type: PathPrefix + value: / + description: Rules are a list of HTTP matchers, filters and actions. + items: + description: HTTPRouteRule defines semantics for matching an HTTP + request based on conditions (matches), processing it (filters), + and forwarding the request to an API object (backendRefs). + properties: + backendRefs: + description: "BackendRefs defines the backend(s) where matching + requests should be sent. \n A 404 status code MUST be returned + if there are no BackendRefs or filters specified that would + result in a response being sent. \n A BackendRef is considered + invalid when it refers to: \n * an unknown or unsupported + kind of resource * a resource that does not exist * a resource + in another namespace when the reference has not been explicitly + allowed by a ReferenceGrant (or equivalent concept). \n When + a BackendRef is invalid, 404 status codes MUST be returned + for requests that would have otherwise been routed to an invalid + backend. If multiple backends are specified, and some are + invalid, the proportion of requests that would otherwise have + been routed to an invalid backend MUST receive a 404 status + code. \n When a BackendRef refers to a Service that has no + ready endpoints, it is recommended to return a 503 status + code. \n Support: Core for Kubernetes Service Support: Custom + for any other resource \n Support for weight: Core" + items: + description: HTTPBackendRef defines how a HTTPRoute should + forward an HTTP request. + properties: + filters: + description: "Filters defined at this level should be + executed if and only if the request is being forwarded + to the backend defined here. \n Support: Custom (For + broader support of filters, use the Filters field in + HTTPRouteRule.)" + items: + description: HTTPRouteFilter defines processing steps + that must be completed during the request or response + lifecycle. HTTPRouteFilters are meant as an extension + point to express processing that may be done in Gateway + implementations. Some examples include request or + response modification, implementing authentication + strategies, rate-limiting, and traffic shaping. API + guarantee/conformance is defined based on the type + of the filter. + properties: + extensionRef: + description: "ExtensionRef is an optional, implementation-specific + extension to the \"filter\" behavior. For example, + resource \"myroutefilter\" in group \"networking.example.net\"). + ExtensionRef MUST NOT be used for core and extended + filters. \n Support: Implementation-specific" + properties: + group: + description: Group is the group of the referent. + For example, "networking.k8s.io". When unspecified + (empty string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For + example "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + requestHeaderModifier: + description: "RequestHeaderModifier defines a schema + for a filter that modifies request headers. \n + Support: Core" + properties: + add: + description: "Add adds the given header(s) (name, + value) to the request before the action. It + appends to any existing values associated + with the header name. \n Input: GET /foo + HTTP/1.1 my-header: foo \n Config: add: + \ - name: \"my-header\" value: \"bar\" + \n Output: GET /foo HTTP/1.1 my-header: + foo my-header: bar" + items: + description: HTTPHeader represents an HTTP + Header name and value as defined by RFC + 7230. + properties: + name: + description: "Name is the name of the + HTTP Header to be matched. Name matching + MUST be case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an + equivalent name MUST be considered for + a match. Subsequent entries with an + equivalent header name MUST be ignored. + Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP + Header to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + remove: + description: "Remove the given header(s) from + the HTTP request before the action. The value + of Remove is a list of HTTP header names. + Note that the header names are case-insensitive + (see https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). + \n Input: GET /foo HTTP/1.1 my-header1: + foo my-header2: bar my-header3: baz \n + Config: remove: [\"my-header1\", \"my-header3\"] + \n Output: GET /foo HTTP/1.1 my-header2: + bar" + items: + type: string + maxItems: 16 + type: array + set: + description: "Set overwrites the request with + the given header (name, value) before the + action. \n Input: GET /foo HTTP/1.1 my-header: + foo \n Config: set: - name: \"my-header\" + \ value: \"bar\" \n Output: GET /foo + HTTP/1.1 my-header: bar" + items: + description: HTTPHeader represents an HTTP + Header name and value as defined by RFC + 7230. + properties: + name: + description: "Name is the name of the + HTTP Header to be matched. Name matching + MUST be case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an + equivalent name MUST be considered for + a match. Subsequent entries with an + equivalent header name MUST be ignored. + Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP + Header to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + requestMirror: + description: "RequestMirror defines a schema for + a filter that mirrors requests. Requests are sent + to the specified destination, but responses from + that destination are ignored. \n Support: Extended" + properties: + backendRef: + description: "BackendRef references a resource + where mirrored requests are sent. \n If the + referent cannot be found, this BackendRef + is invalid and must be dropped from the Gateway. + The controller must ensure the \"ResolvedRefs\" + condition on the Route status is set to `status: + False` and not configure this backend in the + underlying implementation. \n If there is + a cross-namespace reference to an *existing* + object that is not allowed by a ReferenceGrant, + the controller must ensure the \"ResolvedRefs\" + \ condition on the Route is set to `status: + False`, with the \"RefNotPermitted\" reason + and not configure this backend in the underlying + implementation. \n In either error case, the + Message of the `ResolvedRefs` Condition should + be used to provide more detail about the problem. + \n Support: Extended for Kubernetes Service + Support: Custom for any other resource" + properties: + group: + default: "" + description: Group is the group of the referent. + For example, "networking.k8s.io". When + unspecified (empty string), core API group + is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. + For example "HTTPRoute" or "Service". + Defaults to "Service" when not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace + of the backend. When unspecified, the + local namespace is inferred. \n Note that + when a namespace is specified, a ReferenceGrant + object is required in the referent namespace + to allow that namespace's owner to accept + the reference. See the ReferenceGrant + documentation for details. \n Support: + Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination + port number to use for this resource. + Port is required when the referent is + a Kubernetes Service. For other resources, + destination port might be derived from + the referent resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + required: + - name + type: object + required: + - backendRef + type: object + requestRedirect: + description: "RequestRedirect defines a schema for + a filter that responds to the request with an + HTTP redirection. \n Support: Core" + properties: + hostname: + description: "Hostname is the hostname to be + used in the value of the `Location` header + in the response. When empty, the hostname + of the request is used. \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + port: + description: "Port is the port to be used in + the value of the `Location` header in the + response. When empty, port (if specified) + of the request is used. \n Support: Extended" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + scheme: + description: "Scheme is the scheme to be used + in the value of the `Location` header in the + response. When empty, the scheme of the request + is used. \n Support: Extended" + enum: + - http + - https + type: string + statusCode: + default: 302 + description: "StatusCode is the HTTP status + code to be used in response. \n Support: Core" + enum: + - 301 + - 302 + type: integer + type: object + type: + description: "Type identifies the type of filter + to apply. As with other API fields, types are + classified into three conformance levels: \n - + Core: Filter types and their corresponding configuration + defined by \"Support: Core\" in this package, + e.g. \"RequestHeaderModifier\". All implementations + must support core filters. \n - Extended: Filter + types and their corresponding configuration defined + by \"Support: Extended\" in this package, e.g. + \"RequestMirror\". Implementers are encouraged + to support extended filters. \n - Custom: Filters + that are defined and supported by specific vendors. + \ In the future, filters showing convergence + in behavior across multiple implementations + will be considered for inclusion in extended or + core conformance levels. Filter-specific configuration + for such filters is specified using the ExtensionRef + field. `Type` should be set to \"ExtensionRef\" + for custom filters. \n Implementers are encouraged + to define custom implementation types to extend + the core API with implementation-specific behavior. + \n If a reference to a custom filter type cannot + be resolved, the filter MUST NOT be skipped. Instead, + requests that would have been processed by that + filter MUST receive a HTTP error response. \n " + enum: + - RequestHeaderModifier + - RequestMirror + - RequestRedirect + - ExtensionRef + type: string + required: + - type + type: object + maxItems: 16 + type: array + group: + default: "" + description: Group is the group of the referent. For example, + "networking.k8s.io". When unspecified (empty string), + core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". Defaults to "Service" when + not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the backend. + When unspecified, the local namespace is inferred. \n + Note that when a namespace is specified, a ReferenceGrant + object is required in the referent namespace to allow + that namespace's owner to accept the reference. See + the ReferenceGrant documentation for details. \n Support: + Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination port number + to use for this resource. Port is required when the + referent is a Kubernetes Service. For other resources, + destination port might be derived from the referent + resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + weight: + default: 1 + description: "Weight specifies the proportion of requests + forwarded to the referenced backend. This is computed + as weight/(sum of all weights in this BackendRefs list). + For non-zero values, there may be some epsilon from + the exact proportion defined here depending on the precision + an implementation supports. Weight is not a percentage + and the sum of weights does not need to equal 100. \n + If only one backend is specified and it has a weight + greater than 0, 100% of the traffic is forwarded to + that backend. If weight is set to 0, no traffic should + be forwarded for this entry. If unspecified, weight + defaults to 1. \n Support for this field varies based + on the context where used." + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + required: + - name + type: object + maxItems: 16 + type: array + filters: + description: "Filters define the filters that are applied to + requests that match this rule. \n The effects of ordering + of multiple behaviors are currently unspecified. This can + change in the future based on feedback during the alpha stage. + \n Conformance-levels at this level are defined based on the + type of filter: \n - ALL core filters MUST be supported by + all implementations. - Implementers are encouraged to support + extended filters. - Implementation-specific custom filters + have no API guarantees across implementations. \n Specifying + a core filter multiple times has unspecified or custom conformance. + \n All filters are expected to be compatible with each other + except for the URLRewrite and RequestRedirect filters, which + may not be combined. If an implementation can not support + other combinations of filters, they must clearly document + that limitation. In all cases where incompatible or unsupported + filters are specified, implementations MUST add a warning + condition to status. \n Support: Core" + items: + description: HTTPRouteFilter defines processing steps that + must be completed during the request or response lifecycle. + HTTPRouteFilters are meant as an extension point to express + processing that may be done in Gateway implementations. + Some examples include request or response modification, + implementing authentication strategies, rate-limiting, and + traffic shaping. API guarantee/conformance is defined based + on the type of the filter. + properties: + extensionRef: + description: "ExtensionRef is an optional, implementation-specific + extension to the \"filter\" behavior. For example, + resource \"myroutefilter\" in group \"networking.example.net\"). + ExtensionRef MUST NOT be used for core and extended + filters. \n Support: Implementation-specific" + properties: + group: + description: Group is the group of the referent. For + example, "networking.k8s.io". When unspecified (empty + string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + description: Kind is kind of the referent. For example + "HTTPRoute" or "Service". + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + required: + - group + - kind + - name + type: object + requestHeaderModifier: + description: "RequestHeaderModifier defines a schema for + a filter that modifies request headers. \n Support: + Core" + properties: + add: + description: "Add adds the given header(s) (name, + value) to the request before the action. It appends + to any existing values associated with the header + name. \n Input: GET /foo HTTP/1.1 my-header: + foo \n Config: add: - name: \"my-header\" value: + \"bar\" \n Output: GET /foo HTTP/1.1 my-header: + foo my-header: bar" + items: + description: HTTPHeader represents an HTTP Header + name and value as defined by RFC 7230. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case + insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST + be ignored. Due to the case-insensitivity + of header names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP Header + to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + remove: + description: "Remove the given header(s) from the + HTTP request before the action. The value of Remove + is a list of HTTP header names. Note that the header + names are case-insensitive (see https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). + \n Input: GET /foo HTTP/1.1 my-header1: foo + \ my-header2: bar my-header3: baz \n Config: + \ remove: [\"my-header1\", \"my-header3\"] \n Output: + \ GET /foo HTTP/1.1 my-header2: bar" + items: + type: string + maxItems: 16 + type: array + set: + description: "Set overwrites the request with the + given header (name, value) before the action. \n + Input: GET /foo HTTP/1.1 my-header: foo \n Config: + \ set: - name: \"my-header\" value: \"bar\" + \n Output: GET /foo HTTP/1.1 my-header: bar" + items: + description: HTTPHeader represents an HTTP Header + name and value as defined by RFC 7230. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case + insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent + header names, the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST + be ignored. Due to the case-insensitivity + of header names, \"foo\" and \"Foo\" are considered + equivalent." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + value: + description: Value is the value of HTTP Header + to be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + requestMirror: + description: "RequestMirror defines a schema for a filter + that mirrors requests. Requests are sent to the specified + destination, but responses from that destination are + ignored. \n Support: Extended" + properties: + backendRef: + description: "BackendRef references a resource where + mirrored requests are sent. \n If the referent cannot + be found, this BackendRef is invalid and must be + dropped from the Gateway. The controller must ensure + the \"ResolvedRefs\" condition on the Route status + is set to `status: False` and not configure this + backend in the underlying implementation. \n If + there is a cross-namespace reference to an *existing* + object that is not allowed by a ReferenceGrant, + the controller must ensure the \"ResolvedRefs\" + \ condition on the Route is set to `status: False`, + with the \"RefNotPermitted\" reason and not configure + this backend in the underlying implementation. \n + In either error case, the Message of the `ResolvedRefs` + Condition should be used to provide more detail + about the problem. \n Support: Extended for Kubernetes + Service Support: Custom for any other resource" + properties: + group: + default: "" + description: Group is the group of the referent. + For example, "networking.k8s.io". When unspecified + (empty string), core API group is inferred. + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Service + description: Kind is kind of the referent. For + example "HTTPRoute" or "Service". Defaults to + "Service" when not specified. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: Name is the name of the referent. + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the + backend. When unspecified, the local namespace + is inferred. \n Note that when a namespace is + specified, a ReferenceGrant object is required + in the referent namespace to allow that namespace's + owner to accept the reference. See the ReferenceGrant + documentation for details. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + port: + description: Port specifies the destination port + number to use for this resource. Port is required + when the referent is a Kubernetes Service. For + other resources, destination port might be derived + from the referent resource or this field. + format: int32 + maximum: 65535 + minimum: 1 + type: integer + required: + - name + type: object + required: + - backendRef + type: object + requestRedirect: + description: "RequestRedirect defines a schema for a filter + that responds to the request with an HTTP redirection. + \n Support: Core" + properties: + hostname: + description: "Hostname is the hostname to be used + in the value of the `Location` header in the response. + When empty, the hostname of the request is used. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + port: + description: "Port is the port to be used in the value + of the `Location` header in the response. When empty, + port (if specified) of the request is used. \n Support: + Extended" + format: int32 + maximum: 65535 + minimum: 1 + type: integer + scheme: + description: "Scheme is the scheme to be used in the + value of the `Location` header in the response. + When empty, the scheme of the request is used. \n + Support: Extended" + enum: + - http + - https + type: string + statusCode: + default: 302 + description: "StatusCode is the HTTP status code to + be used in response. \n Support: Core" + enum: + - 301 + - 302 + type: integer + type: object + type: + description: "Type identifies the type of filter to apply. + As with other API fields, types are classified into + three conformance levels: \n - Core: Filter types and + their corresponding configuration defined by \"Support: + Core\" in this package, e.g. \"RequestHeaderModifier\". + All implementations must support core filters. \n + - Extended: Filter types and their corresponding configuration + defined by \"Support: Extended\" in this package, + e.g. \"RequestMirror\". Implementers are encouraged + to support extended filters. \n - Custom: Filters that + are defined and supported by specific vendors. In + the future, filters showing convergence in behavior + across multiple implementations will be considered + for inclusion in extended or core conformance levels. + Filter-specific configuration for such filters is + specified using the ExtensionRef field. `Type` should + be set to \"ExtensionRef\" for custom filters. \n + Implementers are encouraged to define custom implementation + types to extend the core API with implementation-specific + behavior. \n If a reference to a custom filter type + cannot be resolved, the filter MUST NOT be skipped. + Instead, requests that would have been processed by + that filter MUST receive a HTTP error response. \n " + enum: + - RequestHeaderModifier + - RequestMirror + - RequestRedirect + - ExtensionRef + type: string + required: + - type + type: object + maxItems: 16 + type: array + matches: + default: + - path: + type: PathPrefix + value: / + description: "Matches define conditions used for matching the + rule against incoming HTTP requests. Each match is independent, + i.e. this rule will be matched if **any** one of the matches + is satisfied. \n For example, take the following matches configuration: + \n ``` matches: - path: value: \"/foo\" headers: - + name: \"version\" value: \"v2\" - path: value: \"/v2/foo\" + ``` \n For a request to match against this rule, a request + must satisfy EITHER of the two conditions: \n - path prefixed + with `/foo` AND contains the header `version: v2` - path prefix + of `/v2/foo` \n See the documentation for HTTPRouteMatch on + how to specify multiple match conditions that should be ANDed + together. \n If no matches are specified, the default is a + prefix path match on \"/\", which has the effect of matching + every HTTP request. \n Proxy or Load Balancer routing configuration + generated from HTTPRoutes MUST prioritize rules based on the + following criteria, continuing on ties. Precedence must be + given to the the Rule with the largest number of: \n * Characters + in a matching non-wildcard hostname. * Characters in a matching + hostname. * Characters in a matching path. * Header matches. + * Query param matches. \n If ties still exist across multiple + Routes, matching precedence MUST be determined in order of + the following criteria, continuing on ties: \n * The oldest + Route based on creation timestamp. * The Route appearing first + in alphabetical order by \"{namespace}/{name}\". \n If ties + still exist within the Route that has been given precedence, + matching precedence MUST be granted to the first matching + rule meeting the above criteria. \n When no rules matching + a request have been successfully attached to the parent a + request is coming from, a HTTP 404 status code MUST be returned." + items: + description: "HTTPRouteMatch defines the predicate used to + match requests to a given action. Multiple match types are + ANDed together, i.e. the match will evaluate to true only + if all conditions are satisfied. \n For example, the match + below will match a HTTP request only if its path starts + with `/foo` AND it contains the `version: v1` header: \n + ``` match: path: value: \"/foo\" headers: - name: + \"version\" value \"v1\" ```" + properties: + headers: + description: Headers specifies HTTP request header matchers. + Multiple match values are ANDed together, meaning, a + request must match all the specified headers to select + the route. + items: + description: HTTPHeaderMatch describes how to select + a HTTP route by matching HTTP request headers. + properties: + name: + description: "Name is the name of the HTTP Header + to be matched. Name matching MUST be case insensitive. + (See https://tools.ietf.org/html/rfc7230#section-3.2). + \n If multiple entries specify equivalent header + names, only the first entry with an equivalent + name MUST be considered for a match. Subsequent + entries with an equivalent header name MUST be + ignored. Due to the case-insensitivity of header + names, \"foo\" and \"Foo\" are considered equivalent. + \n When a header is repeated in an HTTP request, + it is implementation-specific behavior as to how + this is represented. Generally, proxies should + follow the guidance from the RFC: https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 + regarding processing a repeated header, with special + handling for \"Set-Cookie\"." + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$ + type: string + type: + default: Exact + description: "Type specifies how to match against + the value of the header. \n Support: Core (Exact) + \n Support: Custom (RegularExpression) \n Since + RegularExpression HeaderMatchType has custom conformance, + implementations can support POSIX, PCRE or any + other dialects of regular expressions. Please + read the implementation's documentation to determine + the supported dialect." + enum: + - Exact + - RegularExpression + type: string + value: + description: Value is the value of HTTP Header to + be matched. + maxLength: 4096 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + method: + description: "Method specifies HTTP method matcher. When + specified, this route will be matched only if the request + has the specified method. \n Support: Extended" + enum: + - GET + - HEAD + - POST + - PUT + - DELETE + - CONNECT + - OPTIONS + - TRACE + - PATCH + type: string + path: + default: + type: PathPrefix + value: / + description: Path specifies a HTTP request path matcher. + If this field is not specified, a default prefix match + on the "/" path is provided. + properties: + type: + default: PathPrefix + description: "Type specifies how to match against + the path Value. \n Support: Core (Exact, PathPrefix) + \n Support: Custom (RegularExpression)" + enum: + - Exact + - PathPrefix + - RegularExpression + type: string + value: + default: / + description: Value of the HTTP path to match against. + maxLength: 1024 + type: string + type: object + queryParams: + description: QueryParams specifies HTTP query parameter + matchers. Multiple match values are ANDed together, + meaning, a request must match all the specified query + parameters to select the route. + items: + description: HTTPQueryParamMatch describes how to select + a HTTP route by matching HTTP query parameters. + properties: + name: + description: Name is the name of the HTTP query + param to be matched. This must be an exact string + match. (See https://tools.ietf.org/html/rfc7230#section-2.7.3). + maxLength: 256 + minLength: 1 + type: string + type: + default: Exact + description: "Type specifies how to match against + the value of the query parameter. \n Support: + Extended (Exact) \n Support: Custom (RegularExpression) + \n Since RegularExpression QueryParamMatchType + has custom conformance, implementations can support + POSIX, PCRE or any other dialects of regular expressions. + Please read the implementation's documentation + to determine the supported dialect." + enum: + - Exact + - RegularExpression + type: string + value: + description: Value is the value of HTTP query param + to be matched. + maxLength: 1024 + minLength: 1 + type: string + required: + - name + - value + type: object + maxItems: 16 + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + type: object + maxItems: 8 + type: array + type: object + maxItems: 16 + type: array + type: object + status: + description: Status defines the current state of HTTPRoute. + properties: + parents: + description: "Parents is a list of parent resources (usually Gateways) + that are associated with the route, and the status of the route + with respect to each parent. When this route attaches to a parent, + the controller that manages the parent must add an entry to this + list when the controller first sees the route and should update + the entry as appropriate when the route or gateway is modified. + \n Note that parent references that cannot be resolved by an implementation + of this API will not be added to this list. Implementations of this + API can only populate Route status for the Gateways/parent resources + they are responsible for. \n A maximum of 32 Gateways will be represented + in this list. An empty list means the route has not been attached + to any Gateway." + items: + description: RouteParentStatus describes the status of a route with + respect to an associated Parent. + properties: + conditions: + description: "Conditions describes the status of the route with + respect to the Gateway. Note that the route's availability + is also subject to the Gateway's own status conditions and + listener status. \n If the Route's ParentRef specifies an + existing Gateway that supports Routes of this kind AND that + Gateway's controller has sufficient access, then that Gateway's + controller MUST set the \"Accepted\" condition on the Route, + to indicate whether the route has been accepted or rejected + by the Gateway, and why. \n A Route MUST be considered \"Accepted\" + if at least one of the Route's rules is implemented by the + Gateway. \n There are a number of cases where the \"Accepted\" + condition may not be set due to lack of controller visibility, + that includes when: \n * The Route refers to a non-existent + parent. * The Route is of a type that the controller does + not support. * The Route is in a namespace the the controller + does not have access to." + items: + description: "Condition contains details for one aspect of + the current state of this API Resource. --- This struct + is intended for direct use as an array at the field path + .status.conditions. For example, type FooStatus struct{ + \ // Represents the observations of a foo's current state. + \ // Known .status.conditions.type are: \"Available\", + \"Progressing\", and \"Degraded\" // +patchMergeKey=type + \ // +patchStrategy=merge // +listType=map // + +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` + \n // other fields }" + properties: + lastTransitionTime: + description: lastTransitionTime is the last time the condition + transitioned from one status to another. This should + be when the underlying condition changed. If that is + not known, then using the time when the API field changed + is acceptable. + format: date-time + type: string + message: + description: message is a human readable message indicating + details about the transition. This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: observedGeneration represents the .metadata.generation + that the condition was set based upon. For instance, + if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration + is 9, the condition is out of date with respect to the + current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: reason contains a programmatic identifier + indicating the reason for the condition's last transition. + Producers of specific condition types may define expected + values and meanings for this field, and whether the + values are considered a guaranteed API. The value should + be a CamelCase string. This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + --- Many .condition.type values are consistent across + resources like Available, but because arbitrary conditions + can be useful (see .node.status.conditions), the ability + to deconflict is important. The regex it matches is + (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 8 + minItems: 1 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controllerName: + description: "ControllerName is a domain/path string that indicates + the name of the controller that wrote this status. This corresponds + with the controllerName field on GatewayClass. \n Example: + \"example.net/gateway-controller\". \n The format of this + field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid + Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). + \n Controllers MUST populate this field when writing status. + Controllers should ensure that entries to status populated + with their ControllerName are cleaned up when they are no + longer necessary." + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ + type: string + parentRef: + description: ParentRef corresponds with a ParentRef in the spec + that this RouteParentStatus struct describes the status of. + properties: + group: + default: gateway.networking.k8s.io + description: "Group is the group of the referent. \n Support: + Core" + maxLength: 253 + pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + kind: + default: Gateway + description: "Kind is kind of the referent. \n Support: + Core (Gateway) Support: Custom (Other Resources)" + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ + type: string + name: + description: "Name is the name of the referent. \n Support: + Core" + maxLength: 253 + minLength: 1 + type: string + namespace: + description: "Namespace is the namespace of the referent. + When unspecified (or empty string), this refers to the + local namespace of the Route. \n Support: Core" + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + sectionName: + description: "SectionName is the name of a section within + the target resource. In the following resources, SectionName + is interpreted as the following: \n * Gateway: Listener + Name. When both Port (experimental) and SectionName are + specified, the name and port of the selected listener + must match both specified values. \n Implementations MAY + choose to support attaching Routes to other resources. + If that is the case, they MUST clearly document how SectionName + is interpreted. \n When unspecified (empty string), this + will reference the entire resource. For the purpose of + status, an attachment is considered successful if at least + one section in the parent resource accepts it. For example, + Gateway listeners can restrict which Routes can attach + to them by Route kind, namespace, or hostname. If 1 of + 2 Gateway listeners accept attachment from the referencing + Route, the Route MUST be considered successfully attached. + If no Gateway listeners accept attachment from this Route, + the Route MUST be considered detached from the Gateway. + \n Support: Core" + maxLength: 253 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + type: string + required: + - name + type: object + required: + - controllerName + - parentRef + type: object + maxItems: 32 + type: array + required: + - parents + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml b/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml deleted file mode 100644 index c599fb2c06..0000000000 --- a/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml +++ /dev/null @@ -1,145 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/891 - gateway.networking.k8s.io/bundle-version: v0.5.0-dev - gateway.networking.k8s.io/channel: standard - creationTimestamp: null - name: referencegrants.gateway.networking.k8s.io -spec: - group: gateway.networking.k8s.io - names: - categories: - - gateway-api - kind: ReferenceGrant - listKind: ReferenceGrantList - plural: referencegrants - shortNames: - - refgrant - singular: referencegrant - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: "ReferenceGrant identifies kinds of resources in other namespaces - that are trusted to reference the specified kinds of resources in the same - namespace as the policy. \n Each ReferenceGrant can be used to represent - a unique trust relationship. Additional Reference Policies can be used to - add to the set of trusted sources of inbound references for the namespace - they are defined within. \n All cross-namespace references in Gateway API - (with the exception of cross-namespace Gateway-route attachment) require - a ReferenceGrant. \n Support: Core" - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: Spec defines the desired state of ReferenceGrant. - properties: - from: - description: "From describes the trusted namespaces and kinds that - can reference the resources described in \"To\". Each entry in this - list must be considered to be an additional place that references - can be valid from, or to put this another way, entries must be combined - using OR. \n Support: Core" - items: - description: ReferenceGrantFrom describes trusted namespaces and - kinds. - properties: - group: - description: "Group is the group of the referent. When empty, - the Kubernetes core API group is inferred. \n Support: Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - description: "Kind is the kind of the referent. Although implementations - may support additional resources, the following Route types - are part of the \"Core\" support level for this field: \n - * HTTPRoute * TCPRoute * TLSRoute * UDPRoute" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - namespace: - description: "Namespace is the namespace of the referent. \n - Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - group - - kind - - namespace - type: object - maxItems: 16 - minItems: 1 - type: array - to: - description: "To describes the resources that may be referenced by - the resources described in \"From\". Each entry in this list must - be considered to be an additional place that references can be valid - to, or to put this another way, entries must be combined using OR. - \n Support: Core" - items: - description: ReferenceGrantTo describes what Kinds are allowed as - targets of the references. - properties: - group: - description: "Group is the group of the referent. When empty, - the Kubernetes core API group is inferred. \n Support: Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - description: "Kind is the kind of the referent. Although implementations - may support additional resources, the following types are - part of the \"Core\" support level for this field: \n * Service" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: Name is the name of the referent. When unspecified, - this policy refers to all resources of the specified Group - and Kind in the local namespace. - maxLength: 253 - minLength: 1 - type: string - required: - - group - - kind - type: object - maxItems: 16 - minItems: 1 - type: array - required: - - from - - to - type: object - type: object - served: true - storage: true - subresources: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/standard/gateway.networking.k8s.io_referencepolicies.yaml b/config/crd/standard/gateway.networking.k8s.io_referencepolicies.yaml deleted file mode 100644 index 00915b10fa..0000000000 --- a/config/crd/standard/gateway.networking.k8s.io_referencepolicies.yaml +++ /dev/null @@ -1,145 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/891 - gateway.networking.k8s.io/bundle-version: v0.5.0-dev - gateway.networking.k8s.io/channel: standard - creationTimestamp: null - name: referencegrants.gateway.networking.k8s.io -spec: - group: gateway.networking.k8s.io - names: - categories: - - gateway-api - kind: ReferenceGrant - listKind: ReferenceGrantList - plural: referencegrants - shortNames: - - refpol - singular: referencegrant - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: "ReferenceGrant identifies kinds of resources in other namespaces - that are trusted to reference the specified kinds of resources in the same - namespace as the policy. \n Each ReferenceGrant can be used to represent - a unique trust relationship. Additional Reference Policies can be used to - add to the set of trusted sources of inbound references for the namespace - they are defined within. \n All cross-namespace references in Gateway API - (with the exception of cross-namespace Gateway-route attachment) require - a ReferenceGrant. \n Support: Core" - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: Spec defines the desired state of ReferenceGrant. - properties: - from: - description: "From describes the trusted namespaces and kinds that - can reference the resources described in \"To\". Each entry in this - list must be considered to be an additional place that references - can be valid from, or to put this another way, entries must be combined - using OR. \n Support: Core" - items: - description: ReferenceGrantFrom describes trusted namespaces and - kinds. - properties: - group: - description: "Group is the group of the referent. When empty, - the Kubernetes core API group is inferred. \n Support: Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - description: "Kind is the kind of the referent. Although implementations - may support additional resources, the following Route types - are part of the \"Core\" support level for this field: \n - * HTTPRoute * TCPRoute * TLSRoute * UDPRoute" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - namespace: - description: "Namespace is the namespace of the referent. \n - Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - group - - kind - - namespace - type: object - maxItems: 16 - minItems: 1 - type: array - to: - description: "To describes the resources that may be referenced by - the resources described in \"From\". Each entry in this list must - be considered to be an additional place that references can be valid - to, or to put this another way, entries must be combined using OR. - \n Support: Core" - items: - description: ReferenceGrantTo describes what Kinds are allowed as - targets of the references. - properties: - group: - description: "Group is the group of the referent. When empty, - the Kubernetes core API group is inferred. \n Support: Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - description: "Kind is the kind of the referent. Although implementations - may support additional resources, the following types are - part of the \"Core\" support level for this field: \n * Service" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: Name is the name of the referent. When unspecified, - this policy refers to all resources of the specified Group - and Kind in the local namespace. - maxLength: 253 - minLength: 1 - type: string - required: - - group - - kind - type: object - maxItems: 16 - minItems: 1 - type: array - required: - - from - - to - type: object - type: object - served: true - storage: true - subresources: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/standard/gateway.networking.k8s.io_tcproutes.yaml b/config/crd/standard/gateway.networking.k8s.io_tcproutes.yaml deleted file mode 100644 index a95c104db1..0000000000 --- a/config/crd/standard/gateway.networking.k8s.io_tcproutes.yaml +++ /dev/null @@ -1,438 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/891 - gateway.networking.k8s.io/bundle-version: v0.5.0-dev - gateway.networking.k8s.io/channel: standard - creationTimestamp: null - name: tcproutes.gateway.networking.k8s.io -spec: - group: gateway.networking.k8s.io - names: - categories: - - gateway-api - kind: TCPRoute - listKind: TCPRouteList - plural: tcproutes - singular: tcproute - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: TCPRoute provides a way to route TCP requests. When combined - with a Gateway listener, it can be used to forward connections on the port - specified by the listener to a set of backends specified by the TCPRoute. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: Spec defines the desired state of TCPRoute. - properties: - parentRefs: - description: "ParentRefs references the resources (usually Gateways) - that a Route wants to be attached to. Note that the referenced parent - resource needs to allow this for the attachment to be complete. - For Gateways, that means the Gateway needs to allow attachment from - Routes of this kind and namespace. \n The only kind of parent resource - with \"Core\" support is Gateway. This API may be extended in the - future to support additional kinds of parent resources such as one - of the route kinds. \n It is invalid to reference an identical parent - more than once. It is valid to reference multiple distinct sections - within the same parent resource, such as 2 Listeners within a Gateway. - \n It is possible to separately reference multiple distinct objects - that may be collapsed by an implementation. For example, some implementations - may choose to merge compatible Gateway Listeners together. If that - is the case, the list of routes attached to those resources should - also be merged." - items: - description: "ParentReference identifies an API object (usually - a Gateway) that can be considered a parent of this resource (usually - a route). The only kind of parent resource with \"Core\" support - is Gateway. This API may be extended in the future to support - additional kinds of parent resources, such as HTTPRoute. \n The - API object must be valid in the cluster; the Group and Kind must - be registered in the cluster for this reference to be valid." - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: Core - (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. When - unspecified (or empty string), this refers to the local namespace - of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within the - target resource. In the following resources, SectionName is - interpreted as the following: \n * Gateway: Listener Name. - When both Port (experimental) and SectionName are specified, - the name and port of the selected listener must match both - specified values. \n Implementations MAY choose to support - attaching Routes to other resources. If that is the case, - they MUST clearly document how SectionName is interpreted. - \n When unspecified (empty string), this will reference the - entire resource. For the purpose of status, an attachment - is considered successful if at least one section in the parent - resource accepts it. For example, Gateway listeners can restrict - which Routes can attach to them by Route kind, namespace, - or hostname. If 1 of 2 Gateway listeners accept attachment - from the referencing Route, the Route MUST be considered successfully - attached. If no Gateway listeners accept attachment from this - Route, the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - maxItems: 32 - type: array - rules: - description: Rules are a list of TCP matchers and actions. - items: - description: TCPRouteRule is the configuration for a given rule. - properties: - backendRefs: - description: "BackendRefs defines the backend(s) where matching - requests should be sent. If unspecified or invalid (refers - to a non-existent resource or a Service with no endpoints), - the underlying implementation MUST actively reject connection - attempts to this backend. Connection rejections must respect - weight; if an invalid backend is requested to have 80% of - connections, then 80% of connections must be rejected instead. - \n Support: Core for Kubernetes Service Support: Custom for - any other resource \n Support for weight: Extended" - items: - description: "BackendRef defines how a Route should forward - a request to a Kubernetes resource. \n Note that when a - namespace is specified, a ReferenceGrant object is required - in the referent namespace to allow that namespace's owner - to accept the reference. See the ReferenceGrant documentation - for details." - properties: - group: - default: "" - description: Group is the group of the referent. For example, - "networking.k8s.io". When unspecified (empty string), - core API group is inferred. - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Service - description: Kind is kind of the referent. For example - "HTTPRoute" or "Service". Defaults to "Service" when - not specified. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: Name is the name of the referent. - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the backend. - When unspecified, the local namespace is inferred. \n - Note that when a namespace is specified, a ReferenceGrant - object is required in the referent namespace to allow - that namespace's owner to accept the reference. See - the ReferenceGrant documentation for details. \n Support: - Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - description: Port specifies the destination port number - to use for this resource. Port is required when the - referent is a Kubernetes Service. For other resources, - destination port might be derived from the referent - resource or this field. - format: int32 - maximum: 65535 - minimum: 1 - type: integer - weight: - default: 1 - description: "Weight specifies the proportion of requests - forwarded to the referenced backend. This is computed - as weight/(sum of all weights in this BackendRefs list). - For non-zero values, there may be some epsilon from - the exact proportion defined here depending on the precision - an implementation supports. Weight is not a percentage - and the sum of weights does not need to equal 100. \n - If only one backend is specified and it has a weight - greater than 0, 100% of the traffic is forwarded to - that backend. If weight is set to 0, no traffic should - be forwarded for this entry. If unspecified, weight - defaults to 1. \n Support for this field varies based - on the context where used." - format: int32 - maximum: 1000000 - minimum: 0 - type: integer - required: - - name - type: object - maxItems: 16 - minItems: 1 - type: array - type: object - maxItems: 16 - minItems: 1 - type: array - required: - - rules - type: object - status: - description: Status defines the current state of TCPRoute. - properties: - parents: - description: "Parents is a list of parent resources (usually Gateways) - that are associated with the route, and the status of the route - with respect to each parent. When this route attaches to a parent, - the controller that manages the parent must add an entry to this - list when the controller first sees the route and should update - the entry as appropriate when the route or gateway is modified. - \n Note that parent references that cannot be resolved by an implementation - of this API will not be added to this list. Implementations of this - API can only populate Route status for the Gateways/parent resources - they are responsible for. \n A maximum of 32 Gateways will be represented - in this list. An empty list means the route has not been attached - to any Gateway." - items: - description: RouteParentStatus describes the status of a route with - respect to an associated Parent. - properties: - conditions: - description: "Conditions describes the status of the route with - respect to the Gateway. Note that the route's availability - is also subject to the Gateway's own status conditions and - listener status. \n If the Route's ParentRef specifies an - existing Gateway that supports Routes of this kind AND that - Gateway's controller has sufficient access, then that Gateway's - controller MUST set the \"Accepted\" condition on the Route, - to indicate whether the route has been accepted or rejected - by the Gateway, and why. \n A Route MUST be considered \"Accepted\" - if at least one of the Route's rules is implemented by the - Gateway. \n There are a number of cases where the \"Accepted\" - condition may not be set due to lack of controller visibility, - that includes when: \n * The Route refers to a non-existent - parent. * The Route is of a type that the controller does - not support. * The Route is in a namespace the the controller - does not have access to." - items: - description: "Condition contains details for one aspect of - the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, type FooStatus struct{ - \ // Represents the observations of a foo's current state. - \ // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type - \ // +patchStrategy=merge // +listType=map // - +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should - be when the underlying condition changed. If that is - not known, then using the time when the API field changed - is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, - if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the - current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value should - be a CamelCase string. This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, - Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - description: "ControllerName is a domain/path string that indicates - the name of the controller that wrote this status. This corresponds - with the controllerName field on GatewayClass. \n Example: - \"example.net/gateway-controller\". \n The format of this - field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid - Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - \n Controllers MUST populate this field when writing status. - Controllers should ensure that entries to status populated - with their ControllerName are cleaned up when they are no - longer necessary." - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ - type: string - parentRef: - description: ParentRef corresponds with a ParentRef in the spec - that this RouteParentStatus struct describes the status of. - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: - Core (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. - When unspecified (or empty string), this refers to the - local namespace of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within - the target resource. In the following resources, SectionName - is interpreted as the following: \n * Gateway: Listener - Name. When both Port (experimental) and SectionName are - specified, the name and port of the selected listener - must match both specified values. \n Implementations MAY - choose to support attaching Routes to other resources. - If that is the case, they MUST clearly document how SectionName - is interpreted. \n When unspecified (empty string), this - will reference the entire resource. For the purpose of - status, an attachment is considered successful if at least - one section in the parent resource accepts it. For example, - Gateway listeners can restrict which Routes can attach - to them by Route kind, namespace, or hostname. If 1 of - 2 Gateway listeners accept attachment from the referencing - Route, the Route MUST be considered successfully attached. - If no Gateway listeners accept attachment from this Route, - the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - required: - - controllerName - - parentRef - type: object - maxItems: 32 - type: array - required: - - parents - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/standard/gateway.networking.k8s.io_tlsroutes.yaml b/config/crd/standard/gateway.networking.k8s.io_tlsroutes.yaml deleted file mode 100644 index c762986c96..0000000000 --- a/config/crd/standard/gateway.networking.k8s.io_tlsroutes.yaml +++ /dev/null @@ -1,487 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/891 - gateway.networking.k8s.io/bundle-version: v0.5.0-dev - gateway.networking.k8s.io/channel: standard - creationTimestamp: null - name: tlsroutes.gateway.networking.k8s.io -spec: - group: gateway.networking.k8s.io - names: - categories: - - gateway-api - kind: TLSRoute - listKind: TLSRouteList - plural: tlsroutes - singular: tlsroute - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: "The TLSRoute resource is similar to TCPRoute, but can be configured - to match against TLS-specific metadata. This allows more flexibility in - matching streams for a given TLS listener. \n If you need to forward traffic - to a single target for a TLS listener, you could choose to use a TCPRoute - with a TLS listener." - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: Spec defines the desired state of TLSRoute. - properties: - hostnames: - description: "Hostnames defines a set of SNI names that should match - against the SNI attribute of TLS ClientHello message in TLS handshake. - This matches the RFC 1123 definition of a hostname with 2 notable - exceptions: \n 1. IPs are not allowed in SNI names per RFC 6066. - 2. A hostname may be prefixed with a wildcard label (`*.`). The - wildcard label must appear by itself as the first label. \n If - a hostname is specified by both the Listener and TLSRoute, there - must be at least one intersecting hostname for the TLSRoute to be - attached to the Listener. For example: \n * A Listener with `test.example.com` - as the hostname matches TLSRoutes that have either not specified - any hostnames, or have specified at least one of `test.example.com` - or `*.example.com`. * A Listener with `*.example.com` as the hostname - matches TLSRoutes that have either not specified any hostnames - or have specified at least one hostname that matches the Listener - hostname. For example, `test.example.com` and `*.example.com` - would both match. On the other hand, `example.com` and `test.example.net` - would not match. \n If both the Listener and TLSRoute have specified - hostnames, any TLSRoute hostnames that do not match the Listener - hostname MUST be ignored. For example, if a Listener specified `*.example.com`, - and the TLSRoute specified `test.example.com` and `test.example.net`, - `test.example.net` must not be considered for a match. \n If both - the Listener and TLSRoute have specified hostnames, and none match - with the criteria above, then the TLSRoute is not accepted. The - implementation must raise an 'Accepted' Condition with a status - of `False` in the corresponding RouteParentStatus. \n Support: Core" - items: - description: "Hostname is the fully qualified domain name of a network - host. This matches the RFC 1123 definition of a hostname with - 2 notable exceptions: \n 1. IPs are not allowed. 2. A hostname - may be prefixed with a wildcard label (`*.`). The wildcard label - must appear by itself as the first label. \n Hostname can be \"precise\" - which is a domain name without the terminating dot of a network - host (e.g. \"foo.example.com\") or \"wildcard\", which is a domain - name prefixed with a single wildcard label (e.g. `*.example.com`). - \n Note that as per RFC1035 and RFC1123, a *label* must consist - of lower case alphanumeric characters or '-', and must start and - end with an alphanumeric character. No other punctuation is allowed." - maxLength: 253 - minLength: 1 - pattern: ^(\*\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - maxItems: 16 - type: array - parentRefs: - description: "ParentRefs references the resources (usually Gateways) - that a Route wants to be attached to. Note that the referenced parent - resource needs to allow this for the attachment to be complete. - For Gateways, that means the Gateway needs to allow attachment from - Routes of this kind and namespace. \n The only kind of parent resource - with \"Core\" support is Gateway. This API may be extended in the - future to support additional kinds of parent resources such as one - of the route kinds. \n It is invalid to reference an identical parent - more than once. It is valid to reference multiple distinct sections - within the same parent resource, such as 2 Listeners within a Gateway. - \n It is possible to separately reference multiple distinct objects - that may be collapsed by an implementation. For example, some implementations - may choose to merge compatible Gateway Listeners together. If that - is the case, the list of routes attached to those resources should - also be merged." - items: - description: "ParentReference identifies an API object (usually - a Gateway) that can be considered a parent of this resource (usually - a route). The only kind of parent resource with \"Core\" support - is Gateway. This API may be extended in the future to support - additional kinds of parent resources, such as HTTPRoute. \n The - API object must be valid in the cluster; the Group and Kind must - be registered in the cluster for this reference to be valid." - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: Core - (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. When - unspecified (or empty string), this refers to the local namespace - of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within the - target resource. In the following resources, SectionName is - interpreted as the following: \n * Gateway: Listener Name. - When both Port (experimental) and SectionName are specified, - the name and port of the selected listener must match both - specified values. \n Implementations MAY choose to support - attaching Routes to other resources. If that is the case, - they MUST clearly document how SectionName is interpreted. - \n When unspecified (empty string), this will reference the - entire resource. For the purpose of status, an attachment - is considered successful if at least one section in the parent - resource accepts it. For example, Gateway listeners can restrict - which Routes can attach to them by Route kind, namespace, - or hostname. If 1 of 2 Gateway listeners accept attachment - from the referencing Route, the Route MUST be considered successfully - attached. If no Gateway listeners accept attachment from this - Route, the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - maxItems: 32 - type: array - rules: - description: Rules are a list of TLS matchers and actions. - items: - description: TLSRouteRule is the configuration for a given rule. - properties: - backendRefs: - description: "BackendRefs defines the backend(s) where matching - requests should be sent. If unspecified or invalid (refers - to a non-existent resource or a Service with no endpoints), - the rule performs no forwarding; if no filters are specified - that would result in a response being sent, the underlying - implementation must actively reject request attempts to this - backend, by rejecting the connection or returning a 404 status - code. Request rejections must respect weight; if an invalid - backend is requested to have 80% of requests, then 80% of - requests must be rejected instead. \n Support: Core for Kubernetes - Service Support: Custom for any other resource \n Support - for weight: Extended" - items: - description: "BackendRef defines how a Route should forward - a request to a Kubernetes resource. \n Note that when a - namespace is specified, a ReferenceGrant object is required - in the referent namespace to allow that namespace's owner - to accept the reference. See the ReferenceGrant documentation - for details." - properties: - group: - default: "" - description: Group is the group of the referent. For example, - "networking.k8s.io". When unspecified (empty string), - core API group is inferred. - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Service - description: Kind is kind of the referent. For example - "HTTPRoute" or "Service". Defaults to "Service" when - not specified. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: Name is the name of the referent. - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the backend. - When unspecified, the local namespace is inferred. \n - Note that when a namespace is specified, a ReferenceGrant - object is required in the referent namespace to allow - that namespace's owner to accept the reference. See - the ReferenceGrant documentation for details. \n Support: - Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - description: Port specifies the destination port number - to use for this resource. Port is required when the - referent is a Kubernetes Service. For other resources, - destination port might be derived from the referent - resource or this field. - format: int32 - maximum: 65535 - minimum: 1 - type: integer - weight: - default: 1 - description: "Weight specifies the proportion of requests - forwarded to the referenced backend. This is computed - as weight/(sum of all weights in this BackendRefs list). - For non-zero values, there may be some epsilon from - the exact proportion defined here depending on the precision - an implementation supports. Weight is not a percentage - and the sum of weights does not need to equal 100. \n - If only one backend is specified and it has a weight - greater than 0, 100% of the traffic is forwarded to - that backend. If weight is set to 0, no traffic should - be forwarded for this entry. If unspecified, weight - defaults to 1. \n Support for this field varies based - on the context where used." - format: int32 - maximum: 1000000 - minimum: 0 - type: integer - required: - - name - type: object - maxItems: 16 - minItems: 1 - type: array - type: object - maxItems: 16 - minItems: 1 - type: array - required: - - rules - type: object - status: - description: Status defines the current state of TLSRoute. - properties: - parents: - description: "Parents is a list of parent resources (usually Gateways) - that are associated with the route, and the status of the route - with respect to each parent. When this route attaches to a parent, - the controller that manages the parent must add an entry to this - list when the controller first sees the route and should update - the entry as appropriate when the route or gateway is modified. - \n Note that parent references that cannot be resolved by an implementation - of this API will not be added to this list. Implementations of this - API can only populate Route status for the Gateways/parent resources - they are responsible for. \n A maximum of 32 Gateways will be represented - in this list. An empty list means the route has not been attached - to any Gateway." - items: - description: RouteParentStatus describes the status of a route with - respect to an associated Parent. - properties: - conditions: - description: "Conditions describes the status of the route with - respect to the Gateway. Note that the route's availability - is also subject to the Gateway's own status conditions and - listener status. \n If the Route's ParentRef specifies an - existing Gateway that supports Routes of this kind AND that - Gateway's controller has sufficient access, then that Gateway's - controller MUST set the \"Accepted\" condition on the Route, - to indicate whether the route has been accepted or rejected - by the Gateway, and why. \n A Route MUST be considered \"Accepted\" - if at least one of the Route's rules is implemented by the - Gateway. \n There are a number of cases where the \"Accepted\" - condition may not be set due to lack of controller visibility, - that includes when: \n * The Route refers to a non-existent - parent. * The Route is of a type that the controller does - not support. * The Route is in a namespace the the controller - does not have access to." - items: - description: "Condition contains details for one aspect of - the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, type FooStatus struct{ - \ // Represents the observations of a foo's current state. - \ // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type - \ // +patchStrategy=merge // +listType=map // - +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should - be when the underlying condition changed. If that is - not known, then using the time when the API field changed - is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, - if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the - current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value should - be a CamelCase string. This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, - Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - description: "ControllerName is a domain/path string that indicates - the name of the controller that wrote this status. This corresponds - with the controllerName field on GatewayClass. \n Example: - \"example.net/gateway-controller\". \n The format of this - field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid - Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - \n Controllers MUST populate this field when writing status. - Controllers should ensure that entries to status populated - with their ControllerName are cleaned up when they are no - longer necessary." - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ - type: string - parentRef: - description: ParentRef corresponds with a ParentRef in the spec - that this RouteParentStatus struct describes the status of. - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: - Core (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. - When unspecified (or empty string), this refers to the - local namespace of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within - the target resource. In the following resources, SectionName - is interpreted as the following: \n * Gateway: Listener - Name. When both Port (experimental) and SectionName are - specified, the name and port of the selected listener - must match both specified values. \n Implementations MAY - choose to support attaching Routes to other resources. - If that is the case, they MUST clearly document how SectionName - is interpreted. \n When unspecified (empty string), this - will reference the entire resource. For the purpose of - status, an attachment is considered successful if at least - one section in the parent resource accepts it. For example, - Gateway listeners can restrict which Routes can attach - to them by Route kind, namespace, or hostname. If 1 of - 2 Gateway listeners accept attachment from the referencing - Route, the Route MUST be considered successfully attached. - If no Gateway listeners accept attachment from this Route, - the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - required: - - controllerName - - parentRef - type: object - maxItems: 32 - type: array - required: - - parents - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/standard/gateway.networking.k8s.io_udproutes.yaml b/config/crd/standard/gateway.networking.k8s.io_udproutes.yaml deleted file mode 100644 index ae4d63dce2..0000000000 --- a/config/crd/standard/gateway.networking.k8s.io_udproutes.yaml +++ /dev/null @@ -1,438 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/891 - gateway.networking.k8s.io/bundle-version: v0.5.0-dev - gateway.networking.k8s.io/channel: standard - creationTimestamp: null - name: udproutes.gateway.networking.k8s.io -spec: - group: gateway.networking.k8s.io - names: - categories: - - gateway-api - kind: UDPRoute - listKind: UDPRouteList - plural: udproutes - singular: udproute - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: UDPRoute provides a way to route UDP traffic. When combined with - a Gateway listener, it can be used to forward traffic on the port specified - by the listener to a set of backends specified by the UDPRoute. - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: Spec defines the desired state of UDPRoute. - properties: - parentRefs: - description: "ParentRefs references the resources (usually Gateways) - that a Route wants to be attached to. Note that the referenced parent - resource needs to allow this for the attachment to be complete. - For Gateways, that means the Gateway needs to allow attachment from - Routes of this kind and namespace. \n The only kind of parent resource - with \"Core\" support is Gateway. This API may be extended in the - future to support additional kinds of parent resources such as one - of the route kinds. \n It is invalid to reference an identical parent - more than once. It is valid to reference multiple distinct sections - within the same parent resource, such as 2 Listeners within a Gateway. - \n It is possible to separately reference multiple distinct objects - that may be collapsed by an implementation. For example, some implementations - may choose to merge compatible Gateway Listeners together. If that - is the case, the list of routes attached to those resources should - also be merged." - items: - description: "ParentReference identifies an API object (usually - a Gateway) that can be considered a parent of this resource (usually - a route). The only kind of parent resource with \"Core\" support - is Gateway. This API may be extended in the future to support - additional kinds of parent resources, such as HTTPRoute. \n The - API object must be valid in the cluster; the Group and Kind must - be registered in the cluster for this reference to be valid." - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: Core - (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. When - unspecified (or empty string), this refers to the local namespace - of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within the - target resource. In the following resources, SectionName is - interpreted as the following: \n * Gateway: Listener Name. - When both Port (experimental) and SectionName are specified, - the name and port of the selected listener must match both - specified values. \n Implementations MAY choose to support - attaching Routes to other resources. If that is the case, - they MUST clearly document how SectionName is interpreted. - \n When unspecified (empty string), this will reference the - entire resource. For the purpose of status, an attachment - is considered successful if at least one section in the parent - resource accepts it. For example, Gateway listeners can restrict - which Routes can attach to them by Route kind, namespace, - or hostname. If 1 of 2 Gateway listeners accept attachment - from the referencing Route, the Route MUST be considered successfully - attached. If no Gateway listeners accept attachment from this - Route, the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - maxItems: 32 - type: array - rules: - description: Rules are a list of UDP matchers and actions. - items: - description: UDPRouteRule is the configuration for a given rule. - properties: - backendRefs: - description: "BackendRefs defines the backend(s) where matching - requests should be sent. If unspecified or invalid (refers - to a non-existent resource or a Service with no endpoints), - the underlying implementation MUST actively reject connection - attempts to this backend. Packet drops must respect weight; - if an invalid backend is requested to have 80% of the packets, - then 80% of packets must be dropped instead. \n Support: Core - for Kubernetes Service Support: Custom for any other resource - \n Support for weight: Extended" - items: - description: "BackendRef defines how a Route should forward - a request to a Kubernetes resource. \n Note that when a - namespace is specified, a ReferenceGrant object is required - in the referent namespace to allow that namespace's owner - to accept the reference. See the ReferenceGrant documentation - for details." - properties: - group: - default: "" - description: Group is the group of the referent. For example, - "networking.k8s.io". When unspecified (empty string), - core API group is inferred. - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Service - description: Kind is kind of the referent. For example - "HTTPRoute" or "Service". Defaults to "Service" when - not specified. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: Name is the name of the referent. - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the backend. - When unspecified, the local namespace is inferred. \n - Note that when a namespace is specified, a ReferenceGrant - object is required in the referent namespace to allow - that namespace's owner to accept the reference. See - the ReferenceGrant documentation for details. \n Support: - Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - port: - description: Port specifies the destination port number - to use for this resource. Port is required when the - referent is a Kubernetes Service. For other resources, - destination port might be derived from the referent - resource or this field. - format: int32 - maximum: 65535 - minimum: 1 - type: integer - weight: - default: 1 - description: "Weight specifies the proportion of requests - forwarded to the referenced backend. This is computed - as weight/(sum of all weights in this BackendRefs list). - For non-zero values, there may be some epsilon from - the exact proportion defined here depending on the precision - an implementation supports. Weight is not a percentage - and the sum of weights does not need to equal 100. \n - If only one backend is specified and it has a weight - greater than 0, 100% of the traffic is forwarded to - that backend. If weight is set to 0, no traffic should - be forwarded for this entry. If unspecified, weight - defaults to 1. \n Support for this field varies based - on the context where used." - format: int32 - maximum: 1000000 - minimum: 0 - type: integer - required: - - name - type: object - maxItems: 16 - minItems: 1 - type: array - type: object - maxItems: 16 - minItems: 1 - type: array - required: - - rules - type: object - status: - description: Status defines the current state of UDPRoute. - properties: - parents: - description: "Parents is a list of parent resources (usually Gateways) - that are associated with the route, and the status of the route - with respect to each parent. When this route attaches to a parent, - the controller that manages the parent must add an entry to this - list when the controller first sees the route and should update - the entry as appropriate when the route or gateway is modified. - \n Note that parent references that cannot be resolved by an implementation - of this API will not be added to this list. Implementations of this - API can only populate Route status for the Gateways/parent resources - they are responsible for. \n A maximum of 32 Gateways will be represented - in this list. An empty list means the route has not been attached - to any Gateway." - items: - description: RouteParentStatus describes the status of a route with - respect to an associated Parent. - properties: - conditions: - description: "Conditions describes the status of the route with - respect to the Gateway. Note that the route's availability - is also subject to the Gateway's own status conditions and - listener status. \n If the Route's ParentRef specifies an - existing Gateway that supports Routes of this kind AND that - Gateway's controller has sufficient access, then that Gateway's - controller MUST set the \"Accepted\" condition on the Route, - to indicate whether the route has been accepted or rejected - by the Gateway, and why. \n A Route MUST be considered \"Accepted\" - if at least one of the Route's rules is implemented by the - Gateway. \n There are a number of cases where the \"Accepted\" - condition may not be set due to lack of controller visibility, - that includes when: \n * The Route refers to a non-existent - parent. * The Route is of a type that the controller does - not support. * The Route is in a namespace the the controller - does not have access to." - items: - description: "Condition contains details for one aspect of - the current state of this API Resource. --- This struct - is intended for direct use as an array at the field path - .status.conditions. For example, type FooStatus struct{ - \ // Represents the observations of a foo's current state. - \ // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type - \ // +patchStrategy=merge // +listType=map // - +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` - \n // other fields }" - properties: - lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should - be when the underlying condition changed. If that is - not known, then using the time when the API field changed - is acceptable. - format: date-time - type: string - message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, - if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the - current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier - indicating the reason for the condition's last transition. - Producers of specific condition types may define expected - values and meanings for this field, and whether the - values are considered a guaranteed API. The value should - be a CamelCase string. This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, - Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across - resources like Available, but because arbitrary conditions - can be useful (see .node.status.conditions), the ability - to deconflict is important. The regex it matches is - (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - maxItems: 8 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - controllerName: - description: "ControllerName is a domain/path string that indicates - the name of the controller that wrote this status. This corresponds - with the controllerName field on GatewayClass. \n Example: - \"example.net/gateway-controller\". \n The format of this - field is DOMAIN \"/\" PATH, where DOMAIN and PATH are valid - Kubernetes names (https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names). - \n Controllers MUST populate this field when writing status. - Controllers should ensure that entries to status populated - with their ControllerName are cleaned up when they are no - longer necessary." - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$ - type: string - parentRef: - description: ParentRef corresponds with a ParentRef in the spec - that this RouteParentStatus struct describes the status of. - properties: - group: - default: gateway.networking.k8s.io - description: "Group is the group of the referent. \n Support: - Core" - maxLength: 253 - pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - kind: - default: Gateway - description: "Kind is kind of the referent. \n Support: - Core (Gateway) Support: Custom (Other Resources)" - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$ - type: string - name: - description: "Name is the name of the referent. \n Support: - Core" - maxLength: 253 - minLength: 1 - type: string - namespace: - description: "Namespace is the namespace of the referent. - When unspecified (or empty string), this refers to the - local namespace of the Route. \n Support: Core" - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - sectionName: - description: "SectionName is the name of a section within - the target resource. In the following resources, SectionName - is interpreted as the following: \n * Gateway: Listener - Name. When both Port (experimental) and SectionName are - specified, the name and port of the selected listener - must match both specified values. \n Implementations MAY - choose to support attaching Routes to other resources. - If that is the case, they MUST clearly document how SectionName - is interpreted. \n When unspecified (empty string), this - will reference the entire resource. For the purpose of - status, an attachment is considered successful if at least - one section in the parent resource accepts it. For example, - Gateway listeners can restrict which Routes can attach - to them by Route kind, namespace, or hostname. If 1 of - 2 Gateway listeners accept attachment from the referencing - Route, the Route MUST be considered successfully attached. - If no Gateway listeners accept attachment from this Route, - the Route MUST be considered detached from the Gateway. - \n Support: Core" - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - type: string - required: - - name - type: object - required: - - controllerName - - parentRef - type: object - maxItems: 32 - type: array - required: - - parents - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/examples/v1alpha2/basic-tcp.yaml b/examples/experimental/v1alpha2/basic-tcp.yaml similarity index 100% rename from examples/v1alpha2/basic-tcp.yaml rename to examples/experimental/v1alpha2/basic-tcp.yaml diff --git a/examples/experimental/http-redirect-rewrite/httproute-redirect-full.yaml b/examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-full.yaml similarity index 100% rename from examples/experimental/http-redirect-rewrite/httproute-redirect-full.yaml rename to examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-full.yaml diff --git a/examples/experimental/http-redirect-rewrite/httproute-redirect-https.yaml b/examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-https.yaml similarity index 100% rename from examples/experimental/http-redirect-rewrite/httproute-redirect-https.yaml rename to examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-https.yaml diff --git a/examples/experimental/http-redirect-rewrite/httproute-redirect-prefix.yaml b/examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-prefix.yaml similarity index 100% rename from examples/experimental/http-redirect-rewrite/httproute-redirect-prefix.yaml rename to examples/experimental/v1alpha2/http-redirect-rewrite/httproute-redirect-prefix.yaml diff --git a/examples/experimental/http-redirect-rewrite/httproute-rewrite-path.yaml b/examples/experimental/v1alpha2/http-redirect-rewrite/httproute-rewrite-path.yaml similarity index 100% rename from examples/experimental/http-redirect-rewrite/httproute-rewrite-path.yaml rename to examples/experimental/v1alpha2/http-redirect-rewrite/httproute-rewrite-path.yaml diff --git a/examples/experimental/http-redirect-rewrite/httproute-rewrite.yaml b/examples/experimental/v1alpha2/http-redirect-rewrite/httproute-rewrite.yaml similarity index 100% rename from examples/experimental/http-redirect-rewrite/httproute-rewrite.yaml rename to examples/experimental/v1alpha2/http-redirect-rewrite/httproute-rewrite.yaml diff --git a/examples/v1alpha2/reference-grant.yaml b/examples/experimental/v1alpha2/reference-grant.yaml similarity index 100% rename from examples/v1alpha2/reference-grant.yaml rename to examples/experimental/v1alpha2/reference-grant.yaml diff --git a/examples/v1alpha2/tls-cert-cross-namespace.yaml b/examples/experimental/v1alpha2/tls-cert-cross-namespace.yaml similarity index 100% rename from examples/v1alpha2/tls-cert-cross-namespace.yaml rename to examples/experimental/v1alpha2/tls-cert-cross-namespace.yaml diff --git a/examples/v1alpha1/backendpolicy.yaml b/examples/v1alpha1/backendpolicy.yaml deleted file mode 100644 index 9f757be8b6..0000000000 --- a/examples/v1alpha1/backendpolicy.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: BackendPolicy -metadata: - name: my-app -spec: - backendRefs: - - name: my-service - group: core - kind: Service - tls: - certificateAuthorityRef: - name: my-app-ca - group: core - kind: Secret - options: {} diff --git a/examples/v1alpha1/basic-http.yaml b/examples/v1alpha1/basic-http.yaml deleted file mode 100644 index 15c4132a44..0000000000 --- a/examples/v1alpha1/basic-http.yaml +++ /dev/null @@ -1,62 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/api-types/httproute.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: acme-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: my-gateway -spec: - gatewayClassName: acme-lb - listeners: # Use GatewayClass defaults for listener definition. - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - app: foo - namespaces: - from: "Same" ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-app-1 - labels: - app: foo -spec: - hostnames: - - "foo.com" - rules: - - matches: - - path: - type: Prefix - value: /bar - forwardTo: - - serviceName: my-service1 - port: 8080 - - matches: - - headers: - type: Exact - values: - magic: foo - queryParams: - type: Exact - values: - great: example - path: - type: Prefix - value: /some/thing - forwardTo: - - serviceName: my-service2 - port: 8080 diff --git a/examples/v1alpha1/basic-tcp.yaml b/examples/v1alpha1/basic-tcp.yaml deleted file mode 100644 index 18cc2c2795..0000000000 --- a/examples/v1alpha1/basic-tcp.yaml +++ /dev/null @@ -1,59 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/tcp.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: acme-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: my-tcp-gateway -spec: - gatewayClassName: acme-lb - listeners: - - protocol: TCP - port: 8080 - routes: - kind: TCPRoute - selector: - matchLabels: - "app": "foo" - - protocol: TCP - port: 8090 - routes: - kind: TCPRoute - selector: - matchLabels: - "app": "bar" ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: TCPRoute -metadata: - name: tcp-app-1 - labels: - app: foo -spec: - rules: - - forwardTo: - - serviceName: my-foo-service - port: 6000 ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: TCPRoute -metadata: - name: tcp-app-2 - namespace: default - labels: - app: bar -spec: - rules: - - forwardTo: - - serviceName: my-bar-service - port: 6000 diff --git a/examples/v1alpha1/basic-udp.yaml b/examples/v1alpha1/basic-udp.yaml deleted file mode 100644 index 13fff497eb..0000000000 --- a/examples/v1alpha1/basic-udp.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: acme-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: my-gateway -spec: - gatewayClassName: acme-lb - listeners: # Use GatewayClass defaults for listener definition. - - protocol: UDP - port: 8080 - routes: - kind: UDPRoute - selector: - matchLabels: - "app": "foo" - namespaces: - from: "All" ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: UDPRoute -metadata: - name: udp-app-1 - labels: - app: foo -spec: - rules: - - forwardTo: - - serviceName: my-service - port: 5000 diff --git a/examples/v1alpha1/cross-namespace-routing/example-namespaces.yaml b/examples/v1alpha1/cross-namespace-routing/example-namespaces.yaml deleted file mode 100644 index 8b1ae5a1be..0000000000 --- a/examples/v1alpha1/cross-namespace-routing/example-namespaces.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: infra-ns ---- -apiVersion: v1 -kind: Namespace -metadata: - name: site-ns ---- -apiVersion: v1 -kind: Namespace -metadata: - name: store-ns diff --git a/examples/v1alpha1/cross-namespace-routing/gateway.yaml b/examples/v1alpha1/cross-namespace-routing/gateway.yaml deleted file mode 100644 index e8a7a9ff66..0000000000 --- a/examples/v1alpha1/cross-namespace-routing/gateway.yaml +++ /dev/null @@ -1,17 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/multiple-ns.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: shared-gateway - namespace: infra-ns -spec: - gatewayClassName: acme-lb - listeners: - - hostname: "foo.example.com" - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - namespaces: - from: "All" diff --git a/examples/v1alpha1/cross-namespace-routing/site-route.yaml b/examples/v1alpha1/cross-namespace-routing/site-route.yaml deleted file mode 100644 index d914581a3e..0000000000 --- a/examples/v1alpha1/cross-namespace-routing/site-route.yaml +++ /dev/null @@ -1,40 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/multiple-ns.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: home - namespace: site-ns -spec: - gateways: - allow: FromList - gatewayRefs: - - name: shared-gateway - namespace: infra - rules: - - forwardTo: - - serviceName: home - port: 8080 ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: login - namespace: site-ns -spec: - gateways: - allow: FromList - gatewayRefs: - - name: shared-gateway - namespace: infra - rules: - - matches: - - path: - value: /login - forwardTo: - - serviceName: login-v1 - port: 8080 - weight: 90 - - serviceName: login-v2 - port: 8080 - weight: 10 diff --git a/examples/v1alpha1/cross-namespace-routing/store-route.yaml b/examples/v1alpha1/cross-namespace-routing/store-route.yaml deleted file mode 100644 index db63744a91..0000000000 --- a/examples/v1alpha1/cross-namespace-routing/store-route.yaml +++ /dev/null @@ -1,20 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/multiple-ns.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: store - namespace: store-ns -spec: - gateways: - allow: FromList - gatewayRefs: - - name: shared-gateway - namespace: infra - rules: - - matches: - - path: - value: /store - forwardTo: - - serviceName: store - port: 8080 diff --git a/examples/v1alpha1/default-match-http.yaml b/examples/v1alpha1/default-match-http.yaml deleted file mode 100644 index 669ba97430..0000000000 --- a/examples/v1alpha1/default-match-http.yaml +++ /dev/null @@ -1,60 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: default-match-example -spec: - controller: acme.io/gateway-controller - ---- - -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: default-match-gw -spec: - gatewayClassName: default-match-example - listeners: - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - app: default-match - namespaces: - from: "All" - ---- - -# This HTTPRoute demonstrates patch match defaulting. If no path match is -# specified, CRD defaults adds a default prefix match on the path "/". This -# matches every HTTP request and ensures that route rules always have at -# least one valid match. -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: default-match-route - labels: - app: default-match -spec: - hostnames: - - default-match.com - rules: - - matches: - - headers: - type: Exact - values: - magic: default-match - forwardTo: - - port: 8080 - backendRef: - name: my-custom-resource - group: acme.io - kind: CustomBackend - - matches: - - path: - type: Exact - value: /example/exact - forwardTo: - - serviceName: my-service-2 - port: 8080 diff --git a/examples/v1alpha1/http-filter.yaml b/examples/v1alpha1/http-filter.yaml deleted file mode 100644 index e42981a2b6..0000000000 --- a/examples/v1alpha1/http-filter.yaml +++ /dev/null @@ -1,53 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/api-types/httproute.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: filter-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: my-filter-gateway -spec: - gatewayClassName: filter-lb - listeners: - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - app: filter - namespaces: - from: "All" ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-filter-1 - labels: - app: filter -spec: - hostnames: - - my.filter.com - rules: - - matches: - - path: - type: Prefix - value: / - filters: - - type: RequestHeaderModifier - requestHeaderModifier: - add: - my-header: foo - forwardTo: - - serviceName: my-filter-svc1 - weight: 1 - port: 80 diff --git a/examples/v1alpha1/http-routing/bar-httproute.yaml b/examples/v1alpha1/http-routing/bar-httproute.yaml deleted file mode 100644 index 00e90d4633..0000000000 --- a/examples/v1alpha1/http-routing/bar-httproute.yaml +++ /dev/null @@ -1,23 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/http-routing.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: bar-route - labels: - gateway: prod-web-gw -spec: - hostnames: - - "bar.example.com" - rules: - - matches: - - headers: - type: Exact - values: - env: canary - forwardTo: - - serviceName: bar-svc-canary - port: 8080 - - forwardTo: - - serviceName: bar-svc - port: 8080 diff --git a/examples/v1alpha1/http-routing/foo-httproute.yaml b/examples/v1alpha1/http-routing/foo-httproute.yaml deleted file mode 100644 index de98a7b72b..0000000000 --- a/examples/v1alpha1/http-routing/foo-httproute.yaml +++ /dev/null @@ -1,19 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/http-routing.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: foo-route - labels: - gateway: prod-web-gw -spec: - hostnames: - - "foo.example.com" - rules: - - matches: - - path: - type: Prefix - value: /login - forwardTo: - - serviceName: foo-svc - port: 8080 diff --git a/examples/v1alpha1/http-routing/gateway.yaml b/examples/v1alpha1/http-routing/gateway.yaml deleted file mode 100644 index 37d34d7909..0000000000 --- a/examples/v1alpha1/http-routing/gateway.yaml +++ /dev/null @@ -1,16 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/http-routing.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: prod-web -spec: - gatewayClassName: acme-lb - listeners: - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - gateway: prod-web-gw diff --git a/examples/v1alpha1/http-trafficsplit.yaml b/examples/v1alpha1/http-trafficsplit.yaml deleted file mode 100644 index 36d2ceeed0..0000000000 --- a/examples/v1alpha1/http-trafficsplit.yaml +++ /dev/null @@ -1,52 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/api-types/httproute.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: trafficsplit-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: my-trafficsplit-gateway -spec: - gatewayClassName: trafficsplit-lb - listeners: # Use GatewayClass defaults for listener definition. - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - app: split - namespaces: - from: "Selector" - selector: {} ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-trafficsplit-1 - labels: - app: split -spec: - hostnames: - - "my.trafficsplit.com" - rules: - - matches: - - path: - type: Exact - value: /bar - forwardTo: - - serviceName: my-trafficsplit-svc1 - port: 8080 - weight: 50 - - serviceName: my-trafficsplit-svc2 - port: 8080 - weight: 50 diff --git a/examples/v1alpha1/multiple-tcp.yaml b/examples/v1alpha1/multiple-tcp.yaml deleted file mode 100644 index 1f5c557444..0000000000 --- a/examples/v1alpha1/multiple-tcp.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: gateway -spec: - gatewayClassName: default-class - addresses: - - type: NamedAddress - value: auto-assign - listeners: - # Forward port 22 to a SSH honeypot app. - - port: 22 - protocol: TCP - routes: - kind: TCPRoute - selector: - matchLabels: - app: sshd-honeypot - namespaces: - from: "All" - # Forward port 2222 to a real SSH server. - - port: 2222 - protocol: TCP - routes: - kind: TCPRoute - selector: - matchLabels: - app: sshd-legitimate - namespaces: - from: "All" - # Forward the SNI named service to the real SSH server ever TLS, assuming - # that there is an actual client for such a beast. - - hostname: ssh.example.com - port: 443 - protocol: TLS - tls: - options: {} - certificateRef: - name: ssh-server - kind: Secret - group: core - routes: - kind: TCPRoute - selector: - matchLabels: - app: sshd-legitimate - namespaces: - from: "All" diff --git a/examples/v1alpha1/routes-in-multiple-namespaces.yaml b/examples/v1alpha1/routes-in-multiple-namespaces.yaml deleted file mode 100644 index 3016d46785..0000000000 --- a/examples/v1alpha1/routes-in-multiple-namespaces.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: GatewayClass -metadata: - name: acme-lb -spec: - controller: acme.io/gateway-controller - parametersRef: - name: acme-lb - group: acme.io - kind: Parameters ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: multi-ns-gateway -spec: - gatewayClassName: acme-lb - listeners: # Use GatewayClass defaults for listener definition. - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - product: baz - namespaces: - from: "All" ---- -apiVersion: v1 -kind: Namespace -metadata: - name: gateway-api-example-ns1 ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-app-1 - namespace: gateway-api-example-ns1 - labels: - product: baz -spec: - gateways: - allow: All - hostnames: - - "foo.com" - rules: - - matches: - - path: - type: Prefix - value: /bar - forwardTo: - - serviceName: my-foo-service1 - port: 8080 - - matches: - - headers: - type: Exact - values: - magic: foo - path: - type: Prefix - value: /some/thing - forwardTo: - - serviceName: my-foo-service2 - port: 8080 ---- -apiVersion: v1 -kind: Namespace -metadata: - name: gateway-api-example-ns2 ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-app-2 - namespace: gateway-api-example-ns2 - labels: - product: baz -spec: - gateways: - allow: FromList - gatewayRefs: - - name: multi-ns-gateway - namespace: default - hostnames: - - "bar.com" - rules: - - matches: - - path: - type: Prefix - value: / - forwardTo: - - serviceName: my-bar-service1 - port: 8080 diff --git a/examples/v1alpha1/simple-gateway/gateway.yaml b/examples/v1alpha1/simple-gateway/gateway.yaml deleted file mode 100644 index b2bfbec8c2..0000000000 --- a/examples/v1alpha1/simple-gateway/gateway.yaml +++ /dev/null @@ -1,17 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/traffic-splitting.md -#$ - site-src/v1alpha1/guides/simple-gateway.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: prod-web -spec: - gatewayClassName: acme-lb - listeners: - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - selector: - matchLabels: - gateway: prod-web-gw diff --git a/examples/v1alpha1/simple-gateway/httproute.yaml b/examples/v1alpha1/simple-gateway/httproute.yaml deleted file mode 100644 index 96c94ce5f6..0000000000 --- a/examples/v1alpha1/simple-gateway/httproute.yaml +++ /dev/null @@ -1,13 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/simple-gateway.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: foo - labels: - gateway: prod-web-gw -spec: - rules: - - forwardTo: - - serviceName: foo-svc - port: 8080 \ No newline at end of file diff --git a/examples/v1alpha1/single-http.yaml b/examples/v1alpha1/single-http.yaml deleted file mode 100644 index e2fbbea712..0000000000 --- a/examples/v1alpha1/single-http.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: gateway -spec: - gatewayClassName: default-class - addresses: - - type: NamedAddress - value: auto-assign - listeners: - - hostname: httpbin.example.com - port: 80 - protocol: HTTP - routes: - kind: HTTPRoute - selector: - matchLabels: - app: httpbin - namespaces: - from: "All" diff --git a/examples/v1alpha1/tls-basic.yaml b/examples/v1alpha1/tls-basic.yaml deleted file mode 100644 index 892eec3622..0000000000 --- a/examples/v1alpha1/tls-basic.yaml +++ /dev/null @@ -1,34 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/tls.md -#$ - site-src/v1alpha1/api-types/httproute.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: tls-basic -spec: - gatewayClassName: acme-lb - listeners: - - protocol: HTTPS - port: 443 - hostname: foo.example.com - tls: - certificateRef: - kind: Secret - group: core - name: foo-example-com-cert - routeOverride: - certificate: Deny - routes: - kind: HTTPRoute - - protocol: HTTPS - port: 443 - hostname: bar.example.com - tls: - certificateRef: - kind: Secret - group: core - name: bar-example-com-cert - routeOverride: - certificate: Deny - routes: - kind: HTTPRoute diff --git a/examples/v1alpha1/tls-cert-in-route.yaml b/examples/v1alpha1/tls-cert-in-route.yaml deleted file mode 100644 index ca670e5c50..0000000000 --- a/examples/v1alpha1/tls-cert-in-route.yaml +++ /dev/null @@ -1,67 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/tls.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: cert-in-route-gateway -spec: - gatewayClassName: acme-lb - listeners: - - protocol: HTTP - port: 80 - routes: - kind: HTTPRoute - - protocol: HTTPS - port: 443 - tls: - mode: Terminate - certificateRef: - kind: Secret - group: core - name: default-cert - routeOverride: - certificate: Allow - routes: - kind: HTTPRoute ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-app-1 -spec: - hostnames: - - "foo.example.com" - tls: - certificateRef: - kind: Secret - group: core - name: foo-example-com-cert - rules: - - matches: - - path: - type: Prefix - value: / - forwardTo: - - serviceName: my-service - port: 8080 ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-app-2 -spec: - hostnames: - - "bar.example.com" - tls: - certificateRef: - kind: Secret - group: core - name: bar-example-com-cert - rules: - - matches: - - path: - type: Prefix - value: / - forwardTo: - - serviceName: my-service - port: 8080 diff --git a/examples/v1alpha1/traffic-splitting/simple-split.yaml b/examples/v1alpha1/traffic-splitting/simple-split.yaml deleted file mode 100644 index 1d14a35ebc..0000000000 --- a/examples/v1alpha1/traffic-splitting/simple-split.yaml +++ /dev/null @@ -1,15 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/traffic-splitting.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: simple-split -spec: - rules: - - forwardTo: - - serviceName: foo-v1 - port: 8080 - weight: 90 - - serviceName: foo-v2 - port: 8080 - weight: 10 diff --git a/examples/v1alpha1/traffic-splitting/traffic-split-1.yaml b/examples/v1alpha1/traffic-splitting/traffic-split-1.yaml deleted file mode 100644 index 36f50960c3..0000000000 --- a/examples/v1alpha1/traffic-splitting/traffic-split-1.yaml +++ /dev/null @@ -1,23 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/traffic-splitting.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: foo-route - labels: - gateway: prod-web-gw -spec: - hostnames: - - foo.example.com - rules: - - forwardTo: - - serviceName: foo-v1 - port: 8080 - - matches: - - headers: - type: Exact - values: - traffic: test - forwardTo: - - serviceName: foo-v2 - port: 8080 diff --git a/examples/v1alpha1/upstream-tls.yaml b/examples/v1alpha1/upstream-tls.yaml deleted file mode 100644 index 3a7a8b1eab..0000000000 --- a/examples/v1alpha1/upstream-tls.yaml +++ /dev/null @@ -1,49 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/tls.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: BackendPolicy -metadata: - name: my-app - annotations: - networking.x-k8s.io/app-protocol: https -spec: - backendRefs: - - name: my-service - group: core - kind: Service - port: 443 - tls: - certificateAuthorityRef: - name: my-cluster-ca - group: core - kind: Secret - options: {} ---- -apiVersion: v1 -kind: Service -metadata: - name: my-service -spec: - ports: - - name: http - port: 80 - - name: https - port: 443 - selector: - app: my-service ---- -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: my-service-route -spec: - hostnames: - - "foo.com" - rules: - - matches: - - path: - type: Prefix - value: / - forwardTo: - - serviceName: my-service - port: 443 diff --git a/examples/v1alpha1/wildcard-http.yaml b/examples/v1alpha1/wildcard-http.yaml deleted file mode 100644 index b86e52dc98..0000000000 --- a/examples/v1alpha1/wildcard-http.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: gateway -spec: - gatewayClassName: default-class - addresses: - - type: NamedAddress - value: auto-assign - listeners: - - hostname: "*.example.com" - port: 80 - protocol: HTTP - routes: - kind: HTTPRoute - selector: - matchLabels: - # This label selects httpbin.example.com and - # conformance.example.com routes. - app: httpbin-or-conformance - namespaces: - from: "All" diff --git a/examples/v1alpha1/wildcard-https.yaml b/examples/v1alpha1/wildcard-https.yaml deleted file mode 100644 index e3e7b3169f..0000000000 --- a/examples/v1alpha1/wildcard-https.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: gateway -spec: - gatewayClassName: default-class - addresses: - - type: NamedAddress - value: auto-assign - listeners: - - hostname: "*.example.com" - port: 443 - protocol: HTTPS - tls: - options: {} - certificateRef: - name: example-wildcard - kind: Secret - group: core - routes: - kind: HTTPRoute - selector: - matchLabels: - # This label selects httpbin.example.com and - # conformance.example.com routes. - app: httpbin-or-conformance - namespaces: - from: "All" diff --git a/examples/v1alpha1/wildcard-tls-gateway.yaml b/examples/v1alpha1/wildcard-tls-gateway.yaml deleted file mode 100644 index bcc8f32f51..0000000000 --- a/examples/v1alpha1/wildcard-tls-gateway.yaml +++ /dev/null @@ -1,33 +0,0 @@ -#$ Used in: -#$ - site-src/v1alpha1/guides/tls.md -apiVersion: networking.x-k8s.io/v1alpha1 -kind: Gateway -metadata: - name: wildcard-tls-gateway -spec: - gatewayClassName: acme-lb - listeners: - - protocol: HTTPS - port: 443 - hostname: foo.example.com - tls: - certificateRef: - kind: Secret - group: core - name: foo-example-com-cert - routeOverride: - certificate: Deny - routes: - kind: HTTPRoute - - protocol: HTTPS - port: 443 - hostname: "*.example.com" - tls: - certificateRef: - kind: Secret - group: core - name: wildcard-example-com-cert - routeOverride: - certificate: Deny - routes: - kind: HTTPRoute diff --git a/examples/v1beta1/0-namespaces.yaml b/examples/v1beta1/0-namespaces.yaml new file mode 100644 index 0000000000..9bc699f869 --- /dev/null +++ b/examples/v1beta1/0-namespaces.yaml @@ -0,0 +1,11 @@ +# These namespaces can be used for examples without recreating them each time. +--- +apiVersion: v1 +kind: Namespace +metadata: + name: gateway-api-example-ns1 +--- +apiVersion: v1 +kind: Namespace +metadata: + name: gateway-api-example-ns2 diff --git a/examples/v1beta1/basic-http.yaml b/examples/v1beta1/basic-http.yaml new file mode 100644 index 0000000000..96758c22c9 --- /dev/null +++ b/examples/v1beta1/basic-http.yaml @@ -0,0 +1,57 @@ +#$ Used in: +#$ - site-src/v1beta1/api-types/httproute.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: GatewayClass +metadata: + name: acme-lb +spec: + controllerName: acme.io/gateway-controller + parametersRef: + name: acme-lb + group: acme.io + kind: Parameters +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: my-gateway +spec: + gatewayClassName: acme-lb + listeners: # Use GatewayClass defaults for listener definition. + - name: http + protocol: HTTP + port: 80 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: http-app-1 +spec: + parentRefs: + - name: my-gateway + hostnames: + - "foo.com" + rules: + - matches: + - path: + type: PathPrefix + value: /bar + backendRefs: + - name: my-service1 + port: 8080 + - matches: + - headers: + - type: Exact + name: magic + value: foo + queryParams: + - type: Exact + name: great + value: example + path: + type: PathPrefix + value: /some/thing + method: GET + backendRefs: + - name: my-service2 + port: 8080 diff --git a/examples/v1beta1/cross-namespace-routing/0-namespaces.yaml b/examples/v1beta1/cross-namespace-routing/0-namespaces.yaml new file mode 100644 index 0000000000..7a4535aaa0 --- /dev/null +++ b/examples/v1beta1/cross-namespace-routing/0-namespaces.yaml @@ -0,0 +1,27 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/multiple-ns.md +apiVersion: v1 +kind: Namespace +metadata: + name: infra-ns + labels: + shared-gateway-access: "true" +--- +apiVersion: v1 +kind: Namespace +metadata: + name: site-ns + labels: + shared-gateway-access: "true" +--- +apiVersion: v1 +kind: Namespace +metadata: + name: store-ns + labels: + shared-gateway-access: "true" +--- +apiVersion: v1 +kind: Namespace +metadata: + name: no-external-access diff --git a/examples/v1beta1/cross-namespace-routing/gateway.yaml b/examples/v1beta1/cross-namespace-routing/gateway.yaml new file mode 100644 index 0000000000..f810233e9f --- /dev/null +++ b/examples/v1beta1/cross-namespace-routing/gateway.yaml @@ -0,0 +1,23 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/multiple-ns.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: shared-gateway + namespace: infra-ns +spec: + gatewayClassName: shared-gateway-class + listeners: + - name: https + hostname: "foo.example.com" + protocol: HTTPS + port: 443 + allowedRoutes: + namespaces: + from: Selector + selector: + matchLabels: + shared-gateway-access: "true" + tls: + certificateRefs: + - name: foo-example-com diff --git a/examples/v1beta1/cross-namespace-routing/site-route.yaml b/examples/v1beta1/cross-namespace-routing/site-route.yaml new file mode 100644 index 0000000000..a9b9021da4 --- /dev/null +++ b/examples/v1beta1/cross-namespace-routing/site-route.yaml @@ -0,0 +1,36 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/multiple-ns.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: home + namespace: site-ns +spec: + parentRefs: + - name: shared-gateway + namespace: infra-ns + rules: + - backendRefs: + - name: home + port: 8080 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: login + namespace: site-ns +spec: + parentRefs: + - name: shared-gateway + namespace: infra-ns + rules: + - matches: + - path: + value: /login + backendRefs: + - name: login-v1 + port: 8080 + weight: 90 + - name: login-v2 + port: 8080 + weight: 10 diff --git a/examples/v1beta1/cross-namespace-routing/store-route.yaml b/examples/v1beta1/cross-namespace-routing/store-route.yaml new file mode 100644 index 0000000000..781d1173ad --- /dev/null +++ b/examples/v1beta1/cross-namespace-routing/store-route.yaml @@ -0,0 +1,18 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/multiple-ns.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: store + namespace: store-ns +spec: + parentRefs: + - name: shared-gateway + namespace: infra-ns + rules: + - matches: + - path: + value: /store + backendRefs: + - name: store + port: 8080 diff --git a/examples/v1beta1/default-match-http.yaml b/examples/v1beta1/default-match-http.yaml new file mode 100644 index 0000000000..88f27f750d --- /dev/null +++ b/examples/v1beta1/default-match-http.yaml @@ -0,0 +1,51 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: GatewayClass +metadata: + name: default-match-example +spec: + controllerName: acme.io/gateway-controller +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: default-match-gw +spec: + gatewayClassName: default-match-example + listeners: + - name: http + protocol: HTTP + port: 80 +--- +# This HTTPRoute demonstrates patch match defaulting. If no path match is +# specified, CRD defaults adds a default PathPrefix match on the path "/". This +# matches every HTTP request and ensures that route rules always have at +# least one valid match. +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: default-match-route + labels: + app: default-match +spec: + parentRefs: + - name: default-match-gw + hostnames: + - default-match.com + rules: + - matches: + - headers: + - type: Exact + name: magic + value: default-match + backendRefs: + - group: acme.io + kind: CustomBackend + name: my-custom-resource + port: 8080 + - matches: + - path: + type: Exact + value: /example/exact + backendRefs: + - name: my-service-2 + port: 8080 diff --git a/examples/v1beta1/http-filter.yaml b/examples/v1beta1/http-filter.yaml new file mode 100644 index 0000000000..31ac75fc71 --- /dev/null +++ b/examples/v1beta1/http-filter.yaml @@ -0,0 +1,20 @@ +#$ Used in: +#$ - site-src/v1beta1/api-types/httproute.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: http-filter-1 +spec: + hostnames: + - my.filter.com + rules: + - filters: + - type: RequestHeaderModifier + requestHeaderModifier: + add: + - name: my-header + value: foo + backendRefs: + - name: my-filter-svc1 + weight: 1 + port: 80 diff --git a/examples/v1beta1/http-redirect.yaml b/examples/v1beta1/http-redirect.yaml new file mode 100644 index 0000000000..a875530443 --- /dev/null +++ b/examples/v1beta1/http-redirect.yaml @@ -0,0 +1,68 @@ +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: GatewayClass +metadata: + name: filter-lb +spec: + controllerName: acme.io/gateway-controller + parametersRef: + name: acme-lb + group: acme.io + kind: Parameters +--- +apiVersion: v1 +kind: Namespace +metadata: + name: gateway-api-example-ns1 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: my-filter-gateway + namespace: gateway-api-example-ns1 +spec: + gatewayClassName: filter-lb + listeners: + - name: http + protocol: HTTP + port: 80 + - name: https + protocol: HTTPS + port: 443 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: http-filter-1 + namespace: gateway-api-example-ns1 +spec: + parentRefs: + - name: my-filter-gateway + sectionName: http + hostnames: + - my-filter.example.com + rules: + - filters: + - type: RequestRedirect + requestRedirect: + scheme: https +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: http-filter-2 + namespace: gateway-api-example-ns1 +spec: + parentRefs: + - name: my-filter-gateway + sectionName: https + hostnames: + - my-filter.example.com + rules: + - matches: + - path: + type: PathPrefix + value: / + backendRefs: + - name: my-filter-svc1 + weight: 1 + port: 80 diff --git a/examples/v1beta1/http-route-attachment/gateway-namespaces.yaml b/examples/v1beta1/http-route-attachment/gateway-namespaces.yaml new file mode 100644 index 0000000000..9e23ac65fc --- /dev/null +++ b/examples/v1beta1/http-route-attachment/gateway-namespaces.yaml @@ -0,0 +1,21 @@ +#$ Used in: +#$ - site-src/concepts/api-overview.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: prod-gateway + namespace: gateway-api-example-ns1 +spec: + gatewayClassName: foo-lb + listeners: + - name: prod-web + port: 80 + protocol: HTTP + allowedRoutes: + kinds: + - kind: HTTPRoute + namespaces: + from: Selector + selector: + matchLabels: + expose-apps: "true" diff --git a/examples/v1beta1/http-route-attachment/gateway-strict.yaml b/examples/v1beta1/http-route-attachment/gateway-strict.yaml new file mode 100644 index 0000000000..7d5f55b0b0 --- /dev/null +++ b/examples/v1beta1/http-route-attachment/gateway-strict.yaml @@ -0,0 +1,23 @@ +#$ Used in: +#$ - site-src/concepts/api-overview.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: foo-gateway + namespace: gateway-api-example-ns1 +spec: + gatewayClassName: foo-lb + listeners: + - name: prod-web + port: 80 + protocol: HTTP + allowedRoutes: + kinds: + - kind: HTTPRoute + namespaces: + from: Selector + selector: + matchLabels: + # This label is added automatically as of K8s 1.22 + # to all namespaces + kubernetes.io/metadata.name: gateway-api-example-ns2 diff --git a/examples/v1beta1/http-route-attachment/httproute.yaml b/examples/v1beta1/http-route-attachment/httproute.yaml new file mode 100644 index 0000000000..a8425bfca1 --- /dev/null +++ b/examples/v1beta1/http-route-attachment/httproute.yaml @@ -0,0 +1,16 @@ +#$ Used in: +#$ - site-src/concepts/api-overview.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: my-route + namespace: gateway-api-example-ns2 +spec: + parentRefs: + - kind: Gateway + name: foo-gateway + namespace: gateway-api-example-ns1 + rules: + - backendRefs: + - name: foo-svc + port: 8080 diff --git a/examples/v1beta1/http-routing/bar-httproute.yaml b/examples/v1beta1/http-routing/bar-httproute.yaml new file mode 100644 index 0000000000..179c366032 --- /dev/null +++ b/examples/v1beta1/http-routing/bar-httproute.yaml @@ -0,0 +1,23 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/http-routing.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: bar-route +spec: + parentRefs: + - name: example-gateway + hostnames: + - "bar.example.com" + rules: + - matches: + - headers: + - type: Exact + name: env + value: canary + backendRefs: + - name: bar-svc-canary + port: 8080 + - backendRefs: + - name: bar-svc + port: 8080 diff --git a/examples/v1beta1/http-routing/foo-httproute.yaml b/examples/v1beta1/http-routing/foo-httproute.yaml new file mode 100644 index 0000000000..254cbaba41 --- /dev/null +++ b/examples/v1beta1/http-routing/foo-httproute.yaml @@ -0,0 +1,19 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/http-routing.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: foo-route +spec: + parentRefs: + - name: example-gateway + hostnames: + - "foo.example.com" + rules: + - matches: + - path: + type: PathPrefix + value: /login + backendRefs: + - name: foo-svc + port: 8080 diff --git a/examples/v1beta1/http-routing/gateway.yaml b/examples/v1beta1/http-routing/gateway.yaml new file mode 100644 index 0000000000..dab9c04c0c --- /dev/null +++ b/examples/v1beta1/http-routing/gateway.yaml @@ -0,0 +1,26 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/http-routing.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: example-gateway +spec: + gatewayClassName: example-gateway-class + listeners: + - name: http + protocol: HTTP + port: 80 +--- +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: example-route +spec: + parentRefs: + - name: example-gateway + hostnames: + - "example.com" + rules: + - backendRefs: + - name: example-svc + port: 80 diff --git a/examples/v1beta1/simple-gateway/gateway.yaml b/examples/v1beta1/simple-gateway/gateway.yaml new file mode 100644 index 0000000000..8127cb636b --- /dev/null +++ b/examples/v1beta1/simple-gateway/gateway.yaml @@ -0,0 +1,16 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/traffic-splitting.md +#$ - site-src/v1beta1/guides/simple-gateway.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: prod-web +spec: + gatewayClassName: acme-lb + listeners: + - protocol: HTTP + port: 80 + name: prod-web-gw + allowedRoutes: + namespaces: + from: Same diff --git a/examples/v1beta1/simple-gateway/httproute.yaml b/examples/v1beta1/simple-gateway/httproute.yaml new file mode 100644 index 0000000000..e16eb8a398 --- /dev/null +++ b/examples/v1beta1/simple-gateway/httproute.yaml @@ -0,0 +1,14 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/simple-gateway.md +#$ - site-src/blog/2021/introducing-v1beta1.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: foo +spec: + parentRefs: + - name: prod-web + rules: + - backendRefs: + - name: foo-svc + port: 8080 diff --git a/examples/v1beta1/tls-basic.yaml b/examples/v1beta1/tls-basic.yaml new file mode 100644 index 0000000000..ddcafe76b4 --- /dev/null +++ b/examples/v1beta1/tls-basic.yaml @@ -0,0 +1,27 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/tls.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: tls-basic +spec: + gatewayClassName: acme-lb + listeners: + - name: foo-https + protocol: HTTPS + port: 443 + hostname: foo.example.com + tls: + certificateRefs: + - kind: Secret + group: "" + name: foo-example-com-cert + - name: bar-https + protocol: HTTPS + port: 443 + hostname: bar.example.com + tls: + certificateRefs: + - kind: Secret + group: "" + name: bar-example-com-cert diff --git a/examples/v1beta1/traffic-splitting/simple-split.yaml b/examples/v1beta1/traffic-splitting/simple-split.yaml new file mode 100644 index 0000000000..967570c753 --- /dev/null +++ b/examples/v1beta1/traffic-splitting/simple-split.yaml @@ -0,0 +1,15 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/traffic-splitting.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: simple-split +spec: + rules: + - backendRefs: + - name: foo-v1 + port: 8080 + weight: 90 + - name: foo-v2 + port: 8080 + weight: 10 diff --git a/examples/v1beta1/traffic-splitting/traffic-split-1.yaml b/examples/v1beta1/traffic-splitting/traffic-split-1.yaml new file mode 100644 index 0000000000..79725172e9 --- /dev/null +++ b/examples/v1beta1/traffic-splitting/traffic-split-1.yaml @@ -0,0 +1,22 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/traffic-splitting.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: HTTPRoute +metadata: + name: foo-route + labels: + gateway: prod-web-gw +spec: + hostnames: + - foo.example.com + rules: + - backendRefs: + - name: foo-v1 + port: 8080 + - matches: + - headers: + - name: traffic + value: test + backendRefs: + - name: foo-v2 + port: 8080 diff --git a/examples/v1alpha1/traffic-splitting/traffic-split-2.yaml b/examples/v1beta1/traffic-splitting/traffic-split-2.yaml similarity index 51% rename from examples/v1alpha1/traffic-splitting/traffic-split-2.yaml rename to examples/v1beta1/traffic-splitting/traffic-split-2.yaml index 8b3957600c..7d48483986 100644 --- a/examples/v1alpha1/traffic-splitting/traffic-split-2.yaml +++ b/examples/v1beta1/traffic-splitting/traffic-split-2.yaml @@ -1,6 +1,7 @@ #$ Used in: -#$ - site-src/v1alpha1/guides/traffic-splitting.md -apiVersion: networking.x-k8s.io/v1alpha1 +#$ - site-src/v1beta1/guides/traffic-splitting.md +#$ - site-src/v1beta1/api-types/httproute.md +apiVersion: gateway.networking.k8s.io/v1beta1 kind: HTTPRoute metadata: name: foo-route @@ -10,10 +11,10 @@ spec: hostnames: - foo.example.com rules: - - forwardTo: - - serviceName: foo-v1 + - backendRefs: + - name: foo-v1 port: 8080 weight: 90 - - serviceName: foo-v2 + - name: foo-v2 port: 8080 weight: 10 diff --git a/examples/v1alpha1/traffic-splitting/traffic-split-3.yaml b/examples/v1beta1/traffic-splitting/traffic-split-3.yaml similarity index 56% rename from examples/v1alpha1/traffic-splitting/traffic-split-3.yaml rename to examples/v1beta1/traffic-splitting/traffic-split-3.yaml index d35060a851..ca42f79ac5 100644 --- a/examples/v1alpha1/traffic-splitting/traffic-split-3.yaml +++ b/examples/v1beta1/traffic-splitting/traffic-split-3.yaml @@ -1,6 +1,6 @@ #$ Used in: -#$ - site-src/v1alpha1/guides/traffic-splitting.md -apiVersion: networking.x-k8s.io/v1alpha1 +#$ - site-src/v1beta1/guides/traffic-splitting.md +apiVersion: gateway.networking.k8s.io/v1beta1 kind: HTTPRoute metadata: name: foo-route @@ -10,10 +10,10 @@ spec: hostnames: - foo.example.com rules: - - forwardTo: - - serviceName: foo-v1 + - backendRefs: + - name: foo-v1 port: 8080 weight: 0 - - serviceName: foo-v2 + - name: foo-v2 port: 8080 weight: 1 diff --git a/examples/v1beta1/wildcard-tls-gateway.yaml b/examples/v1beta1/wildcard-tls-gateway.yaml new file mode 100644 index 0000000000..a871f8d7af --- /dev/null +++ b/examples/v1beta1/wildcard-tls-gateway.yaml @@ -0,0 +1,27 @@ +#$ Used in: +#$ - site-src/v1beta1/guides/tls.md +apiVersion: gateway.networking.k8s.io/v1beta1 +kind: Gateway +metadata: + name: wildcard-tls-gateway +spec: + gatewayClassName: acme-lb + listeners: + - name: foo-https + protocol: HTTPS + port: 443 + hostname: foo.example.com + tls: + certificateRefs: + - kind: Secret + group: "" + name: foo-example-com-cert + - name: wildcard-https + protocol: HTTPS + port: 443 + hostname: "*.example.com" + tls: + certificateRefs: + - kind: Secret + group: "" + name: wildcard-example-com-cert diff --git a/hack/make-docs.sh b/hack/make-docs.sh index 5de67044f3..686c316ed0 100755 --- a/hack/make-docs.sh +++ b/hack/make-docs.sh @@ -34,10 +34,6 @@ esac mkdir -p site # Generate docs with mkdocs mkdocs build -# Generate v1alpha1 API docs -./hack/api-docs/generate.sh v1alpha1 site/v1alpha1-spec.html -# Add them to spec page originally generated by mkdocs -run::sed -e '/REPLACE_WITH_GENERATED_CONTENT/{r site/v1alpha1-spec.html' -e 'd;}' site/v1alpha1/references/spec/index.html # Generate v1alpha2 API docs ./hack/api-docs/generate.sh v1alpha2 site/v1alpha2-spec.html # Add them to spec page originally generated by mkdocs diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index fe6d8dda93..4dd7b14bdd 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -33,7 +33,6 @@ mkdir -p "$GOPATH/src/sigs.k8s.io" ln -s "${SCRIPT_ROOT}" "$GOPATH/src/sigs.k8s.io/gateway-api" readonly OUTPUT_PKG=sigs.k8s.io/gateway-api/pkg/client -readonly FQ_APIS=sigs.k8s.io/gateway-api/apis/v1alpha2 readonly APIS_PKG=sigs.k8s.io/gateway-api readonly CLIENTSET_NAME=versioned readonly CLIENTSET_PKG_NAME=clientset @@ -48,30 +47,30 @@ readonly COMMON_FLAGS="${VERIFY_FLAG:-} --go-header-file ${SCRIPT_ROOT}/hack/boi echo "Generating CRDs" go run ./pkg/generator -for VERSION in v1alpha2 +echo "Generating clientset at ${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" +go run k8s.io/code-generator/cmd/client-gen \ + --clientset-name "${CLIENTSET_NAME}" \ + --input-base "" \ + --input "${APIS_PKG}/apis/v1alpha2,${APIS_PKG}/apis/v1beta1" \ + --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" \ + ${COMMON_FLAGS} + +echo "Generating listers at ${OUTPUT_PKG}/listers" +go run k8s.io/code-generator/cmd/lister-gen \ + --input-dirs "${APIS_PKG}/apis/v1alpha2,${APIS_PKG}/apis/v1beta1" \ + --output-package "${OUTPUT_PKG}/listers" \ + ${COMMON_FLAGS} + +echo "Generating informers at ${OUTPUT_PKG}/informers" +go run k8s.io/code-generator/cmd/informer-gen \ + --input-dirs "${APIS_PKG}/apis/v1alpha2,${APIS_PKG}/apis/v1beta1" \ + --versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}/${CLIENTSET_NAME}" \ + --listers-package "${OUTPUT_PKG}/listers" \ + --output-package "${OUTPUT_PKG}/informers" \ + ${COMMON_FLAGS} + +for VERSION in v1alpha2 v1beta1 do - echo "Generating ${VERSION} clientset at ${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" - go run k8s.io/code-generator/cmd/client-gen \ - --clientset-name "${CLIENTSET_NAME}" \ - --input-base "" \ - --input "${APIS_PKG}/apis/${VERSION}" \ - --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" \ - ${COMMON_FLAGS} - - echo "Generating ${VERSION} listers at ${OUTPUT_PKG}/listers" - go run k8s.io/code-generator/cmd/lister-gen \ - --input-dirs "${APIS_PKG}/apis/${VERSION}" \ - --output-package "${OUTPUT_PKG}/listers" \ - ${COMMON_FLAGS} - - echo "Generating ${VERSION} informers at ${OUTPUT_PKG}/informers" - go run k8s.io/code-generator/cmd/informer-gen \ - --input-dirs "${APIS_PKG}/apis/${VERSION}" \ - --versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}/${CLIENTSET_NAME}" \ - --listers-package "${OUTPUT_PKG}/listers" \ - --output-package "${OUTPUT_PKG}/informers" \ - ${COMMON_FLAGS} - echo "Generating ${VERSION} register at ${APIS_PKG}/apis/${VERSION}" go run k8s.io/code-generator/cmd/register-gen \ --input-dirs "${APIS_PKG}/apis/${VERSION}" \ diff --git a/mkdocs.yml b/mkdocs.yml index 7f0ef0a23f..211d7f8f85 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,38 +43,22 @@ nav: - Implementations: implementations.md - FAQ: faq.md - Guides: - - v1alpha2: - - Getting started: v1alpha2/guides/getting-started.md - - Simple Gateway: v1alpha2/guides/simple-gateway.md - - HTTP routing: v1alpha2/guides/http-routing.md - - HTTP redirects and rewrites: v1alpha2/guides/http-redirect-rewrite.md - - HTTP traffic splitting: v1alpha2/guides/traffic-splitting.md - - Cross-Namespace routing: v1alpha2/guides/multiple-ns.md - - TLS: v1alpha2/guides/tls.md - - TCP routing: v1alpha2/guides/tcp.md - - v1alpha1: - - Getting started: v1alpha1/guides/getting-started.md - - Simple Gateway: v1alpha1/guides/simple-gateway.md - - HTTP routing: v1alpha1/guides/http-routing.md - - HTTP traffic splitting: v1alpha1/guides/traffic-splitting.md - - Cross-Namespace routing: v1alpha1/guides/multiple-ns.md - - TLS: v1alpha1/guides/tls.md - - TCP routing: v1alpha1/guides/tcp.md + - Getting started: v1alpha2/guides/getting-started.md + - Simple Gateway: v1alpha2/guides/simple-gateway.md + - HTTP routing: v1alpha2/guides/http-routing.md + - HTTP redirects and rewrites: v1alpha2/guides/http-redirect-rewrite.md + - HTTP traffic splitting: v1alpha2/guides/traffic-splitting.md + - Cross-Namespace routing: v1alpha2/guides/multiple-ns.md + - TLS: v1alpha2/guides/tls.md + - TCP routing: v1alpha2/guides/tcp.md - Reference: - - v1alpha2: - - API Types: - GatewayClass: v1alpha2/api-types/gatewayclass.md - Gateway: v1alpha2/api-types/gateway.md - HTTPRoute: v1alpha2/api-types/httproute.md - ReferenceGrant: v1alpha2/api-types/referencegrant.md - - API specification: v1alpha2/references/spec.md - - Policy Attachment: v1alpha2/references/policy-attachment.md - - v1alpha1: - - API Types: - GatewayClass: v1alpha1/api-types/gatewayclass.md - Gateway: v1alpha1/api-types/gateway.md - HTTPRoute: v1alpha1/api-types/httproute.md - - API specification: v1alpha1/references/spec.md + - API Types: + GatewayClass: v1alpha2/api-types/gatewayclass.md + Gateway: v1alpha2/api-types/gateway.md + HTTPRoute: v1alpha2/api-types/httproute.md + ReferenceGrant: v1alpha2/api-types/referencegrant.md + - API specification: v1alpha2/references/spec.md + - Policy Attachment: v1alpha2/references/policy-attachment.md - Enhancement Proposals: - Overview: contributing/gep.md - ... | geps/gep-*.md diff --git a/pkg/admission/server.go b/pkg/admission/server.go index 7f74e6ef77..be0e022737 100644 --- a/pkg/admission/server.go +++ b/pkg/admission/server.go @@ -31,6 +31,8 @@ import ( v1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2" v1a2Validation "sigs.k8s.io/gateway-api/apis/v1alpha2/validation" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + v1b1Validation "sigs.k8s.io/gateway-api/apis/v1beta1/validation" ) var ( @@ -54,6 +56,21 @@ var ( Version: v1alpha2.SchemeGroupVersion.Version, Resource: "gatewayclasses", } + v1b1HTTPRouteGVR = meta.GroupVersionResource{ + Group: v1beta1.SchemeGroupVersion.Group, + Version: v1beta1.SchemeGroupVersion.Version, + Resource: "httproutes", + } + v1b1GatewayGVR = meta.GroupVersionResource{ + Group: v1beta1.SchemeGroupVersion.Group, + Version: v1beta1.SchemeGroupVersion.Version, + Resource: "gateways", + } + v1b1GatewayClassGVR = meta.GroupVersionResource{ + Group: v1beta1.SchemeGroupVersion.Group, + Version: v1beta1.SchemeGroupVersion.Version, + Resource: "gatewayclasses", + } ) func log500(w http.ResponseWriter, err error) { @@ -154,6 +171,14 @@ func handleValidation(request admission.AdmissionRequest) (*admission.AdmissionR } fieldErr = v1a2Validation.ValidateHTTPRoute(&hRoute) + case v1b1HTTPRouteGVR: + var hRoute v1beta1.HTTPRoute + _, _, err := deserializer.Decode(request.Object.Raw, nil, &hRoute) + if err != nil { + return nil, err + } + + fieldErr = v1b1Validation.ValidateHTTPRoute(&hRoute) case v1a2GatewayGVR: var gateway v1alpha2.Gateway _, _, err := deserializer.Decode(request.Object.Raw, nil, &gateway) @@ -161,6 +186,13 @@ func handleValidation(request admission.AdmissionRequest) (*admission.AdmissionR return nil, err } fieldErr = v1a2Validation.ValidateGateway(&gateway) + case v1b1GatewayGVR: + var gateway v1beta1.Gateway + _, _, err := deserializer.Decode(request.Object.Raw, nil, &gateway) + if err != nil { + return nil, err + } + fieldErr = v1b1Validation.ValidateGateway(&gateway) case v1a2GatewayClassGVR: // runs only for updates if request.Operation != admission.Update { @@ -177,6 +209,22 @@ func handleValidation(request admission.AdmissionRequest) (*admission.AdmissionR return nil, err } fieldErr = v1a2Validation.ValidateGatewayClassUpdate(&gatewayClassOld, &gatewayClass) + case v1b1GatewayClassGVR: + // runs only for updates + if request.Operation != admission.Update { + break + } + var gatewayClass v1beta1.GatewayClass + _, _, err := deserializer.Decode(request.Object.Raw, nil, &gatewayClass) + if err != nil { + return nil, err + } + var gatewayClassOld v1beta1.GatewayClass + _, _, err = deserializer.Decode(request.OldObject.Raw, nil, &gatewayClassOld) + if err != nil { + return nil, err + } + fieldErr = v1b1Validation.ValidateGatewayClassUpdate(&gatewayClassOld, &gatewayClass) default: return nil, fmt.Errorf("unknown resource '%v'", request.Resource.Resource) } diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index a28480532d..4c627a16bb 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -25,11 +25,13 @@ import ( rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" gatewayv1alpha2 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1alpha2" + gatewayv1beta1 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1beta1" ) type Interface interface { Discovery() discovery.DiscoveryInterface GatewayV1alpha2() gatewayv1alpha2.GatewayV1alpha2Interface + GatewayV1beta1() gatewayv1beta1.GatewayV1beta1Interface } // Clientset contains the clients for groups. Each group has exactly one @@ -37,6 +39,7 @@ type Interface interface { type Clientset struct { *discovery.DiscoveryClient gatewayV1alpha2 *gatewayv1alpha2.GatewayV1alpha2Client + gatewayV1beta1 *gatewayv1beta1.GatewayV1beta1Client } // GatewayV1alpha2 retrieves the GatewayV1alpha2Client @@ -44,6 +47,11 @@ func (c *Clientset) GatewayV1alpha2() gatewayv1alpha2.GatewayV1alpha2Interface { return c.gatewayV1alpha2 } +// GatewayV1beta1 retrieves the GatewayV1beta1Client +func (c *Clientset) GatewayV1beta1() gatewayv1beta1.GatewayV1beta1Interface { + return c.gatewayV1beta1 +} + // Discovery retrieves the DiscoveryClient func (c *Clientset) Discovery() discovery.DiscoveryInterface { if c == nil { @@ -69,6 +77,10 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { if err != nil { return nil, err } + cs.gatewayV1beta1, err = gatewayv1beta1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) if err != nil { @@ -82,6 +94,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { func NewForConfigOrDie(c *rest.Config) *Clientset { var cs Clientset cs.gatewayV1alpha2 = gatewayv1alpha2.NewForConfigOrDie(c) + cs.gatewayV1beta1 = gatewayv1beta1.NewForConfigOrDie(c) cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) return &cs @@ -91,6 +104,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { func New(c rest.Interface) *Clientset { var cs Clientset cs.gatewayV1alpha2 = gatewayv1alpha2.New(c) + cs.gatewayV1beta1 = gatewayv1beta1.New(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c) return &cs diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go index dcc655df9e..62bd300060 100644 --- a/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -27,6 +27,8 @@ import ( clientset "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned" gatewayv1alpha2 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1alpha2" fakegatewayv1alpha2 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1alpha2/fake" + gatewayv1beta1 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1beta1" + fakegatewayv1beta1 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1beta1/fake" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. @@ -83,3 +85,8 @@ var ( func (c *Clientset) GatewayV1alpha2() gatewayv1alpha2.GatewayV1alpha2Interface { return &fakegatewayv1alpha2.FakeGatewayV1alpha2{Fake: &c.Fake} } + +// GatewayV1beta1 retrieves the GatewayV1beta1Client +func (c *Clientset) GatewayV1beta1() gatewayv1beta1.GatewayV1beta1Interface { + return &fakegatewayv1beta1.FakeGatewayV1beta1{Fake: &c.Fake} +} diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 6514add16b..8a39b3ade9 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -25,6 +25,7 @@ import ( serializer "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" gatewayv1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2" + gatewayv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" ) var scheme = runtime.NewScheme() @@ -32,6 +33,7 @@ var codecs = serializer.NewCodecFactory(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ gatewayv1alpha2.AddToScheme, + gatewayv1beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index 913daac0b3..dfa04acdaa 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -25,6 +25,7 @@ import ( serializer "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" gatewayv1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2" + gatewayv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" ) var Scheme = runtime.NewScheme() @@ -32,6 +33,7 @@ var Codecs = serializer.NewCodecFactory(Scheme) var ParameterCodec = runtime.NewParameterCodec(Scheme) var localSchemeBuilder = runtime.SchemeBuilder{ gatewayv1alpha2.AddToScheme, + gatewayv1beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/apis_client.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/apis_client.go new file mode 100644 index 0000000000..8212f4a894 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/apis_client.go @@ -0,0 +1,99 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + rest "k8s.io/client-go/rest" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/scheme" +) + +type GatewayV1beta1Interface interface { + RESTClient() rest.Interface + GatewaysGetter + GatewayClassesGetter + HTTPRoutesGetter +} + +// GatewayV1beta1Client is used to interact with features provided by the gateway.networking.k8s.io group. +type GatewayV1beta1Client struct { + restClient rest.Interface +} + +func (c *GatewayV1beta1Client) Gateways(namespace string) GatewayInterface { + return newGateways(c, namespace) +} + +func (c *GatewayV1beta1Client) GatewayClasses() GatewayClassInterface { + return newGatewayClasses(c) +} + +func (c *GatewayV1beta1Client) HTTPRoutes(namespace string) HTTPRouteInterface { + return newHTTPRoutes(c, namespace) +} + +// NewForConfig creates a new GatewayV1beta1Client for the given config. +func NewForConfig(c *rest.Config) (*GatewayV1beta1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &GatewayV1beta1Client{client}, nil +} + +// NewForConfigOrDie creates a new GatewayV1beta1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *GatewayV1beta1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new GatewayV1beta1Client for the given RESTClient. +func New(c rest.Interface) *GatewayV1beta1Client { + return &GatewayV1beta1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1beta1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *GatewayV1beta1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/apis/v1alpha1/doc.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/doc.go similarity index 70% rename from apis/v1alpha1/doc.go rename to pkg/client/clientset/versioned/typed/apis/v1beta1/doc.go index 57286c062d..771101956f 100644 --- a/apis/v1alpha1/doc.go +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2020 The Kubernetes Authors. +Copyright The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,8 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Package v1alpha1 contains API Schema definitions for the networking.x-k8s.io -// API group. -// +kubebuilder:object:generate=true -// +groupName=networking.x-k8s.io -package v1alpha1 +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1beta1 diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/doc.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/doc.go new file mode 100644 index 0000000000..16f4439906 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_apis_client.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_apis_client.go new file mode 100644 index 0000000000..3760228b97 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_apis_client.go @@ -0,0 +1,48 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" + v1beta1 "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/typed/apis/v1beta1" +) + +type FakeGatewayV1beta1 struct { + *testing.Fake +} + +func (c *FakeGatewayV1beta1) Gateways(namespace string) v1beta1.GatewayInterface { + return &FakeGateways{c, namespace} +} + +func (c *FakeGatewayV1beta1) GatewayClasses() v1beta1.GatewayClassInterface { + return &FakeGatewayClasses{c} +} + +func (c *FakeGatewayV1beta1) HTTPRoutes(namespace string) v1beta1.HTTPRouteInterface { + return &FakeHTTPRoutes{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeGatewayV1beta1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gateway.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gateway.go new file mode 100644 index 0000000000..b2d223a9bf --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gateway.go @@ -0,0 +1,142 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + "context" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// FakeGateways implements GatewayInterface +type FakeGateways struct { + Fake *FakeGatewayV1beta1 + ns string +} + +var gatewaysResource = schema.GroupVersionResource{Group: "gateway.networking.k8s.io", Version: "v1beta1", Resource: "gateways"} + +var gatewaysKind = schema.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "Gateway"} + +// Get takes name of the gateway, and returns the corresponding gateway object, and an error if there is any. +func (c *FakeGateways) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Gateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(gatewaysResource, c.ns, name), &v1beta1.Gateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Gateway), err +} + +// List takes label and field selectors, and returns the list of Gateways that match those selectors. +func (c *FakeGateways) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.GatewayList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(gatewaysResource, gatewaysKind, c.ns, opts), &v1beta1.GatewayList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.GatewayList{ListMeta: obj.(*v1beta1.GatewayList).ListMeta} + for _, item := range obj.(*v1beta1.GatewayList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested gateways. +func (c *FakeGateways) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(gatewaysResource, c.ns, opts)) + +} + +// Create takes the representation of a gateway and creates it. Returns the server's representation of the gateway, and an error, if there is any. +func (c *FakeGateways) Create(ctx context.Context, gateway *v1beta1.Gateway, opts v1.CreateOptions) (result *v1beta1.Gateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(gatewaysResource, c.ns, gateway), &v1beta1.Gateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Gateway), err +} + +// Update takes the representation of a gateway and updates it. Returns the server's representation of the gateway, and an error, if there is any. +func (c *FakeGateways) Update(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (result *v1beta1.Gateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(gatewaysResource, c.ns, gateway), &v1beta1.Gateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Gateway), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeGateways) UpdateStatus(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (*v1beta1.Gateway, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(gatewaysResource, "status", c.ns, gateway), &v1beta1.Gateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Gateway), err +} + +// Delete takes name of the gateway and deletes it. Returns an error if one occurs. +func (c *FakeGateways) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(gatewaysResource, c.ns, name), &v1beta1.Gateway{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeGateways) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(gatewaysResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.GatewayList{}) + return err +} + +// Patch applies the patch and returns the patched gateway. +func (c *FakeGateways) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Gateway, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(gatewaysResource, c.ns, name, pt, data, subresources...), &v1beta1.Gateway{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Gateway), err +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gatewayclass.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gatewayclass.go new file mode 100644 index 0000000000..1f453231f2 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_gatewayclass.go @@ -0,0 +1,133 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + "context" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// FakeGatewayClasses implements GatewayClassInterface +type FakeGatewayClasses struct { + Fake *FakeGatewayV1beta1 +} + +var gatewayclassesResource = schema.GroupVersionResource{Group: "gateway.networking.k8s.io", Version: "v1beta1", Resource: "gatewayclasses"} + +var gatewayclassesKind = schema.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "GatewayClass"} + +// Get takes name of the gatewayClass, and returns the corresponding gatewayClass object, and an error if there is any. +func (c *FakeGatewayClasses) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.GatewayClass, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(gatewayclassesResource, name), &v1beta1.GatewayClass{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.GatewayClass), err +} + +// List takes label and field selectors, and returns the list of GatewayClasses that match those selectors. +func (c *FakeGatewayClasses) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.GatewayClassList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(gatewayclassesResource, gatewayclassesKind, opts), &v1beta1.GatewayClassList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.GatewayClassList{ListMeta: obj.(*v1beta1.GatewayClassList).ListMeta} + for _, item := range obj.(*v1beta1.GatewayClassList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested gatewayClasses. +func (c *FakeGatewayClasses) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(gatewayclassesResource, opts)) +} + +// Create takes the representation of a gatewayClass and creates it. Returns the server's representation of the gatewayClass, and an error, if there is any. +func (c *FakeGatewayClasses) Create(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.CreateOptions) (result *v1beta1.GatewayClass, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(gatewayclassesResource, gatewayClass), &v1beta1.GatewayClass{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.GatewayClass), err +} + +// Update takes the representation of a gatewayClass and updates it. Returns the server's representation of the gatewayClass, and an error, if there is any. +func (c *FakeGatewayClasses) Update(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (result *v1beta1.GatewayClass, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(gatewayclassesResource, gatewayClass), &v1beta1.GatewayClass{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.GatewayClass), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeGatewayClasses) UpdateStatus(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (*v1beta1.GatewayClass, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(gatewayclassesResource, "status", gatewayClass), &v1beta1.GatewayClass{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.GatewayClass), err +} + +// Delete takes name of the gatewayClass and deletes it. Returns an error if one occurs. +func (c *FakeGatewayClasses) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(gatewayclassesResource, name), &v1beta1.GatewayClass{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeGatewayClasses) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(gatewayclassesResource, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.GatewayClassList{}) + return err +} + +// Patch applies the patch and returns the patched gatewayClass. +func (c *FakeGatewayClasses) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.GatewayClass, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(gatewayclassesResource, name, pt, data, subresources...), &v1beta1.GatewayClass{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.GatewayClass), err +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_httproute.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_httproute.go new file mode 100644 index 0000000000..e3d55b9435 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/fake/fake_httproute.go @@ -0,0 +1,142 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + "context" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// FakeHTTPRoutes implements HTTPRouteInterface +type FakeHTTPRoutes struct { + Fake *FakeGatewayV1beta1 + ns string +} + +var httproutesResource = schema.GroupVersionResource{Group: "gateway.networking.k8s.io", Version: "v1beta1", Resource: "httproutes"} + +var httproutesKind = schema.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "HTTPRoute"} + +// Get takes name of the hTTPRoute, and returns the corresponding hTTPRoute object, and an error if there is any. +func (c *FakeHTTPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.HTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(httproutesResource, c.ns, name), &v1beta1.HTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.HTTPRoute), err +} + +// List takes label and field selectors, and returns the list of HTTPRoutes that match those selectors. +func (c *FakeHTTPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.HTTPRouteList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(httproutesResource, httproutesKind, c.ns, opts), &v1beta1.HTTPRouteList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.HTTPRouteList{ListMeta: obj.(*v1beta1.HTTPRouteList).ListMeta} + for _, item := range obj.(*v1beta1.HTTPRouteList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested hTTPRoutes. +func (c *FakeHTTPRoutes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(httproutesResource, c.ns, opts)) + +} + +// Create takes the representation of a hTTPRoute and creates it. Returns the server's representation of the hTTPRoute, and an error, if there is any. +func (c *FakeHTTPRoutes) Create(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.CreateOptions) (result *v1beta1.HTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(httproutesResource, c.ns, hTTPRoute), &v1beta1.HTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.HTTPRoute), err +} + +// Update takes the representation of a hTTPRoute and updates it. Returns the server's representation of the hTTPRoute, and an error, if there is any. +func (c *FakeHTTPRoutes) Update(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (result *v1beta1.HTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(httproutesResource, c.ns, hTTPRoute), &v1beta1.HTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.HTTPRoute), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeHTTPRoutes) UpdateStatus(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (*v1beta1.HTTPRoute, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(httproutesResource, "status", c.ns, hTTPRoute), &v1beta1.HTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.HTTPRoute), err +} + +// Delete takes name of the hTTPRoute and deletes it. Returns an error if one occurs. +func (c *FakeHTTPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(httproutesResource, c.ns, name), &v1beta1.HTTPRoute{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeHTTPRoutes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(httproutesResource, c.ns, listOpts) + + _, err := c.Fake.Invokes(action, &v1beta1.HTTPRouteList{}) + return err +} + +// Patch applies the patch and returns the patched hTTPRoute. +func (c *FakeHTTPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.HTTPRoute, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(httproutesResource, c.ns, name, pt, data, subresources...), &v1beta1.HTTPRoute{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.HTTPRoute), err +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/gateway.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/gateway.go new file mode 100644 index 0000000000..a9dc052635 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/gateway.go @@ -0,0 +1,195 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + scheme "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/scheme" +) + +// GatewaysGetter has a method to return a GatewayInterface. +// A group's client should implement this interface. +type GatewaysGetter interface { + Gateways(namespace string) GatewayInterface +} + +// GatewayInterface has methods to work with Gateway resources. +type GatewayInterface interface { + Create(ctx context.Context, gateway *v1beta1.Gateway, opts v1.CreateOptions) (*v1beta1.Gateway, error) + Update(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (*v1beta1.Gateway, error) + UpdateStatus(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (*v1beta1.Gateway, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.Gateway, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.GatewayList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Gateway, err error) + GatewayExpansion +} + +// gateways implements GatewayInterface +type gateways struct { + client rest.Interface + ns string +} + +// newGateways returns a Gateways +func newGateways(c *GatewayV1beta1Client, namespace string) *gateways { + return &gateways{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the gateway, and returns the corresponding gateway object, and an error if there is any. +func (c *gateways) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Gateway, err error) { + result = &v1beta1.Gateway{} + err = c.client.Get(). + Namespace(c.ns). + Resource("gateways"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Gateways that match those selectors. +func (c *gateways) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.GatewayList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.GatewayList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("gateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested gateways. +func (c *gateways) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("gateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a gateway and creates it. Returns the server's representation of the gateway, and an error, if there is any. +func (c *gateways) Create(ctx context.Context, gateway *v1beta1.Gateway, opts v1.CreateOptions) (result *v1beta1.Gateway, err error) { + result = &v1beta1.Gateway{} + err = c.client.Post(). + Namespace(c.ns). + Resource("gateways"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gateway). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a gateway and updates it. Returns the server's representation of the gateway, and an error, if there is any. +func (c *gateways) Update(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (result *v1beta1.Gateway, err error) { + result = &v1beta1.Gateway{} + err = c.client.Put(). + Namespace(c.ns). + Resource("gateways"). + Name(gateway.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gateway). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *gateways) UpdateStatus(ctx context.Context, gateway *v1beta1.Gateway, opts v1.UpdateOptions) (result *v1beta1.Gateway, err error) { + result = &v1beta1.Gateway{} + err = c.client.Put(). + Namespace(c.ns). + Resource("gateways"). + Name(gateway.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gateway). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the gateway and deletes it. Returns an error if one occurs. +func (c *gateways) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("gateways"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *gateways) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("gateways"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched gateway. +func (c *gateways) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Gateway, err error) { + result = &v1beta1.Gateway{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("gateways"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/gatewayclass.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/gatewayclass.go new file mode 100644 index 0000000000..c475594631 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/gatewayclass.go @@ -0,0 +1,184 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + scheme "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/scheme" +) + +// GatewayClassesGetter has a method to return a GatewayClassInterface. +// A group's client should implement this interface. +type GatewayClassesGetter interface { + GatewayClasses() GatewayClassInterface +} + +// GatewayClassInterface has methods to work with GatewayClass resources. +type GatewayClassInterface interface { + Create(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.CreateOptions) (*v1beta1.GatewayClass, error) + Update(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (*v1beta1.GatewayClass, error) + UpdateStatus(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (*v1beta1.GatewayClass, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.GatewayClass, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.GatewayClassList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.GatewayClass, err error) + GatewayClassExpansion +} + +// gatewayClasses implements GatewayClassInterface +type gatewayClasses struct { + client rest.Interface +} + +// newGatewayClasses returns a GatewayClasses +func newGatewayClasses(c *GatewayV1beta1Client) *gatewayClasses { + return &gatewayClasses{ + client: c.RESTClient(), + } +} + +// Get takes name of the gatewayClass, and returns the corresponding gatewayClass object, and an error if there is any. +func (c *gatewayClasses) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.GatewayClass, err error) { + result = &v1beta1.GatewayClass{} + err = c.client.Get(). + Resource("gatewayclasses"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of GatewayClasses that match those selectors. +func (c *gatewayClasses) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.GatewayClassList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.GatewayClassList{} + err = c.client.Get(). + Resource("gatewayclasses"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested gatewayClasses. +func (c *gatewayClasses) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Resource("gatewayclasses"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a gatewayClass and creates it. Returns the server's representation of the gatewayClass, and an error, if there is any. +func (c *gatewayClasses) Create(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.CreateOptions) (result *v1beta1.GatewayClass, err error) { + result = &v1beta1.GatewayClass{} + err = c.client.Post(). + Resource("gatewayclasses"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gatewayClass). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a gatewayClass and updates it. Returns the server's representation of the gatewayClass, and an error, if there is any. +func (c *gatewayClasses) Update(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (result *v1beta1.GatewayClass, err error) { + result = &v1beta1.GatewayClass{} + err = c.client.Put(). + Resource("gatewayclasses"). + Name(gatewayClass.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gatewayClass). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *gatewayClasses) UpdateStatus(ctx context.Context, gatewayClass *v1beta1.GatewayClass, opts v1.UpdateOptions) (result *v1beta1.GatewayClass, err error) { + result = &v1beta1.GatewayClass{} + err = c.client.Put(). + Resource("gatewayclasses"). + Name(gatewayClass.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(gatewayClass). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the gatewayClass and deletes it. Returns an error if one occurs. +func (c *gatewayClasses) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Resource("gatewayclasses"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *gatewayClasses) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Resource("gatewayclasses"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched gatewayClass. +func (c *gatewayClasses) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.GatewayClass, err error) { + result = &v1beta1.GatewayClass{} + err = c.client.Patch(pt). + Resource("gatewayclasses"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/generated_expansion.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/generated_expansion.go new file mode 100644 index 0000000000..98d1619998 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/generated_expansion.go @@ -0,0 +1,25 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +type GatewayExpansion interface{} + +type GatewayClassExpansion interface{} + +type HTTPRouteExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/apis/v1beta1/httproute.go b/pkg/client/clientset/versioned/typed/apis/v1beta1/httproute.go new file mode 100644 index 0000000000..219ae7c977 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/apis/v1beta1/httproute.go @@ -0,0 +1,195 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + scheme "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/scheme" +) + +// HTTPRoutesGetter has a method to return a HTTPRouteInterface. +// A group's client should implement this interface. +type HTTPRoutesGetter interface { + HTTPRoutes(namespace string) HTTPRouteInterface +} + +// HTTPRouteInterface has methods to work with HTTPRoute resources. +type HTTPRouteInterface interface { + Create(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.CreateOptions) (*v1beta1.HTTPRoute, error) + Update(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (*v1beta1.HTTPRoute, error) + UpdateStatus(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (*v1beta1.HTTPRoute, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.HTTPRoute, error) + List(ctx context.Context, opts v1.ListOptions) (*v1beta1.HTTPRouteList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.HTTPRoute, err error) + HTTPRouteExpansion +} + +// hTTPRoutes implements HTTPRouteInterface +type hTTPRoutes struct { + client rest.Interface + ns string +} + +// newHTTPRoutes returns a HTTPRoutes +func newHTTPRoutes(c *GatewayV1beta1Client, namespace string) *hTTPRoutes { + return &hTTPRoutes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the hTTPRoute, and returns the corresponding hTTPRoute object, and an error if there is any. +func (c *hTTPRoutes) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.HTTPRoute, err error) { + result = &v1beta1.HTTPRoute{} + err = c.client.Get(). + Namespace(c.ns). + Resource("httproutes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of HTTPRoutes that match those selectors. +func (c *hTTPRoutes) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.HTTPRouteList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1beta1.HTTPRouteList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("httproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested hTTPRoutes. +func (c *hTTPRoutes) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("httproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a hTTPRoute and creates it. Returns the server's representation of the hTTPRoute, and an error, if there is any. +func (c *hTTPRoutes) Create(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.CreateOptions) (result *v1beta1.HTTPRoute, err error) { + result = &v1beta1.HTTPRoute{} + err = c.client.Post(). + Namespace(c.ns). + Resource("httproutes"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hTTPRoute). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a hTTPRoute and updates it. Returns the server's representation of the hTTPRoute, and an error, if there is any. +func (c *hTTPRoutes) Update(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (result *v1beta1.HTTPRoute, err error) { + result = &v1beta1.HTTPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("httproutes"). + Name(hTTPRoute.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hTTPRoute). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *hTTPRoutes) UpdateStatus(ctx context.Context, hTTPRoute *v1beta1.HTTPRoute, opts v1.UpdateOptions) (result *v1beta1.HTTPRoute, err error) { + result = &v1beta1.HTTPRoute{} + err = c.client.Put(). + Namespace(c.ns). + Resource("httproutes"). + Name(hTTPRoute.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hTTPRoute). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the hTTPRoute and deletes it. Returns an error if one occurs. +func (c *hTTPRoutes) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("httproutes"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *hTTPRoutes) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("httproutes"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched hTTPRoute. +func (c *hTTPRoutes) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.HTTPRoute, err error) { + result = &v1beta1.HTTPRoute{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("httproutes"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/client/informers/externalversions/apis/interface.go b/pkg/client/informers/externalversions/apis/interface.go index 48d07c5bc7..7d37107085 100644 --- a/pkg/client/informers/externalversions/apis/interface.go +++ b/pkg/client/informers/externalversions/apis/interface.go @@ -20,6 +20,7 @@ package apis import ( v1alpha2 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1alpha2" + v1beta1 "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/apis/v1beta1" internalinterfaces "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/internalinterfaces" ) @@ -27,6 +28,8 @@ import ( type Interface interface { // V1alpha2 provides access to shared informers for resources in V1alpha2. V1alpha2() v1alpha2.Interface + // V1beta1 provides access to shared informers for resources in V1beta1. + V1beta1() v1beta1.Interface } type group struct { @@ -44,3 +47,8 @@ func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakList func (g *group) V1alpha2() v1alpha2.Interface { return v1alpha2.New(g.factory, g.namespace, g.tweakListOptions) } + +// V1beta1 returns a new v1beta1.Interface. +func (g *group) V1beta1() v1beta1.Interface { + return v1beta1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/pkg/client/informers/externalversions/apis/v1beta1/gateway.go b/pkg/client/informers/externalversions/apis/v1beta1/gateway.go new file mode 100644 index 0000000000..5da7a413e5 --- /dev/null +++ b/pkg/client/informers/externalversions/apis/v1beta1/gateway.go @@ -0,0 +1,90 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + time "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" + apisv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + versioned "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned" + internalinterfaces "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/internalinterfaces" + v1beta1 "sigs.k8s.io/gateway-api/pkg/client/listers/apis/v1beta1" +) + +// GatewayInformer provides access to a shared informer and lister for +// Gateways. +type GatewayInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1beta1.GatewayLister +} + +type gatewayInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewGatewayInformer constructs a new informer for Gateway type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewGatewayInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredGatewayInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredGatewayInformer constructs a new informer for Gateway type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredGatewayInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().Gateways(namespace).List(context.TODO(), options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().Gateways(namespace).Watch(context.TODO(), options) + }, + }, + &apisv1beta1.Gateway{}, + resyncPeriod, + indexers, + ) +} + +func (f *gatewayInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredGatewayInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *gatewayInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apisv1beta1.Gateway{}, f.defaultInformer) +} + +func (f *gatewayInformer) Lister() v1beta1.GatewayLister { + return v1beta1.NewGatewayLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/apis/v1beta1/gatewayclass.go b/pkg/client/informers/externalversions/apis/v1beta1/gatewayclass.go new file mode 100644 index 0000000000..0f5e1be1a8 --- /dev/null +++ b/pkg/client/informers/externalversions/apis/v1beta1/gatewayclass.go @@ -0,0 +1,89 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + time "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" + apisv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + versioned "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned" + internalinterfaces "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/internalinterfaces" + v1beta1 "sigs.k8s.io/gateway-api/pkg/client/listers/apis/v1beta1" +) + +// GatewayClassInformer provides access to a shared informer and lister for +// GatewayClasses. +type GatewayClassInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1beta1.GatewayClassLister +} + +type gatewayClassInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewGatewayClassInformer constructs a new informer for GatewayClass type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewGatewayClassInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredGatewayClassInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredGatewayClassInformer constructs a new informer for GatewayClass type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredGatewayClassInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().GatewayClasses().List(context.TODO(), options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().GatewayClasses().Watch(context.TODO(), options) + }, + }, + &apisv1beta1.GatewayClass{}, + resyncPeriod, + indexers, + ) +} + +func (f *gatewayClassInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredGatewayClassInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *gatewayClassInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apisv1beta1.GatewayClass{}, f.defaultInformer) +} + +func (f *gatewayClassInformer) Lister() v1beta1.GatewayClassLister { + return v1beta1.NewGatewayClassLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/apis/v1beta1/httproute.go b/pkg/client/informers/externalversions/apis/v1beta1/httproute.go new file mode 100644 index 0000000000..bcdc7bb73e --- /dev/null +++ b/pkg/client/informers/externalversions/apis/v1beta1/httproute.go @@ -0,0 +1,90 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "context" + time "time" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" + apisv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" + versioned "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned" + internalinterfaces "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/internalinterfaces" + v1beta1 "sigs.k8s.io/gateway-api/pkg/client/listers/apis/v1beta1" +) + +// HTTPRouteInformer provides access to a shared informer and lister for +// HTTPRoutes. +type HTTPRouteInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1beta1.HTTPRouteLister +} + +type hTTPRouteInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewHTTPRouteInformer constructs a new informer for HTTPRoute type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewHTTPRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredHTTPRouteInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredHTTPRouteInformer constructs a new informer for HTTPRoute type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredHTTPRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().HTTPRoutes(namespace).List(context.TODO(), options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.GatewayV1beta1().HTTPRoutes(namespace).Watch(context.TODO(), options) + }, + }, + &apisv1beta1.HTTPRoute{}, + resyncPeriod, + indexers, + ) +} + +func (f *hTTPRouteInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredHTTPRouteInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *hTTPRouteInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apisv1beta1.HTTPRoute{}, f.defaultInformer) +} + +func (f *hTTPRouteInformer) Lister() v1beta1.HTTPRouteLister { + return v1beta1.NewHTTPRouteLister(f.Informer().GetIndexer()) +} diff --git a/pkg/client/informers/externalversions/apis/v1beta1/interface.go b/pkg/client/informers/externalversions/apis/v1beta1/interface.go new file mode 100644 index 0000000000..8cfa2828a9 --- /dev/null +++ b/pkg/client/informers/externalversions/apis/v1beta1/interface.go @@ -0,0 +1,59 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + internalinterfaces "sigs.k8s.io/gateway-api/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Gateways returns a GatewayInformer. + Gateways() GatewayInformer + // GatewayClasses returns a GatewayClassInformer. + GatewayClasses() GatewayClassInformer + // HTTPRoutes returns a HTTPRouteInformer. + HTTPRoutes() HTTPRouteInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Gateways returns a GatewayInformer. +func (v *version) Gateways() GatewayInformer { + return &gatewayInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// GatewayClasses returns a GatewayClassInformer. +func (v *version) GatewayClasses() GatewayClassInformer { + return &gatewayClassInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// HTTPRoutes returns a HTTPRouteInformer. +func (v *version) HTTPRoutes() HTTPRouteInformer { + return &hTTPRouteInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/pkg/client/informers/externalversions/generic.go b/pkg/client/informers/externalversions/generic.go index 6f17f4f85f..c08e1e31c5 100644 --- a/pkg/client/informers/externalversions/generic.go +++ b/pkg/client/informers/externalversions/generic.go @@ -24,6 +24,7 @@ import ( schema "k8s.io/apimachinery/pkg/runtime/schema" cache "k8s.io/client-go/tools/cache" v1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other @@ -68,6 +69,14 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource case v1alpha2.SchemeGroupVersion.WithResource("udproutes"): return &genericInformer{resource: resource.GroupResource(), informer: f.Gateway().V1alpha2().UDPRoutes().Informer()}, nil + // Group=gateway.networking.k8s.io, Version=v1beta1 + case v1beta1.SchemeGroupVersion.WithResource("gateways"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Gateway().V1beta1().Gateways().Informer()}, nil + case v1beta1.SchemeGroupVersion.WithResource("gatewayclasses"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Gateway().V1beta1().GatewayClasses().Informer()}, nil + case v1beta1.SchemeGroupVersion.WithResource("httproutes"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Gateway().V1beta1().HTTPRoutes().Informer()}, nil + } return nil, fmt.Errorf("no informer found for %v", resource) diff --git a/pkg/client/listers/apis/v1beta1/expansion_generated.go b/pkg/client/listers/apis/v1beta1/expansion_generated.go new file mode 100644 index 0000000000..bb25592a92 --- /dev/null +++ b/pkg/client/listers/apis/v1beta1/expansion_generated.go @@ -0,0 +1,39 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +// GatewayListerExpansion allows custom methods to be added to +// GatewayLister. +type GatewayListerExpansion interface{} + +// GatewayNamespaceListerExpansion allows custom methods to be added to +// GatewayNamespaceLister. +type GatewayNamespaceListerExpansion interface{} + +// GatewayClassListerExpansion allows custom methods to be added to +// GatewayClassLister. +type GatewayClassListerExpansion interface{} + +// HTTPRouteListerExpansion allows custom methods to be added to +// HTTPRouteLister. +type HTTPRouteListerExpansion interface{} + +// HTTPRouteNamespaceListerExpansion allows custom methods to be added to +// HTTPRouteNamespaceLister. +type HTTPRouteNamespaceListerExpansion interface{} diff --git a/pkg/client/listers/apis/v1beta1/gateway.go b/pkg/client/listers/apis/v1beta1/gateway.go new file mode 100644 index 0000000000..34a6707cb0 --- /dev/null +++ b/pkg/client/listers/apis/v1beta1/gateway.go @@ -0,0 +1,99 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// GatewayLister helps list Gateways. +// All objects returned here must be treated as read-only. +type GatewayLister interface { + // List lists all Gateways in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*v1beta1.Gateway, err error) + // Gateways returns an object that can list and get Gateways. + Gateways(namespace string) GatewayNamespaceLister + GatewayListerExpansion +} + +// gatewayLister implements the GatewayLister interface. +type gatewayLister struct { + indexer cache.Indexer +} + +// NewGatewayLister returns a new GatewayLister. +func NewGatewayLister(indexer cache.Indexer) GatewayLister { + return &gatewayLister{indexer: indexer} +} + +// List lists all Gateways in the indexer. +func (s *gatewayLister) List(selector labels.Selector) (ret []*v1beta1.Gateway, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.Gateway)) + }) + return ret, err +} + +// Gateways returns an object that can list and get Gateways. +func (s *gatewayLister) Gateways(namespace string) GatewayNamespaceLister { + return gatewayNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// GatewayNamespaceLister helps list and get Gateways. +// All objects returned here must be treated as read-only. +type GatewayNamespaceLister interface { + // List lists all Gateways in the indexer for a given namespace. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*v1beta1.Gateway, err error) + // Get retrieves the Gateway from the indexer for a given namespace and name. + // Objects returned here must be treated as read-only. + Get(name string) (*v1beta1.Gateway, error) + GatewayNamespaceListerExpansion +} + +// gatewayNamespaceLister implements the GatewayNamespaceLister +// interface. +type gatewayNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Gateways in the indexer for a given namespace. +func (s gatewayNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.Gateway, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.Gateway)) + }) + return ret, err +} + +// Get retrieves the Gateway from the indexer for a given namespace and name. +func (s gatewayNamespaceLister) Get(name string) (*v1beta1.Gateway, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1beta1.Resource("gateway"), name) + } + return obj.(*v1beta1.Gateway), nil +} diff --git a/pkg/client/listers/apis/v1beta1/gatewayclass.go b/pkg/client/listers/apis/v1beta1/gatewayclass.go new file mode 100644 index 0000000000..2161270142 --- /dev/null +++ b/pkg/client/listers/apis/v1beta1/gatewayclass.go @@ -0,0 +1,68 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// GatewayClassLister helps list GatewayClasses. +// All objects returned here must be treated as read-only. +type GatewayClassLister interface { + // List lists all GatewayClasses in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*v1beta1.GatewayClass, err error) + // Get retrieves the GatewayClass from the index for a given name. + // Objects returned here must be treated as read-only. + Get(name string) (*v1beta1.GatewayClass, error) + GatewayClassListerExpansion +} + +// gatewayClassLister implements the GatewayClassLister interface. +type gatewayClassLister struct { + indexer cache.Indexer +} + +// NewGatewayClassLister returns a new GatewayClassLister. +func NewGatewayClassLister(indexer cache.Indexer) GatewayClassLister { + return &gatewayClassLister{indexer: indexer} +} + +// List lists all GatewayClasses in the indexer. +func (s *gatewayClassLister) List(selector labels.Selector) (ret []*v1beta1.GatewayClass, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.GatewayClass)) + }) + return ret, err +} + +// Get retrieves the GatewayClass from the index for a given name. +func (s *gatewayClassLister) Get(name string) (*v1beta1.GatewayClass, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1beta1.Resource("gatewayclass"), name) + } + return obj.(*v1beta1.GatewayClass), nil +} diff --git a/pkg/client/listers/apis/v1beta1/httproute.go b/pkg/client/listers/apis/v1beta1/httproute.go new file mode 100644 index 0000000000..6d27a03358 --- /dev/null +++ b/pkg/client/listers/apis/v1beta1/httproute.go @@ -0,0 +1,99 @@ +/* +Copyright The Kubernetes Authors. + +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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +import ( + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" + v1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1" +) + +// HTTPRouteLister helps list HTTPRoutes. +// All objects returned here must be treated as read-only. +type HTTPRouteLister interface { + // List lists all HTTPRoutes in the indexer. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*v1beta1.HTTPRoute, err error) + // HTTPRoutes returns an object that can list and get HTTPRoutes. + HTTPRoutes(namespace string) HTTPRouteNamespaceLister + HTTPRouteListerExpansion +} + +// hTTPRouteLister implements the HTTPRouteLister interface. +type hTTPRouteLister struct { + indexer cache.Indexer +} + +// NewHTTPRouteLister returns a new HTTPRouteLister. +func NewHTTPRouteLister(indexer cache.Indexer) HTTPRouteLister { + return &hTTPRouteLister{indexer: indexer} +} + +// List lists all HTTPRoutes in the indexer. +func (s *hTTPRouteLister) List(selector labels.Selector) (ret []*v1beta1.HTTPRoute, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.HTTPRoute)) + }) + return ret, err +} + +// HTTPRoutes returns an object that can list and get HTTPRoutes. +func (s *hTTPRouteLister) HTTPRoutes(namespace string) HTTPRouteNamespaceLister { + return hTTPRouteNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// HTTPRouteNamespaceLister helps list and get HTTPRoutes. +// All objects returned here must be treated as read-only. +type HTTPRouteNamespaceLister interface { + // List lists all HTTPRoutes in the indexer for a given namespace. + // Objects returned here must be treated as read-only. + List(selector labels.Selector) (ret []*v1beta1.HTTPRoute, err error) + // Get retrieves the HTTPRoute from the indexer for a given namespace and name. + // Objects returned here must be treated as read-only. + Get(name string) (*v1beta1.HTTPRoute, error) + HTTPRouteNamespaceListerExpansion +} + +// hTTPRouteNamespaceLister implements the HTTPRouteNamespaceLister +// interface. +type hTTPRouteNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all HTTPRoutes in the indexer for a given namespace. +func (s hTTPRouteNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.HTTPRoute, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.HTTPRoute)) + }) + return ret, err +} + +// Get retrieves the HTTPRoute from the indexer for a given namespace and name. +func (s hTTPRouteNamespaceLister) Get(name string) (*v1beta1.HTTPRoute, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1beta1.Resource("httproute"), name) + } + return obj.(*v1beta1.HTTPRoute), nil +} diff --git a/pkg/generator/main.go b/pkg/generator/main.go index a67bc5a224..dd0de8e344 100644 --- a/pkg/generator/main.go +++ b/pkg/generator/main.go @@ -39,12 +39,21 @@ const ( approvalLink = "https://github.com/kubernetes-sigs/gateway-api/pull/891" ) +var ( + standardKinds = map[string]bool{ + "GatewayClass": true, + "Gateway": true, + "HTTPRoute": true, + } +) + // This generation code is largely copied from // github.com/kubernetes-sigs/controller-tools/blob/ab52f76cc7d167925b2d5942f24bf22e30f49a02/pkg/crd/gen.go func main() { roots, err := loader.LoadRoots( "k8s.io/apimachinery/pkg/runtime/schema", // Needed to parse generated register functions. "sigs.k8s.io/gateway-api/apis/v1alpha2", + "sigs.k8s.io/gateway-api/apis/v1beta1", ) if err != nil { @@ -83,6 +92,9 @@ func main() { channels := []string{"standard", "experimental"} for _, channel := range channels { for groupKind := range kubeKinds { + if channel == "standard" && !standardKinds[groupKind.Kind] { + continue + } log.Printf("generating %s CRD for %v\n", channel, groupKind) parser.NeedCRDFor(groupKind, nil) diff --git a/site-src/blog/2021/introducing-v1alpha2.md b/site-src/blog/2021/introducing-v1alpha2.md index 18245d6b90..7cbe980edd 100644 --- a/site-src/blog/2021/introducing-v1alpha2.md +++ b/site-src/blog/2021/introducing-v1alpha2.md @@ -66,7 +66,7 @@ namespace to forward traffic to Services wherever this ReferenceGrant was installed: ```yaml -{% include 'v1alpha2/reference-grant.yaml' %} +{% include 'experimental/v1alpha2/reference-grant.yaml' %} ``` This is covered in more detail in [GEP 709](https://gateway-api.sigs.k8s.io/geps/gep-709/). diff --git a/site-src/concepts/security-model.md b/site-src/concepts/security-model.md index b2fd7f674e..8e8a8384fb 100644 --- a/site-src/concepts/security-model.md +++ b/site-src/concepts/security-model.md @@ -118,7 +118,7 @@ the "prod" namespace to HTTPRoutes that are deployed in the same namespace as the ReferenceGrant. ```yaml -{% include 'v1alpha2/reference-grant.yaml' %} +{% include 'experimental/v1alpha2/reference-grant.yaml' %} ``` For more information on ReferenceGrant, refer to our [detailed documentation diff --git a/site-src/v1alpha1/api-types/gateway.md b/site-src/v1alpha1/api-types/gateway.md deleted file mode 100644 index 1a8f5ef664..0000000000 --- a/site-src/v1alpha1/api-types/gateway.md +++ /dev/null @@ -1,53 +0,0 @@ -# Gateway - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - - -A `Gateway` is 1:1 with the life cycle of the configuration of infrastructure. -When a user creates a `Gateway`, some load balancing infrastructure is -provisioned or configured (see below for details) by the `GatewayClass` -controller. `Gateway` is the resource that triggers actions in this API. Other -resources in this API are configuration snippets until a Gateway has been -created to link the resources together. - -The `Gateway` spec defines the following: - -* `GatewayClassName`- Defines the name of a `GatewayClass` object used by - this Gateway. -* `Listeners`- Define the hostnames, ports, protocol, termination, TLS - settings and which routes should be associated to a listener. -* `Addresses`- Define the network addresses requested for this gateway. - -If the desired configuration specified in Gateway spec cannot be achieved, the -Gateway will be in an error state with details provided by status conditions. - -### Deployment models - -Depending on the `GatewayClass`, the creation of a `Gateway` could do any of -the following actions: - -* Use cloud APIs to create an LB instance. -* Spawn a new instance of a software LB (in this or another cluster). -* Add a configuration stanza to an already instantiated LB to handle the new - routes. -* Program the SDN to implement the configuration. -* Something else we haven’t thought of yet... - -The API does not specify which one of these actions will be taken. - -### Gateway Status - -`GatewayStatus` is used to surface the status of a `Gateway` relative to the -desired state represented in `spec`. `GatewayStatus` consists of the following: - -- `Addresses`- Lists the IP addresses that have actually been bound to the - Gateway. -- `Listeners`- Provide status for each unique listener port defined in `spec`. -- `Conditions`- Describe the current status conditions of the Gateway. - -Both `Conditions` and `Listeners.conditions` follow the conditions pattern used -elsewhere in Kubernetes. This is a list that includes a type of condition, the -status of the condition and the last time this condition changed. diff --git a/site-src/v1alpha1/api-types/gatewayclass.md b/site-src/v1alpha1/api-types/gatewayclass.md deleted file mode 100644 index 3de67c84da..0000000000 --- a/site-src/v1alpha1/api-types/gatewayclass.md +++ /dev/null @@ -1,145 +0,0 @@ -# GatewayClass - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -[GatewayClass][gatewayclass] is cluster-scoped resource defined by the -infrastructure provider. This resource represents a class of Gateways that can -be instantiated. - -[gatewayclass]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.GatewayClass - -> Note: GatewayClass serves the same function as the -> [`networking.IngressClass` resource][ingress-class-api]. - -```yaml -kind: GatewayClass -metadata: - name: cluster-gateway -spec: - controller: "acme.io/gateway-controller" -``` - -We expect that one or more `GatewayClasses` will be created by the -infrastructure provider for the user. It allows decoupling of which mechanism -(e.g. controller) implements the `Gateways` from the user. For instance, an -infrastructure provider may create two `GatewayClasses` named `internet` and -`private` to reflect `Gateways` that define Internet-facing vs private, internal -applications. - -```yaml -kind: GatewayClass -metadata: - name: internet - ... ---- -kind: GatewayClass -metadata: - name: private - ... -``` - -The user of the classes will not need to know *how* `internet` and `private` are -implemented. Instead, the user will only need to understand the resulting -properties of the class that the `Gateway` was created with. - -### GatewayClass parameters - -Providers of the `Gateway` API may need to pass parameters to their controller -as part of the class definition. This is done using the -`GatewayClass.spec.parametersRef` field: - -```yaml -# GatewayClass for Gateways that define Internet-facing applications. -kind: GatewayClass -metadata: - name: internet -spec: - controller: "acme.io/gateway-controller" - parametersRef: - group: acme.io/v1alpha1 - kind: Config - name: internet-gateway-config ---- -apiVersion: acme.io/v1alpha1 -kind: Config -metadata: - name: internet-gateway-config -spec: - ip-address-pool: internet-vips - ... -``` - -Using a Custom Resource for `GatewayClass.spec.parametersRef` is encouraged -but implementations may resort to using a ConfigMap if needed. - -### GatewayClass status - -`GatewayClasses` MUST be validated by the provider to ensure that the configured -parameters are valid. The validity of the class will be signaled to the user via -`GatewayClass.status`: - -```yaml -kind: GatewayClass -... -status: - conditions: - - type: Admitted - status: False - ... -``` - -A new `GatewayClass` will start with the `Admitted` condition set to -`False`. At this point the controller has not seen the configuration. Once the -controller has processed the configuration, the condition will be set to -`True`: - -```yaml -kind: GatewayClass -... -status: - conditions: - - type: Admitted - status: True - ... -``` - -If there is an error in the `GatewayClass.spec`, the conditions will be -non-empty and contain information about the error. - -```yaml -kind: GatewayClass -... -status: - conditions: - - type: Admitted - status: False - Reason: BadFooBar - Message: "foobar" is an FooBar. -``` - -### GatewayClass controller selection - -The `GatewayClass.spec.controller` field determines the controller implementation -responsible for managing the `GatewayClass`. The format of the field is opaque -and specific to a particular controller. The GatewayClass selected by a given -controller field depends on how various controller(s) in the cluster interpret -this field. - -It is RECOMMENDED that controller authors/deployments make their selection -unique by using a domain / path combination under their administrative control -(e.g. controller managing of all `controller`s starting with `acme.io` is the -owner of the `acme.io` domain) to avoid conflicts. - -Controller versioning can be done by encoding the version of a controller into -the path portion. An example scheme could be (similar to container URIs): - -```text -acme.io/gateway/v1 // Use version 1 -acme.io/gateway/v2 // Use version 2 -acme.io/gateway // Use the default version -``` - -[ingress-class-api]: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class diff --git a/site-src/v1alpha1/api-types/httproute.md b/site-src/v1alpha1/api-types/httproute.md deleted file mode 100644 index a1d688ebe7..0000000000 --- a/site-src/v1alpha1/api-types/httproute.md +++ /dev/null @@ -1,249 +0,0 @@ -# HTTPRoute - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -[HTTPRoute][httproute] is a Gateway API type for specifying routing behavior -of HTTP requests from a Gateway listener to an API object, i.e. Service. - -## Spec - -The specification of an HTTPRoute consists of: - -- [Gateways][gateways]- Define which Gateways can use this HTTPRoute. -- [Hostnames][hostname] (optional)- Define a list of hostnames to use for - matching the Host header of HTTP requests. -- [TLS][tls-config] (optional)- Defines the TLS certificate to use for - Hostnames defined in this Route. -- [Rules][httprouterule]- Define a list of rules to perform actions against - matching HTTP requests. Each rule consists - of [matches][matches], [filters][filters] (optional), and [forwardTo][forwardto] - (optional) fields. - -The following illustrates an HTTPRoute that sends all traffic to one Service: -![httproute-basic-example](/v1alpha1/images/httproute-basic-example.svg) - -### Gateways - -Gateways define which Gateways can use the HTTPRoute. If unspecified, `gateways` -defaults to `allow: SameNamespace` which allows all Gateways in the HTTPRoute's -namespace. - -The following example allows Gateways from namespace "httproute-ns-example": -```yaml -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: httproute-example - namespace: httproute-ns-example -spec: - gateways: - allow: SameNamespace -``` - -Possible values for `allow` are: - -- `All`: Gateways in any namespace can use this route. -- `FromList`: Only Gateways specified in `gatewayRefs` may use this route. -- `SameNamespace` (default): Only Gateways in the same namespace may use this - route. - -If `allow` results in preventing the selection of an HTTPRoute by a Gateway, an -“Admitted: false” condition must be set on the Gateway for this Route. - -### Hostnames - -Hostnames define a list of hostnames to match against the Host header of the -HTTP request. When a match occurs, the HTTPRoute is selected to perform request -routing based on rules and filters (optional). A hostname is the fully qualified -domain name of a network host, as defined by [RFC 3986][rfc-3986]. Note the -following deviations from the “host” part of the URI as defined in the RFC: - -- IPs are not allowed. -- The : delimiter is not respected because ports are not allowed. - -Incoming requests are matched against hostnames before the HTTPRoute rules are -evaluated. If no hostname is specified, traffic is routed based on HTTPRoute -rules and filters (optional). - -The following example defines hostname "my.example.com" and allows Gateways -from the same namespace as HTTPRoute "httproute-example": -```yaml -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: httproute-example -spec: - gateways: - allow: SameNamespace - hostnames: - - my.example.com -``` - -### TLS - -TLS defines the TLS certificate used for hostnames defined in this HTTPRoute. -This configuration only takes effect if `certificate: Allow` is set for -`routeOverride` in the associated Gateway. For example: -```yaml -{% include 'v1alpha1/tls-basic.yaml' %} -``` - -`CertificateRef` refers to a Kubernetes object that contains a TLS certificate -and private key. This certificate MUST be used for TLS handshakes for the domain -this `tls` is associated with. If an entry in this list omits or specifies the -empty string for both the `group` and `kind`, the resource defaults to “secrets”. - -**Notes:** - -- HTTPRoute selection takes place after the TLS Handshake (ClientHello). Due to -this, a TLS certificate in an HTTPRoute will take precedence even if the request -has the potential to match multiple HTTPRoutes (in case multiple HTTPRoutes -share the same hostname). -- Collisions can happen if multiple HTTPRoutes define a TLS certificate for the -same hostname. In such case, the certificate in the oldest HTTPRoute is selected. - -### Rules - -Rules define semantics for matching an HTTP request based on conditions, -optionally executing additional processing steps, and optionally forwarding -the request to an API object. - -#### Matches - -Matches define conditions used for matching an HTTP request. Each match is -independent, i.e. this rule will be matched if any single match is satisfied. - -Take the following matches configuration as an example: -```yaml -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -... -matches: - - path: - value: "/foo" - headers: - values: - version: "2" - - path: - value: "/v2/foo" -``` - -For a request to match against this rule, it must satisfy EITHER of the -following conditions: - - - A path prefixed with /foo **AND** contains the header "version: 2" - - A path prefix of /v2/foo - -If no matches are specified, the default is a prefix path match on “/”, -which has the effect of matching every HTTP request. - -#### Filters (optional) - -Filters define processing steps that must be completed during the request or -response lifecycle. Filters act as an extension point to express additional -processing that may be performed in Gateway implementations. Some examples -include request or response modification, implementing authentication -strategies, rate-limiting, and traffic shaping. - -The following example adds header "my-header: foo" to HTTP requests with Host -header "my.filter.com". -```yaml -{% include 'v1alpha1/http-filter.yaml' %} -``` - -API conformance is defined based on the filter type. The effects of ordering -multiple behaviors is currently unspecified. This may change in the future -based on feedback during the alpha stage. - -Conformance levels are defined by the filter type: - - - All "core" filters MUST be supported by implementations. - - Implementers are encouraged to support "extended" filters. - - "Custom" filters have no API guarantees across implementations. - -Specifying a core filter multiple times has unspecified or custom conformance. - -#### ForwardTo (optional) - -ForwardTo defines API objects where matching requests should be sent. If -unspecified, the rule performs no forwarding. If unspecified and no filters -are specified that would result in a response being sent, a 503 error code -is returned. - -The following example forwards HTTP requests for prefix `/bar` to service -"my-service1" on port `8080` and HTTP requests for prefix `/some/thing` with -header `magic: foo` to service "my-service2" on port `8080`: -```yaml -{% include 'v1alpha1/basic-http.yaml' %} -``` - -**Note:** Forwarding to a custom resource instead of a service can be -accomplished by specifying `backendRef` instead of `serviceName`. A -`backendRef` follows the standard Kubernetes `group`, `kind` and `name` -schema. - -The following example uses the `weight` field to forward HTTP requests for -prefix `/bar` equally across service "my-trafficsplit-svc1" and service -"my-trafficsplit-svc2", i.e. traffic splitting: -```yaml -{% include 'v1alpha1/http-trafficsplit.yaml' %} -``` - -Reference the [forwardTo][forwardto] API documentation for additional details -of `weight` and other fields. - -## Status - -Status defines the observed state of HTTPRoute. - -### RouteStatus - -RouteStatus defines the observed state that is required across all route types. - -#### Gateways - -Gateways define a list of the Gateways that are associated with the HTTPRoute, -and the status of the HTTPRoute with respect to each of these Gateways. When a -Gateway selects this HTTPRoute, the controller that manages the Gateway should -add an entry to this list when the controller first sees the route and should -update the entry as appropriate when the route is modified. - -The following example indicates HTTPRoute "http-example" has been admitted by -Gateway "gw-example" in namespace "gw-example-ns": -```yaml -apiVersion: networking.x-k8s.io/v1alpha1 -kind: HTTPRoute -metadata: - name: http-example -... -status: - gateways: - - gatewayRef: - name: gw-example - namespace: gw-example-ns - conditions: - - type: Admitted - status: "True" -``` - -A maximum of 100 Gateways can be represented in this list. If this list is full, -there may be additional Gateways using this Route that are not included in the -list. - -## Merging -Multiple HTTPRoutes can be attached to a single Gateway resource. Importantly, -only one Route rule may match each request. For more information on how conflict -resolution applies to merging, refer to the [API specification][httprouterule]. - -[httproute]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRoute -[gateways]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.RouteGateways -[httprouterule]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteRule -[hostname]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.Hostname -[tls-config]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.RouteTLSConfig -[rfc-3986]: https://tools.ietf.org/html/rfc3986 -[matches]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteMatch -[filters]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteFilter -[forwardto]: /v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteForwardTo diff --git a/site-src/v1alpha1/guides/getting-started.md b/site-src/v1alpha1/guides/getting-started.md deleted file mode 100644 index bb939c9303..0000000000 --- a/site-src/v1alpha1/guides/getting-started.md +++ /dev/null @@ -1,58 +0,0 @@ -# Getting started with Gateway APIs - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -**1.** **[Install a Gateway controller](#installing-a-gateway-controller)** - _OR_ **[install the Gateway API CRDs manually](#installing-gateway-api-crds-manually)** - -_THEN_ - -**2.** **Try out one of the available guides:** - -- [Simple Gateway](/v1alpha1/guides/simple-gateway) (a good one to start out with) -- [HTTP routing](/v1alpha1/guides/http-routing) -- [HTTP traffic splitting](/v1alpha1/guides/traffic-splitting) -- [Routing across Namespaces](/v1alpha1/guides/multiple-ns) -- [Configuring TLS](/v1alpha1/guides/tls) -- [TCP routing](/v1alpha1/guides/tcp) - -## Installing a Gateway controller - -There are [multiple projects](/implementations) that support the Gateway -API. By installing a Gateway controller in your Kubernetes cluster, you can -try out the guides above. This will demonstrate that the desired routing -configuration is actually being implemented by your Gateway resources (and the -network infrastructure that your Gateway resources represent). Note that many -of the Gateway controller setups will install and remove the Gateway API CRDs -for you. - -## Installing Gateway API CRDs manually - -The following command will install the Gateway API CRDs. This includes the -GatewayClass, Gateway, HTTPRoute, TCPRoute, and more. Note that a running -Gateway controller in your Kubernetes cluster is required to actually act on -these resources. Installing the CRDs will just allow you to see and apply the -resources, though they won't do anything. - -``` -kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.3.0" \ -| kubectl apply -f - -``` - -After you're done, you can clean up after yourself by uninstalling the -Gateway API CRDs. The following command will remove all GatewayClass, Gateway, -and associated resources in your cluster. If these resources are in-use or -if they were installed by a Gateway controller, then do not uninstall them. -This will uninstall the Gateway API CRDs for the entire cluster. Do not do -this if they might be in-use by someone else as this will break anything using -these resources. - - -``` -kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.3.0" \ -| kubectl delete -f - -``` - diff --git a/site-src/v1alpha1/guides/http-routing.md b/site-src/v1alpha1/guides/http-routing.md deleted file mode 100644 index 2c1f9a2d73..0000000000 --- a/site-src/v1alpha1/guides/http-routing.md +++ /dev/null @@ -1,66 +0,0 @@ -# HTTP routing - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -The [HTTPRoute resource](/v1alpha1/api-types/httproute) allows you to match on HTTP -traffic and direct it to Kubernetes backends. This guide shows how the HTTPRoute -matches traffic on host, header, and path fields and forwards it to different -Kubernetes Services. - -The following diagram describes a required traffic flow across three different -Services: - -- Traffic to `foo.example.com/login` is forwarded to `foo-svc` -- Traffic to `bar.example.com/*` with a `env: canary` header is forwarded -to `bar-svc-canary` -- Traffic to `bar.example.com/*` without the header is forwarded to `bar-svc` - -![HTTP Routing](/v1alpha1/images/http-routing.png) - -The dotted lines show the Gateway resources deployed to configure this routing -behavior. There are two HTTPRoute resources that create routing rules on the -same `prod-web` Gateway. This illustrates how more than one Route can bind to a -Gateway which allows Routes to merge on a Gateway as long as they don't -conflict. For more information on Route merging, refer to the [HTTPRoute -documentation](/v1alpha1/api-types/httproute#merging). - -The following `prod-web` Gateway is defined from the `acme-lb` GatewayClass. -`prod-web` listens for HTTP traffic on port 80 and will bind to all Routes in -the same Namespace that have the matching `gateway: prod-web-gw` label. -Route labels and Gateway label selectors allow Routes and Gateways to be -bound to each other by their respective owners. - -```yaml -{% include 'v1alpha1/http-routing/gateway.yaml' %} -``` - -An HTTPRoute can match against a [single set of -hostnames](https://gateway-api.sigs.k8s.io/v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteSpec). -These hostnames are matched before any other matching within the HTTPRoute takes -place. Since `foo.example.com` and `bar.example.com` are separate hosts with -different routing requirements, each is deployed as its own HTTPRoute - -`foo-route` and `bar-route`. - -The following `foo-route` will match any traffic for `foo.example.com` and apply -its routing rules to forward the traffic to the correct backend. Since there is -only one match specified, only `foo.example.com/login/*` traffic will be -forwarded. Traffic to any other paths that do not begin with `/login` will not -be matched by this Route. - -```yaml -{% include 'v1alpha1/http-routing/foo-httproute.yaml' %} -``` - -Similarly, the `bar-route` HTTPRoute matches traffic for `bar.example.com`. All -traffic for this hostname will be evaluated against the routing rules. The most -specific match will take precedence which means that any traffic with the `env: -canary` header will be forwarded to `bar-svc-canary` and if the header is -missing or not `canary` then it'll be forwarded to `bar-svc`. - -```yaml -{% include 'v1alpha1/http-routing/bar-httproute.yaml' %} -``` - diff --git a/site-src/v1alpha1/guides/multiple-ns.md b/site-src/v1alpha1/guides/multiple-ns.md deleted file mode 100644 index b0bb14c571..0000000000 --- a/site-src/v1alpha1/guides/multiple-ns.md +++ /dev/null @@ -1,163 +0,0 @@ -# Cross-Namespace routing - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -The Gateway API has core support for cross Namespace routing. This is useful -when more than one user or team is sharing the underlying networking infrastructure, -yet control and configuration must be segmented to minimize access and fault -domains. Gateways and Routes can be deployed into different Namespaces and bind -with each other across Namespace boundaries. This allows differing user access -and roles (RBAC) to be applied to separate Namespaces, effectively controlling -who has access to different parts of the cluster-wide routing configuration. The -ability for Routes to bind with Gateways across Namespace boundaries is goverend -by [_Route binding_](#cross-namespace-route-binding), which -is explored in this guide. The guide shows how two independent teams can safely -share the same Gateway from different Namespaces. - -In this guide there are two independent teams, _store_ and _site_, operating -in the same Kubernetes cluster in the `store-ns` and `site-ns` Namespaces. These are -their requirements: - -- The site team has two applications, _home_ and _login_, that are running -behind `foo.example.com`. They want to isolate access and configuration across -their apps as much as possible to minimize access and failure domains. -They use separate HTTPRoutes for each app, to isolate app routing configurations -such as canary rollouts. but share the same load balancer -IP, port, domain, and TLS certificate. -- The store team has a single Service called _store_ that they have deployed -in the `store-ns` Namespace. -- The Foobar Corporation operates behind the `foo.example.com` domain so they -would like to host all applications on the same Gateway resource. This is -controlled by a central infrastructure team, operating in the `infra-ns` Namespace. -- Lastly, the security team controls the certificate for `foo.example.com`. -By managing this certificate through the single shared Gateway they are able -to centrally control security without directly involving application teams. - -The logical relationship between the Gateway API resources looks like this: - -![Cross-Namespace routing](../images/cross-namespace-routing.svg) - -## Cross-namespace Route binding - -[Route binding](/concepts/api-overview/#route-binding) is an important concept -that dictates how Routes and Gateways select each other to apply routing -configuration to a Gateway. It is especially relevant when there are multiple -Gateways and multiple Namespaces in a cluster. Gateway and Route binding is -bidirectional - a binding can only exist if the Gateway owner and Route owner -owner both agree to the relationship. This bi-directional relationship exists -for two reasons: - -- Route owners don't want to overexpose their applications and don't want -their apps to be accessible through paths they are not aware of. -- Gateway owners don't want apps using certain Gateways they should not be -using. An internal application shouldn't be exposed through a public Gateway -for example. - - -As a result, Gateways and Routes have independent control to determine which -resources they permit binding with. It is a handshake between the infra owners -and the application owners that allows them to be independent actors. -Route-owners can specify that they will bind with all Gateways in the cluster, -or only Gateways from a specific Namespace, with a specific label selector, or -an individual Gateway. Similarly, Gateways provide the same level of control. -This allows a cluster to be more self-governed, which requires less central -administration to ensure that Routes are not over-exposed. - -## Resource Deployment - -The infrastructure team deploys the `shared-gateway` Gateway into the `infra-ns` -Namespace. - -```yaml -{% include 'v1alpha1/cross-namespace-routing/gateway.yaml' %} -``` - -A few notes about this Gateway: - -- It is matching for the `foo.example.com` domain. This is configured on the -Gateway so that each HTTPRoute does not also have to configure hostname matching, -since they are all using the same domain. This also allows these HTTPRoute -manifests to be reused across production and dev environments where the dev -environment might be hosted at `foo.dev.corp.example.com`. -- The Gateway is configured for HTTPS and references the `foo-example-com` Secret. -This allows the certificate to be managed centrally for all applications which -are using this Gateway. -- It allows any Route in the cluster to use this Gateway because `namespaces.from = All`. -This is a permissive method of Route selection since the Routes are given -full control to select this Gateway. There are more restrictive forms of Route -selection that allow selection on a per-Namespace basis, detailed -in [Route binding](/concepts/api-overview/#route-binding). The following block -specifies how this Gateway allows HTTPRoutes from all Namespaces in the -cluster to bind to it: - -```yaml - routes: - kind: HTTPRoute - namespaces: - from: "All" -``` - -Meanwhile, the store team deploys their route for the `store` Service in the -`store-ns` Namespace: - -```yaml -{% include 'v1alpha1/cross-namespace-routing/store-route.yaml' %} -``` - -This Route has straightforward routing logic as it just matches for -`/store` traffic which it sends to the `store` Service. The following snippet -of the [`gateways` field](/v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.RouteGateways) -controls which Gateways this Route can bind to: - -```yaml - gateways: - allow: FromList - gatewayRefs: - - name: shared-gateway - namespace: infra -``` - -`gateways.allow` can be configured for Gateways in the same Namespace as the -Route (the default), all Gateways, or a list of specific Gateways. In this -example the store and site teams decide to reference a specific Gateway. This is -the least permissive choice which ensures that other Gateways in the cluster -(perhaps created in the future at some point) will not bind with these Routes. -If cluster administrators have full control over how Gateways are deployed in a -cluster then a more permissive binding option could be configured on Routes. The -less permissive the Gateway selection is, the less that application owners need -to know about which Gateways are deployed. - -The site team now deploys Routes for their applications. They deploy two -HTTPRoutes into the `site-ns` Namespace: - -- The `home` HTTPRoute acts as a default routing rule, matching for all traffic -to `foo.example.com/*` not matched by an existing routing rule and sending it to -the `home` Service. -- The `login` HTTPRoute routes traffic for `foo.example.com/login` to -`service/login-v1` and `service/login-v2`. It uses weights to granularly -control traffic distribution between them. - -Both of these Routes use the same Gateway binding configuration which specifies -`gateway/shared-gateway` in the `infra-ns` Namespace as the only Gateway that these -Routes can bind with. - -```yaml -{% include 'v1alpha1/cross-namespace-routing/site-route.yaml' %} -``` - -After these three Routes are deployed, they will all be bound to the -`shared-gateway` Gateway. The Gateway merges its bound Routes into a single flat -list of routing rules. [Routing -precedence](/v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteRule) -between the flat list of routing rules is determined by most specific match and -conflicts are handled according to [conflict -resolution](/concepts/guidelines#conflicts). This provides predictable and -deterministic merging of routing rules between independent users. - -Thanks to cross-Namespace routing, the Foobar Corporation can distribute -ownership of their infrastructure more evenly, while still retaining centralized -control. This gives them the best of both worlds, all delivered through -declarative and open source APIs. \ No newline at end of file diff --git a/site-src/v1alpha1/guides/simple-gateway.md b/site-src/v1alpha1/guides/simple-gateway.md deleted file mode 100644 index 15551e49dc..0000000000 --- a/site-src/v1alpha1/guides/simple-gateway.md +++ /dev/null @@ -1,46 +0,0 @@ -# Deploying a simple Gateway - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -The simplest possible deployment is a Gateway and Route resource which are -deployed together by the same owner. This represents a similar kind of model -used for Ingress. In this guide, a Gateway and HTTPRoute are deployed which -match all HTTP traffic and directs it to a single Service named `foo-svc`. - -![Simple Gateway](/v1alpha1/images/single-service-gateway.png) - -```yaml -{% include 'v1alpha1/simple-gateway/gateway.yaml' %} -``` - -The Gateway represents the instantation of a logical load balancer. It's -templated from a hypothetical `acme-lb` GatewayClass. The Gateway listens for -HTTP traffic on port 80. This particular GatewayClass automatically assigns an -IP address which will be shown in the `Gateway.status` after it has been -deployed. - -Gateways bind Routes to themselves via label selection (similar to how Services -label select across Pod labels). In this example, the `prod-web` Gateway will -bind any HTTPRoute resources which have the `gateway: prod-web-gw` label. The -label can be any arbitrary label, but using one that identifies the name or -capabilities of the Gateway is useful to Route owners and makes the relationship -more explicit. More complex bi-directional matching and permissions are possible -and explained in other guides. - -The following HTTPRoute defines how traffic from the Gateway listener is routed -to backends. Because there are no host routes or paths specified, this HTTPRoute -will match all HTTP traffic that arrives at port 80 of the load balancer and -send it to the `foo-svc` Pods. - -```yaml -{% include 'v1alpha1/simple-gateway/httproute.yaml' %} -``` - -While Route resources are often used to filter traffic to many different -backends (potentially with different owners), this demonstrates the simplest -possible route with a single Service backend. This example shows how a service -owner can deploy both the Gateway and the HTTPRoute for their usage alone, -giving them more control and autonomy for how the service is exposed. diff --git a/site-src/v1alpha1/guides/tcp.md b/site-src/v1alpha1/guides/tcp.md deleted file mode 100644 index a1a5543c54..0000000000 --- a/site-src/v1alpha1/guides/tcp.md +++ /dev/null @@ -1,31 +0,0 @@ -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -Gateway API is designed to work with multiple protocols. -[TCPRoute](/v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.TCPRoute) is one such route which -allows for managing TCP traffic. - -In this example, we have one Gateway resource and two TCPRoute resources that -distribute the traffic with the following rules: - -- All TCP streams on port 8080 of the Gateway are forwarded to port 6000 of - `my-foo-service` Kubernetes Service. -- All TCP streams on port 8090 of the Gateway are forwarded to port 6000 of - `my-bar-service` Kubernetes Service. - -Please note the following: - -- The `protocol` of listeners on the Gateway is `TCP`. -- Each listener selects exactly one TCPRoute. This is important since the routing - decision is performed based on destination port only. If more metadata is used - for routing decisions, then one may associate multiple TCPRoutes to a single - Gateway listener. Implementations can support such use-cases by adding a custom - resource to specify advanced routing properties and then referencing it in - `spec.rules[].matches[].extensionRef`. Conflicts due to routing colisions should - be resolved as per the [conflict resolution](/concepts/guidelines#conflicts) guidelines. - -``` -{% include 'v1alpha1/basic-tcp.yaml' %} -``` diff --git a/site-src/v1alpha1/guides/tls.md b/site-src/v1alpha1/guides/tls.md deleted file mode 100644 index d0305d3023..0000000000 --- a/site-src/v1alpha1/guides/tls.md +++ /dev/null @@ -1,165 +0,0 @@ -# TLS details - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -Gateway API allow for a variety of ways to configure TLS. This document lays -out various TLS settings and gives general guidelines on how to use them -effectively. - -## Client/Server and TLS - -![overview](/v1alpha1/images/tls-overview.svg) - -For Gateways, there are two connections involved: - -- **downstream**: This is the connection between the client and the Gateway. -- **upstream**: This is the connection between the Gateway and backend resources - specified by routes. These backend resources will usually be Services. - -With Gateway API, TLS configuration of downstream and -upstream connections is managed independently. - -Depending on the Listener Protocol, different TLS modes and Route types are supported. - -Listener Protocol | TLS Mode | Route Type Supported ---- | --- | --- -TLS | Passthrough | TLSRoute -TLS | Terminate | TCPRoute -HTTPS | Terminate | HTTPRoute - -Please note that in case of `Passthrough` TLS mode, no TLS settings take -effect as the TLS session from the client is NOT terminated at the Gateway. -The rest of the document assumes that TLS is being terminated at the Gateway, -which is the default setting. - -## Downstream TLS - -Downstream TLS settings are configured using listeners at the Gateway level. - -### Listeners and TLS - -Listeners expose the TLS setting on a per domain or sub-domain basis. -TLS settings of a listener are applied to all domains that satisfy the -`hostname` criteria. - -In the following example, the Gateway serves the TLS certificate -defined in the `default-cert` Secret resource for all requests. -Although, the example refers to HTTPS protocol, one can also use the same -feature for TLS-only protocol along with TLSRoutes. - -```yaml -listeners: -- protocol: HTTPS # Other possible value is `TLS` - port: 443 - tls: - mode: Terminate # If protocol is `TLS`, `Passthrough` is a possible mode - certificateRef: - kind: Secret - group: core - name: default-cert - routeOverride: - certificate: Deny -``` - -If `hostname.match` is set to `Exact`, then the TLS settings apply to only the -specific hostname that is set in `hostname.name`. - -Specifying `tls.routeOverride.certificate: Deny` is recommended because it -centralizes TLS configuration within the Gateway specification and should -suffice for the majority of use-cases. Please take a look at the examples below -for various alternatives. - -### Routes and TLS - -If `listeners[].tls.routeOverride.certificate` is set to `Allow`, TLS certificates -can be configured on routes that are bound to the Gateway. This feature is -primarily meant for a cluster with a self-service model where Application developers -bring their own TLS certificates. This feature also mirrors the behavior of -TLS as defined in the Ingress v1 resource. One should use this feature only -when the Cluster Operator wishes to delegate TLS configuration to the Application Developer. -With this feature, the certificate defined in the route overrides any certificate defined in -the Gateway. - -When using this feature, please note that the TLS certificate to serve is chosen -before an HTTPRoute is selected. This is because the TLS handshake is completed -before an HTTP request is sent from the client. - -[TLS Certificate in Route](#tls-certificate-in-route) provides an example -of how this feature can be used. - -Also, as mentioned above, the Route Kind (`HTTPRoute`, `TLSRoute`, `TCPRoute`) -is dependent on the protocol on the listener level. Listeners with `HTTPS` or -`HTTP` protocols can use `HTTPRoute` as the TLS Termination is done at the -listener level and thus, only HTTP information is used for routing. - -Listeners with the `TLS` protocol must use `TLSRoute` when the mode is set to `Passthrough` and `TCPRoute` when the mode is `Terminate`. - -Listeners with the TCP protocol must use `TCPRoute` for plain TCP Routing. - -### Examples - -#### TLS in listener - -In this example, the Gateway is configured to serve the `foo.example.com` and -`bar.example.com` domains. The certificate for these domains is specified -in the Gateway. - -``` -{% include 'v1alpha1/tls-basic.yaml' %} -``` - -#### Wildcard TLS listeners - -In this example, the Gateway is configured with a wildcard certificate for -`*.example.com` and a different certificate for `foo.example.com`. -Since a specific match takes priority, the Gateway will serve -`foo-example-com-cert` for requests to `foo.example.com` and -`wildcard-example-com-cert` for all other requests. - -```yaml -{% include 'v1alpha1/wildcard-tls-gateway.yaml' %} -``` - -#### TLS Certificate in Route - -In this example, the Gateway is configured with a default certificate that will be -served for all hostnames. In addition, `tls.routeOverride.certificate` is set to -`Allow`, meaning routes can specify TLS certificates for any domains. Next, -there are two HTTPRoute resources which specify certificates for -`foo.example.com` and `bar.example.com`. - -```yaml -{% include 'v1alpha1/tls-cert-in-route.yaml' %} -``` - -## Upstream TLS - -Upstream TLS configuration applies to the connection between the Gateway -and Service. - -There is only one way to configure upstream TLS: using the `BackendPolicy` -resource. - -Please note that the TLS configuration is related to the Service or backend -resource and not related to a specific route resource. - -### Example - -The following example shows how upstream TLS can be configured. We have -omitted downstream TLS configuration for simplicity. As noted before, it -doesn't matter how downstream TLS is configured for the specific listener or -route. - -```yaml -{% include 'v1alpha1/upstream-tls.yaml' %} -``` - -## Extensions - -Both upstream and downstream TLS configs provide an `options` map to add -additional TLS settings for implementation-specific features. -Some examples of features that could go in here would be TLS version restrictions, -or ciphers to use. diff --git a/site-src/v1alpha1/guides/traffic-splitting.md b/site-src/v1alpha1/guides/traffic-splitting.md deleted file mode 100644 index b2b28c8072..0000000000 --- a/site-src/v1alpha1/guides/traffic-splitting.md +++ /dev/null @@ -1,92 +0,0 @@ -# HTTP traffic splitting - -!!! warning "v1alpha1 has been deprecated" - - Please upgrade to v1alpha2, v1alpha1 will be removed from Gateway API - in an upcoming release. - -The [HTTPRoute resource](/v1alpha1/api-types/httproute) allows you to specify weights to shift -traffic between different backends. This is useful for splitting traffic during -rollouts, canarying changes, or for emergencies. The HTTPRoute -`spec.rules.forwardTo` accepts a list of backends that a route rule will send -traffic to. The relative weights of these backends define the split of traffic -between them. The following YAML snippet shows how two Services are listed as -backends for a single route rule. This route rule will split traffic 90% to -`foo-v1` and 10% to `foo-v2`. - -![Traffic splitting](/v1alpha1/images/simple-split.png) - -```yaml -{% include 'v1alpha1/traffic-splitting/simple-split.yaml' %} -``` - -`weight` indicates a proportional split of traffic (rather than percentage) -and so the sum of all the weights within a single route rule is the -denominator for all of the backends. `weight` is an optional parameter and if -not specified, defaults to 1. If only a single backend is specified for a -route rule it implicitly recieves 100% of the traffic, no matter what (if any) -weight is specified. - -## Guide - -This guide shows the deployment of two versions of a Service. Traffic splitting -is used to manage the gradual splitting of traffic from v1 to v2. - -This example assumes that the following Gateway is deployed: - -```yaml -{% include 'v1alpha1/simple-gateway/gateway.yaml' %} -``` - -## Canary traffic rollout - -At first, there may only be a single version of a Service that serves -production user traffic for `foo.example.com`. The following HTTPRoute has no -`weight` specified for `foo-v1` or `foo-v2` so they will implicitly -recieve 100% of the traffic matched by each of their route rules. A canary -route rule is used (matching the header `traffic=test`) to send synthetic test -traffic before splitting any production user traffic to `foo-v2`. [Routing -precedence](/v1alpha1/references/spec/#networking.x-k8s.io/v1alpha1.HTTPRouteRule) ensures that -all traffic with the matching host and header (the most specific match) will -be sent to `foo-v2`. - -![Traffic splitting](/v1alpha1/images/traffic-splitting-1.png) - - -```yaml -{% include 'v1alpha1/traffic-splitting/traffic-split-1.yaml' %} -``` - -## Blue-green traffic rollout - -After internal testing has validated succesful responses from `foo-v2`, -it's desirable to shift a small percentage of the traffic to the new Service -for gradual and more realistic testing. The HTTPRoute below adds `foo-v2` -as a backend along with weights. The weights add up to a total of 100 so -`foo-v1` recieves 90/100=90% of the traffic and `foo-v2` recieves -10/100=10% of the traffic. - -![Traffic splitting](/v1alpha1/images/traffic-splitting-2.png) - - -```yaml -{% include 'v1alpha1/traffic-splitting/traffic-split-2.yaml' %} -``` - -## Completing the rollout - -Finally, if all signals are positive, it is time to fully shift traffic to -`foo-v2` and complete the rollout. The weight for `foo-v1` is set to -`0` so that it is configured to accept zero traffic. - -![Traffic splitting](/v1alpha1/images/traffic-splitting-3.png) - - -```yaml -{% include 'v1alpha1/traffic-splitting/traffic-split-3.yaml' %} -``` - -At this point 100% of the traffic is being routed to `foo-v2` and the -rollout is complete. If for any reason `foo-v2` experiences errors, the -weights can be updated to quickly shift traffic back to `foo-v1`. Once -the rollout is deemed final, v1 can be fully decommissioned. diff --git a/site-src/v1alpha1/images/api-model.png b/site-src/v1alpha1/images/api-model.png deleted file mode 100644 index 1a01ac5f6ce13c2b0f592910758767aa691de105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363629 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֌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 z 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 \ No newline at end of file diff --git a/site-src/v1alpha1/images/gateway-roles.png b/site-src/v1alpha1/images/gateway-roles.png deleted file mode 100644 index 4848bfa20fef9bc9ca29729a790f74d3a373d6df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312120 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

KguRITW@`cZKa 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%0Dg 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 HP2~RqIA$y? diff --git a/site-src/v1alpha1/images/http-routing.png b/site-src/v1alpha1/images/http-routing.png deleted file mode 100644 index 3b9e417bc6f633272126f0c02cbcd40de700736b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246962 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 z 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 \ No newline at end of file diff --git a/site-src/v1alpha1/images/policy/hierarchy.png b/site-src/v1alpha1/images/policy/hierarchy.png deleted file mode 100644 index 7b5f64d47da3e8b8fbe40ca365fe15805e0820bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59253 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 i54BP-Jo|R2L69jXE^NxVMTkx6@+C{yq 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 ZWS)=wQC~sJ@{wBKElquma`pR9{sTm$5UBtF diff --git a/site-src/v1alpha1/images/policy/ingress-complex.png b/site-src/v1alpha1/images/policy/ingress-complex.png deleted file mode 100644 index 28d5ab0f821b5a60daefeb6c44a149a42e9a6231..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45879 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¨UijkB_*rSnBPC z9cQAJ3XcRh<1^Cp#FXz`mDHn{SeRAR4t}%0?-0*-F{oex2c8_YO7T-6-k`-ui~;^SM$e>HRkVg z`W92Y1S_^Y2F5%7dibwbJN7auQrvxPCYSX`R=TX-KBqadI<{f0T8`Y=GT@xa8l`^D zCrfiHE8r-0m|Oen*`k_QmV_@`OU4aS6Ash4oi_y9tb0@o{#cTFm(Zx@)@;_FJ>jNx zYjzg#SMq#pDetke`q;-~ant)_*Gtvw}B`Le2e6iS7DeAlMugzTqww4YJ;44(ZY?>yeyv<%WNhotWh`gk5eVZ z>1E3DkLX3#zE4lHs|_p>?dQ+fRWTBn!BlaOZDSF6tvSCj(Kx}Z4Od)1ickVCzT1%2 zpCMGWf?7Z2;n!Q-OJsQQQKVjyzj{_JkIhB2Pb_nb;BW`n%nu)kc@tUjLO|GIU~re* zE_Jxdpfy|iDII+d!broO0m z)zt`aonF*rky~9|EXe(w^3d@8YLezcLZtg`UGf+rBjufX{o+nO; zI#CNIikEvM-^M%8Z&S>%ZrOsEv-flP%|?mj9xGkHFiwOD?h$XZLqc~e>XD4 z@F91Jt(9eVIn`XDjM_ci-~h!aldtnsT_r=BA*#LNkld3&`?hHqU0|TmjlXJIKg=>fW z*`;JQbi8^qT4_z}dGJ-vuCLsfUx?8YqmOHNgvH3T>mG`&rtH%`U#}-$NNy6+GE3{< z(GlLkdd)D)?TBw>*(0!;5~;I%-5pZ{7SFq61_!gBxEM(!VfENTWMZDpuX(-28xCQz9lc8GTlVJ*flf4NBK(ajO?#VHF5v_W=+p29 z9E6VFr&J8aeX8ngXhF!?cr@gfbu)#aieKYl8%sP7(pgwP|6G!YZWiujFX=xg4o6 zvO3@0y>PAbDi`Im+aecI39%oOPu@w}67hd#!_)ZQZIZHW1OD${5|+7!@kDw5fK) zOn|j2cR@7o7q*7B1zUi`waqVUT7YvuxjxqAG)qN@)Hm2V*iYF}x!@7EPFRv2+4DbnS5$jZnS7rugxs$!t5EBUGn0?^RMF9U37YTtSPg!)g}Nc^>}SRV ziCV+>prtTVWZn1d9IJO- zHpg>&DPAK?(_ZI^&Z#=bHR6F^M-rAcL?{~cUf&Y;`M7`7#AB+F*+=qmE|&d;S242k zGPT5=-&=g-C9|E3XwAn7mo47hl$xBqDnWaiG-)Io=qgC4&fAzZ_c-hQFn1GY@ui2B zA?)^_^kgJ_BN98;{6CKc@-8*1#F5Be1QTGTJQ$}IV>28Kk4sYtI^t9QnNe5fl$y0O zOTZjLUgW+}sohTNbe3jmVr9mqB=$J7vY`0x0!RGk`#THCV}V9k)N$VLTAb3)Pxr`( z>Twl_xX!*`Ply%Hiw?>6FVL6i?+bf7t`&RHIMCIkzj(-TOSX_=Vnj(zZ+5kF!Imp} z9rrN-*U3V1PI-Z+dJ|dV3e(y|O3(-1t~$J;uVqD2u1GH>rIC0`k>ruX+WcxSH{|``CPt*k#_Wx>g6u833d(Qd zr<|9XghfUDJ`TSMTFVb{Dm5=BH((!c$~|~mQ%rAKsoQ<>Tg~r*&-vwu29F0qhb{8P zZ?$XcZT@86VQ<+@+GdrucCH>HHpzQX?s)eTk?W1pfnL=|ShqHv1)2R4w-ggK1>e~7 z)Da6Emd$)#Y4%eOI^lbDnXEQ)LA3o=ox(|Xqi`2n+5G{tm6!K2ZWAw?$lY|C;F6)G zJ0yx3X8+~N_O0QWyaq>o25(lj>mPKlB`hV!KgY3jRr7=Lv}YK*UD}%oQt!T4O;ioD z0CQ?+Z9PT*mP=V1Lr1dkz~W|n+VpR#G-Hd=!O3STQTsBUCvQLQu4&49L@&@c znvoJJP|6R^2Pl$|J0A3~*Vz(tqd&guxQ+(r%RvpJUytoZlh;_U4|VAzR5c%e;{CI~ z-szxb=wfOq?@(S)7hR`KPf?jH@#zkE*SC(LR`ZdImb$y-KH2%!%cQuW^1TCGykEZL zv9&U{K8d`;&8wGF7a#7M7B%nfb#6M^S_D`0^KITM*JfEVyR%p=9y6x6i)>rq34N`_ zT`IDqBGrh8U6SA5G+5Vi#_e9`-9B@3+g?@q$Qaj@FznG?yju4cIvtaQVT}}P69wxx zMlRpyc)_O2g6HOXJyq!^yC+XvLyXM3)pr|opN^f$3y{dB!A_qvQA*NPN#wiN#i4eu zL)Fw`E*==4#;HhOcm+J(Cw}-Pr|2HntcE)MO4ufx2)X-F+|;75=bK z@H)}Iexx0~o!k7`Sj`=If5hoq&E~6-d`WTSho%|+Ux~RnN|g`M#D98tUx^gG6CLd1 zw`Pm?SjTp)q*y@Buqht@G{}{|t$>%Ywx>hJ?Q3Db@o1CfKS#D&grLCH(cL(Ru_E(4 z=J2h%dO9j?4f1)mYlISI3qsBmxuYDN5k{Q(&XsFd?^_+8beegisV_d&ZjBikJX~N9< z=Mwrwl=IG;k2wzPZ}`N#E<-{+^&mUfy!9tLmC)SIfu(l1o1Rt1StU)^fqxJ!woDoC z&|KEU0p-zcf-8TKtaI$W^-n7%xt0709+RCWCRScaYU5;jQ*Z=5g=_!APwn`2q_@a< zqME{F1CrsJG3MWouqo%#Am<>xsFZFZz>=I&Ae&h+>X#0?$Nt6b|h?_dD$!L6a`}mvVLA{hNyY7ahA}oC-7m zN~Z-#*(8=YU_7Z0eE&hsb^$f(#e?5$_L7M~Lm+mg{sD7*J}Uf6stLRPO%eSImA&JF z-2eXp4H&ZUgQQ`zZ&7(K@(y_t?H=uRWTrRl34C22d*0j#gGIyx^M=_ABeQJO#S$ zZxYwr#A4%lixRH_Y_a_NNr!##M$OmLU3)zH)mwR2LL_bEei}B0_>=n<&`QXrT62_r zs;IDSqA~HC=lE^0u;VPwr6oWRz#@1#P3g^;M$dQlpfL?SB=IN-?o{Qi_bEvVNyTg* zt=Np7-6_JQmMMvA-e}2;L&f>_c3{vFDuHq*XfbpJ-M!lB1FSk)Xz# ztYxEZQ>ny#gE31mASr)@cLV<|-jTNooN#txSH1OM`28j{)VE9Fj^RdHdWLub%PYsS zow@UtN!cSUd5wmyAF?4#-9*VTYK+Itxklyo!F;+p!Z?Sx>H)r*uMA7R_+5{qn)e~S zZJj1r%5|qszVRqQYIEX5#*MxvmQ|;n@a;{+v49KCxIBv~U2N(3mth*~_ioPoli?!k zfBx_Sge@c_#20l!PlL8#AZN!J*se0IYtwUZ9oR#^54@IR0BkkQ+d;-1UaPCC0G%4^ z>0P>a86oR6|g9Pr!$ZP8JUhibyg~t#rJie zlo()ZfKozMSDzps1$hFL_W3gl0}bN%H7!=RP8=pA<&>}hew*)?_ERW2)YYHI4QT}F z3S>ZUlJT-|asq%C1Ap{x=!&RFKFxIZ)G*{LLE8XS!sN&Z@srDlO%h27337fre+k$5 zHCmLW%W;h~r~&)>^}VevYFsQO6T~jnyZ+II+eAb=&NToKizy>qF2Swr>M0uEggg~+ zYvvLX5>KD@MctFt)7QUp3GF=@iV>}&2Kj*K9Rfl^(0n{Hg)#7L;kv+-5igJjx0#=@ zfZT?j-nchS@&Q=W+f^#LB7SlY)-}E7+H8AZXdn|Y%rGR5VdX0e)@y(b6h;BeKAlG+3 zd<6uspefio+|mbX9vB_caEt%|Dt(f=>cYj5phv@?CLkekSsq{v=JOf%Zp(^rt$2IQ z(sB(zQGh^6s7ozIiye7Fq)f&q%-8 zR4Ml_nEx-j3iorSQVx=6dijJ>^I4quh9 z5Qi+O+dio~O)+lHsF#7EA;_=RKuZVT2i`A1GZ%u^^Wd9TSzKF32LTp3q*ASq{BNRq z@ivA1lk4O_<$Uu2FmV{bRQDr0kkcqB;RcBNY-6UzJ%H#wDvOQo3t3whc%WeJV8Kg< zgTDJf=}5Ha$Q8&E5#Wm8IfsRY60&OA1GkdRgtj<;C#ximl-r~S(%67T0#H(Saee~w z)1l$vM@7)nMA>f&h-^Io0)$1g)MRa}45%2;YzPCU0_g857Q)pS)zxa_($anh--6~M zR#sKDhaGr|=W*-kC_f*c^EYoaB|g!0G1TDd>bCQW0PPUuZ-J195nE=^iU+BD=ss}a z5n9A9Q&0csFVL}q$_4OgrkGsdw&1=qW#drEcLoCS8PvD3zA7LxTLJQaATnQrhKB&h z5F8kQ5D2^~f!NIj@~S!+4~vEd;`~J9oUrkyz-yK&OC|vK=x+ zjg9C}uzxaVyB}vO#`YgELHb+QV{Z_iJA@z*k6IfW!@%OpW<^`PKE1xD6Z-unU?e|# zd$&$D>OubyyHEA<(LIP0*P65a{+g%=rPQ9IDd!9ThXj%|0byZJK$sw<4$5eF5MLq? zhi_0lZU3pOt1AG}yquh_YMpOe9+{!PGgdmw;m)KB$HOVfoOcC)SE;n!-KCAURhz2^tOt1`|M=P$IxLZ&12d z@C;xdS3u0wp>T3HP=e$_e3MO=ql{43(yF$e5@sOjQ3PyRY#}J1Wfp8Ufctm|LPPk9 z=fI>v6W+!9u5)?1|Li&v%QXvpVZ{6}0s;f|tkqOiV_7t!KpWcEcPZd9bXi>cI<5x~ zDj<~e(9qB@GMctV-Gj$)$p^7dfk;UOBD_l{7e1n8EfydecnZK4+&?5=y!m&Kq}$n` zUJR_Ppn6&ccDiUl5qP+f5QO_f=pV8mf1O_d8C(t|!q?Yg+1^&IhX zKBB3)xj3y-sk*@R`*wBvN~MEd1q?4xS_%+&*xK3QT)oQ0&F!Cj6@&uxczbLBSwJ=) z`ULL}sqv^s)xaio}tY({0nnd^)6rSGN*S?*g zpwPWZU?k=tT7VS_5QY$1+-xyG_KhVV=7oq+q`EFJzl2@;{|%Zir7v$LQmwBfZy%(?Q4d6hz#A0D;8p;k1!fOWbb?;z`#Q#SJqp+yt=@Eg z=p)(#a?)H90K-z>i~i@+bFx$jeMA8_I@s9(W)TA4cED942-(04zG-PV`--SxU0hn# zhWV2H#n;UQ5``3D&?%f3)}FjIUtYdIcoshzaob>(l`sgoY@7bovg}cQez|ZySVIk2 zCYKFqs;@j_S!c46M8ADS@|M9*DWe~43Z7mWiW%8IyD_=3Qx4iie#_fMCygha%#3dc z5nT@`MNdsYs?3VK1O*XbgHZ_yuG@31Fp*s+<<8csu(B6${DiQc!cP07QU)kKJqyd{ zqx$mRCq0y@JIX4sEO)(%G7>pDGBhv%7<(I~o#nH63AR9CO+PRYJ=e&IlvshWFTI7~ zw*{6zV2}_M1*Rl?#Nhq-12jdV0J& z5nu4#`?a%|RJGxO{wgt!09~z*&vyt%;2Z*eO0NtI{9}Fg5y=q=X6i_l?~{|B;4c9^ z0j`n2YpE$A(FlS;n>{}73#Uc@oA(|(aO(ajbaB+}b?NeDY>*^P$LV^Gf;orpm8(5` zGO~!=$Cv4Xyo^C62S8?Sb~Ycdm~iV24GjQTflkpk|I!zH)gNWUY6G2#4`ABMl}Yl) zPX3yP4cU*zN$dHg$U~KDNHDC~i@xU?xp!NKW40JLK(J*m(cLrDi zfcP;y4tOkh0Y{i>`z{uNE1(AUH|k&I_ujFRmwkaJ2DA+Le3&SJ<*Ej22z&d|loTpWjIkL7 zT%Kg6C%U>`=ch-|#wA9b$AD9nTa4ln67FxcP^BBDCW|ik_2fKWw0DK32gDKRet_)w z;2pq&rsk(koZdTj&pFd4N8TNurorMqp$yZ~qc%H}-ulhTZ3G`xh0$2v? z33#=(wzgd*h2_FbE>(|$qwj|-mH8LYUAsjt?)rn+5_GVzq)Dd=a>Rme5U3zuyYIRJ zN_luWgGw2G2au~UEIDA2#7TUu^qL9p8~fZ?fM7+=4`=fV>u_$~MBP!YS{|%NhDwYT zORx3ed29MBaErHtyAHezjg3JX1Kv{jp?!)VvW!KOpZGf}GJxt66a*zLzBsJBV157- zf*zKh8^|5y{+^J?t_${m7-LWifsD%w{ANH)3~Nvm!X6p8k1`OeLJoi43m(CtyKur4 zQ*2RfaeC633DA7V#d8{t76UwD4Y~)IT5q)NO4*U&jY*^*6TFKmWmY;eKe(a{0Q zp)eRdxZ*|-qv45z#}M~bldh@E#XG8P00V>i15`L!ht?2XwY8IBvf4%iHFNsY#Pb~R zGx`94U)mmGxrIqz~HoG`un5b`anIs>CN5%kf!h!|pLzt;EOGzf9}*KmPUPm|f;1GRaDr!zk5IiOK;^HXq<5bf zbm>cjdBcD&?ypbeWoF)nE(|)FNtbi z5?xdk@$~cr0bl||IM^}(*SHU8F`#_&wJ>v;&?uE9-}wWJXf=Nrf%uv~K&u04b%4y_ z$s`Flm;tg6ULz^pV4SrM8t5M3R84Jk0j%rZE&^zxw=H1h2wN!V=O&>y(?GxkmJiV5 zVHX8U1HB?=xYXq2qzQ@At?Yk3Lz?1M#!drR?IdxV_5rX9CSK^5d?aWzAQ-_a4ceI! ziI0F#qDcwEhzi87I+m9C5YUiFYMAM3U3u*2vw!}#8PY!?Rp_E~dda#Lj26@kheFJ_ zSHp<69#QGISh~D&*b7StO95w_!9E}cIYSCW&(N3x&%8opLbWwh{p)z3%S$#m+1a9uf5vQ?;$3yDqw48 z$XaIfe8YsrlZ=3XonH!5$lyJDBehI26B3miZg=y9Ao&H=ftXYZRU7(jWu9dB$W!II z>@QE-h{~$_>2HpI9`2~~6XO716Z@BouQxHDp7=6d;mKq}mMA>eFVOefkfrT4wMY6# zI4U(2O6dz@>)sVfX&W|F?%d6mb3GC8HtN%R+Ofyr zR3ZsCkClu_{Uj*XS-D>&%3|EJ)e_#U*OxQ@kZ}xoCK_`|oE~99+)1+3h{U@-^^{TK z6Ws}C#y!zRbZ^J2s8Nt0h8hJ3QjGo{1dPZ#_LoExH_&;qKH(#{u~CB#(Q}`83H|RV zK=5E9RK?pld_%=Da1F0O^QeKHwZ3$!}RHrmVcBb7swoh_DwJVbfB7-Ok5Tv zXb~^z58op3F>%nQ{X`eiKPkb9+6FNwI8CurGu;T7ZbPpX{O)uunGd#@ROkX!JOMq7 zxZC}lRG$npa3p{5x?<t|RGB!q1KEQ}wG$ddn%UTALe$}Aw9WbBfZ0NUS~U5nP9?uAXM z!@1R|MUz*SVp3sVy0wK#-!l6^{mJzC1ZKs$09Q(u)Be?PthJy{;xQ}KcNw)hNUqVW zlVS06;Ez@q9-e*J&dkFxz%$VQY(C-}QRwpWm9`7J5jo2n)%O(Nx6Z|kYid)l@i)Tm>vVwa*kW-EFKt>j=CGqO@`f^QO2m zB7#cPqbrhQBaazo#T?{$!j$b72Xri1*S^>dYG&9=y5H*Z!-s;$C8~DpN?9NZdYmfI`-Z+ZD&FZ&LeA4%bTYOF`po z(oFC2o}G8dv@Ck-!G_SqubFn^0%4Qw4HxCg62GPnwUhpmP?`pJ)rDDE!{WAOP15iu z7aN5KdZ+1B73Z1m3q?d5hI0hff*LC(_4iz#Z7tKYj+mO88dzIaT}Yh1ZHVi9vqx^( zDST-BIXC)fj7!Z+Wwi%+*_F^F1!NgaaqWY@>EEesjRg0%O_1s;dGXJNMo}|+R z7Mwd2CH*|Dy%b|U;;}j`n1fA=@#e9MyVJr7d(W%H|KZsyYBGUJ_G%$^_Be<_(;=|#rG-Fm%_i2lAjeO#EV{&YFNzA!mAXO?Gk z1-@6TdJOb#rD3HC=h+S}^^3m2p?b=K&RKm9Q6Js<|T619Uh%dJWNu{o69V&+Fy~Z z&Qc^MCY&B}KKjAfKx|J+Jtui@V>90Wp4MB-4+o6WVS_&gF%J3WZ>wjI1qJLQ)Nq!w zlOyb<_DI?A!fqyy;d>qA#^oudSou{sEoG87|N8R!N?4Oly-ko$0UGsPLH5^O%NOK= zB^%L5T?Wc`NwHrIdllyI7*?>=7Tjy}5ME_&GBMG9r2V7TJRQ?RA@kJSdH(09M{5Kg zk!OWK&w~%RX+Kll-ky_=*rJ9iJ8w2PmruvnkrWoES<`o?)hUir8(5IYG0ge=gS^^AWfvt97kOP z3{Zmh&SbU@uMT&g7H`l?YsJ+~q$QZ9g)ZB1;kQ%d-7qcU_kUNNQ=xv&dGRw|M1(@% zmPpDzV#mJjV{%MLTw*x<7oAT+-8ea>x}}S0u0j~iF&hTfL5F!wm|ONmPiuC9aSM;8 zuH|GG)W*J_+|D}rI?8tL_%$Y;nm6P^T~nMEA#Qwfdf0H{Rb#$Z)E(%hrlwMBJKRRX zOt1b-9ap^gqp`uCPhP_AQ8c!A;z?^0zJdX|@^4gxJ?6X>NvQ}ohCOgAV%-*IEStQn z?`lW2%|~iua(ha~zi>PsYt?ym`O<}8qf8c8-G$y{`Mg)3$!^$|@u=L8zw#8r>*dXJ z{l#m4_8P-Fy>PAM_x1$iq;DR}Me<=&vtYa)I~?WAxyyFWLOnOvr2mmkxUKOq*3vH_ zrk)3fyP3q|GNvxAe}wYLF520<)OdTngipj!@AUDcp71+)@zql*G%u?>BKeM)z*N(^ z{_uD*OT(pcm$Fk2dMgQON6-D5-R(8*NEy=UHNIjmB_Un=-SM^E&ordrV_aV!U93aA zV`a;G8(y8LrPTFON$~54l(geezl%#v^`_+Dl58vgm3eNarp{hFr9y-Xt#*@kJw?^r z$}6JZ7j}1cHb;L2x{i4?cyv$6$hWiH^?&g-{&@PaRchhucPZ_8*1zD1DN5&+CgmMk zFZZ8*Jq(h}RI3_WRnU2RR((>WA%9b6fuM%ZiPg};UR@F`PlBn|W@n~0i2vUF3+C5= zhi~*KSUrtjJ!nuLPtJG6s3lh}{5?eR&?C=H36tu9mc{+e8$CyN>~k4Cw9jsxwY*sr z`QzF*pYK(mb#YQ0Q&Rqry@SsG^N7I3AR)f&IltGp$>z!}ZMGZhUHevXzqA! z`H*aNYEX1T_YvZS&h5h3g_Dh?aQo5={^E<8`&k7@tHZfTd7aXX&)G*2n>7s5bTP-S z=-e9lC4SOYo`lqME@DI9bQ%&Kws&*A9PYKGDawxLAzLIFeLlvc^LwRt>&cHJGo8#3 zB%`Mo=}qIp`mn>fELA2RmT$@IxZ3jWPoHTt)+4N$!7c27 zfd@67QonyhwT%h*RE7vs&m9H`Vk%B7PwP=EZ)j?(c%7amuQ>I^$&(H8q2Y@&7|7@NblvSeU>bP~RZJa_B8$m)&7bUZw{FP*KR9i#Ym7kjR zT&Fp!cLr92YfSd#3lZH!+)9k9gexgJrEW@vzlp9ukj~FvV2tfZ-cDzeu4pZJKmUf? ztY1Iktm^vt-gGk@8SxY{30{oCz^W<#o``*{P|k*b;lYVdEukn~e{@s)9)Wmp61R4~ z935?_dWMotAxD%EDUyn^-xDoa_>Ef?m_+T#q1ysf34g zQS7)@=d;#S4}Qh#N;0PX3ikAoEk7-Lbx@fv+gv+F!n5D|?OpKn4PEvzpe!Xsf^yTU z=P28B@qO9wY{q;{rV3#=6~2(COiEnIcV-Maz(CXU!)RW)RM$V;Y|5W!iYTvtb}+3| z9bs8*CsyC~0Y(cy1B->^`TpC>s#RZ(4c-pAC5o>^Q*Rne=7>XZP- z)~Wb&cELS=gSl9OI5p|OV;l43_B^w;JhKeW_=v=_HOy`hI@~N?CPl}W-c!9nXjY^# z8|1_elkum8+8wu(t+;wZOW|^pouY8Jb6(y74NeFD8$lk7Gm%Be^#^Qxi_zq-B4;)F?|`NoYimtJSy=otg^Kl5g<&!uwpT()P&Lzguj7~L$x zO8u#>l>UMxut;@IQ9zjAi4T7D)4u2!j@{k)S>9O3z~g3!Ih0*G)o(4BS=p5*1sL>5;vI@LG=+R=X04LyY!~e6*Zp)Xb(jK3Z*%Nw{%%TiDrATaZcGcWR`;kjsF7h= z{$=@2hGpz{L7>$uV!CCjR>0~H*1VuQe$(6&>F!n8Zr60Z4&ENqQh&PWc5Lcs!E!fg)JOB=fi3f9ZmmX0a(Zi zZV;;CWPT~ljgFhGuC3?{6E@~p^vA^rw@SU}{;J;_#zf>6MmG^xot~*m$ILiO%Hz88 z#2p#jZmvYWXnorIz5;V^wbZpGC&`ycq5KcgER`#t7XN6x{x5H*K-jO9EhKcs>$1M6 zGTl$x<68YpF)HV1B^FDl<+gONLU7P^X!kuW96<5Yj{d=*CrDwJ{hp3Sy#a5qY8YYit6oy;BD2fvDE7jBS}B|LQd*!!(8g~ya5`gH>rU_25@~PjRnbv>-=TAspO~Ii_wjr5XYNWlUbk(%rWXgv z9=^h4`}5}`+Uj_0BN~DPF@yy54CH;rs)b)FI#{i(^dN&GXxk-C@xmkbYs~0Tx4;Q{ zIO!p_C*K-6ge0^wLoX!bjn{=Awjztf`ZeY?9MlyjbhJ z*kcJ%J>D0oyY8UT@d;D#gMF3Kfc>%?^0^$=D^3$@*BwU&_VxKABdGQq3VS?5M<-b2^FPUd(AR%;uq=>lp>3p~nUSBF|KcWfV}FzJm_NTJ zIfXb@_>*LQQ{}=hbxu@tIR2+U3og3`?5lKr8WqZpOH6Nx`9;K(+a?#@(Q+f1_%JYs zyCwXC#mHh+0y*oNVgK;d;}AucC>Fe{(z|5%x5iqOrk)>p-@4q4afm+k^>v7risigH z*<@x`V!H9p8a^fQ%+hjy6Z@*G-gx>O0@_E>k(XOAj-1k!IXXsl9DTEw+`S0=!mixA zO{oxGa9{bwE3?niNL)qwJpBbcDx3Dou48P_LWY3xAhPoNgwIg=*0ekW4 z0LEwpOaQsR6FDMRJVi=Y7iI&G$GDlw(yE4jbvm8~um5e-*S}MF>XQ>n_TPmd3smXy z{tP;;zPy;ox;Sk*RaRY0ljoQ!95FUXRZ(YOoHm;{6c-yKca#V|nD;MbuAq{Zc09K* zdHwn}$+Bs8@uG#Ywemd4Gy318D(A@T1S6bGVs4!Od`O~F8Cf^UOssDuG=s3tf zntik!!F83(PBw!xC$Ba$CCg)$Mxiq4VcXB{Hug;Aob|WQ#rD%)PE!!~5pe5^KJ6~$SQmB+JpeIYuuDXKcc4o8-$tZXz{ zfKM~wjO%sKbDGW$um!l^H#|EqfQ=K%{DQnACIESRuhi`37YB>EqEFIV!))e|4}U_pCu3)7RJoRM)|;sT%7)n{f|62 zbj$zKnCVux?r8a*Z;+YwmA>~rcF-_dYJBpvmN>l>X==d7`556Ymena8djFtjL8vor z1oySK(vMbb$}0HI+Yd}IQD=w}f~W&MO=~z^^btoK-a+jcE_nxv!BK7>9s*7tOOH^K z9wIgL-`{+f`Oi5q_a%g*FC6{Zrs4w40+|C+0YgrbF*L;FJpl9IEV=y=Jt^A%dl;CY zfN*Ys(@I$AvQDHcq{8{0TFtbMt_(+txsU`JTVEffZS6Ici&XW8 z!`zSz8jSD|ILxh={r9*~Jp7X!=U{pEt!FdL{W3g1%v3C|mipoR_X;<~jT5);uQ0sh zRvm~7&bZ{;u$myIAn{a8(j!Fl>4w$Ntu>@C_rll;0Zt@7fvw4A*PHBimm(Qi@1C6F z=k|^t9!+H#-h5(?)5M8v_Ts4t6`;7xN}Bv>lqy=xFn;+t`iOtYqQxntn$3Ss8y!ad ziirt|B)T$a9nI+ClNL>pq!|>->0Ouu9QI6hSt)8Vf=6ahGi10>w-78CAgu&I*}{Uc zzJ9~Y`(Jv0oMiC3*=p%)*5bCvaP!!<$yRbYG4Cx>L7QMDr<#G)3)pUdpSJ_21Ry!8 zUVit5#89XNUkuLVih|N>GXam)57%j2)RN`yip4=mVu`zvugMGoVmQh46Y}m+$oF}^ z{D2SX4I!tlc&?yMBYg1>a-Sd@D|$z?P3Pm#p6AB|SO1rtW= zrONLWzxuG$-*X4SgfhW_wBiS04}k=6!%VQy(XM_5u9rhYykM#i$ulsSmX^k3y-X!+ zpY|E&Z{JvE0AFnY-T+7vRmpZ<2aaGCe09O3557L6@MvghAu;=N#-@j_=aY>QhUiMx zJ?=}TieLAuG&gs5Q7I@$eL&p+Fo29@*VO@Z2C_&aBhSfgf_Nve^#J%(l3a8j;I?lw z;4Jl9=HlQ`p5*1>Ia|&vjAhdXmnZ>1x4_95@;%(QN*@#Xq*)^nCbz*86f#_Z?9e5M z%L52UCE^K9EX2f=3%Sz|D%hGt1+_Q+cE*GsqJf$v#l^>9i?h&~7#AOpvUY=_9w8FG zMm`4w|Mvu3o?G+IJc6u1Ckmli=g4C@XV- zJO7t2_nFG_Z$!twfBzgjKELzahIfeGhSa4B@y{L^$Us4k@B};|3Uz7)fZPBV&Wa|Y zGsuQR{f1Y-0YTLmlb!v4kMIL*NaQ;IEG<=<^rqR)Hbdsn6Nn~g49f`-^&8}T(;FLL z_U3gs69h>reXYJ4)K2m5$B8YX4?^t*cqKqNFQ!YY~KLckM zAWIsLdR?43aTn8}A{8o&x{O7eyoRcj0{LI?Lj;1P!k{$@DgxF2a_veH z0k?CCTepxe((>}!7j|rY^7e24ePReCe!@{7Fd{<$CP1kIFiwI;bqZcT7lk|nLqp(d z+xP9;OR$Ip(hv$~KsFUpzu+`v>6Gx${oVh)`@Q4k27o=q#edJvdY!C65vCHj|EjNF zOYf%>lahjOsQ|o{j_wbXUGc{SV<71IX|H%J1;sGIH!=S=P>3)Fo);TnC!`5QKgonK z791W9FbxHVo_~6}KG#hsYZ4C$Vt917jcHrww@**qNyClw^>^SWKoEl2DlsuJxD`2o zg`WL!dt@=#DuJuC9Qg2~(ln@;Dgb743_mWDhC_n98~kGrPfiMT>pg+V0-VX()dsBd z!4zxz)Cng*&)V7=t_?oIz-96Y2tbZ?7p$$IBFEWMR?7PZ1F$barQU&W>=`5dr#VyS zk@(>V9D4yFKvV(k0jqhGrEV;%7T|L_9wRX9>%dZ*?&`eV5#;e9VSF%ZoB~ju{qle* zG%`RqFeF1U!Q)0;OG^+;v%h|I2FQBeqhK2ju+McMZKY++pc^AxK1O)}5%pE*F4vwv8MPX`x(1wC9JofcG1+Ta? z?7yjD;|R!@JCofA;&MOSgr~WI@o`3#Pq^Z5$@zb;u96cIgLw`- z!Vi&=$gC_PJiOm)YvF&?G*DOoLQ@*7ks%&HCk_AP9h(Q9nP7$nw*klwh;{}u-m5&O ziR^$f7x(YmK!P6(o`9m$sj|-jRVqMiV37&m18l<`*HE0$2M+z7++6H`mn_+|FCwuf zeE`J)&$lY0PEw>2AGkz8908uR{`d>fQ9Rt-*GM@1aqXasOi#ar85y`nfE@wy1LyB$ zXnGBxRA31Q{gp1}NfBeNE|lK;ODUL`gB2I_axGvPp_U1ZLO@g|!O`px4VWFR8fT86 zhDxB7p_&lj3r%{q?(V1XKcg1qzfpCyz+(%5IpD6Y60&?7$~F@e>-cAs-V~=VeFRQ@ z;0OmDl&ZbG9qc|mx91)Ml{a1mj}D6(up=nu#lgb^2Gn{*Bj3Lxw@AS(4)@kADDVXp zl5EQ^sXda$|0f^py9_=@i4R@u9zSjc0CErPk#CaoeNjvimZMX#wT6j-;K8+P*I=Z8 z>nqgac;9V!pZFSvU;8`&T+BpI?&1ljTzoQ9cDDX+SB8Z1S`tbY%%}n%`z|_~3+C6I zh3>GX-_18u`lT3j`(DYJ2x! zGqsJ49anGEB?4OkKpqPD1t)qahc{mfk!htjy#<&{sMxUs{;!kuUb-aQ;cwnxQA2$z zXu6l2@i3HCV?BQajs15efGdFZ-onxn+U;XvBH4eZRmYW~aH({t@CQ>Y6ib3qHytA* zP|kpXvU_$5R$>LZ^>si<0(^XfN;v6B6GI}7{jJ422t=wHFx~l@WoGcWO>j&E;iG}_ zh0#eSU~d9Yn{FZA6y#o>EuvF5k6~_ zz=DaOcL%08aJ0h4#@2vBVId*dq)#$YoB6*4i?lq_;OZnjIN?DRKcJ8)1sz#7NN`JissWcf+QDF{@d4V1Tz1$xIH2v zzQR)M80IVp`aLWFTOgpz_0aW}fF~oc`MZ02+Q7g85ClYPFUyA4PgoSdmCOX-+i4Od zD{S;=0a@t?j0E!&t zVVanjEacb|8LI;a1w61xY&jVxpdWxKB`EM*PX?}|3{2Ri-jY{(p1HzA0Lv7Zlws(m zX^drriNfj#QHq09I)tW!X@N{0iPq-aw@dTbq4u*FgSp6Kv7d#VE;b)?GFMio3Tr)P zHRVEcC_9HgBD+oVZao(8R7a%xzNHd*`(44o-{)GV4ZHO2X@Eq;BaU9={k^3Oia~i| zS3%El;d=X`_cEEqVK=YTdW>4W7qo?^f%tbCHS;#U7v+l+63#K`{m8J75k01A?XsWL zh+J+YFV9}(q8It!TXOJyr2w=@4%$b;uy6+x)g;0pwjz@Ep=0H_9a3=1-p|I;UuLM# z4s07*U?d=u(^Nu4Pesl`6G{GU5f_0$0`V*<_Yf05$2Wa}WT^csqO@-kC+<7C$pLB! zWQM_$jG}E`L3}_=dx5H_1(q+M0IGa(-b$Z>6(C-UEqVe?i%{YMT$LS4xdCelp%6E% zu&`UNsD}>KcVM+<4OI_A$v_JtVU8%(LXA2ezXXLc{g*FsiHT*fphJt9BmVjP7)9YD z|0X?fnM-3tjIpBD0tu*1J?H)VhX8Xc!}SU!Aygwu8Icn2G|s<#E|9o;+vGfJkk(72 zbMR2HHO-vFjHEijdF9J)QNU$x5>Ds-m-KLN*)-ufO9W5QD?YZEa`64B8j@p5oVFVx z6=S&_mT}s6n)lsNC{hqj6AMlT5Mw?4#RRlo4jzHWd-^Dw&Aw&Wt%wvND1iwWfZ_tD@QjV^0ZfJSgq$vK4 zlTL}u-I+li;-!@ylR^@T=r#j5iHWU|@bH^%ElCsbd58Pk$oiG#R`F1PdP`iZ0c2A1 zf6O?b63*Yi;g$<@P+|dhpuccz0n$?-wZ?$!4l_h$dP;_H@4}NEVuO=``)ed1fJ4WP6_F_>8WQ zt}=JIsx{0}KIQ%$mTzbB=D1jrn2Pj`6YdPLGBH;t$XV--v*XgkNvI84knJ&pWqHOP z<5iY+(*~#M9jCgna?X1NAL^sww6E}#9nK+_7ddTJ{p$*z?W}aPF>8OBS==T`7fSwI zzE%{x!p^ro-{pQ;1OWy=f)_P)mquTCGg)dI)NBK&!)Si72ApXe>c*P)d>r}-yrxZ-t` zzfMw480O6SqRm4TbH6$i-1w7@8JLi`h%de!#*9a4;Ep$;7S9(`%D>81$JTc7G&`d- z$!T@tSNFEgqN({F&fYr7xR{Hz#yxi4b*pDOB;it9HpP^9qm^53%uM+LF8urzsV`U} zodvY6uaFs-Wt=P;hc7oG{RFd;IwMYG3CEPfW<_>Q#vO3#2-HI!r-jQa8Q=FX^!xH5N2In&EDf@x2PM(pQqq%ulR(mI3;KHWkZG)<9N(XuYi5R z?gdLMx62c;$Mb`Y^qlcYxIgmdyLDbKHf9=Nn)k1ZeN?NdG8CbzcV3As;H`$oxo9sw zOaHOb4l)7@&;C%^jlG0P6Xo7t6?-`M_}NUo{_l2tr;kQNDOK(pVUa>Hv+hJMsMh)1 zE1@e^M`xx4O%SEK?q5Gp>0lzfJtN|9ltMJC5_E9&X~Fja8K=>K$X_>JxJRjdwOIby z%&z+M`-$oP^QKYBS7_^3A5h9WZ?bR>RA+o18+aa<-sHNH2pweasAuzgWHL52^u~^} zrA>IEw2x}Bsq0s(P0TVX^qLt6qs6dD$Vu+&&)13QTYHMs)r&G5A4Sv)C9y0hyfwPN z=>Lv7GTFFL@WcCUi{~k9Z834NJA~G6d;8~E&aM0lc(vk@RL1B1FPi2DF%_DBX~f%a z+t$P+*)meERd=5-2l<@%AF=&UTh|>8XY;lt-iZE2ix4DMl&C>sgCv9mVfEEp%Bw}M zt4o3qEfGD+5?!!C^!~~cWf#%AgeC0iRtxr^c_Ja=ENv+g-irkgDw?rjxbi zIxF+s{GEdw%bUWt#7}h3v*SC$&V#Z3Ziu|Oy3cK!4ZO0T)m4}}hV#}{H8L3pPKyI} zygsACZpAMB?06fh$C|x8k>ObcAA$DnwL6QQj$j+HXOGj6eYa8E4L=kq~L6apbW&K_f?;qDbrlBo+bTftOrhh))`~^`hxi3q0QqoQClgF z(05jQosX`4chV3{xwOKpWj+^s{-NFqTKt5x@xm{UbUGO|Zlc1%rAn)KoES5o^o1m^EB2(_sC*84!) z$_VehQrSTl)l-~^G>yVU(i0=2f_L_+;C~Bh*vfD3$(*`TD}S}8Q*Z*F#ueejil9*w zOHHtCjXf+p1st)X{^-GdI3$thp1=RhVS8k}y(o;H$C_0La@9&`;%F%hioVay*icbl zmX%x4e82zwjw~+zo?pG`c95L=?gS>A zT3S5@qFvbFavzP}>X2k=-c0NW=p6E~mR-GK0Ko*l#+DO^z#`a4!;7C;J247ZW-y9Y z{ykUNuj$!uqi*LSuGZuS^;}uPbN&^2q1?D)Z$G9pHH_~!!go;L4!-j48y32ji)=bn z91xHY_HjU@pV*I@ShFzv8i+H~55@;|yvRH${(N_CLk=|L7aA7jX%j1k!{t3`D?qp{ zL``440A^3O_J-?>l5a211g^#oT486cpE(=rnBs8HSC<`+Cx{P1{Vdeg(yEWNmA*A2 zn|<+k&J}yqhs}X?Rn*!&Z>PO-2dYD^GghJ(-Z1RQ4z^snFw%8g>X34~SP+%e0?;$? zEmel4rOEu-KL^9AP1L-svR*g|QJp&{ zZum_;TbH-oQ&p+Sm6cMdl27Iq6(j;=Nr*shEsGGHYZpO@?|z*vO|^YUq%ABgo8y5X7EY-KjWu)7yeEE&OT?m&PYyor{xyTBRU}rxc6`RQz^GOZoz9qz`AkqRCk8hAOJ*=O+p2VJP zFbbu%;1*4I8<1oKc6z#-QL547J2gRtUS2>Ax3bUprsx~C4UZ15{akV^M3tInn(3_l zV_S^2F>uGL_tbKmI|-2jC4kp{ec6}DaMnY=Ju4O)qm2Z6+5;~=dS$q1(_G7iSOS-l zF>er)5d)G2An57o?<&O!D8NKNiB{EkQ*Y2bku-7I6h`Q=5K6ejU}9#7D%o=;eRLJ( z+;;*0oJnpN>iH^CKA4aAcI>izQt(1W#0mow0cSm#bf>Rp*mjtJG;_$1s&j0|vO(XAvnVMYwJ&KMFwF`mn!W2< zC=eG!;0c=~^>im%5JphMxcVAgMwGcCHcy`XJWCmv^Xh%0!Q@5pS-IfOZc0%@hcydO zT1fjLVu#id?UjG84#Bs)RRB~Nv0S?Po#+~xeii3}f07KgsCKzZ zHo1US{3fU1(yz-*N{(Wywwk8qh6k_4CsfBwM0XMMwm^tLr$I-}OX>HZ(%4Zy>0Gns z3mN8-t|tBhSd%t+;(PuY^OQx2R(*@hF`Z2VWQjF2yh?E!sO@m)*_QEERE<<+Y$VqV zS_1Ai`eQIS<FoR7XVpQqvk~XlTUX00L|9A+?RDb89a^# zGVa^=be>V6=aC@1xFCM?^U0M-6WN=y4-$vjRQuL69%(13U$YUoIMAd@_ILy`8@%1elVs~B>NCYHrHT^N^VSr~(~Nrb%YL-YH!Pu$GSKp?q2?O(3Gv80 z{UJCgb7VXEieXSjM)G)r8T^4OQqbgWz625u zH|>A_w$gfiLd<`JlOu&bmTRUBvp0l(rckn<4|s-dEggT4{$Wd5ZG(Q9{~cV>(EKdVOky_WZ>6!>!3 zp7d=@#RZZpdR{X|EH-@_aaYpWbv-VUpWP+ht-{L`%QUd6x>GeLM z($K)}0%=xU0ZrGa1R9wp>2`l_P7U2owR1_z12@|6tUCDjL2v!*dO$@(Y|^F4+QD?Nxm`d$Z`SQ<2YZWCr1oeihF#5Od5 zp<5JZAIBMck_Hr#HQXvZbOp4OBHm=%+al*`_dOy>?!E>Ho|(1DoaL_bqs$Wa9-gYI zfyL%e9qe0dr^|sA8b78_y&_m<9~b*3MjC-Sdu`FEYc=pOM|~h&1^nwed2b!^Z^q;jdKtPkq!DfYHm5)6b?FV%i81(m+70hmcVj(w!i7{ zQ#pkt8-&C$7WP;H1@*0MdZALGxTe+O8x;NdH@?$QWR*oTXsXa(lF#icoMm*n=g%+G z53P+y=(w5a25oM?sZ@BrHK)F&!2Uu;`nlhs7T{hcJ7s31rmZdh@|FE@HolF(#5%qp z$&Y)uJF@F3m$Ruv8>U2kU0ehbdgSd|DYY-W`MekwlO}Ig`0L>l)xH-3bQXl^(5JfA z1}1LyFEe8^i#A)zI9BbJV0iESy(2jd&4nf(CTyslSTGcWTyE|QHa=kpbfT;&7K4tM(0?*p=amqgHv&ky2P z4I;6sjB$-#j&J#Xz!g`B8GIm?Hx*rfK>p6!Ifu z$c*GSklPb_!3EI*EtPJ$ZKU0)m}%hbzm*}^1-Oi=J)$Vvn4l&w6r%(+WU$x)oOj$ zIS~bnDDKY$j_;klV^4{wsI5qMYFE_0)#pkGS~f_ohg-U^0#x)OAgW>Zj{RFd|aXg{SG~QK*M*%(X3Q2&Xvnx zcxehGbu6`82Af+(VNC9LVSqfV#o|tz&TMUUvx<0pkkn4pV^Ue@J2yUoVd#+4M3Y}< zHgfrIN3a1`=SRBEv*K9L*0)B&*s*rO|%Q_ z?_qm2`>??({BWqCwyN1ujZ7>|+&?8q0VUKq)_U{vvlMfIQXpCL9WacuIH+yuv}2gG z0}5Y6Rci|T_aDFSGVrDVFaxJ1Q{bw({;*E+S>}|pb*MXXCd3XL7Hi1B2*nGTte*TW zv|7e$f-%Ha@}yvBy!U^X!W-E>#?r+r|42o9S8I5kt&7n$vrs-m{%s0N_p02fBY7jwcevqVS^)Hu$d>)g$OIdlw~t_*HRK+$Q=q zuGZqQq>xOa;JcX3JBN(0-dWY zyC#3KKJ_^aMZXgH0jCHp>xf*)mk<@^M-O3~bgLBom&i85*ugXlieewee5SQ3R4HcJ z?DZ<`XQU7d1^>MN^_||MbMIeA9_q!x669!W#xc_ z`_9?JGzFuuj2^$zbdwH0R;yiOn@by}hjC7tk9N<>B|Nmv0hmGrL^VvFT%|9PT$bkn zWCfT7U~3G(b^*rzQ_D6`f51xwB?I@eFi&#-AaDQYF*1^GL#}Gp6LJoc6C)ql2PR*g zf-wMR;QTKFLpCEY6-ag-WLJj_lTm;T1;}?^jFRE7LJoky06{f52Q84+4hW5f5c1WZ zHlb*wI<*ryT&CDg&Ow^sI&~1T$ycZE3dP*5Q}Y8ni2^9E$vKFFFOp~0VzQ*2tm!5v z)Srfn{D1{~DUsh2Qyos^Kf~im%qcbpY$JOb=KKQ|0jUd-@eBX7WaMSyk`97Z{EvbB?U=TBmyKD7#LJ(DKTXjn8#%>FptO)9)mld zVzLooU{FjvRW+TJ4c$oX9qmjltW8LrJ?u?LP24R^VPM>+isCKGR%%cK?vJqr-U-?B zKf_~c;XF9J70&n6aht|sKBle9jIHq(B9F{{bANe`c)z3=rAxLtCBwM7#CSTgypXNe zKVQ?lDsz5*%ejnWpxDfh#@u9ko3DH7G1%o4bACJ?aIOaDcG)dr)2QFG&*J9Q;%#>TX-=$xh7jJp^Z*yAD zLt=ITxZL}w^!G`>t7-NQglCSI?tDoQ18@2i$MFhU`g6T!Zi8eJNCd8Mu_66IKi=>6 z(UXkN3&hgFZ2`fgqDn-OvMn4H5_+}iWqb5~gcLOVk!HZE46$U%wU(sBETK8N{FHLTqYJ|FZ3 zg@c~I;J!D-eiV89`*joX&E3t-aSbg-PjwO@Jkhv!Y`m8Kgd@==vAM~cwX2oHky~vT zyi&K{_}|eEu?OkJiwTTzeujr$px|1*R!I&JattG+GggK?%@LnZ;#S)$Wo}<*P8KIE z!z~KP-X>K?GAcTq)4-=NKWGkKC z>Y5MHcj_}sypBIb&lSZO+&AvfYYmpql5%ZIIJSrEB|C-(QaoR6y5+Z_7CP9oe@@;# za3+SBZEIfV^mDScxLqzP{R|9;2a(?IF0ue5--7-#zkB0hWS+#C0g5V z$AxMmjwBA59bK(1%+yC}tKqL+uY@0exc2uIIG)8s%*ZN&J>Bx*2^z=JYO;T)fe(|2fX6nc1ENfV-aLH^V5N_k9);K%v(X2LAQJ&40 zpR0%84th%@n5dgC^a#h6a)+1eUDLpX?zLXjeX*LySf=hN@uwPVZ62Uvb?El+_O4&t zFsgSB`z#}4gDX?c{t~}RqFdc6y0GQlkK{oi>M`G$Qk9$Nw3-_+1BOITd^w@YUuAgC z}GC3dJk0HcD#ivRtcof)*s!Y|IETEN;%}zG3*(*y-$Vo6E=3Kguh}&suDvXg$x_Z%!(7vq>*L;ZJ*RGGDIrY<}cND*U zZ7za`s&=iymVCRRl-Q`PnF*x#w*rkXKVenA`&>j}{Nj~P0mrA1SL%8gQ^O?`m~Wjd zQ1d^Q>mk_}#*UiOt4N*)Fx7tko@!!agjnl$CS6KQJlNjqbemdTQtGb|Ulpn5gTw79 zT;_j9;q}py1o^F)?lb-QW<4NbgS|?Ea%DBRTA!#Bq~V7OZDcoOeXGxjC&F;^QVOS5)As)ycnny&@Z=;UUOX zivCFFCoR(uu*t!ZOd=_&s=Rr{zMd{esx{=oVrI)8$L?+?BG>vhtn}SXzD|lT4dur3 zQ(+2XX!UrP66DG`2I9j`zEg`bk*oBoA5L9T3bm`WQpOP#4ZSY%1p2z(-)Jgt>WnQr zq%4-f(vC6x$$?Sqdy=qHX3ZeaU-(jUL&4>dmqKxE2Sm8zRk#eqldErW-CO2K$`Cw# zx4tazYP!FHTjHX(sCmx4#)Cla(;N_r`uf%J3D-VSQ4b>vox9t z;o0xKDaJm0wJ(>wQ(1ayvTFJA+|>Mf)Ho&e#pIcsIm%mUN*KWvWYxD8@6%7o>L)K; zxG}4s8tT|mJ_{3YdkeN-Hs7)?DIjI&TiM@8^c727wQQ4OQ(PO!gyjNO5n9J<-FL5kyd4<=8m-2ztdU)*w z%Q1;7C8%}BOk*_w`CC^fWuL9|kM^dp46AncFE74_jCkRF)EtbhVNhy(Q&Z6`W*{v4 zSW%VBlbirw`W<$B4p)JB_yCO*QT|x_h(cCjP#8C?4|X^nmola`a)a-63__|-GAUNm zeKT|mmELATlG~-!pk(yB`M12}t%e;GfzIu=4+!VDCfa(r8kq3v=RCME%Av#7%Z)XV z+PZFkT9mH7^vmpbKT}HyC-+B#jxZ)ICQbIL2N!$7O1LyCVBet>3#?_mqxDmUVIL*B zTkww9&d{sG%^B6Xw^BmU#*Oj0BG?c^5^{Pd&K!vKQH((y#fV_q&1Qs+THd?0fp}VL=xH{W%j!m_dUh)aABu5?{=}%Sq_e(@;&E z&aHgQ=@l9?jE^{E5K*M`U|mUNSa<8v>_g@v=X*+1f@y&iv{FYq@pQcBy^{#t3MJ!H z-QD2Fhq0}8R9WrnHd|^oHjabRC|GSlPZ%WWaX5XH#EXeyar%OgGDk>6TJKJzsLPpn zp1ynBHYc-iy+Ikzwl#9Cg5uzAkC|8P#Q$}pPBE|k2g!CPlI5aWqteeH&vgo^06wM3 z5OV2|&odmYI3wy7gc0NubOfefP0c@grZ($*;JT~Rt4PcQ7zF+$!iT*vE`=kRG0(V4 z3$LXfb^>mZvPa{q!~q$CDqK8{NvZN%Z#zy&62P*PvDkW@Z!DNYjCE>C>#qp5^ryKkYVlA{H+{ zcT>*aV~=dS^hBr$VF`buQ{MRDe9a1AK(OJKnc8L(9 z)L=T^N5|JYL>+-gYaWYKky`y%J!e&I>*qJdGBA6$Z08O4aQOzG4sx3DZeMMs`tlET zlMQq8c$A~-!fN+8KVwa2N9j?B^T<71Mfjreh@$#%t8_O(8f!<96S7N2@o^b7UbzA3 zvY0Fl-vSdSRG37a&zloPMnvh-w}bbQwvFnUn6|DG?kj`_L$sGYCq?3J=DA{B-4XhY zsnksP7NE{PkU3=+GJzotTDZ}v^u^z0)C z>OBrsSUps-?3c2bQ*@GtAFY^-7r77+Hx?{1o5wr)r-S7v>2z5J z&s+%H+!@m`O&`w$Jtvpp{lReJ$#z?n!t>M%MM<*v18Iw37!4^q; z=9QGqx2{_eRP>?3*yis_ug0ED3fkUOZ3`bNwECH_+6}_Z(b_i9o(c$;J%4wLf|L5K zQlNuLDA;NEn8tX^ zCfv7An|tnOUM2U3Hes%o*LlA^)L6UgW&d^0x-fnEgPKi$u{j4Gu?spQNd@wb|2*Na zuy;0oNI3XEm16iSA&7cq+dq}!x(!=CgzV7I+<(UY_~fyN>#XABP}e9IX6^ck>h0ri zL^Dvdcg4@-cE3LVtRTCY*Zt}@R3IAlB*c*M9vni;Dg;!vWJI z`$Y0fwF(in8K`7csuS&yE=7Fh(L%>@7@@`fDw2z%?ZQ-hf}F@k@rohroz>5u;cfZv zL&}Sv6~80Bc(k;(mbpPrdB^ywBItCXhGc(_e{b%QNMjFMffdn!^Ryi0k`YxsEu21v z7~|6uQVQ1Y_^3<@p0Ed|UT zPD{*D3{p28E^W)4eXwz`sn3~*^E{RiN;S=mvqH57M}l&KGV-%knj#K0R~y>2=rpvB zQ*S;jCO4J!xFohpy}^);AQchDp^P?sDN&&C=>zs|JMTrHZnGG}2VF`gNBZ=~sAb#m z_wVOtwJ$pn8D9~>*BKD48$U(Zc^sO!>`lU}u>ABu@QH?Jw?W<$*0juVZS50;jd?hR zVx7b?c-=ji_lh5_yNXwGUacJexPI=Vf{R}RD`KT@*Xxrk0AsO5>+yt$=y3*Ym;V02 z-WxBw`&5gw^CtuKj;0QUl-w{dXdxCLrmfPvu?bhkG& zwlZ-hH8L@?u;nM;uWu$NwSe-IYp}~R$=i#Xm|IABI-00>DySNJS{ZXg$prC`#^nK@A8s>}lm2PqY{gHmDX&B-YUgM|%ErLPzyuL@w{T@4 z7eFHAbA+1mD2qw_V+imUKe@THvpo+Zqnn!>gBvS@oue5eGdDLkBNGcF3kw9afH-;B zIvct}Y@J>{4Dr_(VkS<;jzFC)>}*LN#xyjtb8+S;CkM|-|1tQ3vWvTeoBx>L;qO1g zJ2^ucrNJL;U_YP%BMTD~7lerg!otn?_x|9iy!?Okwsrc46oEV$-3{#-nHiWEZEXIn zhm*6o>%ZpvPkT72g2bOu*~H1t#nISA+||U^`Q_gywYPS0`um(NP9_hx{;b;?YRU)} z^=Ib4_mPyASNe}W4`MX4u(AKs zP*yf>P7YQGCl}Nh!p6j61Tiu-WrA>V8?r%-x!6tEn2r86l(emrv!SiA$-_`!a0Ux7 z4ht7Ilc@<%9%e%$76=;$8w-S+8w!Q6m~e74o0zZ~8X2+vZ3sn23t$O`)_-5s!%$E# z6epOLm79YdVrCjVI^sPaux=rf89~C zHgq<%bF|?nm$R^SasSr?RSO#v6=%Z-p)qr?aB(uRuyL`mF|%_sGykiRx{0F`Q1XW{ znVA?^SpGbL8uLhi5e3G~kq06G5k$k^P_*31NW z+kcqaKkr-oCu(fM$;{1V#AFCzGd4B>x@TkzF)}e^ffyMZv2vNPGnq26viv&1|7#|$!KexyC;Bw^U zdHyZ{z6Y1YBmJOxDlYc+))pp?|1Ow+D$4&$yTA4Shf@BZy8pe|U%f@`>^*?dnma4H z+5VT)|0fOq8bQv&*u>V!?!Q|4-<$j;mcPXvu;#z+fp`YOBjbO>$A75BgXR2Ry#AqX z{}*QfL;uet|1J6ckGTFvT>mWz{I?qak9Pf!xc*xb_-{4-AMN`8O; z`SWddL;}dY5$&b4oM2#(u^#?Cf=Nuq2RGrJrRBxpR}qjgaPUXkeYw4o92FHsy?(ypmb%WpJ^*ET{s^pq zG$4!|{DR4Z1wZ^N9zI6kKKvYdC}Im~KYWxze)wter#a-|>boWQmJl+F;7Q5@& zJ@Ia31?uB->wA0UatlFw!Pn8-tEQnr!ff<3sn<6_(ayr6)@l7&R3{Oexl*9GVwwPi zf#C(8`}f2|f@hNcbA{R2R4-q){`&Q+vvaf3H$seDT1MvEp!s`vG*c%0Pa$1hT}MYp z4ULVpx(vRNb9vP_IK*7`>3;WjdWy);h`8(zm&6G|siHc)eS8d9Ah{(a^Nn7dWMWiN zs4w_59R_!&tNT-UIp6$%k(ZYz3WI6XvbNs&fQ*NNidtSyZ%j zqSP1%&jbqHnQ!)M{fH`s>VmHzPaZap9UKBXv z`@35jZ>5uW3IVTFvUBI$6r`msEG-FmoXxGRt+lli#mF5T9TWLH%CfVwHR;2`!isZq zNdso;Tnf_De@skpF)@A5%v>2O(s?QIxyJ9_S48BU6vfreaX;98d0APpZmqJmcGnvw zYa1I;QBfeR`zSu!_CH~TB;>Zimuz_efje}JUcu4+S=NqM~^-&(>{It zGfOsZZ@zhcXb6xT9F8keW@cuiTy?4}P^AVtA#d-7rlzKxob`0!_r(Uy4Cn}KY-}sC z#>U2ASHwg_-!d|s93AmdB$|D1MMOn`#PV>AjEo8k3$IQ#v51LNl9CFtv)7iEFbN2z zr1vS}x_$0%&;2e}wyfyYuPm>gobzv9cJE^hqdaQQjPZ?It7`KH;433D?uP9QgMC~Z;26B83HEh0QAwq|B{1O%2) zXr^X?ZnJM=VWFI&VtBq&Zh6_phPlfX0{C!$vM=IB#mAr$??y zl>$?*-W9^m9@D;@keCQm_8B3^XN8>ZIQ?2jN(iK=v~;ke!~Ei4@d+HtM&)9wW}~Nz zU9LRXvz)yA?ad7WS!86S+x}dm%eK0{erjlFs3tv7NRNYsp9hPrZAOPpKG$8{-5*2@ z!Lor-=;$P+r5Tu-uHD^UUwZojzZKYOVQ!Ak0_`~69(UWBAVWtWA|jfwK1<R zxcD_EXMAxuDKU{jzhPr#r?^l**# z7bE9(+e^;KSOywM!tWXVV1-p)=fpbf&pZ&OlI-o6!9 zQ0Qw5!KdV^#Asu>pk>6ot`EzY`2O}vELiO5blf2D z!v~+UNwbmZRh{n6&d5$E5Tw&uk5;{FkrGX2th%Zyy>`XMc1d&goPgKaj(ieFryC0g z2L}s_GCgi}MFkiRT*Tm@ugnwVT(`%H4h{~$G)jyBy(lJgkr`;KseomzS3#LseB(Hq%wT$=u~NHJY$tY%z$>vG
k_~i@c*6Pt}H_(r~nifeCA8cIQDwA&9NGY-2&feY!tM{&iMaF&D;(U{y{!0^6 z)4l}Oz)$DTfPn#-larI@E~Icft<5!h<%#1l>H~q((b9g~iU59de0216h#2``oy+!G zPr~rf5P4K5=+M&AqF$^!IW;9y^k5cX8R8+hhwglBMY9baDpXNG4L~Lap+T zo|nMk-Cm#5jr}I^If-oGm@6~s?nz(;i&&wwKU(PovrbprbwkU51@y)7Y0cmGzZ5PX^?=0k1vJrih*J8Mvsh)>Vo7!M*h3M+sooK0f?`tA>Y3CmSW=ABDg%TEo)!V*=FkKn-=|M?o~M>7Dp)vhBT}%yvWk8{ zS%529-FD(45AaOK;l3hpS|F#fp%hYa&iKoMM6T- z_VbaxzCJNSB+#`w-&;>Z!>>T!Gq#Ad&(9>CBTd)laRMiY@{$I?jBz zX?fnQ_t6UC=nLROGHM>DDCBHCbM_Urqnk@kP6lHwEGz(jr{aWyf|9Fi2(0yJG&v=O zSN9eFn;-tm?cstxSJ9TEZca{7_oCezL7zT(UY+DsR=QC0GFc2|f|z{=AS+PW{ef5_ zEG#TMJPi#ENi{~`d_J*bl4XJfT}|?4l4?RP}ids>9$W;t2mt`gR!nO$ zZVv;#fSZ@MzP1*~;yEE<_qel*OHA5gNAoN&6C@-gph7$&zdwHbsLK#H)erC{aKF!t zVRIuXJUo1M0<=+}Q9|3- z48V@2W<1}Iv_>x^9FrrJNCl&+W8ycZn#b$?_h-{~#zsa!K&!`!DLgJ`JCnfV;o#sb zEi8bA1345$T?Jk>-xm-_(_oir(&OR9Jv)X+!53P^1&}(4!{$MGz$GU3tJJt%L_`FL zLD=SOvZUlSTZgw;z^K`878u06ao|em%plldyp&K1 zAtELw;d2+F93N@+di^@m==NKUMgTfBHFf^7#3?Dr8D@bg+RZg=uB~x6EQz&UYH4W! zL~LPUq1yk3n(UR`#SVq3K@H(ipZsO;qnMJ3>1jso3MqX(CFA@%*H8+~V2LoISIwSF zwcBz)MnGR&TwFjpDd2b45EX?riZ$3do@2RuxZLiR8w%EoV@1(MmP~9(0bBy`-=yAC zNy2{p6cNjimyr&i#uO+Zf z(qYi8N#|na;5h4ue2E#H3AzQ6_(n+91P6E4?>EUJd}ZjP2*}LJ;`g~yy_0w=gpP-2 z2D}9bBJ7B?zUSaHK7U5BtOMyc09?Rts$#s(CF^Z#Yg15A04}n$wDi+%1keirId>Z1 zv4tpSn|$iCvQ|^v<{U1|2L_bDHrojCvGMTcn|yRikv@fmscUHL&o>LQuLCRufGGkny^d)Yvrj3+L^7_AVmjZ zV0WfgWiF*8Cx_Ewh@y=kxK2#uPNGy3xQW(PM?F2gw4%t|!>1z^@87@w`qdC*svsHj z{s4TET7f!%8;SApKy^U&n6Oosb#QqDVw3>y#N#5^fb@)$5-n|Qg6Gf0B_+2vH@UgE zR@T?kxEw^lsD~Zf$q5OQzk;!VeTX+gSrYd4_CU%5JQ4usI5;@Kf9ze2rLOMo%DeC% zxi`Fh0zYJ4p;K+ESLghSl+^#{8*>W_pr*FdRS6uz=^Q1eCdRC+2y7e6+L9! z3P~KHb@)d>;vjSxcpt)&Wg0a5>N1>zY3XshySixU=(YiBKZ4`rNV)~kWCy^c-bD80 z-=P4Acmgj75OZMb;P7z9@TSvx-z)$rz%lXL&Ts+p20#au90h3#%u(|)QNZxjQwj*A zcCQL}#qcHdo}He`1FFH?JbjP-TS-YX@Sgz8fjA+Mb`P*6$gu%Vlbqu#2G0PPmyV(W zzLk@MLz$EK@}L!s*SYf^2PE##Sxs*Mw)*5EFN@t^#hYODxU=D1~W5rUtb^5v%sxxFtEC@aYkGmURuAP*BO1NgcAr5)JQs2)?b_S zKt2EtQ&{*BJKQkfY5>l*RY$$2amQaLdR2 zg7=5*B*1eB-{u7d1Tf)$E;s9U^?3=zEUTapi)O6_oOrn4ozyIvzeEP=a~9~YAdFA1 zr}VmGAt6CQHJ+!mqf|ekEMUd+e)m2iLBIe3$OI`&lij?4r3v7mfawzA<15uly?K)^ zN5$)TLc^Xr0IhI2*?_Vb+a@c4~OLw*gqUFgykV*vwAZHP_%FcyrJ?f7b+5Zgg;v+wacX(UCBb49P;5WgjC@9ccj?{`=J zz!%oLcJ^PX7inj4CDvSJoUu#?m#K4NcwO#Xg-yF7|ot<^ZG2#V_fl+{~ z1*3fG{MGUSnV*mE?l9a>2@hRa1Jd|~uzGxaJT4}NpYzlGi?2$W`ucNIQ&%&V<-pH; z`}VGN5iGM?l9564`;Xz_<0wUeuT8`uZ7iIeerI{*jD-(D#LChVAVzFE|B1G&Mry#} z9+a)b5j4}5+}M3-T~r!pN8s8!SNl&9o#0p{BOB zbA~63FwS9ZMlP6r0qDS;UqVFn5%u(DHC#TC&x;ZgCN*p40~WS(c$4Se6-*4^CAjY9 zhUS)GMV~p$JsE%?JjZ7AR}Mrg76a6>zbn2D%mFPK2&ynL!~*6Ithc`_<6pn$p8Q2v zS5}bH(ju8W9dP+)-@mA9;@=M}w-9f|pI`NOGdK7eh)W&3N-&rQ5zfL!2xEMz9!gz-<7}11rA&JqDcTSfQ2^ASkfuh3wu_(>%^4#SJmB zveHpg6K|B0lB#juR0hr~HFd7WVHu!gL^2TO03`)c`k*DZx04P+9GW*`RGsMxMBNXd5@;GlO!M!Jo zk=Z;EJjDUIEWs|fap=9}NvRywvSTgqW9rGBi}p%WFtmuE9s*waM`tNF?FGs!=(L7H z_Uq@*ucf8T)YOtqCm@*0Q4NEXt<4BHo6hn_Z4Pj31fl5UF*1LsJ&x$;H?cl(GCZK)SdXpL( z8UT0J{`q-1h@TIbhKmadg@SW&-WtiX=9up6%mWY#DBRDVKY<9E@2(2Gk%6!RB7j>3 z!1MCr0)>!c2Ozn4ey^&Sm{CASyd))2NLiL@4I)f$WWF^Kpij`H0i#6ZD?YGgNexkXMrDm>lJ?{lDP&`C_vzB-;eaC1b%Ny|YI&sC zhbEODP`2MXL*dc`cAp|P^DkPKouEw8psEcG(K9ewD3A6CiT}oxqJ4qEgUtOFX|0GJ zlGqfQd66xrl!MLtxz7%}WG1Rdo1LA<@$qQuB1BL1i=tKz%9qyh12I=GwI#Jv7<*Ab`CQ7r>YIJz#)aO>^iQ(9T7 z7*#%~N58nVKPI;yd3RHqz;CQv+e!+rFM4=K`hqyu`pz+zJ`q^C&LNLdIx=bCl*%ln zsYDghhek2wY1Mw3p)NJS!jxcwsDYe5viM#VH=Wwj*0wk=&%2$K&*O(LufLrGNBP(Z|%P40kw+cjNMk&zj$bVLS305ZN%r@F7BBe$Z$d9^DB zR89$4pa^83s$epjuLckdNOOQK)6mjt141A;SlZY3E?=zxP{h|Ko5uh)51Us2ZWtsH zBO@b#HC+Q~D!|MyAIg*4Y4~TY>un$AgQ3!3?r%z|)-W&)@IjGQwEq z^nqY3)Q<_ax4hiCXpcY!;Go;y%-6&v-u2~WR=^&C;vpbcKuYH1bPO;lNLGPfq6ywa zc=~>60tJ=R?Yv}vbQX~FY!%J|%4=?}sj%>Kj_n%DKi>sN+~3``v9nV|cqmb@v!kM* zurV`}1%T{*dt(Ds+kt|D>ME$Gv2k(&y~|VGT3?S#PL^w&1yzyu_CWL&qf$Vut|Y<2 zsF_0mc_rfcY`}%_Im_d>3xG5O9?xpLm@+^rOF2?1Iysro=vPqRygN9V49ReiK0DUV z0GbCFVV)`|`~asf&QF;jVnT@B7V8a`lUH&3@iowyPsadu;TUv5S!i*%oHrttp4r#x zTDJUH2%nB%O^~}Z^%6OJobKv530^Un1NBtsvp`n&gEyB%97!n=5d$9D0H5TkdtPEi z<-J7!q`>31LNwUQ?-6;@Z`(qJd3*d^*@2yjbokw08?*&Hfl+<3_khqEp&h^4+u`Bh z6kanK|Nh+2&@eQlEQ0Xtd97`4iv$7{U+eS^|RLP7#aps}bGyf5``H!{MA%H8%ji2FjDl%15B!;(CYc z=5{U`_)M?a*XQRu*pWA|FdJ|20SeoLI;g5fhlI%X-xGW(W2=jO?yG=9wXDI^1AlUJ z>zxp>czg+X5Kzt|UYiDWTT9DCKnzSya`W&EZ8`&56%@27m(}#^m%%DZEtO< ztEnZ#$M>Z0jsr;nU#X%p+|fb9#H2)l3AP0aVm+XMPQdd9AiRYIQWDGbj0|HyT;$|P z%6E9dpPZiV?(Bg4d6jW@cehsep^P!`Rg@AFd`sv(sN?}d%k%RD_6_JjfLASjo&_2M z%w%h;fN*$rHU>^7beOUv}tlFunkj3|7@5YP2 zRw+|pmvQSt^qxe+IRonf*V5!AfO?@3hf3T7GkNrqlO4K?{xOxM`m^YQtFT)P_Z||8C zu7Y~46 z24?w_O?{dACPw_xmGyt?98Q|HWxYsMU=@si11$_B5wC3lFU^$Xd`QneT5yxKqLt-` z3wL~h-Z402kze8w;r+_={`Z%L&#y>|wz?#$iV%*GygBW6Cg31Wy1wT(>ONc6(z&v&bF7ibrog@>pF8Z10yS?^m%y&yZutH-nOq23Wh zX4V$tr!yin3mJSd$N*zZx59=KNy$U`dO~>pj8!|{aE3P>WrcjC&gE`>cMAt!;l?MQ%;I?1aQ{L8z44~Ima(?K zx3?%}mHlFOPVOSTa$&UI=TgqZVeTe|7su)Gr}l+G;mY9O=$WJpeyQl$yy4O*-$Gi>m*2rhLkZsO=; ze8J(j`KvF54t%L>xtd4+a#uETS|dPED(qzdG@D9d_fCQy(==x`XzEt}=mSu3JJ*wMJ#Lpr zp601~I$r0ejeAGOr0TZQHT#;*kM-x^L9;PLQcY(R()fK#LB5I<=@w_nJ*8lY)DYEV!(H630M$IzDvw)6@LX9%PZ5Ee(8XkM zMh&lzIu=_amG5l2LF-<+G3ssFa!df4HnKi*0tlJWoX$&W1ieq?LtA16PtP1Go#W{_ zL_={{j?>0+y3!Tq=qyl5#N33ymrhoo$J3r3b zYhq$37F{{s$M3#6O;_-^JLnvDy7m$}D~m$J8G=r3jjJYk|!&;%VlV2LBvv3zO52ZUs7e>RD8^71wkH|8^Rs7C{U#gTyhP&I97VIB5U5{}dZ`W$qO>T0Iu-EL%-5ykD z=uG`0XQ!gu)+Y}sT3irN3hg8iyq6V`GS-X9l>e4x#$?`eo#R@F$;M8gGr{GK(%^B3 z9fQlpJ|fWMAHKTN{XJF2a1K2uUYfV5Fek&?I{R{6-UkAtOKRd zwZ0hsPBB?9eK9p!k7J;aeAHKi*t*JCZ7WdWb?qP`rDg&NRX|JQcXc+0A)`2gCg0aX*w`uw^Sg1(o`INEaL>CdUGaVO;CDa192IavtdOf8zw?)5oGbhdqd<|y8pWvlf6B%3kgW_B(cy*NX&UG$fM{y`JYEY!Wa?K@fH@i>BJaWM zP)p&7z%Ac?+kKaku_qeI{Ci7H!uKH0p`fAyuYUpB^F!-mbWDu6m>7-4g0LOU+{AK% z-Kx`j$qU9?>)0it(p;OJ+_ntWJEv*Oy5w_ipdzZc;{pzr?g9yQ% zb57J<2s9B2ny#_HWi+~@$`_%?7v*l=NLGV-^Vl=g${2V~UrUSiqfR%;&pkGlw6gnp z;S7F>w=*^}l$hWxgotzYN?!e^J?8B(SV4h21)9w+jgIUT(rAN`TmZIx&fn4xYAkBp#ziajDCNTQn@SCL$%?^EHx3$$uBxBMw98svQ4PD0I~ggz%w zOwy-^<8U$VSEMc08z)8KEYWUe%RBW^h!?(#kWgE=T*?shJB`=;jgf`LexmO(XX$sBnHk1hS=>;Fbs-V& z+^IU1RXD0KvW`elYGlIne$lf4^inCQ%17uTy0;$Q}v3IR=vX4kuUzU*`&s|*7nLG1HswAN+x6@_BA|(|n?$JeXs|8zPR?I6hic1NC%3SdQ0*4EY zwxZH_OU%5AvTwIzuw=$hoScxp_3Orzpu62kTtxTF$_@k{ApOCcZ9(S(My0hHXk3%M}+MILlL^mugJRt|F+ z%!abl_v|hwMJZPx;=?N1HV;eP|ICQ;<*(aM61TnkX%xw{yyrqlU9wXl_@cZUns*JW zSm$~cC!8_g8jb+NXgql|3AFw6)(w8lMt5y_9aq3>r-}bH;<$>u+MxbSUPdOPa6m(iHEF54BZPTC=*%P!Wlk z9J+#tbzT-7^{*Ic4w!5{UQm51c?NwVd_|Nx8r-Cw9j0^VIk40~;rwzTI$?(!81JA^W;W?-Ewj4O8_Im+aTq zdm)IPs0g&G?@7_kyArg|Bit(s=Yy}%9j|XZ(#fBhUwqNq_HbLTMlBOqYWB0}F zp|huisi(x+laEaWzg4LNzE2Q^lV$uOHxz&UBIPF$@mcWo4-5kBI^cOMd(M7W_tYP@ z#AZim-DiHhI3wyhdMZxo*_6hjT)gB%r>K-UXnvc#OJ8(%vtdc_b=Vx_A`%jwpR62f ziO~9eb$i$KM`=a@5Ftov3gD_sm8XfgOH!uI%&&!m1Y<4w?7*C; zsxT@tF-eW?@%~VSob4?Ov}Xs(X5|3yChP53<`dG=Svj9ptkcJ{c}#V1-eb{?V`10h z3$S_YS1M!8&bBk1i)3AXc`A>ZbkA()d?9!vc~0(CVW;}IEwR!pU zoEdAg=P7DCvVhvTSu~w_#Ut8FM}sYXSpCmxkb4Vb1s1Z7ogUvRt9SB^H2DAj2By=o z9!*suU95hnrBZ)JkT}I}e?AZlBLkm;K&wc}i(yasxWd@Ve3A!E2>c%nC#L^aUIKrB zOHUTr9^UbP{W=4<`-ju~_Y%{8`t1m32t-Kng;4dwt04cXS`}x($_z(IW?;p**F51% zlany-ifs9IOxSiUSt*v$nRzj&T5ANp+>nnaKs%%@WNg(bCeJ0Mrmlk=TJ*sPX7$_G zPD=}n3?fxEtB`<#wk?+;*sh_db|%*-_E?O(r;_7FVh60oS1X@60R;ha7hRcSnU9Z5|y6nfS9lwDb$YLM+~p4A|}wMeT&!3tE2$|45w zGBfW>v7I94Rv`JK)uDFblG3J1re^*Ah>V{mEThkJW22k3$&J2>4bT@C*p_Z&47Up_ zo;JOd&lb@;D*HWDRpvZ2MH*FsPO%~5XN^hlUUY)TaxIn3200p@=9Rv<%3Q|Q8dYg- zCFFRm zTr%y`QFfa#Sn5u*}eNF}?MZPle@p*$fJPj)N?^2$dLzHYm%>-~>6qqJvW*KZS zFbk*IfK1(9G%_}BGXf>D-ku&Yi<75+8(R~QGN7oEw|RBt`I+Y_jDK7}DQrF|A0Hn% z`QufvZpH`x94x=`VTmxa@BXo=^h$6OX3Eg|E$xqouhY0w{`JL~|6S8OzX3i4yjn3j zHujAMEJ?m);$14B(rqTovT}1f+S{oqC^Ero0x2corC=ui3Zb_Dr;js_hqC?t_)s(@ zDcK%NB3q=ghX&b~tSM!i3Sp2eAs$;qh_a1`u_jBz*wff5Yh*W;Y*83{vL)nqMty(J z^ZZ_Yf3KH+-1j|mUvn+zI@jmC&zYE-LIbVO%Uch0EDulJ=qOrSo0gn9R4K<|(%}NC zwC}gEU|F|0Bof&Vi~+=4+7qR_`}-e8O}_)-#2k@vi1QJ|QT9?^0M!!ci|BU;k;ta^ z@3$J|e=GqF3kp8NA^1LLk}@eRG%W0l838~v8vyq~^k-pdvJ~CV1>6CU8X$TBg%F2- zq_dZt%9L94b$JB5D(-{X6A;?5hr@x8$D2Y9h`o4mD&`=xp|$ruB)+6R8aeN;PyooUMUQfqY5y!5cCd?2Vvbt zn6&YqhLkX^DEIdEf_nF-99l%bskwOu=>G%z5D0Tl)6{;YJakQUSsCDk?;v0g7%hNf zokZd`#EDhz3c32xFr+ajujp}P{M8_ySs@o*q7btG!CMG9HZ(TU?4<-j)|J!&z*BB+ zuDrVyImhb@pD_(6)@N7N=P`D6o4NcvT*9Py{vzZb2t9L*zvncwC8@zmO$a}OT9{EP`rrBX?*+B|zRr~b$olB$P`I#aNq*@>35dtQF6EoN%#UUSZi0wM%QL{z zs^lXn>rs&)b`OJ@M};y1JrN=@moLW_7A`^L2KZWisE+i-cq|@?GK2sVVBdf%a?yuG zMMYuHppz34LT^q(Pb2(#DLv{TSpleB5g_&;fgGaaN5fFBSoW57^UCiPN2dhR3C z)zt;@qt9@zwCpdq0bsC4fpdHC6AHv-9h#4MfKWmI&!4>nIOy@isZfLGV_pUoNx)kO z(lQ`K4}8XF7gjblF)=aFOZCp7*cGV}F{}+R%z#D$tO@Ur2fP_#7gkmiFfvJriQm`e z!`@OL{QCB-3zO37ZZ18)lm+Nb@6gcu31>2_=kP%sGPs6fokn48E72_5ldf(2whAc`?Q#RSm& zhL&OzSO!p!^)+GC62K6n)By?ul1AoQ8ia@-j^Eza2*d#bkw=xIYGfoOAb=zrJx3a# zFDf;EO%}NDgsG%frT^!fU{v4=!uEo!YYe69uU|;M@{DS}L;nC70@3dS9W{?p{2UzED;@g_YA7Dxa4kn#XMHK6)p1h_gt=4#Ch^J?_9aS?DSoawJ!+PbxnJ`Scs zltHAYWW`1M)OrP-)Tnc(66E6CWOW0d!YH@c`WKl74)=3g<&O0kUQ4j|yqm6k(v5K) zEMEyzrFWHs-wnL%MO)?26c*TaE=3knkz4Qlo}+2vN=Ym7^HX*(FpIVa$zK!zRm8CF+)Cbp~-`*1OYLl~;KiStg{uk@C z!I>7p*((mHjPmzmX$@#MC zi{}^rVEicOp@7DCzMI)jQ>q%_SkOR%$w$VE_^9Wq_oO>hDmG!XJ!?Z)Eu9&cL?t<>QI*rJx~n9*awLGe2~$3(_R3TNQNxQ{ z;S;9d(MsurmQwIN!4~FD;-rDs?PvJy`mMs9Z<7jhr7QVaR38%NRBoKOa~@)f!ZyJX zUDh078n@|7PA49_h#V;AZ+KaQ3eb`DI$4@Sc+=VII<|5h#jy}sEOmRNo$&y#`Dt$^ z9bYw*Xzi*vqd}GuVtgeRhoAK%mb0yIwB|{5JJV?1bHnnvWbQ>(3?8H& z{_wV-tUAPVLm=y%;DXx)4aTGk?nNRgtmBT>RzqXLt@nFry)5`5RyaQ1R6<5-T20}z z%rxF*XXp3zT&G)cMY73W4M_JnE|@$z^t8Y8c%-J(7Q_7bbrGj$j*hbD$&*(B|Aed--Cw#`w2gGhYgo8mPU7?|rkhu2aEG zFrrK>mDL1*# z3_Zm%VZSD04NoqpO5^3GY^AvZTlA%R`)-{ju}2UJtILuj8eH6QqeBU?Mi{FcUF0jb z<)uD(RgH|I^~OW-G9PMkGM7e2Q`B1oNMEp$A*W7cLCQ(|VeaV2aQQ}dnP`%|W4)ox?sfHV~i1Z6{^KI1OPs%O0NiwM>&G}_%aq7m&O+TjD zTrXZYTXuZg>4vuVQ7&a3`>-lE-66gt@#dFl`UUHC#E<^@oUJSxd6I&!Er#2~UzqZ({y2QWd_MhjrP;h2M}=uyE~n`0=`RCp%;Vi0zK&UH{QN^I|(wAU|u50L07mStoN+qn=Srx2n#vyz_ zGe^u>Q`A}W*c7(km}MEm7S@uRf;D7}`I;I0T`0mbQL^E2t^VVh*o~L#^FtFAgLL%{ z@(eGh>KIXGtr9zlm>W4MiP-L5zWphOkE6riq_+QcxC3g=ww(HwtIeBnYrq881==Lw2?869v~EL{1{pYnskvv8jQ3fwi}eD9R-rr6&z84rHts zha$PQCa=_M9Yb=pQl@2u$Vm*3ohEWS4brS@`|!R^Sqn@*ZF5A!N>pb4@wPoZ(n^%O z=EwLoR{L9*iof8o7)(L%hAg^r>CRjMg^_`%DwT)pQm+R16X}(3j-Eo{L;dryh5kBU zt4!UYwQFMJ(O;( zt9_TFB0%t#*L9j)HTgrF)oEwej@gVO@0cZHuN3mLOWk-G&Hi;9RbEd^$Cx>>G+Z{q z9CMo~;?N4IR9^g-*JIS1t#D$oO7_cIK&6s3J@C6RFpW5;n#g}0lz@XDBCeFVX@>nhG>v|@7O)K|~d)>s0arOAxs%tr2 zacF3BPFQn}?C4QzuP}nsX10hGBOH_UH${5q z_?nGzC9D!H_Q4Vno;Yh_Ze#(n|m=e9Vs^}+?tgFA;1f@0bGJME5yH2 zHTq~vyKkHh(1}yeh>*+_l4IA+>PB)!t8VVEk2+d-QZ3z4PYYJTj_osOIxzstNBw}>9&_T>cMyz za4KhYj{Gqvxl=WkRH>pHyh-GbmfB&ju%G9eF=H?LK1DN9DlYZ}FV-`%T<_Ri6A=^rW`R`H_Kud((!LZR9QzJ4^Uc^)(jW(W?O-TpeECzsMKWFk;-cJhgvxo-hLo%8aP(5RJ8IxVIMgKyoRQ9uFa0a1O z*e#|(mW%%F;gV2rKV}aZU#_J1$vT62L=xC7)q%)%HcmZdBmR^=iK}Bk7f!$Us-nx` zg;X_}Wj0PW?0i3D3@_QS*)pg%db*I+4t#8A3DdcFF+1EdgA$f(?&lY;)W*U8`f$%t zT38PoVW1`^VW(6&j?t)65X3|udA3hbK~>qI$kV^1-1w$L_M}ZFyHNt!X%vtkzRGSN zjIgqL?P1EDKiRUEdq3-;7>;mN@vE+8rya6|2CoMDQ&J#2j^4!|+({w-V&t3M<3Vcf zZ~FqC=s5Jh`pEzF>vx5bf7TiKji(CVP@?qz^&~v-A#GP|Az**&G{Xb)e`_!QK7V-9 zk^NwR&VM%!a05}b?_Zet?_F+q?jHqJelsQDfxo)}aCXfRqfpz67KGVu1fm&9K9GZc rwCk_`mr^kQJ6+2uKS8N~cP9r*wCBhje!%NVk+U64H%GcXxM7w}6yq;`@ttpKqW2 zoqb*ByUss*UCP6=)|_L`Ip!GmxW|}FL*!&ckr8kZAP@+$xR{Uv1Ojyifjnt~hXQx5 z37_&oAQ0KVGs2{lI476TNzPaB92V;mjCM#GU$e({=q2hLw?1 z#%Fyo*aJHxmNBz0a_E$^nxR`igM3p(ovKNrn@E4@;HmvP(9cK2roubpl8_HOyY9vK z>OBgr+OpTl2#o&&2L>l0!f|9=@$&JHZV#m6FX+)L>qaeu{da@?J^6&{=3As9E3xQj z4nb>S$8CdzJ-RI}yFFKBxGA{nbfm$*Bx+Aot<`V_ADk=MQ_`2vruPW3sIQ87^1pp5EN8`khbvNA+G&6ViDv?=L^(T*V3P ze#Z&5@rJeNm75&E*X^A`NNAKE$Gx8R8SGlJTfnz&=x-gc%X3+jO1>1a`5iK&YvULx zvCQ!_Zt{C7;SWsPysW|9v?{TWT*sUeY^}#LBYgc9L;<@&-zr_?MAu$( z+8V51U!+j&J3$L{&W7~W^TS#?6Ms9fJZ)wd#iRPQyI638c2D$_mb@kDOBAtDtYTC5 zcFOwEH{M@AEa)Wea zcd|*ku?o||!9ZDgYe<5sx>L` zLm#>zWNxTf@m$-B(7kcioPJ`^z>`W56E)qgPW3r`@x1S3tg2T8$wA7(y60wGT)%3t z%a=L%%56^Tjyl33Xk>M{nv1^6zVmcIc4Bz>ZoaB{CVx#++|BkpW}_E|VA@iB<8VFD ztK&VT-)^3l0B=c z69Wq|hjAn+Og+-cIYG=HAu;boVO;-N^4YxAmr2=ls?<0^Bl7?(9$}2U(KOPr@R7_l zr*CgZrYaTRZxv5Vh;*T~9!jJth2#hqFo|mV!g@rsGn->cAU~w?Ae$WQEWf1uwqzbD zH8y@uS;(c5A9~3i)J_Xy`29tbwjaXjt<>IHbd1D7Bq0*>N38sqo45mRp4cd*lzeiE z2d5y8MbA8uGs-@6-HcC?qjLKw!W_+!>RyTxq7>CSrpHBdN=0--X?nidqbB0!Wyz`| z0TAcia9)X(sys8E4a=8S(c0Of>ck&tOf}|xB-?D6_oOwpkgTiwS`7$jFN9#7;MT{d~QTps4`CU6!+4cv*t6*G_g)U z_XA>S(hL0SXGhQ_KiK4yyXYd5mRR}^1Tq$p%m&@Uv$~b?75_%#|t(LxWeK^>F-cmBR8_$W!FS=4n zAVBz?4ja}%!-^ew^pX>9_HfNtsp_*ftWB0F(|c*Eqpp5bu_LS`i6@6C1?t*4aMp3O6~LjJ+QOpwQ98=aRJzhhvGUrsOxwF1%8CNj^YE-^Dp-43@TI zPo}F%Bd(Z7;d{u`xb@dzS6#k@NF}`s%cVTBJ4hnZ6N=6j^g6?@6mAOGGcPckobcz- z%(#$E?Wjfw!N{r)_$VzMeO4UCKupeWvjFv+$i=z8{MeTt0p5?u@JnH5ZWE-TWhoH) z(tMD}NKjlW>D^SK9}$U_8D06)SI72nJ(Usb6ndCg5ITywo-hb87Dt`8y2NZ;KcBza z8LV5gwGP%O>IR|Oz5gid(0+%1(b_wA+-&I`Jv*9Ci@w9`f;uF6h>l(SWX)biU|HMa_3?hOo_mn|aZmIWY6LOhTX|Mco zLP!H=N;^Yk&2Q2+-YLhO%3<}R*#&%RP{R?@p6j@8MckNw>G0H=Di$SFAVVM+#tVIy zBF{qUWpD7?S3MXEXeN|RT?x!Uj`Hd~m-XDoUZUnVlwGJ`u zP~^*inb}_S3uVE26+!qo8mG0{8>}0CLGc2(D2=zTilGaCkZHX@zGf-w4W^YJNNp~C zU6xdcH_V}RNIpcpcUCZi6(RJ63@wp_rv<53*iLJi0bbyJFbve_^YKFmnU5Yw8YNh% z&)-hUe1X+&Emc#Rgi3k75%#J>m^!kStNZZTmFdr(wnhI^T{x8)FWj3S^>=BQ{JpT9 zgmDs`W|rY1sTD2-1Um^;a?ZXLwB`-vJ?)3rAq$BkiUFX06TI>8 zlj>koS`yLa>|PeO7NZf>2fbJ|5*&~I0#kKaX#zEXR=OIChc>sz&I*U4aR)JJln&F- zfYaqpkbLo>0kO!4`DyEAfW)$>JDt|a-D@MS_?i5Ey9CUZxt&8_xRbu(qVn1#%Q5~> zdgy#4$c~?=uX)5IRylLb{V!+V64g!4mZODY!RN&#`rXvaIv-_2j-rWb2QZ1ME~h!6 z(pLP*EK11}wUYh4 zYlh;YbbE^#`%?e1I>ugj`y$rdvbVzh7!t4G@I$cM;0=u;MdKz8o)r213iW~uwBBcA zbkOG#t$ORxiC(k&;^pqy2W^Oa#+Q4oDN>5jM(<~{AE57UrZE-Ga?D-~qA@aWc1w(mF<-4twXgnueM=~P_}tr)~#9aF6h2Lidt%&J4r|+NzWGw?a3_4fTbMN z<`eZ30<87rw?216G4SZQ`9;)9d-}QvqA87UA+p?0q-hD+3)CG41SASud})OR1+24g z4(jq=1>Ge%GmuV?aTz_wS~tL~7I%EBEMqOup^!(v7~A-fqgz!Zv`TEWeK#Byp7W-1 z)kchf$FBcYg*sKSaD<51e}|nB$u9*f+!BXa`p{4Ma8Dk3lWik&3k}N*68}W!g_%H@ z!99iUs%IQ;WibsiThKcwJ=SUr%qKJ_bc&)_g`97GthuZXFyDx_QBxL3YsFfH9MVd zQ5@bmvE>U53h6jlpCS>7$aCi=8cDE`d>;RJ&#qx(Xt`6Q7bvps<#UDf)_@bXyN{`J zC*>N?wR4nDqRL^P!iSv%-xD!MHtEVWXa62?DJ-~ZYgTKKQG0j7;XVUd??D~T^9XPH zIDJbHKM6HiE@}b`PsV#2X560<(Y=G-IFM4wj7dy7drX+Y7R~fjpk|SD*476J(!`)5O^sH z*WOeD-wgZtx>Pj>QA2q*vj%v)D1EljN(JoIl078#Io5I61^0>@7M{S*txJ{3FA4;8 zMP|!lxXD;D=b%%_rIg+f&%5L&1R>9-ABha3O^PCu%kny}1*+1RmkB#^tnRVe!@IkG zP{?1bh6}I7(=cpC9h4H9Hc@+F3N2EbdlRhf%)da~Q0^#C(npsmMICJaLG8#HisWWb z>rk(?Iud1s)aY&D##(J7b$9S`ggR~@w9m5#+Ia-o@Eyu|xna~^ZTzJ^F_y|w-Q&*% z{H7s|{9h^A%L&2-nOtTE-FPPWKV|o0<@xuzgiWcL=qFzkWcST(S}_cWJ)PdTnrywl zZ6(}zzrXtGl@&HqH)^zR5$ld+P9x5Y+HM<^JMkR-&VK!`~&<(}pVzn;xwx zeDaiqwOTs)C}zGG&IM61CS~|!S<>v!)&n?b zB`IXNXILh?j@&`$m1CqB72Bs=PmLz9wCa@tYAAp4nSZo#E}e|Q6j z{#<(xF_ZQFvV1tqnjeV}^+Bb;!ko@jPV`mmQ%WOt0uh>dM2S?C zG%7@@ychMX0p0DDnu=Vl8$adr1ynOj31aQ=9}J;K#Ooqg^4{Kelbw#~_AusiFUXjq zc48#?5c*N-P>LkUN!sn85XGm?b7}X9vKtULa4EG?2T?S*P>vt!1&qj}u8%q3lf7bz zp#7}){Cb3>p10H?>bw4kyC30%0Ph9!MJhDwhc6}Z=5KEN`qsKuHw)8TM1oz3Vk2aa z-1KRb!idfI#wx47Q_0qbIhW>N4D@XCq;H-Zy!%qToS9?)n)`G={gyE{@zRjclMLY~ z{zNM3h(C7tHxq>Ka=s~>MGV1*tQ8$5=~8_33O z)}lV0(Lrbb@ZN8Hnrt@Jd8N7+*KgG*I`pQq7v*hwruKZn4|w|cTCSop;7)4 z4K2hpNq@d`zf&=_w#_Yry}Q3s!c&I({rJ-m!f&OncirDMD_fZiO<0*k@kp^G@rxbl zsZw!H$?UYI9Q(2D35q_~v0F^xSS-c0&})q*Cf3V1pixlkJx3RMTae{XX-Q@_C0-Go zb)OsM)B00#Q=wP+326^EYvw!W`&FNl@0vyI3`gW2;`pz^HawA_v$QkST|OTh_L!$b z+Dum^Y;M_bS})%0{;b8~gCbdI?Q+soy!0Kw&-~pNEj^du&-}sQxhr3eO+WOQW~R&3 zeo0N#1RRm1_7@x9071Q6p*aiQRihZ<85lkEef*NKHikxcFQk;f1 zRiAu>1OAyH+KrkA!AG&VCA zbGJ8EbeB;wbhj|%Fe2gOMc{Vj1Olv#9rcM^tt_n_I9+*2{>bG7zdzolBO&_J#L zL`_`Xh6qEPtQ(6&q%|_LHGCm;Hk9q zzj|9c{6mXCpLDMJwsZ`%^mJBM|DlJ2qp8Dp|P;Dv9%-V z-v_m|baMFnm`)DHkGKBJ+tSE{4ovFL$bau6DlRSeuRf1zG&Q%f{nO*I_1{|>8UCxC zt&_dwpEgE@bjFs(R$w9yKr+LBXzyrl^6w4$59@h+^1n<34EHbj|Dp9i_4Q{ifAq>J zWMk;`IHitj|uvtk1+oW5C3~Lc?rg$i!mE zs?W^C#{M@^;?@q1`qqZVkD`EZT5}*rpHbh?fSJvR#*o9%h=$pS#h8Yjk(G&tP2Yfn zi4lBfF#Nj+S$lKf3Hp|QpVgx%BOr=_k;Raiot~M7!^9BGhTX`3hQo-3k%rC4fWwg9 zn1zMG#PH8-9`}Lsot!ui2_r52zwgLd>N}d)*jw?CNSRwZx&HfslDUpR-mE7{ms@{l~vmFQ9AAD1HH{)e-0O4%6x>G-Fy zvC*Ty{lnt~^iApheC4M5uNwa^k`&EsT&(}!$@zEFe@S^~@91JP z^Pe^Tmm~#%bq)T&|WNH3KRYXL8K!8)< z@Gtc{=sO!5{n-Mb$G;vKn(14c8UwWbhpYYbzWIM*#%wGsh8&FS>@+4uj7-4x44G&Q zSilbk17l-$V|qhF2ByC(?O)OzY)l+o^zDt`nF1RC`wU#`&ps2q{bPL;|8XuZX2!rq zXz1BE>FG)S+Fl}Vx<^3$=kmB8AxB!8^Y04aeuN}W@kh&3bh5RzG&i>YkBa%Hq5MCz z`&<8i80G)2``?@W)mzZU)(tqVnWLHZZT|6vx7p7Ve3`iHsw9~=RQ{+~hqTl)PUb^VXJ{#zROZ#DiO>-ryc z{kJsm-)j6n*7g6Hx)A=IVH;ZmqUQqgXFWTcO^|y(vlUZ!fItv29{)apqhOO9o=pZp^8rV$8P@ez9#*4_4;Zt zF8Y@H$7c^(86q?yFfasi8XQdd=a)d1KObn*e?Iutp#Oa8BR_r+6+e0W@GXaZ{D8FM z{P}>lfIwEMzPX)m52doLF>nX<+}~fP+0qZtLm(GcYE0(iWCd`L%$h%)Rx{$@{&bM^ z&BK8-lk5aOzL4b`=sOLB?MM<5jKKd>{y&>$(zVS#HofD66|%MC2J)fL8ScEFK#1IS zo(3U76MfRNe{pRFfn+RdKts^J8$E?U$avkZ2g_k`8o-1}WFVbStEVAE=6&FGFfpq$ z-{5MnDx!55enzw`1W0tb(No{33X7T2loXsbMaqP|g9C1ZPIxH4(K@cs@bK`csFgY! z!VsaGJ<>0)(5Jw2iZZXTZd@h_4^DkY4JjQ+<#YGkO#x5$ANK!rpR&rKa1 zn1VZA-RK@39{w1~So!AgCUM|!0pH2lnU$FtDZ0oS7w7SkN#mR<;$B)>LPkdR@;+D{ z2mrbuqfvjdO1itZN2}AQc73tjbGEKuJz+r=~V9FR!pLMCx^FQc~j*>c^%}{6sHtapU?n zbu3a-Qr^FRf8yGho}L~WDp6Jg<(FApTwGP9sH3yo+Y2AnbHy17W>#8CtE{Zd!^89J z8ZPjk+B;vhWoJwdck1MJzt|Z}X5xFe-q@YU-{0SVE|4#i7Mqypb91r#0TDY%DzALY zu+9IeiHS)&n>Z-;_&j)OYT^of?exiEs`x`Kthr4?@`S$kqKq6g_ zL1u4n@BU1g%|h+r$yx_67I2A}Tx-HoJA9H9m@rkrvNiXSbnC z^YiXIqgnp`P?m?ZhCg$(bB^@&ad=!(tH=bRB}iyjo5g(jLVn52#&&hFJJDYA`t|F9 zPc#!_W6$?D{oWRu!$BbYoxj9^!ocQfX=w#Y%6w+eDl6kNAI}{gmLZ8rN=b3QKGAn@ zIRAD2V}ExyAwFKK#rwW)#ryWxj|^#P>E{9?={#Kan;&Ch#_u!WD0|3>EX$@w`GE9>_8uj9q186z{Jqu1N1Ho(u4l9P8gHzzFuK7ana zP-g=N0|NsK+uz?0HURAMuU0?kmWP|76Eze(cC;5SHjj>UG&McWHv522qQk=g&9PWa zgPCbHIPOlDXv)aQ%tAJqOouzWx*}dNb@%iH_iT{AdBf*=;ybW4oW_Ms{DOc$M?s-d zuMNt=VjqkmnMjMz`!?{y2YvYg02LA8;U++VW}`%~0neX5uP_}+2Xc3IcbnXQ zzCT`W>hA6i!=f1<9d-S=Hw7%!`}VMo$K&!XC8dA`GDI(vj0)nJ8x#b)=0q&@nu&oS zM&e84D<+Y8zvkwL2B-aU2ae#5XQ-%zj7GhmXf(^aA(RR4t*n~tHoC!b4`wR_iO{s_ zZQp5X-u}q&>E@KEuCA7nlB%_wJB!(JJ6-RZ$d~;%V;20+v)>sUiW z18nP$)m2}#@remsPRE_g!-X>4mZRfix;JmwylyVmI)V|oqJZj$j2JP{(c9bGVW8TQ znM}d@0||ox&V_{Zfpw@+V+riEe?a{D^(!u$b*Dxh6?JgMhHlL7wzfrl91zI_9xoRyW8ohAV;KR>^jGF{-$h81c6 z7r+uR@$dBY^j23_i4Mqrm0w&qzIv6c1O4d(gM^4k5I+$;D=XIJj9yF}KauO{`iG1R zLIL>T4zEpqJ#GR%pNG2)@0;EE8jC8Ep}iUvO-(Lx@-LN@u>)JcpAFu@#`V1jVgZQU z9#Nr#>*8{yBRRjY@S%&9krADy7F_&9y#oX1S66lAi%T|%-cRC7sLJsIX5>^i@Rle-zQ~TX@+wU&Ej-q* z;zVeAw_ZPztPi%J{D^2CuacRsvU|*UzI_2kktO015}Ynacp%a%Dgsn))1V;ac3s`r zV6s_m^rI)A#740w50nxV>{woIR#l6Oi-QLA4$ba?lv=A5U07aQTU(8r_~zmed0Eu) z>q~X@IaEvPH*ZAA&;h0_1Y^KH!o{msuRsh%w<6&LvC_liwyfm==sTPSDBsPL{U^hi zZ*eiTA3r=Qs*i4kv9U2AKzxSX;fsrl09@naCM_UJxZJMg^m*^#S=iWoE@`EtrQNu7tgVl3LjfEl zOXUILQdG1L{GQEnb`&7@=g;9KG}P1wm~-47mq;E9H#hEBVF0+u8~gDAzS1cG2Ox>Z%@NGMFFmm-4_s zm^F&zo{bN|!G`ZbPP7J0s^Vf}1J?wEgaU0#>gwtM0jx0W3CzC(t{wn~3RqPXFd4x4 z0GBl#{#;mE+C5!4cL3-M07rs-w_n_mk&)oBu&{7DIcSrRkO07IRuMM9?)LI<#M=k( zN6G~E?ZM=)Un%t~qVPB>0sEPrR>2CZv0iEb(G|f#h9D|9t*Sg9uw>ClyyvAfZ{OB? zTpdLd3j+U}nw*4(5zyDqqL&H}33=Wv8yXtQ%gYN82VCv#i{Bhf!9c)=UdM=$iiEpf z9;iDyR@+)BD4??%sTH>r#In|IA1!@%<@WB2B|kne$6+)QE6e-|;2c=)tZQiusi=mg zreP6)8Ng;uhf**xFyi9lC+FwC=I67yof)ldJzqhxyxwU0wWz`c!NOy3Kf{F^x1E$8u8|=3vfEyRc=L9O^d<4gr z@CXQ@k&z%=d9Fyyrt^A9&EHP(NVj>?e%pyE?Z=u zkHvsLHE=Ora2F2~Cyg@wRv?CtEHAtPftCp&yw1aJmI9-#Sesi;y@Q+>{d*s|kv z0Z(6Q@~8ux6(kv|s%%6={LG(AzJ6`+x^ed%d58(6eU{U&Z77p)T&G(0F^}vrlO==xBmuMYzL>b z_w`zElgE|yYi~s?N{O0`FNc-pDN0*{py#X=P~% zP#fHBY-~hFN9R2r0zoVklj;%}mEDF&@hqKgvr&Z_A~tPj-f${|VK*QFDkU1gxVlWL zGWdK-b8sV83D}3v$*NyzskNJ%o0U~bRTb0pDKntmz$4Coj7;o0 zl9J{C+R@)H0WjOw7g8ZcuzZCpb`8LS_fBFh#B&t`9>(YQeO*b(W0LXPZUZn9;K}E| zJVC|+Y%P&aS432Fpto1giW{VLU_Jl<2S!F*92_PlCOl5pg#`rstE#F%wk9gtlP8@D zCdtFiJvcP9(&&bPiTNcv8$h&zf`Y%aP9aeJqN9)FcK;*>)^}`8v{c{W@am3cKfhc_>7*QXaP*i;Mb?-X76|J zo}|fu24mCH-JwHz^gE6XDJdyAIffvSS2+OW{M3~j6%`c(L_p}q#}(Fma?C1}m6Sl3 z1#C}CTf1VH#pQ7R=Vl)U92^`jZfbfu0ZxR9uI};P-u&pOEyw}^K!eNzWPY3+9CqxV z0|Ns;f5xMuqa%rViw5s}FdGvcO>fkT1`yHMcnd^Cve&QO-Q5lNJOSft`TgKwXqZz} zRP^l|*j!+AmZG9?tfd9@_17SEvM@J4Jvjl)j+TxtDl`DFV=x=d?2CH?c*i?-JDS=jm!y3L6_!?3*mOF@ zU%q_F%F;JC59!(HGpbBY#f|E*u(BdYg9r3;qbI6o%~miNr7I}*k!E{%V1x+0j_X^q zEiNg+rqy~|tN^SMWMY7R0zhX?wbIvT_>){~>OcE=ap8UsX+DQ;_nr>i+}s4ru%@O4 zkeRK`O%Ulo)r5ugIv+5)3vl$4!u^sjenN|2;#SnVCuNxFa{VgAm-I zuAyP@#=kC%$7Y#ZpVb)X#?Y|Cpdv}?b;iim z-54+3Ky3vW0}oFVNKP&g&~r(6~LX>8YtLH@YK0NS%cR2r-c-&E;`f z%uggHA%TF1I50en)r`fpj|k%rCI(;vK-AdMAxQduoo&r-WcWOAP*Y2(Rd5s7EHyak z>+6Haw{iY!wjHp@V2~e@P66laXm6+0ZXoll1Ag|+;m6TR3!z7YUYkD<2Wkvg_y+(h zKpWt2fn8ytq3tU8oQ`J8jc&6WY&Oe_&0d;nupl@LOMeRw?%g+xh1$L0eUl*2M=Oh85tB-3|2q>Bu3-@9$g-p*Kr@P z3BkrwZ+0qRS!N|9U<$ye26EBT%E-&xfl5F&&m!1f-6L$jBhNfdY*&D8I#sIl8!%6%?Rd&OaDd0H+S@ij0UjR0iG$Z0;Dq16CM0 z9i1!@T4-3<2cGqJ@7`rQq&74(gz`E8NOp7tnRO>^imlz_W&Zv><=eLfg@p{DAj!bc zCei>DT~|{xl+L4>#JXl%4|bb?$6ZNVn}?1LRPXe`oZC@&LDC0`v?#&nm#v%--tTUB zluvxigtNP+L6lxSbzM88;RR*4!OqUy8J=;#L_mc`_{Zx#7Jc6nYYJy)XRu~RP99=n zeNbxxy983hrfsBo(*6 zwRLsF6ekJrbr4KDIyz<^TTs4^bK9FN1PahE1c|}5CvW0FmqbxkmLH~a^=!7)w^?-R z`r?9uYyJw5^8(`O1|qcaz^CMtl=<0NS6A1M(-17;kjmQH;lV+G2b0s&wA9ou@O|>L zvq{k4%RR;bbfdus>O{n~OUeQQfF_VgtBsET|0` z{B8g0Fsx?-5R(sqfsIWP?01)OCU$bFsu|pFXP`YG`hj#W;9&rx1!PLQ(&!nhLK&dh z-4VFiiS&(CfyaoT8kY{LoUEUB(z;L(5bSMj#Q>NM4K)GUWMs4%PoW6%>Dy+~_D>*5 z0rj1w?=FgklOT^57ZnX2G6A&}-DXeq>%R5V>#GEWTic#Ud@3YIp@r7fL@55wXRz@g z7xh^s*x*0Yv?!0;0zP)U^gVc~BnQ;jus}ME9+F#Bq$wxYx@9lyQCxmo<#RVG56Cdc zFoEADBqoC9SDhgk!6^9c!}skTBL=*APjNw29OkdS8< zndrPMZqe0l7Tnz2czAfFK+f+6ud!DdXaay#EYw=vf(jy=t)!%+3-j~5 zCI+e3*Vh2!^sjFD;a}n4XsD@y@bnA@>VVO3i~ujuNzn<0L}(zGd~d;N)5>9AM0ApwIHb`C+})&dy-mKr7HiJm-*#@kQ^e^;Q5Pj z8apT?G<3dPALO+GIXO8XaQ@t%5#9jyKS-ll`>|H?$q5~)OaTlyjL93J)@{C9Z3_T| zE;1y<&c$VBd>l}HT1v|P;bD*{F_{eV!_Upl{kpvcCl|nH+LxB_qk8z<&d8XUCI$v1 z9dq|?clP$cQNm-SS**8HqO8fxTm{u*kn4fMP3z-DL`fOSPXy|{pAr*6;gerdQu2cO zR@~Fe3s_DC*9?g8&Q4C`uU}(fVglxSyfPUJ%5q|2y+9#>RsvvG<>lp#80Quj8>_1y zPeA~A&EQ$@?CE*K!txVjc1W;-)w95)x-_I4zJCXFl*@XNor$Rmw9~A!20;aEm;r`W zVNnsNn_B^H2#^z$LENrSh?AwddAR^d1;j3m-Od0M^g-wVJPRa>ShW*h3k!!*SoQ() z0CJGw;iKc?28M>D#l*@hD?#P7b&$sD!*)j-2(61@Qg-l@=euR2~g!X)8bt+AD~F zO#yArz@q~8bbydTEEoh5b7F4pJK$mP#Ei)Y`}HrCOtT}df8z?#`6i#jpBm!QHw2&l_ z<>^XEIp%`#bBJx_1r`gK*0O>k&)6#uk2X$TUYpo{ zaDz1!B$_wQqoaV}Z`t2ES7XQZb#9yjTe(*?q{b?$s=~0Cy@u*K0=#HvM@~)-O(y}A z3@ZSZgH^!7!Wyt;DXXY-(<1LbO--bLQeK?Y@xV-#`PXXO&D)l&?F&OCUYx0sG|Lt#$cLYsH$a;KjN+{`rM*)g( zP$y1n;7k%t)OH;PBIa;*lB|!6vb`8!%$=KEXeoKRM zQ{nOLk|z+~G6FjRatJ+t2M(mQ6@~(w!^8&5qF4|ef|J3I>`&0JM>U{*bIAc564mrU zhl4JUx1-Vif4D6~!RPIb`kkC3kCZNMz|z+y0H*c1xRA1wn<64+6eRm=gV7r*+Zz}N z|Jmp*HK={%*6OeicBeS_Jo{KFWToAhjnFQb`1yL{^!k97J9tS^C%aBB4Mvm|ZMszy z8seIIk>2}@=OD!a&hEWZGO>!QG0R7DG8jMKL{%Zm7q2?nN(w8+lZ(O8bLSh>j91fQ zC$lNjlWIbr-t4_>y%J>XP(csrdK={axFtl&xpg7gq*t%rDdILiiA4}4aac(DtMlY* z)Nw8wno3xpcnP~F#BNNf`#RRL@?^-53IF6k#;?KS#pPA(<0pwu=%f6kff8z@{ESzM z#B&@XrdA2n+7e~1(7#hD=Y$09c!8J+WmqcAy;U9+fLJS4nFIP%MHAZ=)Y#?^ENP(=V zx=NFb-Obm{;%0U#2aav%bN|Mf5H`V5gWLUNh}DqP*oR=B`Ffk7(2?1$;bZJ2PN%!W zt-+uhC&ky?veHNA0sZ3AI&8)QhT2wTTiCyEHb#&wRt4es+eu_lqG$x8{h|~|o}ZAR zw21nnqG^Cp^l&|7P;Zep5^TjyJv4s}kofV-#hp|g5!s2E=~ckO6dB6Ml$ zlE8&V*OYF{f_zXm@NiGn&@dbr0QHnGghr7l@dlqn`6QdebzVy$+cKVJ+Ce(E)Aq$_ z8FB5VnXjtfMjRC4Qup3Z)l?q@xuq;{z^gjBRHS!~g5Go5+5u8h!A~P{&CH+8uud!G zca44>7*Lv|DD8l@B@Dm&u2#Gmd^Mnp6|=QTou-A?dmi~9n3W7!36<50XAs}bENq~ft3j*7flx#@ZUTXiJzH2m zj5NR1BRM%99T_BGVd^c=Bb*__rN$W>KZSbN8PhU+G&i<5nJF_>OhL!he3*ZW-ToV6 zx{)$8qS4!Wr8Mx?#TC!mYbsUemeMW8<$X_?@|QBWWR#;C%Cn0Q3@&f;f>MS2_pDRX z={NT?`#ywSDm9F$mu1?&*w2EHlEHtZF)S6zSMIH>JZE8PCGR}_@UsXgNr@u9ba)tJ z!Kcq7<+3?o%fT&}wQNK}MovX}fA1ii{Y>?GdF7X9vn^dkolSplze06&26^|htM(tK z2G&BIi}lX-J#<4qog$oSxOuUgIrt4o{$f@l_DHoAVJ$A-_gFggPNHM)xSd^Qe>-MRhWO`SR4v+I} zt7W-nEBsSoV>mj(k!bn;_j~YJv{?HmpMJ`#(hmPV{XvUGwce|HlV{?w=j+xvSeXbZa)TNP$Czs~jYzKmNK1!am zK3rs6Q@n9llU)duR?IB>gJIX3Pqs^b*@x56gfQmLeE0>Q)jo)X=@gn?@l3$1AV*PO z=CwdUV{X#G8d61tAUwG+Upf9ZMYuVdz;aGEPKsu(5DyydvoxmT!=$|8f}MlX!#oug zCe@NRXdc1&6l17^hj@Vu$O64{bgk`e&pkA=k<5)|k+{=a-@3MeKl)WxOFTsb63+#G zy^`fxSa?0GOSYI3^Wj6!$CzU-HFR;4@w+ZHsQ|RftBcxl7f&2X>^Ve&1xZ=isHO7X z2TwP4wh$SRAF&%!!UByGLS|@b{i}g!#bz<^ZqQU^n08hzE-O+-mS8OTr&IWyr~1`7ruYTk}0~N+4-*J zhSMPV@$p%`-OW%M=Birq{%C}%Dhb4MIL$eb+dmnE<<1R1u!hbLx}Y!W?>4>qDY);KjZ zZ9cPyM%=bxoNyDg%pkhiB*<;@tSl#mf%k`8wbt*scB2TNU5zh~+n;Y%jIXz&;$i=R z#|LEgvWu{`TIVHg>YJbNmBpV6r+jYIje0Bd1WV4-b3e6E6IfbAp^>140K^oYQ*WBr z2(7BRSiym!?(c0knBGI)*dA0=QfackD68v;eD~Uu#yecrm_@2Lhnq?yz{rExZ5CdREU&>+Ew?C{ao z=IMf(Ba_9#=Xf$IQ|z%VtVkJ`cG*IU_wvbKme<~-)KgXUh$ev=U!Fm6cb78*Q zhizqW{?gEyd3Ji3Mo;LV1b6#VCOd)_3nelqZzQzAb4}e7Pgyj-qBgH2nZth1(E{5g zFnT0ubTPlsr}$Uftbv)NqM|0##Bj&{*12UMS_m1F!&C#4hx36(MQ5ued{ItQVePcV zX3|we2?L(N@Q-sJ-3I=V+1#4Kii*-{CfD4mGCqM`kHLB%@pk4x&*)*L3F+K3`3kR@ zz$>A+br-m6pWyL%8NUV>td7mS&M;~D@8y=-%Jm_OpoFm0&y9^cXJE;~%F0YssXDkn zc)Z57bVaA8s$OkpWqqN!d94;t6o17mtuDP}`;p@^erYM;>LMg1Z=1+)qA}n6wIIzD z%WtL%9YH7M<%#O<6dWfjD@`_3X&#=nRLANX9!Xa%UG>7OoQ-wD*|B8}ReAm6-G~xn zCr2Z4@=2xmB85r(CQosrvw_7Qtky?H>KtRS^a$tQcz6IVa8QJ7(S`L@+JB-g?cNq# z`JPz&se#SrfTs}#>Ya%}V{@T;Sw){$5!KI_zS<7(R_3)Cud>pZvSKKvXMAkvSUlgj zL1-r{6?jpTEWs$41-z6AZ{a%$Ow|Uwvgt`Y8VcL03Zp9Ugs8L+K?%HT85^vlxBU37 z<;F)0Zw@|XRknTBdkyCYCX`^SVjETlGRx@5cNxcDvKubiOB5A*yiMP;*Q2h~)>p5} zpLJYDURL<6s3F(-$)4}~|Km+N{>JhK&YAn>gPRV?y{|akHzvt+z!=loW|EnuD_^O0NU>@WmXm;Mh)t$EqEXLp2 z2rB7oMBtsAovdendXXK5)_l`mIWikO37N;?lwmyrqAoh&LhU7jYtv%L2iinA&{`Y+ zVwL%_M6W1|29)Bb%9CJ;bBXfH4G%LYB`C8O$~ky!z7Dv0ru&tSaY26!{W?w{6IHl| zW~p)R5=-3Y%Kqz8Lv2QFVpJ(VyEw1RaMnUuQ&dve=|g39Y;)w;?Q(5Nm2}wGd*_(1 z@2OHXQ(?_<3%(Y#Y$)T?B(Nk%AcO`uBAv4DuL%-RZ_#lS5iBN@Jhgy*Uu)8`BqvIZenaJXRWwdw$)woPX0iP{ zFk)B#sys@YJNhJWc;o!J0B4Fj-{71c$Mx@_*pyFc)#tskvm18j_hpfKN|i| z8u>ACtfNOWNrRC6{`MwqfZ&UelT($@%T2E{rPG>5m}LCZ69m zw8$JcH&{*Ss9;;{`_(KR&<2h^#4SuX#I|HKJzN|W!Fh9LeaWi&Ir6gxnI-#J&xGD+ zYcV1ZHlU`Elj?`H7KaO|deGoopPv(i7L&?vJ=pMhnr`=G2V7KUl&xoL8Uv>M(AI4^ zG%rhN4K~ZPuP1hwR8j97$JJIGZ`%l~&L`F^{x7!PJ09!s{~o`MGLkJq%E(M4D_IFq zL?JUWQb;tBo!bi82}N3VRz_K6BqZ6P%v4AS+5FDk`~CU+zTd~=d;h7pU*o!-<2=tf z*G%TW@bAhbLZUYI=Giq~J>0YY%I;m(-;X5$7u9GLzI@0F5Ndcer{}HY$Q^MQO&EN_4e#8` z9FA&fE@26MdU)RH@wDo*i`y5e(=wby#j@xZsdxTnQrpAWIw1c%-Faq?q5OmHzD!ne z_Ht`@rVVz#tI#dKBXiiuF#htob!kGFO8n#Vj`HrK?N;I+a`ZIc)TMcE#WE%Zjt9zb zt9!b-id~1*cp?{54alQG`cUEflCXbkiYmuAyF$Cf%aGX-&Cd7}rLBftXI`XKFY7vM zcpKz~`uE0{4{wTHlgoYrJ_R!o$4a-X7n&N>#U-V0 zHczIK*zo^hfCE|YxF`))8AkSe(Ph@PTTh&5may2W9O_DbG&M+Xn3=a&b#nVqpQ za(?F8nBD&P;V~aa$II7C7f1e-G3*}P@nU3l`IyAo>|^;KwGC=~F&0ybk4L6&-YnV1 zz9V7BH&*32*S{KAX{!gCtn7bWpzbO3{Oo4)B01UQbeGJqZ@Qi;sID>hatJfZU?X96 z2FeR7?Op+ay58PI)jfNNH^FI1OPeh|UVObfNqqH8UT>AK^iT6UqI);H!h)}q1|M?g z`pL;p+@WW_+_52(yqL=^H)6i!P(1?mZ>85voYG?ya~*q#YF=s%G>elH*$7vEA98se zzNKkqUlZx+dtbr+p8tze4(A)YR@r4br48eaL>xJ7gY*>L=G>Kvx?2XalfT{&`hM#G zzi-*G_bNQi6(T2$*I!>;m_G45JS9!LZU3#auA{?yS-gu5kg+hS4ZNt`o!;iFQsLqC z-th3YhUfR5C!b1~OmcK{mZ!A(SaqD|soMZ2H&5h}7cuz6m%U(rz8Suv&j5vl4w$eJ znjkZWhJ`hQSpf#IdXG;%5~$tfORqdfhi9A`P9EbP-nMjywkeIj>fsIrDsw02%cZtc z8wY#tPARS&RMXPXKHvRRgXMPm9-^y!g`kG{$uk>Mi_$XOzb;O7e=?k$TB#lo!yrk! z?H+G5qZ;j1+H%BV?}eGn>|zuJfi+wtM|m)u~%jS1N;E+Y78utbaDA<~0a- zd$@a7zGU$&&tqA~9UrSmC$UbclyIxyx6@{n6qQqT?(G_uaqOo-J8>O}O_l(bt z#Em<-`fRF6wVcYSsfmfe^BtX>j)ij!PfzFNA4+PyR1SMP4&?QCx{JZ<>yafU?r zf2y{p8wuLeN@;Ol*OFo{N`1c>LalU#Ik_qCu9a^8~BH2cZZ;tp03CwUs`;+82;kd zNWDXjbE~${#LrQq&MQ~{P*ZvDuz~33dcjhz&gC1gZWqTEX3I&_5JU`3O|{cII@;U8 z4m1Wg>Cz>-8{|)gJfbE%)lO;pJdy0II&>hZMR>^VC9lI&WGuHlx8*6*pvReq&ihwn z9_plu$_g>q!)SN@eA~sBK-4k(SzlfB)$wH^Fl+X$TG>T>xE@}W5EG!Qr{{L#MxaDx zosgJnA0#JBOYWQz&mTXQy82Da*to}kaF9|}WiN2m63srz#1G(@^!N5gH`--vCkXJ5 z>?L~R{YFD;#cXziwSIom4LZ}cUbzxDF zgEWb31wwR{_bSGNkIV=H3|dVM-CB|N?%n(K>k@NlTxu!MY^-VQ$zb1l$?p6eu%v+?yd(ne`@b#-C%jhWoQfDafL&!0>BbNPK6 z?x^Lw`12kCBnCtli~a1ph6V<;_C?n2_zLDLw3N3o)&?~Qgf~XUe1uPoYclKz15{>C z0;!<0VcNi`20BE!`z)Vf2B`)i6#Pe^3WgN6e`^#^>AH z+ezcz-Xbc}y>^mn*N{XKleDIW;gaO7`HLBQ33Xy4zrX{GjEoEojgF7sPD5i_?8p|X zemjYB=%A`o#C;O`;K~*MTZE{qT0wn%W(p5e9y|btp%VP^w*gc~9};FZP4yVqXfyT(Ts27~Ez`#IE00Wz%|JZGzvjasGd=6>O2pz#-A~DC} z)m6e@xkl!1@@qWIWSZmJBd-Dm`2!N-hrW?*M&=PE-oA;8iD?HF`a&xYnCL{tM4f?` z4hCLcim{EvCbDw`%?Fsmfy`u5V50%18VI}?R=Mroo$7xmNK^YvVEwosfaL=DU3cs> zXp~hi<}w+B#dh<`6{d$KdM8eV9e;Ml$Or?-qw89VcmP?iUM*wl2mS+yLx!R^9km^$ix%5?x~A?F?t!e|Fvz_EOG!mfd)&=O{3CN?WJ8go+9; z1B2L~%(BT~0OmY>N*Pb_^thUu8iWqu*{BKg@!3E)!^2}WXKc=K1#H~9I(3DICk2?n zRj0D|?Kqs-XmG=5yHlU2Fs&I-{iVCw1hNsgYp;_OCa)XLi`+3|_ImosjQ<6O)TNht zZJeCM7^xZ6aM56WW5GyCOB0)-w?)BUj6XU#Fjmcp#51^xTk@b2gW($aXme}w$g$Ehs&3r zcZ_2dV(sEWt+L%Am;v`REHrd>Vc{#}cY$h5gITirGV$RCd!j^fd+$h8fL*&l!Te}n z1V#Y}va|;x=A%Bwk(6R!Qwqg4f`snctft>X8#j#DM z&zEk3OZ@O;!{{vNIiPR)Ezkc0Tr_QpOG|NeZZ~g2AtakDE+)3^2Dv~u6cQ~h=L<}5 zr9VDC?1%CLlXzQOTae_z6?C+*VcxmZ;lhQ*9xGoFQBgi3r~oKOyg_x4VEG~~Eq!iX zcgKz$gWih|A#1_hocB4|kduEm=YhW+EFJj=?yPFBu{XG*5g z0v7w-dS09b-9erkf`ZTe{kC&6TPZ0q4}Moy=LLo?*oIi`pN;%c6k%(D*<-cmd1Gs9 zdfP>iSm$SFdkbvA3*PD_PPQalf-gItG&U3xg z0pBgqhP_=$W>mvd#j5hoOKz@l5hPeK@nos$fZ2r6wT`>5Fkkf2SGPf2Hnva(w}|!` zfj?ys>*SMFL*Zy(FgH8e01`FWULdrAgy92{D%5=?V|a%%?p}}!+`S7LvF8qPvu~4= zBvk=)Tp=HSbOv*Bap9&bZ0heIQnn_^IAM5CMn+a?gZU~u!PZHDF|vWAob*lI8!ap$ z(K-pRUNziw!392pVuP|})QEkvDf z3ne9jI;3pOq2GpvKKY&(6Bd5db`fNGP}r;2|Mmx8SPRg+jNvw7#|xDbMxq|J5-DMhfb&DgggNw5ZRKX(m*%^UjmB?|A?9a>kJg=qd{~>sKHeNZxT$S z2rfDLNr&z9^uK!&7v;I>y9euj%t2lRabTa`lq$hbj~sV+%*ZG{KRHw_?b1NSAxTMn zQ`1+VPYDXzFU<_QM#wR;>j;wQ*p`+&ym9gIB=W%0%8FFt2e5|F5>PSlfIN*C&8_0& z)f6XUvh@4M4>vFcApfu~RWmq!dLrGS7|i#d*Ket*)!=$Be7JAz>?~f4A@|4@Gp9Pb zfVV$oGVq04Js)LdCE+WkN(Y%kX9|wrD3qE3^Pd}{i;9W|S^_6im6hb>k#6eIgCj^I z34lY44>;OjB^HDC2=1|k#TQWW8P&kB03QUD<;m(oHa0f!#MxO{!Sh*Lnas0tE3qNG zNf$(B)%<{;;iIZVxDp)`Q}bi4va&Mp$Wibba?MMgRiM${#wU7LG0|<}7wZp>J zq>k8iSXKx&u(iRE^))p&U%Ps>#wH0JBXj8dx5iiyv?4eT)Zo`PZy6`*2tGWCJPrlH z_HEmWii-nX*a;Ne;knVOmt;M`7L}2aVWoYRnW=4QSyfPQ<$V+{_&ki=e*U#hO%vFn zC+_XrDSa^tM70FW($$F|)VKyf^sr0O9n{qiot@IWyl>mv3)9noG{uX7feP9KG-{u_ zzOJ7t85tP?p?q!43)DvE{t^d=g%;fzlZNUNYA7A-cG6~*Ia1L{w~J>QhkF=^Jc$9&HjF$ znW483bAUEa8kv2W*2N+XiP8x*WU#R7-}2tR>s~8Ao>f4;LU%4cQK>d`DFil)B(@ zuAAi>=UL)SxYh=3za+Z~U6g6*<+CdF(gZ(=A&QQiQI*yBp~Ds z(+7fZ2p$maA|fKvuDsi=arV+F0RwWE(!Q$yk>E-F#e&@_Jhi0Z30 z1#4|}W#w-}<%j&`d0e*F+R`k@O4yUGV0j`>pXR_#??s*{E6mSd`rGeg8XE*DnhSGBYyV!5st3 z5^|kQNH8ceu%tkzB1ytUL=K^U(bLld4<5{+&G@3HPX!?7Lt5zQI4CR(Zqu<5 z6;6U5?-J_YERk}6cla;1R!HU zl}a_pLU<~k7XZeE-vFAIETe2BL3MVUYh)0E5E)||vAXE!=vZIexOx>uosOO!J2fT5 zq!OZ{xJg9@pycupyO@v@g}Zz98xuhdVsV+=~5c=0u2k zX*V{=AFYML7I%Xs_P80e`spvPNFES5b4d-Op)b1H+8msmMqTBx)*xgC{R(>np%_`@ zcluQ+j&Q^WG)H=Rt)MJ|Us%IVL2w|<0Zvy2`R+XwB_PigcuJ1__<<)1nFQF}PoF-0 z^F|efYdmu61eVAKF%gkON$cB?EyaMCyU(=U_dF7%UWy_%%VifA23p#rgBR}3#E6AP z%99axZ_Smld7hPZ=k2+QYevvibTSBtdDnxzT~jl%vA&8@3%7&%0@YBt+w@6Y-DhnV zQ3oKlVOgSy1G5XB5f#_RnRz0ot26x%AUGBj6h!hUwfFR-;z9xfC@cmk{a9~%s%g`2 z4Vd*O(=!xhiwqXoabytN>5%J?Drl#!uKCr~DzdCfl9DrE+CjpDeUFF^Zs#AAqqFW6 z0Rgq38)^%jR$==NYA3D=3{7nH{tAyGu&z5b9}xT)03IF~{r90*AXKR~A-ohUlP!ow}lC80{Wc=0Dmi{RKP zToB?gM1Go3^__v;kc_~5FK3?D*LM>E8?9(tAnFrPh9{~glTr6!n^r-gE*Sd?j5|oO zfz7_wkbLWWfiaw`+R<{I|2EB`@)YAWd_ zH7)8J8en~ao3}no0dN9qFIm=^Q^iLy{&?UD8HItTrzb?f4^M)w3&(~y^}lj&|CPiq zyF;?kI#5wjwGGpQs))paOwQP?>`^M3{jxuci>M%~fm>*4QHQEK zUcRh+WrT>eE8T@OtqO_hxgNPw!f{biBqb9^D?Q=o^uMpl2AuWx?_YE%(D|M~EeZaA zaIKNCu?iHh{pS!{@KE$m4K-)y6hn3Ks7g#sK2ynJ zgZi1pe6$;LLX&V&+6)C}2opaN%b@Q;CJMsSour}$w}TJT1em?t^eAV$nwn@im){y= z>x7;ieEQ-A4>L2$622BIjf>y54vAr^dEj1L-1YAtb~1+o;>Ux2oR(H#-@=LKld%); zu<9vFD*zn#?tRCuckB{H=SK3Mu{z-4S0FP2ruHxJbkWf8D0|5xBA{u!G0}-Yg7#sX z+!o4p-Tw4#_APJ^2>a&*ipD!K-DnZJgR{Gpl!JsGKpROG9)KggLE+Y!dL zd$-<`HsDyAce#NJ(wcPqSFm`H^lq@VLt)@X`bFC;aaEoCatDxAX<&7IM z4^Qf8YZsK3f?j>-!z497XhhyhCMZPmR^o$Rjij3=I(=Zo0V%F%LJuRLFKnvmglRl~>NJw84L-MSK^S^;-S72lY|fOp zI4oDvbn)7?YZK*y2ZJ;tDD}O>Q1-W zWClz2nd%(LlEonr0X^L~K5u!i~|@8n{`!m&(>Q#-YnDy%km-Ci|+y_WE8 z&g1t^C`ZLmrCxEu3y56??t<6P7yWZ|l%h3xNfJ*koNS4PRg|=GsaeELfli&&(sEy# zNlQ%Z6-xCYXYnT^2wwd|aCRav8lrR!i;R>I6T<`O2mT40fjAl~4TQV`s$v-eHHTnq zB8(G|5RiAEPC=G*AD{%^(%Qs&JJ`H40J3-d@`#1ONW*Slx>oLG7OxBBl6M~g8zv(W z*>~@@GBd*r;k8rG{w-SqfeRglwHJ`;uQi--j^a3mDjIbi=@s#!H_NM9xuYX^v|#2? z#<#8KxQ{q*C#;2NKCy01h94HmKIrmgdJ@09LdN6%PiLn-vs>B6`xN>Uy(`xhQ=$f` z?!9|a`jMSx@enisr>;DHoJCA2c#u)1D*F_bJq)!Z_V0)8<14Tvpb1`qG&_(&IgZH> zM5%nQ+11VZUAoJ-%x2 z{RxxM>x_)3rRfV^Z32yC+IplUH&evLC2P97GydICMSh(t3OvVl@J4A+yYsz}t`1Z% z3fPQ%g(8QScNonZ+Pt*1G%Rt~U0XPjW@cPW`0KJx^c!{7^FC)f!%AC~RubIGP*_$b zzkmOW{QOT{T{qAuqp7VO+~I>r7NuBm4Zq@WOwU;5hynLydTWh6O!w(zeR;UT>Tj(r zT>+S!+=9esS?t*LsWsW}oPP+5-xcXAPEMfGsp%W>zjWQSu-Rzu?!Ffl6%`lvG%v6E zVjG{BSazG%83N&44X}vI+X=R5C~$EJ5HQ!*kKsido;edF#dHP*kL2BRUpNVxO!&S( z-?UL7#5Mw~TmDtls;;iCdDs-{0GedQHxKj);dgK$fMiw|r=dJSy`YyQP19s|+izNj z@Q$gon;=;OMYWBsZK{%|EbprqV}rx(tjkxMpo^v3n;kmvkB9SeW}1~qV)su|X-jNP^7N)G2X_aFIN+vy2G z`bZH_N~fkGOIF;N1X6A!%t9DU{O_N62qgze{I|69`}bu)?s_Wg$a`_VB$ng-{6>nG z_^Mr~H@={Mh1ecV8A;GxQo*?+FfXpB9%_|w~ z|2ITko<~^RM`4dhV=B!Dc(%BjnAX<$4Xc3I2?-TJ}DUe^y%K$<%rcBd6%{J3_X4J ztgr89-q+lU3c6_ZiHg8lE6LxU52XtoEsxQrX8ox`7_!`t(IO= zRCM$2iOZCw=4DQNnw$H2Q=j8+;ow~>b&G)}iGX|+nc@u)xjXtBdt5}-LYhav>ggyg zPwwT5mUr`KFX_JU&QM~v(50!bOF}|-&+dt#E~0quJ#^rQ{SN1^Uf=4*rxX+%Z=e3i zO)msZANEgfZcBf^Cr~%keXgryc+HI0_04Oo47*s3x>%XiyesL5QLlpv~w%` zp;929ub?5(LOBE#S^XKCTlU9b(K&+}-P9~@boyScO;Ym#nqen?g~OiDJr0?e?R>Yf zJ`)z-pUh>B=i~i>Sk@3BVYb!9Q)ol`{P|sKA>A0EwS_W1ZtLUXatN>TA%03U=(%|r znrW6w?}vD-z95+`-W`0G%?MQ9%&ZUg8}2hhM`UD*QMGuljHjzHc34z-?fi|yDFhfK z{7YnPF$b_8uZfTlf7+(-L7Yz6>xZsxuE(pr)Vw>wZY-WOb8PC6I3uy*<~*w6bcp-1 z&06eyXN8RQZhm5x=)}g-!s(fjoy})Htp0dS<>_1GxcGKGeNjD!Yh{<*r40e`y)KjA z`6p`fe$o73cU`@@kZE$o%b6=z|AzcpyId1nPNSE<+5BG1XQQj;(3~Pw_qzt= zJCWYRbt`St{g>vhN=%DgppUB&4mM`Y*uH*1-EWn@1M6lc$UB^utLuJ5fc z$t++qw>kHef3Nt4{2|Zq+9cw!bkhfx@FBpsKwG;pH1>ZZSc{2)fw38T)vsr$o!R&c z=X$TDi&OvINo`?yN9+5RlMMH#Oc5p= zxnznB2gf-kCX-fg?QB+)t$z8SyIuL6#?)^{iT z<;gtdhKnbUWnl12Tk@4#y43W+hs&nv{-)OpJc)@(^1q;YpK9@-hPuespgt43jw92Y zCPwo)51Pj+D>^oz9C)in$u;+_Ye2Mt6Nk=Xw zH4FM5EAi!Wd0)*LfARAjkG>aec*-cGe1S2$&EfK;^|5o`hAOSs-x!>}x|7acsItGm z#}u8$>S6;I*F|bx*|2NB^QwD%izJj}T)6dm-@UVkVG~*cOrc@a1X$7p)AxjCC14YH zJ}4f|4GpE;Cusan{O#J6RNTU3!M4~-I$fP?Zok(5Hca33F0>0PyyK*yXhlrP3|P)W>b^q^2)${`On zr=SYk#h(6>H5b$Of*N~YrTm7`!@EChbAoz_(pBj?dl+GW1OAB1m$CvNBgof&etttk zLn|vQXcu5D0S^$^f1>6z)Ca_K zm~2Lwy8%u)Nx}sSqwUJd%Kwy}6wQYZAI69Z1RR7Jh=?(N1ylvf2TXTe9Y~(IHJoqK zt+xvzqbewvfu92Z)U#*3XGFIKfRPaouqHJ%4@N>Dhg`TI1nBqtHvFoeipu#JMp~Wu z{H?ro!>&N~^UjuQ0uH30fU%3!EwZqB%nnE$*2j-PGT*)q!Qfbx7a~IEtfMf~^X3IaykXg47oA}8HjNKryzmv{+8<&s(*NDH1 zix@N~B_?iPA3+I;FGD8@qYo?~0Ka$&d`v+zL9im0>`s+(r{1zB$KwgU71kx$nVCQu zFo3OGSOB1f9uf}+7zd0no}JDFH^{4B12JSzj(`4EokyexV_yUVA21h(hlWT<9mY_@ zmo(Blig39d(7HFn@B%R}(=ZDyfFTXa#*Ev+`h=RK(n(-|pgvr^T9``u49+y{`8_q& z0s#EO2d}@sFd9q&_8Wg3FDNkI-sXEWfk5qq*D|`h`y3FukEtqF7yxi{E1qwPb93DF zWpFSRK7v>n40R91n0^dP9YMFo@m6oAB9WZ2yCNA+5%3C6Bs()R?3Dhz zNWLcj03~it7>2Es-5M5{Z@*v%$JGSZejJneTj3ONb+~5Bu3Zl`!gf?HmU-djo3L>2 zPYA1*gS$m-4&`l8v`(nXHAC=K)-6UVfqU}TF*QQ0e)WDdvp4o?hIYs>}=MU8ZH==P(AQZ7f$v111C#n3nwztqJ0vPj|Pc`^V6{YS+=ukG2ykNL&}U&7W8>( zFU$uGEj3SG|1d2^YTPj`1$7s6SRX>Q!1rlds_Q&Zf6Tb&HPdxP zqKVE)7l!PB?)2yU&PR-P4vv!QQM{2`w^raV3=@vv-@Wt7KblA5@7)6|0h=B450|J% zqi-!icf7{kt=gZ|woD0|R%rTU(f#I$#_FwAsmN+u1ta95U51mGdqRQi|%?+>uFT4{EelrXM52Sby4=`N=#+D0n;DwNWt+2&{3t9`J;Kz?JmIN!YsI+wV)Ny_SfunQ?Rv=8}xz! z7NeTG;s#1>zwa_$dr>w@Nu5?x;}Z~2*VA*^H;9QGyqE2;80_qTkzS&<#da(cM&RG` zh!j+1{P$T_ETNCrr}u&`P6-7&?AWj`LCC?N#nzV&S8BpO3(grr52%>enW#t?fCx7o z&}g>->phq`;E4hZhr`FNgjRbLk?7J0m3Kw^k6m0#|FR z3ipDDh?XTD9Z)3kZ182;+M!6Y7$xKT;^J5>1YtlwR7#4aw-LGW;7OX1A&eyP>61Q2 z2v<~i0Jgyu6%i;l_Q|tn=TUH@rSQ`S|#}Vy;5K zhkOcX4P=IYJRqd-^t?O<4}mW)|NA_TVrp6rgcKbJOb}6T@I?NIIAFK_KU{$9TFgwa z<}gOHl}f}u1X!_lGm7*ozx>OO*4r5+@wTu5k$Lev@Cv-#iLg$>`}_Xg9`6sW!~g&O z^4u`+#y|;RA;vgJfE$XW^6l5MA-vu}tjI7VS@@9te>e}aFaCO`-QGQWh5-1$sU9c? ztm)z9GTi@UYGMM59yC1(adAXvSQkAyoe3{s7V-b=a=h}Rph)6 znu{?p2C$rrj6=VEt??ez1V&F{9i6SiipRxcIlykz;y9_$foN{Yke{dz(iNgGOoq_T z1P0b$tZ)H%hEf&vRH9A_CdS#>V$oV_QM<0b`r^NTgq3znvW8dq1t}^5_4b+)=l&oQ z5FfXmuS-SFgsB>6s)zEQB9ed>)7Ut!t1HE;#U_X^$@5W!#~s!k0G-X1Nr_(~t?y4> zfjJ+Bg|EVq!R#qzV@+4X*mbH{rVR13rBp<96>Ce`Y z5nNi@hk4_MUV-BT5};*y)0ZzKOGTHa%fq~#>K#B?VAKK@7|tZ9ZEcOz5%hgOfQ%=L zS_}7C@ZeVL|Ep#WKT?Eo8d2t4I0`y^Fic@(hso{Bi{}m{>U4K??Rv~6M3iCqX0Sf7 z{TjHVksBO9U_pYi^Zy2i*||Pz@x+$M59gvMmZZp{4caA&Q+~ z?Ec)xk00N;LyL*@unW0$OC6n)Bw##jl6^bG1O&b*nfZWj31fBd#jkE4)S%l!SO7E6 z#1O<=eD;ZpE6F|~2X6sH3RDT8Herok+L7hIQ+3O1JE_Vfqvi$60lbyDxjF2kvlbSA z=H{qM_n>yI5QU4;+VUJqLBw~T^np%rPO)ry;ez}ZWLZ$*ra%rQ5utvz@nb6jpu}VY zN$D14avxnpy$xs(wrA_$WR|~w1miDkcgg5E1$XMb8D$o~{VAxx&_St({DD9VTeZ=V z5vipDM4}-hP@$BSH$W%AC>}O=93S9x7nRb-*tX_Q#8hi<=l! zqwB{2YdLE6(g04C5P|O<8i%GPW;V9^2^Va)bs0}`|Zt+)@l#{c9w>;Q&2t2T!yvu#)4|s^`nwmS<*^dTF z6KXDm(6Wzsy3o8cc5oO6A&yEev9rA$2SDUyXOI4PTXhK7g|~hL%n$z8iKKb zm@_zU1HcfLsR=t^IBOuxiW3X`_X;p$Z!m?~qwvP;3+ATp?Fx~ScvLiZ#v!i41PpZ% zh)8H1(3ykAcNs&tpFc0!+yC|Fr}A;<0qW)~c{$?IV|`(almilQ*EkjdYfkt9O-c@3 zDxBZo=V=Z~F^X0=xBaW}r9L<#avb8OPj2A}VdJ3F^!Bcdi8+mQ3IZ$g*FPrD1CYiN z5_&jFCrD&C`@@WC^|i7ZOgkC{k_w7=%t^4X@EY;eU>|pPcH)Et+aVd$ za0rYr02ENmC@v-qlu*WjQZs59gjpQOKY015@DMH0JiUE;1V^v9NNgtzM#N40DS3f+rqHdVLgaI4)4*B<}sVui0J6H z!!7c>(u0YuheaLxPLwA;oVmhC&!>K1=cz+Sw``-i^O7-D@MSKOAre*j&8habwnXfQ zkPt1zA^44@>n7VfIeFsZ5VzqkcPAu-Zh#VXca+_EJK*#fE}yM%Z$o2(4Ghe2`gL$f z2sIWDELO4cF-CU*Efj~e7>ddOnEaG>)XHl%Ff-G^$45C@>t$i#Na_nOV22p;0B^Xi z;Qc6Ui6c^4{w{5DVe;#VZ*_4RT94&9hINGV<#T*aTA5qTu}+OY7Pw-q)KWT6ye+uy zHHjwyUYt{RPBfk-JG-%wQE`60Jh&P9`cajY>!6TezgcGG`|mNjPuIqDj%cu(`y@^t zf%zcHXhe<4U%xtWxKBF0I@lO3&CPhDpD5xXW5`0IgCZW@)R-p6#Kt0g0N6n! zLnVTV-BKD6*`npc2jF<%g#ZGDk7Vn^!^R|@;b{~Zj~k;IukUf5b{27NG)`#W%OWCA z42VpQS{oRpu_F&`7`?gJ5iiggxFDT|RSG5yvL|z{gF|L!CNvR8MQ92R z+|}0>Xh&yCN(`12Ww53LT!^Zlp=d%4!TtUFpHCu{)u_<|9pDH@5CN+`Qh9}%i{cYH z^5*7kym26Z&b6w5?SZ8PJsWhIoF9*AB34fsN|Fc^ zVv&(nI0XlEJoC~ObbnMEgP%WR+kiWU%z-|*yu2KF1E)fuU;Rtn1xhMLkDou60r#q? z`10}N?}vTG;iA~#ByxjZ>%f5Jr5&^AApZxh==5)^3>-RKl+62~ca8Fx0Au2%Aj#A{ z7Pe$#zkg$3>N!$JgKiGHGsigs;i{}`3GT>@YG4%}*A9uWZAyFb0_3zHRJ_O<^#CJ- zf^dum!?k|Yad6ay*)JY6KM`k70o5so!7iQ>3a4A{?jW;bm-7)fHdd$6lmKzVsRZCh zLF1+pD1p8VKO7mUv6F(|IjEDp+aGDOiW2GV6D#hC4l)8YuEGq?NeA zd5pAjP_0=X_*4eI>Hqf3)Vz4)AU5;9d-v^HK|TBYSj(`1V2-HSHv9XO+a`ODkX9~4 zct3xBuJS(o@Z>a_|Ckug``-nnrCFPf{hY0hrRS#qfx!Ipr#qs_bk*v|+FDzvpj@1t zq{;>~(CH{Cd4rCv&R0-fo!Vj#WCM^w>S4E&$B#Qg@PmYDu^(t;G0HhPIdp`c0a;g+uVhIU3Y@5LgMwH}W(&H0@yo%RBw{;ZUcu)qoYTV_$N685MF+E56Igg;D z>Fn)wu(jnE7vKJj>>X2}S|Xg9Q90&!*FhQwRSmbj(+C*H=x1^)E71|-lm-ZZmX?=c zA}k~*xZkSE0`&$jv0)S>VxYvZ8Ha@pe!SLuA=T8x1QaE&`L<(-tVmR`2?@9vl52gL zT;1DYSCnY#)PP(usRx#@fdurwP!LNxDveQcM<>eo&`=Pn=)&qb2d{h}>=qOoRnye8 z2jvgX!Ndu$0y{(c4d6Rp(AVJcGpeC}Kw`qPLTiWJm?(9g_HPnezkTOwG?&Hp?^nM5 z^Am1SVDDa(YBZEJAfaL4jIx!Khv97x3|uiq;+-k%-0=Zh+Q-1a0Lkpxi3Dr~pb6-Z zFk#fRy{AhM4B@R>2ZQ3sUJ(&f5Df0$4`D=qo4f3b*X*)#GWfNewUqs6cLfV7Nc0)F zK>R^vadBM(gKP2zT4-?bIhiEgSXW1^x7nq1OIltY6%zZuBaq-2izjXE3!DH20X)84 zp+LY?ALH&&j0^BH#GX~0VE|4B2ysB*!)@!9+nHS>RPpBdZC$kQq;?RH>(%C63C>MV#h{~av@b}*GhX;Bf^;CS@gG9j^1fUixc z>QIkEnuTf`M@66j_MJRqlAMg#O7i232sr?NfCO1vi2ywSGjC!-As^2-@MJnps0dK! zLqrXB5mQ5KEjWVfzlF=e>I9VGeD0i|%v*n|CIX!bi6T;Ck2;K^c%CrBrN}dly6@Y! zd7OIY()SXYC6bG>M9cSCGvpmK03HrBve{zKK_697A)SFn5n+g<$55rAfxD~wXJUG~ zb(1Om-ysa}z8Cu+7!60Iv~H0(gd!4CZl#&l>O(NiMO+ey7j zPd|o31%Pz>@CykoqB4dfy1Isjb*w+|P6ppOeOVyu$ui$qK8w(3W`zoEtGZiwXtdcX4_!vSGAoWD8+N5RfO` zQa7p_bRXauqsIc&2}^CyTerZH&)2?5DOXKZE8yC)j6woz6|6m6E&dQp^|#t{ad7fP z;)s`2sq=S$TxDfB0_jkpk#rG06bI)9L(qHda=!bLAdv$Lq!i zKo%+|Dl^JC_X_9%M>VJuJ{;{ODPEF7z)_PKzajSskxkcK>e z_Uvq#Yg$18DOjNAX>VuV>P8rn31wvU_d}nCiri#Bs^ehTkWnKfAvEaAv%E!-x@G=7 zl+@@Gu(JT_faxM}_I2GkI=2xe=1}QRvt0kG6ofa^B719JpkqB?Sf1-+1Qw1p2ya{J zw__N*;gqnCsIu|Oo}{O{A;#h)z+K8-q|&%nLWw|p$Jj{W^P!zya>R5Rc^Ux>O$DiX zJ8=S|E0jNYe~(-Vo4}|6y!BOjx}kzXBMTU+b*!p&-V=HSiUlR~Tex9~%I43T6OoQ} zBB*15yn*lp4hD1pSR!5vUB=*2)d%egUZo{mG#5R`LAUi^IaGj=9vt}t)o{!N4)}s* zgDX+T5}mhXzZik{F4^OhQumoI~ zQe_0|`EqX|bW|jNW|U)So2KO!i&ImrAlE?vLy?o*0$Xd+VRMje5)Y5y_%0N3DLAgnOY!Pm$p-H4{5*oUm=#W@y;2q}FlxE#f>rOn)$4xCQAY0G*|k6;vy+YH4)73}_1eV2+DJn>g7c zn>kL7@?3#h4w(|w7lIMCF{uYr@p;f_XLFQ;bVg^N#skeK5pS<$Tea@G^5!)5x@y`ay&6BJ}*O$8}TO#?D?oR8>YhFXJO zgOcd?`0)ryPzUe_g*(J)z-6p?IVeJAf4D(Cgvi zjg{&Jo-(<&D7kKV!s*HFoS4euqKD7;z1S+UOT(qs{A@S8(>AYbPO-??FX3Y@Q5|1{5~C^z~ndDp!zp-(D&?C5PfRo{O~$y=#p z2R(J#w|UQm%g5r+unQ^Q8FPI_sd(gs?&3_UC*2L*E~5>HvmeK<_%3+_P-|Q-Z0T$+ z_>p2K)cQb{9p?-7m0f8y7D;4?`xZ|_X>)qwAu-su-}I37i6)F{YJGnzU0WvJ56Orl zUe_Fmb)sR9nEznNy2;XO5gPWfNpJG}{LPzg-BlSo(n3Dp?>Fwg=kjH4q2uwsy<24H zlXoRtUq52@_~ElBPl>E*A&nD*%gx{M?Kp69Z~Zf=IfJ~qhsH6+ZC%`1fgQbK)w>T> zG5~B9$%r#zx6%u-E-;PNOq+^k43|=@E8PtSEMev_LI{pfLu-L^KB4NT+Pd}6HCKM& zy6^f}7v~qQ-)z&Hsut!Igmv1iyJHil8_(Cm z)NjP8VFzpb6HcRai@g$+y@P&w8J5>JZ`zP@&nVscq!)92?klj*pEV z{5xftGm`$S*x^K7UuE^>RgcMO9PF1TR?U9z`|m#2&tE<<^VW^I-hD8z*qpe&VisgJ z;c`jK?ve9L(d#XAi@x^xo0AibaHLy)-Eum{*k8hbIG{v^94EBmL)Ap4^D-_#bq|6h zP)>{Tn_#SeXeE6ZG^LkZQ7xhCmJrX`|B)+xk(p`rZ>;W|{l4Q`RX0@j^6s7VU;Q?o ztuml00C1Kias5Mln6WL%vbM+h=7-$snA6N#Umy48SrOj>YbaOw2a%IGMaDkUKPRH1 zj{iU$y&vccYdb{ObR>;rSH~I&g-ucs%DsEXh_37Q(2)C_L(NeJ74|gik zwNUHr@hZ4}*50QtceUqC;ETo&dY%tFd}rvZS1wYJMW(9V82wXbRLrJSc~iH0dqQW& zT5DAI8Nm{F?y5f?uZTp}*v5RR<<{gFZ94;sxvaiFyf>4r9$fo2ubjhh2q&qXVdAZ` zDH=}k2QysodLiFDir_POmS@e(?nLNv<7}?1v+i%S9MVghjyE$HM(lf7`nc@z9+}ls zxCd%p4Uc%4=31-Fq2*Er%8lyT>^R~F)-0!yC;ivFZ%?P!#fAvD9m`9QZBVnkbpL@d zKqS2jR;?mc65__EZZ&fR$t%(?HYs~h&oVLuA2V5;HXe)#W~2{3M%`vYk!b+qsta@A#-}dP&-I z+}Uv3;N`n10f+gl^95h`ZrK^YUh-15@bf-y`t;nip1zY@Yj^Fp-ZPs}Fp+6woG%W4 z?OEQOb%#pggUEZ323E}8If^FPJRUi;>1`kwdrJSFT-|t_QNsLzTkI_>9N9X|ENlp8 zLH*yA-pGd%sLczd(qLq;OWyU(=g&(JF_4Z$M5i1_<69_I9L<;zF8}ID+Sry7fogdn zrN!v@0_>iz4zH;buP(JJ(b?}Vku4RTjE#89(EgjgKyMqrn6A;36~FHbC->j0o8rz? z9fn;cvPFkImrH*v7;V-`JGTt(GAY`ui=<9V?11#ue&Dq)n|VEAf3@p;(e%CR3!j3O z**&uxIkU`;ot$=ZPPaZ`Dc$u@-mOl*r|!%9J8FEZuUo1T-9^Myrc&<*b@~2mRm$;s zp6dA~`LBo&eOCF6TW|H4q#g+n7yW3y6LgB+J2Jvf4Bf8N4bn$HakDO ziScV-k5`Gk7h}GojFwlrr7^wY^*8m-Ve`coS;86J6&Vgw7ndE!Z)wk#e$YUbSZnOO zIqSM~A(=gSr%B##By+Ht)Z4{p_uOcv$3YEu$?;ZkRO~f z94j4Cv6nyI{OxP0n6j`>_q4@?gY|bi^Pa3e+Olf{Y`=9GcJbygDPzc~jFV~O0zL_d z&GdR1p@Bi|2AIy(m86?{q&lE?X?BaZ$6VXzYi@cMMxK-bZQytc|zhsrpG$YxtbW5-0SK68oE6x zm~rC5f=W}FvEfE|i?vhsq^?`a0rwXfHH8%orVO5|ub=Hbuk_$~b*JQV>ckGg(JNHFHA#ivN`Vsq~I#E`aNG*$N>_ljQ^#uJw_>FiVQJnnlbQg!F5 z%T8Jd6O?tzla1pdT+13|4KjDoGqf|eL&8&C?XLFDkE1E-?Xxl!# zhXNKY>2Ujuo(aX0ziY4zY3cY=9%x~N_z?8o;mJu)(uvx^^njv|Bog-6d3^N@lKJ#> zHz+!w+5&L~Gm>;aMQQ9=bI1VK_lP*RbQas&jWkrq%;x;rE#r9@g% z1(EJ9rI8i}q#LBWW8NC?y^lZV2WL*~+2_n&UoBdQKY-OS$dbU@gm{IGajj_=Vf*_x zP6NyUG8YJFfFvnf0C)iHzI`2mgNIqVc%kVd+o3iElF zuL9;fQ)e0)8mG`97laF9=+hl&U~7DzDheNQia!F;0zXFKH4PzB!1s`oM?;_zBto5w zXpug~7>F3*+unPK^)BfDp5_5_yWG9 z+b2J)2ZcY^4^;{`Eo=(8Rul@l_vcEaHBa%}aaMpE29OmHkpGeoAaVjU1mjh!3_3~I z8~l-%ZgYQbi&x*7SLx8;Q;_ZBS>pJ>NRsCEXHzL^2bZ0Suw&h>7@L|xJQLs(yYQ64sLKXU6?TQ*#Zbo5BqxhyE$;V0Ifu2{r zu2jbwwcmb~A>V$f_r z51`N=l4v5kZku#lted>HiL=i2yMV8tM6AxMT9!^M$zll(zkgcS2CB_z5cq%%jP;)> z_e*Z>)!0j3TNiVmA&8|n8{1hS-wq&7P+~*0-vmTul$1Y?Btx_?=DYP2ToQ`FM*Qdn zE=haeTgdruL%(5>ig!fq_IPz-McL2m-4uSnH&S z|2=kvVFD14196Cu(FZ+C9iZY8N+R^T@Wc2WtcrX&G_g)$4eadZ_C!Jgv)J?V)2VeO z*CM^Z?bF`)Fn~|74=#d^(gq524$$QQ%MX$ynC@=SSgVBP(#xp--U#A64Jv$;x}G~U z4F|9iy(G)Gn2t=yQ-ziU(m~0GEF^ zgh1Qb+Y4Jyd4Vts9&v#AffK@igZ(3riKvN4<{`vw*HGCIE+#;#DMoFCLP71G4H6m< zOu-)$NsvOfPrG4M|8_!^F1O&7if;|xNV4c_5q!!eA5*0-Z<#bakG=J7a3Wey>tsY# z{((Q&r;)4`(7!ttRUyaGhOJ-i42odOaIgsC?P`PX^mp6<~oeXPKdd>=ybNT4FC!K?Yz zUSah^S8Y}^H$2zZ_nI<71ZGltf-kHK( z*&nl|17rnaC&R0;^4=0mo%==F!e+m;og6rLNVnjk*4{6MwtiiwG|pZfFTh(T;O41q zb@~Rv5>SPzK;$9-82=HLn3@VDvte=QMKN)*e#22$iTi-ZMDi%6W1fsptaQkpe6XLX zA)5AD42xF%`XSB|?lvr9t>86dk#D~t)NKaO$ zC-;1b6T0M_qnrde<<`zP#iA7o~KzTeY2F(7`y5??fj1o5`Jt<4yqPJrc(ATkb~ zKnf16w5%*4&L_VI_K=#`qRkC5K8)kNnjB3StLKdyWV|v;>nQ;alM4RC&3$+tNQXdBiBV_P*+Tp~aGpyAnU`n*~+-Jzo0( z^0P4uVU~oetCdL;cIO*WA*b*2Ed8tACk~Na79*k-CJZ31ijGoI)GB{9pW{uDu@E)x z5m&vJ?LyAirNmFCI@E8CXCd-dNlMv#Z96_+#MXkZdFK74RrEYxC{MXcFuQJn;7yUM z%?K-8w~nDEQ#X%V`O<-eb#p=Mb^LZ0zPpmei8gGkF>p)qUxWYD93_! z!=(+CB_?Iy(widW@5E)fBR*9h8zceZ6@aBNv4MK^9zcH7)zujce~Jrm#>2g8>Pt$< zz;q~Q8X!&ka_m!Kuf$ghwbOe-lBzm8X9GTyJ(GL(ylBSPLb0u*ZZj=)r2NUz1ODAM znzVnG#S~J5Oi4LG?BX1&h6~d#ZaJ^{1PKxBWthKax<0 z*b9|aHFZ*YmpN4QwJ7!KacOY z2z-jC&Y}}=Sy3|Fdj2qyflyri@lrOks5X&K+J`_rj;$LtStV88NCpPqIN8DRD4&*v zuxP!WS?h}WQ*tYlv`Q0I1a0_ZJQvvq4;|Q+R!d*I-En{8H&p(eE6+U8{liJ0@X&Db zbMv6$+&+cY{2{(FIo`e^?%y?Mo0+ZX1Hxy{QCu8sLa1&^%WxtEH7{>%{a0`8##~*3ezqMv?GEci+E(20Ajw4xR8Hs95cPk zZ0*d99+}YWE6BZ=?rWih~AS#OtjY$5s{cd;WK(q|kMDj^b3!Mlx zy0!U)jCU&lwFA>(=b7o~lE}|7&I!$X7TVtZmHq5L{!gx=_{8CI?yY$UJ zWW4PXml^JNG=AH5Q87`yg$(TLas8mXD&jyAB<(eN0q;?h;LOQ=9-iSk_v-NQ9uN;g zn8?_`0M7gs#K7R@Wj6div~P?+&0H$8Mh7J=p^dF2*^07C%&jRs zI-yam6;bY}H!bFsh%7kPcKL zMkbAicu(l!F>rtx08q;xDIAe{kjQ^j2?ZwI+uJ8d7j&AKZ$RsZXlc-l{SA7Qpvn z-APU@m6+u&K*>PDK?hRkJxUM#r9lAk3rBpLJE!1MmT8N6>f~HYOxT&{X{aA|bZJ-h zxzk$DGooWkSzpD!iJ3>tJ>gO;B@Xttdy=*%*ZS$Eg@zzxocc26WACYDVnO zRU=7V&*wt78^rP2Wu8T$?$5^#UPn6}Wv8V#8OnXt4Uwx(j%$CpUo4mya6=Lu{50`( zmc^UXmI6Zpl=Kswtsm_Pf)`Q3w9Ban$$|31cJr?u+u`nGUn3YcdoO8f8DE&3Z zGQ76RJlOkvBZG6I9zB=hO6JZnzuB`W9T-Fp*jY)VD3IJY^Syr2lNs zkEJL~P8`)|{~_UxKRnXU|4A;avKErhYS?XG?rkRG(@qel2Uo{9$%e906wjb)Gnzl@?}ibDYTe)E zbybxZRR432rI*R|sj34H?sPm$_?x|VP+a9oNl>JG;UVle#8(Q!D7Lnz+t3$!f{lTb zx0iKAb+>z>Xff3M!ILLCGLlNJo3=U1xDeDn$jpMI8e3R6x~yek0Noq7`3F86T4^WR z@zb)VlhaOawI^s@_r!}^CXvN3!(fto9~ufm8X`PAV(3Y{q0@X_uQ!%IfRS8{Jon-~ zSswO?5)CUU2Et&by&STKi*=zku5i(u+WOhv$26<31Lq zkq-_9EY@dPwroU$yOP(hoK<-jNG8r6u7l_TILD}|EWA8fL{Sj<|C*jfp5Ki zo&Mh<4UAt5;R0-Azo5iCSQ~wk0ajTZpbgumty|`$+08ognVVkJkRM?XYeEq2{#e#ogfL7C=*%F=62jSlPNqa1$UUvKTRBJh6^m9m-`#KM8%?Mi zQ&Lkst#3;K@-{Kk5+K&d+>EffaO1Jcvi%tMgfLy<>x;&-SNH|R{#SEN<$|R6wTVeQ zC@rieML`td+Y2=shzg)oeX>MToRWU0jh!>O_{vFtdkgdGjs^RB(_3`qnJd7SoVBeN z*A=R%ceF`NVlzm57GIRBlcx>DPICO$if98jyj1}%7lb*W#{qqcFs&6tdQm?xr%Z2? zieel=jiThOqN8J4V+3SB@g82hD(66Pex6+*9NsY>Po;%(>}Q&}MDKe{Sz9kjw`E7v z#?>YF)}A`R+O5&^=+=U#%9`-^n6L{8VxCG4eCG{sC!4`~HnY~28vpEh^uRUb-3Kej zNx|()PHwJlOifH4o8%~gNh8tNLlM9=%IbNTlu{6Jpjqtszi8YnvlK?75UP#7` zjF(*iZ8F4@O3jAWj2kj=I(3EhSdLeZ^bhU)9{F_qt5htPJ@4+OP14#TPexXm{#l+X zc~1v1^6c*5c&kl)(nDM3{hEld%uhxBz7@~MgBN+q8F4qJ2W!oSdw5|OM*dnj(Y5wf zj}*o&RG&@iR=Bhb{IE^lK+?#)yBF(mb~Gn%9tl&`L#Rwr`GsqqLP2Te_@on;m0*E? z+PcRpR!(iGk}p%4zQ7f((etF~uDrP}I5xj?HombjrkcPzDBAmVlJ1E@==+d} z@;nzONe%1jdAlJq6ct0$_n+Z)hYP!*balnXgX~9_n&&06bw`Ou_G9Z7rq7<_P8<)W zH>7+Sbs|F!jF=M58HV574ScG)A!p$>=(dQqv+T=>c5;xvj!YvY)0rhL+F$#glUbt0 zF)BLD{c3KmmCi%CZp-T=05U$}xrpAz2wA@vrzN=(gzw*^KIzdnZQGsr;E8S}n}JSf zq2YYZZeYPaGH}3qR++>t-9mSy_+-QF;BSi4w)NmSO^;lHNLmlx(f(J!I~shJs3#QM zmbmgC*uEdLbb6VPI%LQh5w1U%YQuFmuFi4vSGt|rPDz!^?jXX+v=G^jm9LnM0#7CU zZHGHnySuGdm(LP4OH#*l%2#jB9<3%Oxe;v$C3;RZXDsZm_tjUFY>r;e$O!YS%Brea zZxN}UL~l{hQOcpV!-@8&bz)6?iQPA-YqlEsh6OcMTE#eg+XSnIw9IZyJqmZ}|q|nTa|6IXrMOcOTTZys4hQ{&|{hf%etD0065scrGv_8D(zSVwO&_)PG)z-zSJ^RYR_Ex`e}7(0 z`De{ppV*H$ z>VFM^;w6FaQPJqlAC33To!U^1LdB`<<^0v)Kwl>nuZu^~sRN4xP1Celwr< zbjzhaHmy}QF>CeKQ_|a%;gmX#PR4Zpi7ITdOCMLdU-l33ZO2<-7wVkrd zo2AO&i^=6;jzZ;wmS(3KNT0?pj0S{r?kIXU8nMXOu{Bx-30vf^pyDG`i|f^f6FaAX z0I3P<-g(6d(H=UYg|(dnGg68-Qw;VyS{t(8>BZ<+3#BS^9It&>*=|gD_GX6gi>g^m zcwE#$R|L$LHc}t?#IDIxCD)TcNVDqJ%C%hW#ZPgMuC&|8u*G2$KzE(077v}-NzPWg z8~^wVWBi)#SYKmuph|Ew8Rjh~JI9Mkn?m6^yV9E1n#ZT8jXE8J2NNm3Ss!HeZ|`1Q z^tero6u7ysP~RC>Z`%EHY?Yd}JFT#PTOO9TeOfM^3s1Mw`TKSEl`>ndB+>g)iu}D6 zs#QzBwxRx>3!mYx+RnF-QWsVt1uA|y(~>_QnM_7o(E_%oy<7)I>MhBMTrF2_Oup@;A_-g`GF5-VY)CLtv5b@8a^$WeaI*~2+L zo;8ETZjIZm5kX(k&kb_qJ*`j+A*H6F-Nsq+%OhugtcwrodPGHVEe~IY4x3W#-uG(;q@*_z2KJmp*`pT+zhwJm)IWSxsx|ZFA+y7?BfaPub`CClg5H(9gEunKD01+{ z+I@@~e-+DhoUyOkVRl!|?mTns{qlD2RIeM!#!ml{+xqm}ut6+==YXk0`?#_&D?i`i zorX2S!2svH93E8~G53MjJY|Y87H5a?6~JYlnbfBVkSD4jDu|y`zRmMO`O?-w{L*sUn_~86uth4x-mI z7}wPd;njqH8|N#Z*YEe_2;pjjyJb=wC!= zS!{_zhtUrLSbi@{E@4i2KZ1#A+R=_Ss(mfSH*M;FFYT{tCKmG4=%Sl#|NnO>1&EuZfWcIvDb2}|ThF_^lOAQwo-6TZ5 z@1fXIoexWg#M|ZcD1jh{`$v@AEV**QD|SU%9$P#I3KnDKEzH*HO9HjA6lR1Fn43b> z1WizRL0So-cVNaFwi6OoS9?SL!k{8Bfnb1~N6X`2uV)`={RM17;P089Gp7 z!_evjPa>`oj0;=L{^Iw(l*1=5qm7u7gL5?jkLva9IuUF!`+FI}Nf3yCU(k;PI9DK) z9|$=PTG;;Ezbg>ay)~5>zEdxLI2W-Q{Qr}dFl>J$%uRfPoUWl?udpC)2q7dR@#uN& zc2Os9$Ape0yjI{!7$`B9k2&eTEBkl(|L*bMdH!7tIuebIUxKf+rb-DeX#_$>QeGkt I`O@eA05V4=*Z=?k diff --git a/site-src/v1alpha1/images/policy/mesh-simple.png b/site-src/v1alpha1/images/policy/mesh-simple.png deleted file mode 100644 index 5ab39b567a278ae869cdbdef26d2b00930ba0c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21854 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 diff --git a/site-src/v1alpha1/images/schema-uml.svg b/site-src/v1alpha1/images/schema-uml.svg deleted file mode 100644 index 11e1e29519..0000000000 --- a/site-src/v1alpha1/images/schema-uml.svg +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/site-src/v1alpha1/images/simple-split.png b/site-src/v1alpha1/images/simple-split.png deleted file mode 100644 index dba5ac49630b330a71e8d9b53064043477963371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144202 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්^WA1!XC{D3SNGXnjx=Eky-mINX|nw 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

%(NcsH%{YZRkCjOiwFvl8JNFUnko5y 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

Lnod*yA{Oh{@~K3e-)PzlNief4;n$ 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 - -
Gateway
Gateway
Client
Client
Service
Service
Downstream
Downst...
Upstream
Upstre...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/site-src/v1alpha1/images/traffic-splitting-1.png b/site-src/v1alpha1/images/traffic-splitting-1.png deleted file mode 100644 index 0875d72b5f2387824192f37da37ae8801bc56df4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172529 zcmeFZWmr|+w>}IANQiVxiAYIF_eP|pySpWnZnmhXq=87IbazNA0!m6tD+ox7#HRVr z1%mqcocEk_oe%GqpVx&f)?RDQF-P3v9%D{;sG=l;gGGUbgoK16CwpBD2?;9|2?^x@ z10CFX6FKXLgmlilL?w_9#gu5eZ>jpGEQCqRRr7jx8B%fPgW4;PYB@+Wp1BnzGqE^bL#bM3 zoe-Yj_c-vGX%A>kc#SxZq$etp#Y5VUPOJQcBP0UDG)zv>{P8d{$~h$RkI1c4ZE1^@ zl{QG0$%oZ7^~iZI4cydj@4M{PKgx$O&7KJi4HA%~ot>2!MMbJhfaE>OT?c|GK|Evhz#CJm7P?3_<3Zk9$l};PZ2a$klDdee zfb@|9{T8k9J3?4)sGp9}_$3DR;7{j=73l7-A|-{c2$UQ&Cvm;+nzF<((=^(@cAmH` z?RAaqp|$Nn#n)*Tbl*=6(u5x_PDO1uQjE985T(82c_7R{&Q;W^Cpk(_k~x1KNuHSb z;!};yOfKV2_{NzV4-8RjJ~BNBqdOn{wfTC^26@b+Gy6N|vSjt9?a}KGaA=K~o&_^x zI`Fk!Zp!g{Sr&8kyndc|+tZC*%^mOL_i|=A+Y=A&8t{sz>oUpTfWN>h(u4~LqMIo` zNSGGHRJDu4zjsloJuvJBenIF2)}-glOBb&E6BOpjA* z)pMQ}wm3QjjSpVFlQk3QrsjWp=2n0Rg;9{HOQWCj1YD$Uh%k{r4>JN|5YyrA2w{_p zrTBG0tWt>sXE(O1bp>dSX9Pu8@kEe{C9UEgQX(^sp4l;-lK5D{*mt|{7HiJi9r&&j zxi5mJ&z*=AOP>51X8Nan0rg&qUYAHI-G!Bflt;Ygh2!yW9@Ff*)aBG6ZK{gvnPC^5 z`9!`b;C|lz-8>Su@cn*s(jt0!k;)!C@y$nKbr#8l6lJvgXub;yruns}HVcNXCp zm|9R!uo}lcPl$B3AiZS7LQ9pM(uqIp^tnND~Bl&Kcw=>L!?rCSr~a z*jqs+c<9o1bRsd--k|DO;v39foa)EI%p|v&G6`sF|qW?yz@a*DQw`BYaXEWZQ zIg=Zl_4qPxdzM3j)DzbmAC->I^)8(3qSXW5$p@8mVzRUZ_pj5h%CbBOx1b}q4sVCe z(51b{vY;wP%ev+-b)LTEv5PG0ZAz~PuCz{(%1rlrR7Cqw%OrwR#F!|p5 zvt6G}QTTYflwd4u;8jaE_BXdu9KVO|=19E_FJ1`F+}$?0aD_yn@hTTNA2#co)$-~}dn!mMCydl4_`K|1m+uXvu&o{;e<^FVpAm#g48aW#;G)~`lyN?KSrazm~Ev+8P zN0D%K{z5i?UjS2p&4-Wsk}G5>&F7m}n|s45D2#cQ`M7u=az2jD`TrIMY1ycm`{YZH8^8mZY3Sj>Ls+Q*X2) zRc}YfN-w|oX8B_A)e;Iz-p1_V`EcH*;TAoM+UA|mjkA>caYS)wd~SSQ4mdYom)|Sz zFGnnXbC+;`y2P@SKSa3Xx9GCS|H;@LMkPXZ{XFsc=nJYc95O{y=q&@LcTMXWFEz3R zkGZ}QEK0zN&rYBg;!a3Om=zintfz3~6>-@5@x}UnfZM9;2e+Y_+k={eZmA0fgXn|& zj^`bHE3hi;mt7Igh@s_;UWfK z)Kau!l-@J^XUoxI&aU2J38F^RN5{TXaaP=Xq@-l1dZ^%*edji~oiZ69+ zuG`4jD7SpcCJz(v+D!9kH7k$U%4U0rDC#>??))j7A7pa-G+`!x@U8+~Ksxg`B?f3%ujC;^$tnrE2Urpo+#+6K_Z!u3qrW-U8vYup-W(eNU=ULJ<_58xoyE?Zw z*TLOx-5#^*eA#E_x$gViP~DCaHtVjWF(V??QkU~?N}cf&vsLYeT!^unXI?mKiZi4g z0ekB2l>3`vn~Epnu=hxB>OJ5f;<%~%wa#YgRRP1DCu?c!X_je8q-&%}heI2)KazHz zTd>>e&X>7PU7fu8p_sBQ==qAl%aT{lO;b@RS_AoJc`UjcjvMd#XIn*D`SM=otLECW zMz9wc+n2cy4RhgG-4@nSb-#xK7Cj3-!5l<+!FeCx?fh)bwrD zb<3kF%S;w}9X^b7?oF;K^t-1lrH#}tMlRZnkk_wSM0sfTvric+; zdw3g1bDd29v)|B&?p{V`(t`0&tz>&k9Gk`zb<%#dgVBS7jME=H_v=x}ZrWH~MsjjT zf+?c~B6m6T6=j#0)YE3K*^8qbV&-&)>`$V>a2B7{uf|_S+I(ZBj{4eE{opMl`kB5l zzrrl3#JT14$yaZl;=Rl$SjodgN<~Mid%v^e&A-0kH-sKkiv#Pm=qJ};zV2!D=|bl9 zK^#=6&u3K=ltBi%#-^_XTeVd;L9@^<>YCs z)Z{ZK*C+?zGb9OhNjW+2UETb)rKO{bjgza%ciRYX1JhYn*98fQgaP_OmQ%a*9gII{ ztD)nnqj*Ee+{uC6)WXTklHJq685##k#8U`dI#{}z(t0}FbaWB&6uo%#gb=ufZgX6u zJ$l5|Ui6}lq6)2~(``#yK6Xxa&WmDLw6wG$w=JxM)UHead>#BGdeO$!)meyx!^6Xa z-GiIm>9#com!O~^2j^9et5?~;6KpPCj;^MjY>qDU$Ag@VbKTO#{I;#LtF4nGEi|sF znUkBV=*5fBM5q6b<+Sv){WX)L%g<$j1#&>2aB#76a-5D0UKN4v3aQw7THe&XZtDPa z2Idgs=i?JOdj79Ze$DvXn>xSVyvl!-=l55C`{+`F7`YkAbg(P}wC z(B*m8u80VtJ*K2)WmXh%`$wn8cu9BCGP4{VED#A91r-C2_J4B0sR$24Rm)(u=KmkR z0)~Y@4}@i7!~Ylaz)Yl3P_nouOSu2%vcUquEcXAK)%<6c|7h$#KK8$eu>VBme-P$B znEXFaeW&pPpTW#EDq&A3`4JAMsGD*}$O~V2!8sT%qtRi|Rx;|((?eJ>uQTB9g#19%RVE&!vi5O@j^`4ck z;blH-IIFyEUiE!m_^e&WlZ>0O&#w&MZ1vNM_psNyb>Q&-DdP^m#bGU<^6s*KQjJxF z+rE8x6{3oT$s#r)D?}3N=`yIVa;!KH5dKY$nC=C_?3k-07%((s zl7)E)&dlyVqgugyvsjp%)beiQu+pgIYmCQIUch3aJ#$xvPwfPKz08qx6Dd3UI5FZL zPfI;#hsMSXVl5FQ_Pv(%nG?LThg=6VPZ2WBhvs{Avxbyo3;Q^${HeR%-;6f--%Ug= zFVH!?b_|ewp5UpTk%f{)g@ye$b7LR|in49VB!L%Wy}LrQRBX}RSMsv7V(sZq0v5^m zkxF(0*(dSI#_8LN#Lo4jeTjpP|I|E;7Y$V{XUNG;@swF5lc0#16iD&gp`N6Uh6kvl z91$1;rhogF^hMf8Ap)(l48Q1QG7U0KAtJ?s@?Xl$mBZ8aNqxmhK9)yCcm3q-Crv>8Of3exPW;< zCgJG-aB{2@02)x8=^7JY8~55g7h&V^@3Q?;S0o2*WUSK^6$sL5yO9L@%KB)j=-vJ3#v)B-g`nk*^Z}0iAN6gf1X?=3N}xiGvJO|Zp@iea`V3{d$J+?%{x%j zM=>V_&gw&&dF)l8wwa0+aU)PYJD-Y`f4J4mjaTLOIv$KZL6 zz0kX(%C)m~L|?cwsaj62W^M5eu37{2G8-1m9qUw8tpL#SZw_V&oCe^}i{!^ZMPZBX zVV61m;KZ|I!$V#lUUdkyk(`*g7ymo*u4~_-Gbtd_rK6>9zwSW|Gv{jBcntSeMk0Ts8&onH3=4hbG-pxY47h|a=fr}QXpiR zLeF12Stl&8!4>s+g0s4H#k9h#>nXxOi;H{$%g*`r;EBM=@<5rI^K5Sa9_jFA4B$)Y zIlRwKUN{*72|#QGI3w@Qd1A?S&I_{Zc)2C;1gh zn^I+#`r2PBI2nK`1q?v$BbD%LfOZv=jaaw2_$ZIk@T&pK&9+!k`+SL4f1_=k|NF+ds?#v6xaOx}YR zB+=ajjzWX;A`lt>jnI{UhQ*0tehOm&K)|Y4M=tOW2>U-z4$nqaE6^z`r!U;Uqnlv) zFWl)5bE>cbY3(+mhY83)rkVd#4MRJ!8q63)6En4{;#-ce!}Whi{)ZZn;5`6QpVx(G zM8aO9-j#0cr?ESBsUN_>)+}-v|5W}TvxAS|s=$H6A&BeK0ioWUkYfuyqQVM!uUkg* z>0~?_pC4)33$so5zsWtd)gO|bG6FaOBvPe|#xat*0!(x_)%k@jDyqolw}_Vn`hPL5 zpF;9z02y9V6%3)Kvzp-fR^8sDKl-Ez7>i_K>El zX?eLEfAo@xGrZq^Ak9T}V3gIRAV*ut5d5NATNkw5RGo#ke8UaCWg* zwFLL%X_z|T-27=7Whb=$)R$Cnfs(z~Q?yPOjhC4UWM>_6U^!*+DvB5u?l>rGA;=l4*E{BbCq_LTpO{$3 z{jFj`EXO}ra3Ua#91PI*iFN*0NSoY8$r;R5n9Z$8aeKDy!mkwKkto_oKb-LAVt%Rl z#N1y&jLnRA1|z}GK}miFGpC9OJ)miK9sJPPU`5cYqbT!SIfyD7Vj3cf_zK7U33M3H~1_UI1W4oIt&Q{VTz z;S;c0%Qza#vG?x~WXjX_*Gd_W+0y^hL;g?$#xo<}f$N5;cTigyXnEA~4^)oJ(MU#6 z?=YH+p18%IZ=K2$dJWJQ2;!2PLA3BL8z@3x2-kxsX0|ZzX;dY@MA6RG8?oKq#J2in zt5dH87rz+6GYI70C8XFLeVhyxLD-EKPX&QL!XgXFv1!TTJH7Su0!)IEg|p<@ahcN) z5Z>OX5}Kn=n6$tUI!@NdI1P;oxW4(V6cx7{e<=s93ORuMz%9%^jRsmzMPaQH$neST zVCb?1H5`aR9}Q}g99UF|?p}5IFMh&u1-RCiPIWhwDLhULvGZ=T$7v-9`)BF7IS{@! z>-dCZMa1WO5K&>UPY6n6!f6?wTnx&1))6-rr9VR+1J5QEkS6+S!xYRL#wJZ(74Ggv z#Wp3s5*;9pz71kjyt}97;gJF;ukNiU{1?h^fHqQ|jJO@zsS@GxSX+U$PsY-FPR)Xb zS!v9UF>L#X>mNyVA8Kb1NuT|V|Ck7Yc1Tiqtl#O=u@?d7W){s$I34ik1>74#w-lPP z(?tiu7|?thj6OK3+n$&Neg^Ki@`1k%ZbASSdlL>jW01f?G0<_6<2~_XwUM z%#o#1FGbF?{2fS{Pk=I`ycG=pQq9qP$y~tTVRLpke{t$Q;PPc8W10AW%LUz0;Rji# zY9n*=H{p(bW}XfB#mYgy(8&rGS<-1t%l5GJye_jZ_(b4ZuyLQ)^`? zWIaulm(re8eG4kY$f>)R|6R5d-=&4o8Uy^AXck7ru)qLGzPxjoA%t(~6mVJ@oVT;f zY=<5$SgQ}4R_lJaDL*|=^WU=FlXAi29m+11yW#9P&^IhN&6A)ihuNK0<^Khs00nwL z3Pcoc;*%8vx)~`!6@K(=s4Re*>xJhP{uvhkux$)5T+9_M0@^bPpkp8Cegz{dt`Co-LMko;7O`|wm zAvql|Ui;yqSSiRA%AiusFxn39WDM9Dw9qEr!d~8(fBKk;DNr4jM`AW1S#Y4l_gk65 z$CQ=K;AiPsQQ;o{vm+fulNu;Gs!tTSNOY>ID9{}?7|K__^(z36KZDVO^h-IkM4@Q1 zgTmTbT~@LN+JnC(x^#NbkeJIH3O*4jnHivbTu<-tU&TRYFbEUT9aYv-9L3O31Ee=< zkuU1B7-5nHz%KDo>95M1mXipq@g=7a#)&$>jQ@W(Q?3YqN$+%Qi|(8|MHpytv6MXf8hS#)Vjzh+h7sfeB*R5T1hC$yA81GmfD^IjtV=xO*>DqP02t!uIKznhrE?K zi}vAv%XUx81$vTCD}@U})&d)mUZ;5yFmb^7Ppk4@j`uTqe+B@&3Tlkj2A4%NL;`;g zJ~!`t^azmvUIlc(W|1H zMG=Z?GaW$^fv`qY_SavZtj8H2R+;7v7#yu!B@{Mly;8N1Z@bpP&oOhiQw8Zo$)orCG-PvXvn%;Xu_(fHln~95>Zo zJC7wmsz35ri%d}sxw<7i>WM#|txuBHS88mik)xnW(>qUv@u%bZe-E15Sty|Cz`PK3 z{Jah3JHJgHyUW#tbdjNBRT#jqpxt^8n>4+mW}2;6JW!MsY-{Lkv-csP{L#KJ zsRBCcjbgQ`SKz4Sp>pd}ZHjN#J@yOGKYn*Ei>7k6jZKkN`(QqQJ;rJDiDUJeGGQ#V z6~p7P7RH#H(-s0{OCHN(o5a!=nl(LI?{M-j5yTl#J5m>?G~A(LjE~Cu+e`CYxO%ii z!zTxFZwV?4yv(YGk%@!N^#?K{ujV^c4sAheMTxM}5jB>DHgfo6doD8;;uAiL#s|~J zY9c>Qk8s`4rnQQFK+YJeGBEa392~r?NPF5<&)am{NpKTKKRs_*y9<_GR5?EGIKB|D z*Aj5kD5dPhkHOo7OT6&Y?J&Dd9n_gE}wv68cEzl zPF^tyE4~Rf($qa);sqRU(dc7;NbfhO3F>34&iESE3gXn{e(70aW`n|OqFKhSd zBZpZh-4Y>-wI^ejsJ)TQ++(twU9~Z7H7(8EseykjP?R4$ac2cSseayvXr_G27wY72+ zfOtz)8bOd`$zM?vE4$deNJDGAn;nm9Mi>r|$Nu9(Zks!>`E%bF<&z(R`4t!49H5K? zXF1t4+tlix?HaoTHqG3bCr^&4eHPDNo-TuA3h5g z-hI9vrm*tO!F|U5XrsygVkD{ThEs5?YoQesc@3XXV?C2Z`4%4~eEQ_jBy__K6OXLA zf!sP#FzY-@)>B!EvTL+us$+RYs8;Nt!>ccRR`;KE52_ktcE6y`)uJ?`pAfu{_0^9| zZ*cd1(&1+QI!DGtyuaW6*ggRRyss|nrj7)>1~$*tazXvgK<3pWh+v9<^)8pR(HkGc zR`Rt@$k@pS!n{yBMW#Y8Md~FUFexYkjO-ztmpB1^7}z&K$s!c4&42UcVczh|6q>#88=6bsNX@nevjb-I=(zgR?w}XDl_l~@d9T*R8_!RF?goMs;^S1y?Ru| zC*Mb&eJv0+2Y^*!LdrZV88)x;DdD%4JsebQ37%9S64t-}oJ%$fOqKuI($KrH+rB5y zLz>5}(CmKSo0^-3r#)MsV3-?f?Cm7O1ZrkwMMKKzIc#1!Sn?i_WO^m#R-X#3+lBeg z-)IO7P*=Cfdw{ieH?kf>da@wA@7qGj;q2!6hZ4sRi<^ejLac_~OT+C5R5fnh+}wx2 z!4!qmxQ`sn73ErR+QO3_jrV1$vH2?aD5xy70A}Dy6q3YfYAu1w&whjETvDhZMfK=t zt6-tdM5Sa|G}rIw0TWLY#cC%{#6$ixn!FvC@2(|2PS1?05q`arGY(JA3ppxY&V|`s z4vFFgj37@=#tt1aLLh-Qn18ZUl@|q79&|JGs@R#O?g8y~Nz{UtctQ@+-$!A-o}C2T~2%Jv92wK0rC;!Ge&dC^>xO>-XUSV+5H~asnl1UtVo~M zvND5VPiof8K*)bsKQg3cy|Pc?F?@LuQ~@v$wI~TZ_gSz~!;#0Bf8)hA<$)3%R*3rJ zLltld5Caq6qe7gN?H!GxjcR7CY@db=+GD1syJo}YY3qf`hO}tQ_zbh?jsV~){PMVU zbS}2MKGmSKZMAe0XrR0VHoz24L)9dZWs_jc{JlcyAmGd#$~_p+J2EFHAuFk>GWxo5G7#o$miu$EH;9q4WAk z)%@h-KTt>cbEENPJF2hc7M$+LgLzC0z&tGs#s_OvzhDJGNiV5o_CuImjJKrWiJzoC zI@0H7Y6#wq(ZM>##O;n7xviI=bvS`_%w=mtUj*6->2qg?G;8xDaChB@Uz|^R<(v59?lOt>bSv&p*~bPE2ykN&2(Fc48DWS!^@*~nAm>}8tmw3 z%4?s#-_v>wWakweK=%!!=GCB%+~eWSqgYTRa84Ra9jDIC%MSw(tQZI@0cMIDJM_vU zJw8|Q>!<~U%5xy+Dhx6ZvRJ6Npahd1nLeOSO!UM#tA$GDmQBkA&`X<-q@}tKHe=4+Io*uOhI;JF)I6EG%Ll5$ zN7hlfe1rm$w7hBHsEc;Gg1R9VM0tNU8Ix~;SfL!8_T&Fl*3BP<17b4r2WVrY4|y-- z^@bR&zbfrj5)RwZ2p7izF=CrMbPx6vQu65T@KL)I+HYa=a3b%!;&GUHd~S&8Y2fbt zjas@$mPozyiMERi7bEpj%UzCE`4n1ZR>fKS9D8$44t+w}k2m4B(9|UTB1AW33w)

FGHO!rzQ=_^$JMLsa)}|T7fOEEaYKhw*CZa^m)QY`3HNKYflxzW z) z%L>2+iXUDZKH5u5A;A;6Q0D9wu`-9H zk~uE|C~?DzBhO%_lDu8K^lK6f3(TVi$Naxj7+`#TtW>Pj^D7nEdNMy=>X+>(I2iyez1mWPePybpm23F4DwaSIEQs-M^X!pALi#eN?H)*L>3}aB9n%6ofDJV$j#N?A z(A2p7MJbBpY0L1(avwuNaiSxG8U|MIp4pI+c#f$b)Sgf)Fzws@9!RRs@v9x3*WD`F)l5sXipRsUIMjmZB8u^8}Qh3c1Jt@M`nK} z4M2YfjzWt$nzJ7OXMG4pYW6;%!lG|G-6{EKmyw~C;;=MkbZZv&hOo~6) ztv?iAyRe@-YLgPyLr=Z>VErAV7}ru!3-z2B;@x6-UJ`^KR0gty*6jn`Vw8S3wWuap) z`^ra+e3qh&w%(GK8;9>_9G?bZVfvTdg6l!CzYfS)k~mMO%#5q@qohEG`)Z50Zz$6? zi*kS#itCqqr0MnrwS0Mo)#Wb9LnYQ37&jbCI{4;dx_qsM9jljwR&-w^HY9kA$0&)c zzFP;2t8fXV@)+e>sy{r)!*jMy1E*JaNI>%C*PP;Wb>PWw<9&eyCkHvN6RDuN8teEl zA2=v?MCMGDMJMp_TOEKPTa_~jzR(0Lo}95Kn$A7Y#zaX<&mo! z_p9)jpgmJh7wgf&hS#%+adqoy9BCs?^?pH=PNm(_bGIUV40ht`w<)>39aUHZf;fD? zV9)7K>3)F&a1eC1joUy>>4jrRj+V%;3=Cei-V4xfix|Xcd!dsNqt0F zWP=K@Z*Z$%aS&!|c&Pj5GuncY6hTcZ-hcH^P5CWiRaZ_>k{fN3Z_)kLLrqS%Pso z3G~i`h8}5Wa78%p1!!%53>JGf)0q&r@!Sm@y`cLn=7SY~zkYhyW(zHO8x`XmR|xB6u8WvR-X4_j!gX?dx`Hfm-?IZBGTJhy|z_vj4$Hu~oR4iN#| z6%V7Tm&)~9cR$m6WZ>7(MGB#41n1U*=zm@P>7ShISr&iaJ=iLW*VNUP3obWSqi!`f zV_yi^Tb;Xu&HkdiF<#K62Pj#KJMBD^=l;fEhU9s{OCANDD=%^VY?gP&LAzNW(5CW` zGUnHO2GCKBZ(t9sEFkBy19RkX>iB>biX^D8sZh+2gMsalUU#X7az}attl^-#^$uTs zU|l(2M}0w6nN=%SwrEt}?0Mf-ut&QIXD8^;DEZCiXG0r1&?YzC_@cx6!=It=RO_a;#y9Rc<@)upO#1HV ztk~1>65usiXrtE3OTAw`3@H_t{Tvu!CMqClNHoP30h+?SqsxkUP7$PSn`iW*k+6AL zud_m)Luayd^~R_9`-4 zEsox9W9z*fck}Aidl-R0Wns2U!)1BMA9u$Qb@am8zTBdn#7iOM*HauytQ6zN3cyxg ze~xyBW!rO0z1n%r0{QBdI-eOI^}JBzSzh~r(z@66O(goMTO3vf2}i<1C^v#%>eQP9a4AqOd(a>YOe)hVTpAQ19J$k*bimW}`4eb;_fuS0@F(&`C71<) zPrZ>TlO~E7Cxj9usfplvB0m+W`v$*`~866#Rl>>BN!-kUvQjc$IzFSCia&-GR}&A zlUR!GJ@ESRfidIoVC68eG~h07guvtjxrGv~>-%O_cQ6z-pYzwwDb5u|_}yHYmn%rg zgRG(Nx0*r&&i>*pjx(XhrO><*C%K~Yk%BV}-s|6b<4jgcuKr!RF7d-XxsC_!?q|I? zYS()P++2n%qZKP1FIH}UJ}X|iQH{q<(SAvV{N=|Gj=D;>u!9-?`j~aH0&v>Q*?Ts@ z!*TyW^fNN<3yl?j?RUH`+tbk*-{LfLw9=fvvERxEsaHsJ^`Y{OfbHmjA*@u7dh!0- z?E{oAe=HN6S?KZ}C=tr>Ukx!X?c4{Zq-|QUeD>*b=j$%9-5Z4~i+zP?P%pRg_g?N* zOh7r*orsL1S+(}JC#1ni^DTx?llD`gQxHT2SGjCrbEyVvtpQ#xc8MYBf5TX z`sqN0_B(-FdjVIPADbC)HV2vemcQq?TCt#(k;FwpGBpkygPYJfNtC-@Xk}?Q(`CgD z?7TKY2cXJrM8g?>9%Q};_Q^=3MNGc5$3wvO;>JO&Z)yoT)bDT3g*o|}vp)0N zTWzU$8~2oNUbhJF*3=h|`B1Who?(n8`tQu;$-LZf@hgv@ict4?gKZQEvT5~ZcAdYG zYq!)~D0inU#4&e<#jcg(-!Lq;kc$=d*+fTpK`fKp<^Yh%ZY;$B0Cq~ohdYBV5rp+q zRztFKw7duc<|ayX-d{aN7P`-MFA2tYisdOnD9Ifx&tHkui^!lf@4m~@|#9-f}LSI>F*ft~KKHpPoUoN5MI5Xd(2L#3_^@!RP(T|?D@i!=% z1*ILxr{=lzm%)Zo`5Ug!rll=h80Rhm9L3ACa#$F)(F(9W(B(A@r0}UYexzZgcbX@qTlF6XVW(=ninBBRK(-sgfrWTZ)@xYhYP&N3 zvi_jIz`viu=U}@lAkpl~6_i)1X3sz7l@Dic^krv=ZDh^S;d;p$&xTJm_10D?hT*{>L}F>M{=ltjxoSb}20K2(jaT*V0P6+>C*|z0;J2VQYli>puBBn7fCT3uH;xlVF+}bptoSlEolE4>`J`{O zSsY!4e%5EOW#QW{#6Rb(#dmcFM$Y7gkXz!4ZG9fqB|yhXCDE;@f!Uo?X}Os^2#O6D zNzp2lN44-gC6Si|+}Gbgc>7(j%Hx6k`aKR`(?=5zYY2jRS8d9Z01kS^t(VnN^@SI@ z7<~ZB4o2BsEK#;6nW@j^|)K2A`NP3%f+b4d5bIg0t>~7 za!{A2H`iOrc{Nhb85Y-)EA-3o>!2@>o>~^(mW|t zoFMY8Kh?9us9<>e14AB18p06)_I3qC_ve&X3`OTQ5cP-q1C@HH-n-0P?ufyF{lPg* zWzTEkaTVncIUdXC?|5aag>FbW^IHwE*`<%vQJOV2V^nrI-q6M!RT*qoA~K8tu<(TT`>6JYC(|+S=UI zU_fz-yICyvs0Bw+^Wt67GwG`iD>Xlcy8QY4R(vMfe0-!AWT<4rOq|Bgp>gFn_~wYA zyG-dH=rT~x`hSL>Ex%GSE0Q`nweMxLj=wobr2}SMKuBunBB#wPX+AIV&?jDq+zl}kI<(`(Q0S;Az(TPjwkimq|NNFr|5 z|7c~^4>G+qo_p14yk;F_ZgCf9PN&F%U4hlgwHHIY)VxF!k0REtZxtt9orl?pyS*Q= z8gZylbnVt zqw#yf!5P3jz5e--PIOUh{A=Nn?oJQa-fb7l@0}M}i|M*KcDJQHp9_g55vu#-I5ek+MCoA4*Rj*^&)!xc2tJY;XlpU;pS9SE#2-oiRJ5na0)n; z)D5)ge11gC%D07vs0nKN^nC#k38=Si>G*_LHmv9a)Zg$}EcQ!YhS`O}r2=_#-hG0) z?UKFj=lQ(VGa!n2^}5u#He4Kl%Z6#jCT@M^s(&Bs-;SGa!PB=hhL zNqq0(n8SXIx^y|9$(dVqY^A%8SCrDzlF|)$TBv9VE*3WG!F!ewW=S5k3x=;tl$&2) zR6#%-=$dGXAFFo$&9aqdN~cA!uc^~l(bdcgxvjV#$fV4o(fLpkOyoy64awAB2kc?u z(C<+U#*bG1y45h(R^|+gy4u5o-3s)4pNR`Rk;CKl52`i@Wy74d>SuThVmNng3|J30 zj1Qwa1*Sq>0gJ835&1G(4Qdd~-O`Dg#p1S}7O~Bu%{Do4@MmocJeyecBs!M)>3OIQ zR+$Pbn|<0OseeSSD<7^a+lH`}f2$!bNob}YDz>^1F0uN8ivCWyF2l7nn!~M@Ufw|i z?zts0n*%^x;=K|!xFzijG6FWV1Nvj(6@K3<(Wh?N;Xes;&QrsIr~5ZJs+3R+X6PNA zdW2tvT8@$&p#|p^YmKRsJhwXmYpfHqy&X3Bc+<<6Z^iu~Y@XU@@$n{5Fp)&Rg#2BR zDTQI(DN8PQa^t%2qH?m?9e~pVJChy*t5c1WWC39ueu(E_w|s@qtDyQ!R*_;Kul*vc zmCB-rC(fsLD7mi&F-i5X8t-Zk5KW2tpWTOS)d&ngEin0FevS}tJQ{q zM^*7|=pSgU0SW^-CzbUR#u&w=ZiGNRdr9f08bES1g8=M*@Knu&3cjrt{Hs7q%SS6qKz zxT~tMgvg+j4cnJ7tiVB2qrcz{lGx0BSBTh-w&*rZWkXboPjYs)TZSfqvhaN4toY$J zGy1o+Ru51v4A6H??qg85&>}!By-wt|#O76EeEr)V6=2HfG#SL)HlDGzye+`Og1 zJHEQ&1_<<>I?#S-9W6iz7->r;XVDZ=_T@HjWIczv%CO{fVCSgyBlc8|r20y93!_mT zH`v}QP>wZ7+4^y-{XRLj&!+mMLgVVCG;5J5@)%{QdC_J79Nn?xt{e0HwN7bE6%%5$ z-=sKVzfUi1z4Zv)_uDK>g+goZT{zNu)n0|m%GKz-FQzQ(SGiH zOLTjR5m%7C)*KaSL|q7{b1D7KOP^7$gY)|!6~1tNQNJBmFW2S2S;Cm-RImkz$+-89 z`by$@mXxP3~oVa6mNKN6tJdF~srKpNOq6_O(c439Ij zA@fYuD%+e#-C9CS|D%>qGAel!w>O8ZGdMs4CMJ%xhb*2SK6h_(#pe``Nl#p#PmMj2E0~JS{LAJlr4{d{ z;>H0FMC2=Z(RE9JeeLWKU|>d(FPL+nu-r)9T+e@CFKR{fjg9Lg<(YS5(@-0&g(kok zkv(wx9D2)V#2qy3%eDMt#NEMM>XJ?mU7CWCx-<5lVT?70o~xxBt~uz$PVGz-t#DA5Oy(7_a^s5y|&hrJdnaC0?i6g)Pw#{@LB;DtGx zM#2XwUv#Y#qCkm8Gu`=i$ftaZz*l7Zax+$myzi>WWv*}RT<3|V?s2j6XnvqfY4a|f z0m~Tkn5flk$?ELi9VfSrf7~gu);`{!*V5k--CxoQrC1{6p?Nm0-FZMxytOmH^10#` zUItUg4smdmQ<;x?F@TQgmvJ)w06g0;wx&5F zO|$p;tUlexTyM*~5O@wo%?5hE*$C8E%#%55xkS292YM`N1)zx#bH<}~_xg7>YWxkr z&8iT21N7bW27~OYd7CfN)}XxrAI;fW@x4azul_zYC8~pOK?8hXN6W+4rLH1WD6(qE zDz1#0c*19VbD{7MRIn2iJe@x6T6g8l(}zJTptx3lrprG6^<_T*RgR(q%x!r-83HqB zXto;GOOp0;ecbE?tymv?HgozwksRu<^Zyuo>!_&Pu5DNmC6(?R5D<_O0qO3NZjf$} zZjf#m1nE#1L0Vc`6ov+A7*ax{J0#z8ysrCxp7pNpUF%zmzg#La^E=PIkA1|Rzf_k` z=)78c%iUG)%4SMn$}R8K@~DhmEBkzmR7VSuhK1Iw`UiIAzm`o?y_IwZ=(tK;0sqVz z07ip!_j6$2U~k?Y#r&p%=)goFBINv}*P)_e`IqYFL^?CfLpXYE@2e}0;+dC4h;5P{ z^`#$I-b#?1BCj+!-#t z+m6U4Fymdj9CVQstt1GtbCXgo_9VWt)Q%RP^p2bKSOvyVjJGId@;Y6U&UdjwIVoH4m zJ@Cr(0!d;2kv`rn2Pk*37Ld*El?pzp_hT~D%;~}c6_hZ4P`vgZFQ9(6a534SGA+yj z1>${k;Z(~n9)kLvv#ui1>kUHlvQ~yI47tCIyjfgp19Eaw;_&Xk^3`cD#=(~pKAko< zxchVAUf0+=YTx0p(g-!P0Z#ZM02KC44d~7hf{o&aBrX9@P-Ad`_bSYlXZR=LlT~{$ z&s~%iyeBMQ^~T%dW9^2$eM`U8V8V#4ca%V1f1>ni9Q5_=>y4s3kz!%c3XPngZliD` zRx|Ah?@kSHBmA3ACJi*MBssSZezjhnT{iJSeNQHIijb08MsxRePAGOsm$+FTYsD9{ z(Strhx%j@d!4|T`h{T!uzBKO$L&NbB2FQhS#-~Meuvww{7W0LGEut^H$WSu{vRRTW zbw;&Stx=1&i#}j~^G2^7i4%+qf|UhLuPI+NdEirtKNQ_ zm{X^%%e*d}1RsC8I`ZRhx!a5;v~+i)buVBq#iQSs+lne)R`4YCoY&i*wWWFW{#jE) zwDX{I(?%gPwfy2`{Q2${(gs5?w6!Qi(hq{tDQ4c`G|Ar#tfn6QBc8xDL03BK8Dicnvf<|ebi9lXK;%p0nm8^ zNph~YwiKaw@TUKgnACtB!dpP9LI*~gnB^4Bane2Q>byZc)<@B>O;xZf45tkqN5YQ{ zaGSDTN3qpU(@_PU|0I|kT$P^Ww{mScZA%QgS{b{GM)@OfgDE%(Ny#!hf5h2Ed~!c4 z7P^aaAB&J^>FMSoT)M7k$%*C49i=!tSr8Iz_t%r5at~~y1KUkL7@`zBg24;Y5=1V3 z%f}};`vh&9(`;ShDeT;9*-&;?I2hbtINa1}7ZCo5q58Y*21GBC=~@t%q%vlOk2~%6#+V7rf`7$fsym7-lS2DYt&~`pgkh)|%*Ix97IsfmQ^{%Fms& zfa|z`$ud1|+u7>->IEUr{wow?$T6e1qBU_O=KWst!bt@oWO4z2ssm{i0bF-VJ;JVZ z=;U=jTLTQ;8NOtDMKaWCNg6z!zoqR?>j8H5mdoayAi7rSm#YlEKlN$f0%D9~49>#{ zHDY$d7aN?&3_xMs^8fAhE$n(xor7(c5H}h8552boteNA;#YSJnP^1HX^S=D(Fy|ed zPIiQs=q(k)#OnAd`}H@B4KOq3)au1iA$=P=Wugb21Y-@r;WV^m%4VUQ53&jIiw$7J zbwm`kErno>9(2=)+TO~FUW_oqoAX!0wQ+zTa-7~RWHs8hLj(vZ^V1np#XWYeXi0xA zAuBT~nO=cz&V*S%BkYy*1aVs6cl89@rz##!A+1pVuWJWq{Jdxybfdjf963N?Ae`-O zhr}#FKsJPV6Z&ZL?|;2F_DFCWdZPWSsYRBo3*P#3m;+2X8}=rb2-u2L6qnVh|Bq1W z=NqlNL_VRJ;37`1pHv0~Agg+lmouB_mfo6Cc(JAQrn%n?_o;8P$tzB1c9{ znAQD2KQt7M_N&8VWYfvm*}Q=V{d#a#)^ffaJBDlr^3FIwj(4Arc?8Q1IGx#uHMue? zoR<|jOsef=%u@1oZem?Numb=Fjd6#XdlCLd>3Hf%jM(ODO#m!cUX&D&j#IuXTlt6M zxB%eulS!T(9Nl^3e41Jpd73n0`F4u#?{fVDpGYg{kSf8qqaaBSMhvtEwZ(=&&|7w~I7!5vB{Sh)7d?!89> zgUmDK6Vj`=j*dVy@goF@#}fnE6L9j>E|7|2|CsMJ(n+(^dbW^rHU#`@?xXTd9>xtM z)zrZgft8o*Kr>7o64)x+)hb^z1-6a~gOPs+brZmPG0k+vpexGSH09ybP<9S;O;aznp6AGr4O*=Sc^-w($UM+V zHbBG6I$jw4s5qAEx65xEa25kbh}#32+a#adbH8WFWUrdHlD!hp7o1v8Cg-#C8DHvy z+2G?&W|huB9oIhrY?j9_HQ&^H3ZfvH$i?(Hs4ZcE3b64C;@MOH(-F@_An1E9&wn#OjAaz zcQT2}`T>l1Z#vFVDzpm0u@yE$MgfO?n`?GcG*sjl&*6LkR+1p`i1SYOtDnGv`NLpv za%*AVbitwS;8O*%5M^}RR2nuo8EqN1-<(v=mI{bQ0(W4OlQf#T`GZ+xb76jPa+(hCt$UlS z78gf(w=G2Z@g2X{fhCeTaJ}&25_oQ+{q$MEX7euXX%+Ci3q0xmdEP$A=Z)lJIO+dB zZ#9M;L;K+3w$6p&d8@2&|z46f5ThiJi&Z8?`XKyTv`cIE+eH*9ngs%D} zEvO)>2C-lO)U-?q9!H9@8-Q%i8Bg#7o<(N3v|nBy5qAjug;Cs=vepBDYIKd`HcnDW zvtqe6ye~#H8Nj7Ayaa5$F9K9&ZoWZ5SyX4Fux7nG)_j;B%dYTu-bRXr3k@xdFQWhp zDUr_VgFhwn&oVaBWHGh7L-{w3hMIoxaij1Ykf`CbW1{=JD9G-3MKgFjz13Y{@nyo@ z8ua&dil~zGw3#}&r?o{N(^^&;e4L9~$ezs#c9zAp-iyq;-nJeC`bq04V@}?GTe?q9 z-99j=JT(GTp`LTyHeE}AKA`m2z%#ySo z$Qh}dPddQ-L4O(ky_AC|#f@(3o(unJL5n`~#!+PI=2o-C52DOv!ZlQd>stH6@_=)K z*r*}@Uh!Q|IGHt!dsxUV#OP8Qd#Ua4U8Tc)<=L&KAb433lHt{FbhSL&)Q;kLkU{^F z`rgkS{Cj_7DP5$HhA=#*zopCUa)^ z-@RdDKmKl~nF{E5Z}oTYB$A8zx(~W9_V8#Dx~AIuPdM`>HU&dn=u%?O+wNQ=$>UKB z^MUiP_i(bGC(JJFgAdF+rbxToxV5RZa<8x<56oWf{Y`|joIyfICTl#wT%coOpcB67(;NY7uu~U4t z4Ww1`y^uB*PGE?yyl3H%a)Mq+s&oao_tdJB3oShD*w+UB{ruDuRQI4<^yWgTPadEj zDLBxW{#d|Y>`Ty-^;5*wZ{2Zp?#Et2dgg2a8e*1+@nNu!7@s}`zIJ(}26^bYg?e7U z70q{-AK4|dD_sPgII(Q&;QBglK~=ZM>~4duXpH-@H;yZ3PS8GRxLa1BSXl0 zKVK@)j~v-Xxj`uy+B%iMHqLV!;xEsz_OnK@apsN_vm5cCkOfS6#L7kVmSAb;p471c zHfi_M2Y8(EdW`G<5xDO*uKyYeqnJ_(>oETny^9~bik@oq?uF-oZxc9LO6hDo67vUs zUVv(|eiYbUWeixy`Wu;JY8~1-9Sh&eQV^`(Yz-G5+%TFt{U?2*O!#{7N2l?W6-p5C zlTFD6(Yz7-;9isiSedt(ws!OZjPzdMVRBwJ_3?YOkLbnlFE8WNx=F@rat{f*qiOA( zZMd8b1&8qNP68xi{f(q}_9U9ClC*z^iZ!-~zw3MqSgn>$3(NBWO1?So7IhM4v-u{^ zZ7kJ{6g^LPB!2^-{$c{@Eh3K{eBl`Lez)J`=I}YtGlynPy}&Hl0AH;6)_uTmj%0^y zZ?6921gMDoStU$uwFFjq$HBMcE6MYa$!T`0==g(g3m8~t%}6G%+~qeZy*4@_Fv~Wh zui52(uTvWg)Bve0IQ{?hp8w59j7z*P{*YASVZ88lUI~!|M1hV@QqI`!R-96)FKpEJ za!=B8Su0zf1+3E3^a@RY5V(Hm+r)rva|77kCP4XTrXJ?e z!sSo+p94|G-m?GAea@x3Yx#%5LLBzNC1Lv(o>^{5=PS1X7-hR4#YHo2dns}R;I=jg zMk9sBTaX96Y#{GWwImylTbw%2mvi>{EzBK!7RWi>96vRIAJzWz;I5VbO9~T*C>#+W zO`UVxw6_ACRl8IiT&PZz15^L2%L1e2h5E~Tm#4m>7=)0Qsh1ISh)v4B_zN7BUhDdZ zuX*>)usPxKL1%zk^s$7iUkREgEAwU?>s~A$(&uxjDdOjO&sL|pI|hnZ@5)kbmv-P+P=%-bmr5rD`ULn^XmC93*-HULmY z>bCj&uu=+byt-|m+jU-%m#IRM`&pN@pQnYkj)F;VW8FI2xoQ-`bXKsAMoiSqvTsHe zIR?u$gp`^0oQ)?B%IP^Z03P8cD%-oMh`%`9aW^=14TmRhAV9xWCPjGc;e{6<==K$<9ulf^*>_{%%KRj?@e9n@6@IQq`5P^UEp zVXp=NYD)Rw;SrEW#O$)^AN1r06g;uSK~l(qRPH~-%gLN-5VwGv=E(u3IX!1(zj-i? zxg64M@m7f0)gA#1;m_($)z8hw#Yy>d1>MW~U5of$nIm5X*cONiDy&t z70E)Y0NO?6Xr=ANUQ%UF{8L=gBr&~R3Yl@C$oV&4kqd_Frvt@L+ouF5bU%GWPVy7@ zss#}&xF5bF$)LY;_=wA%N2OmKoYF7v$C$|P2#JK99o}Q^A%etmlh3a@V9H1v3jsVi z-z;^sSYhA=xd~#oXf=MYt9^cDabJ&t5$(lc4}B4Krq#|=GkeHau2d=$sXev>)H?cv z7iRGFsQuS*%5aheA{1#1Ktn1t`L4S-YE}-*7_9^eU;lF7C7MxX%if$j^Veb8shuyY zT~DYP(*QBLn@#_yX8i7-=N3Tx>Bld~@{=rniCkoYBX z0Uo9nkYz?0AfP0xT(GI(E0N1C5}~Q2*l{xq9KfS3-<%4<1&awtH|1sR>!07` zPn;^z6VGLR2B>-DqC1vyJQ2k_=5~95|4=k857ehBjI!GH!#QAB>|frexxSw|IIl+X zhmChfPCJ%`T)-o9R~(4L?KpC*|8u*YgO*JweRCSr&qzGYASd(oE+Ju8Hs||SlNy?u z0~-Urn?4Z)Tsa35f@2xnzMs}JZmnLvRC*Id%Odv{JIl>~%l7v|ZtiYI?o38*?naSF zLQY9@Nt+h;@u~m1&NU^6IAj7(Sqbe43?9~hG!W?XNggtBRB_hwl|eDJ2b6;+6B82& zmKt&%Qs3|0WfX((e9hVWUU<3I))8rgqQ)Q+d(@Vd=e>;Kh_I2`Jd!-zROAz_edn<+ zdROX8SW1j_?ZIOy)vk2-(X^cHOtqyx^o@6a$C0d(eEWK?AA)!#92#T27KO5PJV05a zwe*KGzpqLD0KNDNyOngukx)@aMgBV@UENP7WOO+KA2YbE`@m`qLY`+8V}H`CRzR(o z$gdMv`x%HY_u%e=HB+da|CIml50THsg8&&(^KNma+3w2P#i4VUU1K;-M~>%cx=AO& z&_#)f&91~JNT5PPPPyAy(Kx3S|3&M?>~!hr<4V~p7fa0Io8M@YA*iDfcW6S2WOaPl zU?G@=G!ie|dwi-Gh5WxiL``)X1+vmAFp`fH;=3jX?Jsp?I`Empu|XB|`lb@i2wO%~ zx(?%boUbhD)b`@$wFr;{)&c#jUegp@Ng9Xy_A9k z0R>tNS;eTRH|W*4nRAb&I>XMR(B7YiE@a{}z?PegC)nOelnm{aR<^xOGYRBpS98w` zI8DMJU__@LZG-&du*;Sc21@6hUA;G2jUp9wL&K-%hN8ea zPYU6&Z0!uWR(K;(V&cb`esb6!Aj!E=)HdNyydFSf=zq|KaEnc#60|d8$=#E>=y0mG z|2>iB)a!&+na7X1Pe~eLURI+ELHSi&l*{rx636TQy|EtA>*F!5v``wvN`N^DnHI-1 z7KF$$c&yfT?AS~)wJ6&)=9H4x!a6M8J6zN7@N6+CjVaGx{gQ%H0?#zE9z@wXtm)Ea z6#LUSrgF(7^b;5!QVD1diQf7LpZ7_j7!xc7)K7Kh^oK%A&^$ZN(7)V%!xFWSlU|;d zyYCT{mVpi-VjCFjecMhoCGR=IIK22UL0u5DSnbaJ?aw+WMLIzgeiOM$G>nAm+^vx_ zBKUHgcSTTDIe$DhVkeSd$sC=Ye&Wp;VPZ5ZO;^WDqDBT@V36{g*O`oSz6ovdPfXI; zZ;pmV(^6B31H5|h+u0)>BGGc7I|~74^IyOl`chV=6q_1zs->+Rkz%>y9bs`KzWUSK`jf(S+(QjvSl6&>%#P;csHAqMsD1Xgs5*!C$}uhS}279~9U4_94^9 zKpW~IG4cNpt&}v>eTi%GJdT`4AvW+QDQ`XrBELK0O!Sy6|3T7?i-U`3UyVwbe^S} z7kigRBk;XLPg6xCpX(aZT;F%$SO3N>FT^ni0(CH>X6%gi7wVxt z18JzqiFoe>dcX`Rn zN1s9oERo**5Yf2MbKHk&Si~I04#)RVjeFRM)zIv)r4TP}-Ot?`S#iTT=m>mf?ev;^GnTjpRO0u(p&I2y}HyEDn6?^gDzF ztowiCjTBJ(nJ6Z`UobfTr+ml+G@%z;bSqft1?@#(C;cw1EvGGRy~G&Z^xC3WrS*w*GTU&=9Gw&t3JI*0$pJ8HdJcR8Hq z*$Udew{{aCk}(2F)1tzxt73`SMsr0shMQkL$Q3-n8U;+Rxk_x!Tg)qCQcfR7kHo$5RmPi z&0-Y)(qHmpyuM*oyRAsCbT(R_{*3?AlP+BI2RPFXf2QsmJ!VxNQI}I5OHfp=`=9<$ zEa>m1hgsaVfvFvaIvV;lWn)4{x;t_6Rhe5js@$7@f0iM*;~dl1hcA;Q?1T!mA5(>C zN)HP3UzUhbuxoEDk+^fIK` z)ZA%g_DeJJ99cylka%0RiY%lhqLqp$kHwHbfec?S9d3`6o`cVJtRobS!j;8pRZ#|% zwFeW&ZH38D-`<}&7Uy5Hp>UqkXkk1~i;+zkpQA1E;);g6jiU$xEXxK*v#h#ju=j*c zFXfaW{xrlp@4jwKEW(ZJx+9G;ez2&?DL+v$j{BdthJ25-#3fCK@Gc&o|eY+j7z zQ;8De_D56#JwQ{b=*5$az#j2pve*D`5~KJjhs3{c(pKut+04yGnQoY-Te)l;>4*8C zpCV6_xJg_c(wW_;P_x6vZPaaTEo+qg8x3!!rwJdprj@&{?XARqJ1zSD2(x(OhvLG- z2y5_IX?uLDU80w8O6J=qu)+vIMTWchwEyepCFXM#?Zn_hy%f^#4 z6y*m30?v3bpL>y%Aol;izxftYu3oV|*={ai3^0GxID>L)$sqtvzPvLM>Jf_sJ zGaqSb>8yp=k-pNBlF3GIQlU1l`PdwdmtAPa=Yb&k8-|Df-_SWA2qxZJ5ubL6FSeve6 z;Z$Mic+=Uu5|O-75Fue#c*Z#^`|mIQ=hurcLbo}lMK8CxGoD$-fR187paCg51-IQ` zZ<4J(QaHNvcUokoio_-WP^^G{3!7XeV%6@6BjdIh%H~(s)-K!$?HOxuHrc5IPS*af z!S`0+H8vx386p8qPfgkkd7b8-KtDoh@tmu=i1kf?pcDAa{r8VAkH6O0PxXPhpI-Fl zyr4|KPJ!U~bpU!e)Y$KIn>pRg1Hj1Sp&Y@Lm%1U-E$$oY=C>dW%rtGS{L1QG3+-cU z8j-n7E!w|Xi)64O&JJZ4grZoH?xVSCXHcRiWqrkQ4?v?g3eZ6IW;VODD)Xbh&!*pN z&mukAeJHLE|E%Zr1AFk^-us+^e3wToL$ya(aKFeeEpF1oqC z#Dd2d>DO4rzj9b^jR_oGRJ?!xeuzs{RRV|Q%QlJ+r;#*)(B);b@=pM_^#P&4mhck9 zG%-X>g8rUK^}6=IVe)_uQ63JMbFTM`f2 zM#g}AY1#7`3IW+9`wV`!!ZPDl#H%}yI@v^Ogdde_J%uh_?|4 zR0(W!-sdh*sxYYDOXJQkYH_qLh1#)ufjHR6F1JgiZL8|@_1M~7P=b;+zncGZIv+!$ z|3U#{NAP!@o<&<|kg~xo`dh zHK-T894J`jAa(I~d;~C{cmCIp*cGZ%W{dp(HzKDj==rBC+~3G77D5}>1bxeug<55k zgD*dI=f3&$#y^(~I7rx`EwoC2y(o%MvYwKX6PBg&NI@z%T++8$0FrtJ$eBCgTL?r| zpFdkv4vCArkc5RD6SI9->`tI!4FbW~Z-@gB=ja91lx7FNz8k_1k^nxC?w1YVU>PNs z4xrI?s${?5s)$NWf;Tl{Z(Yn-=arw-d5G3Ss#`%)BBX6JT%pv)Q)SC1BFI$%rDaped@di0dkG{|dx@n& z!_(VEklkAa`UobTGbC3vSBQUEw{K`@av{_l9#=)AuSPDVYACCUM8J%XC0ql*LI!M8 zeNiVP30TCr?*LbKSnJfF&kCM;(8UIm51_qJU0>IR1%=XnkW^8Y2?>jKxhp?2XiaOe z?y>@JB-ThiX{&Q>2k)VFSZX^6NY3;LH0br9^=I%Jdlcdta;17C8812;EibkpeHIo2 z`bRL=S&p-Z#TK}$)yy!kiUWZC!8#g#R~V!y^Gw#@Y*Vqp=48p`-xk;N9HnLWR5g)N zU5=;04veb^99;Tq-1%%1llAEz@~?{tY)YZNTS0wmkqi$n*5cL*NLYev?7w`CUaXfq z_g|mYXD&^+aiAcfToBb6q8bx_a1yhF_QU?&lgs@}t!F_#-q&$4PR3+48h-q;?+!NR z1bjAECTT{t{yc$gJ`Sln{$EWX?Ek9?++}16l-AB$a3Simf(;DDNXkxu?;7gJq$18~{VX*g|PkH8$5&{B)c>jcX4CaXD8( zDF`_MSA?Xc(o7yX(80%<^~<&5t^lh}hwGR#3I^cXs5z%q)gvBUwbL*Hm8d7(nMcif z-PV9`x^`xxE6KX@rAF_7ju%K{DgU~h?4y!k>C`{2%0hLy1isrWM&{;sYA0I~lWjK_ zTU3@d!X_-Kpa#lG&*~MThimT1idTnewlbWTg%AdlSlx|EZMhg_(--#6{ul5)i@&p1 zb3Inji?2S&*6Bt%7xdG4!R9W;3*Ld%FON_hiPUeel*R8_EDn2v{y?nyg8$9Q+tw`<^sZ>Fo3#kBCEf#{ANE=>Hc=qYZvT@a1B&^ka2(wK5^6a07eM z<~No?^aQ>?YaamS#Y}PldJq>M4h|~kNtH%O+$pe2V&$XPGnmG>_n1Zv*`?t!;Ei#2 zXW=sAsHf)Qv%x@&GW1!{jsNu_L=jyL>2dB6;iE_wxCWLsu4;*x@3rH;D69bp`v96$ z=#%n8vObkG|Hn0#adGvTG7_trh#;ZqN_Z9{VJ>K})@yUSj_qFHYv2xB@1Nx+oY_d9Zgw_%py3jbP{O!$RmB*brpZUF?_V zyUEN}{V~u{NjeZDgg3Gf_*amq%#T|BA5g09<4to)Q=ytlZFTxlY0MaOqjt86Kf-ey zlwhGFT;awEhzPT311GB;4l6E}&&mu0?jwYH|K~qJQFd`HP=60HqES9L(!Wo7;g5?(g{)`8&9d zYPmdmT|IIVB|IDz;UY4kON)n#m2t=OWl|p>ASA zFEnK4{Y2gt-6qd)t~qI3`5m-Wwz#sM2vI=p8||8z+)MkGNLSrI~Ap^*)Qx_?D8q zbt|85BKKW4?^4lOUCZ}=YEWWMD}1fWyX^B~x>>QljM)*hUlziHEl=y|{XfUM=`3Zwr>3P@Qz%a`BXa-v{!;}rx5)biV5~}cJA|#rVA2{ZG)!2_RPn(PK7OhE zqMF(SupEpRdiUj5B^SjaLeo*jad#T}BU^A!XoVpR`f>rlI!RS<4MCyrY^X1MNWt3^ z&$nP>_<(K_*kG(21k1%zLeZnpb9_U>9+KhbR~xY~Gmqq(WJ;TZP4tl(;~bTJRi%|< zZN(Zzc1ffsE8dBcW#PEiOrnzS{Xx#%;^(*U3ueUlGOluLOiWzB1tv`1jZjtUml#ab z9;^eX7rHrLf$vfa`}P3u+~f0ao!R@15&pjJno=iSC$tW;4Cql&&x;j5_T1||29|{8 z@-hcv^}(so6#tI zYX*p>o=ezXogdWabF7;BKL`LZ>t7nrUC6H;l(o4=<>kWfTmUhhezgX5boGnN3e3Da zVY1)u&wj>X2O14&_kN&wm~9cqx41YpZCd>WP}U)4oMErzQdLHbxY&`a5O7a%D*+lm zh02XQLByVwziVEw@OQce-m!NTMw0EHI$U}t0jT$vqY+b@yzhWM58W$Y=1OP>bt`kV zEG;ysd!Ni^u#`r1VsxX;lxBkWvuU3LO5ULT^}+YwR7cW@1_eR&`6m}m9=2WsPI-a3 z^IXjV8M!o~$6O6~*e!AwiM+H$nbtP@fNv!)p@vsR zovT#Ai$S--t7r|z@8Yc4eaAJg-fOC=nBNP=$oO1 z&0S+S4$PG5RDQN8(bnq(M8iCKu?B-PkXYXq~v87QPJk6oewD14^8zF%c7WT2XQ{A;na*{f56cYHz3HT)NlVR24l4!p9Zi@1^4b4 zJ4Au5Vr-JI66$+GcVI<9UzHXXXO|Xs z?@?#Vu5eg-k=6dkC#Et!d z5g=aZRotge?Vku183ac0CsqqhH!0hO6K}AtMq<_IO7L#RIKsFfpIw`lQnGB4;9{$f zwUV%fgq|TPBkHq5!tQr z`Xda4+7+i!Vs;Eovbi>`eLmEV0YBT3334*WMP+%(<|ZNbsav{Q8{<=~Hc#K}V8y!& znQQBC$js`bMvO(Icq4r1Hc*Q`S+tV3evs8Wf4*I|K8`e<_4{~fZM7cmPxpnx2gRSN z+5=55pZ;0@V+6A=+Sh|q`xdDe-i%+YbVI8(O`9FxG5KK+68JZ0R#ddxScWcjzkR1* z5ufq|CX=7s*xiEvf*DpgMVb%IG`{XaycO%iP|8>kh+jTeyU$#S!}^zMLC%z~RKE&6 z9N53x=sFv=Zxe88ZM9%*KmJ{_7FX?%cJw#LIEF@`LGlz1PXR`8R2aJ6Ao+>MTHm|O zacu(wd&iI~VCQ-Z#2X=pAXsq&o$}tJ3{v$fBc#D=4LIyD_`}dser+_LgyJS_TQJt% z9l4A4kQ}Bg?vx<&G0)zp?RZr2S-^$+mXmU!WT!k|?=Cs64xUdnn?$Cur;r3ozJ`SM zI6)y)It93iwz|s|<%+?+mUanPJy`uGPkWvTPIY>JTs=UPm61KQ=?@mz?F#2TaFtI1 z_dy^PBOM|a%~4l|r|g1_=a1*3PGZtQY)+s?mPDIMD^Zfmxps{wOZmYW!48qmf8+#b zXMaUSp)wLtF2S;i=|b?<7iMvm8~);vDKBEWzMf_U4^L#US4A$o=h4A4#L3B)ZqTPY z%%rZL`SrTw1R+GO0#Yi%AE=|;?MT#gh6^|j0y`Q(&}q!eRxLb-E`vOSQX9951W)SZ z(|g>@5tEU}me;Ph&+z6+PC~9wxv2AEeGfMS?AH$Ev#n)&%71W(n`DDg$%8;no zVb12Lu3vGJm#A{*=lG+l(IzRE#eBLX`1`4M=-#hzFR-i0)fIdT_?IeJ$_0mYz6MiY zuyKA39K2N(@%BBV#`HGQMExYf_WerZUC1JgLUj z@)%`ZtM-l$c#pYS04*8AoO~-`_xWPh(ViLB#L(prUKe@r%AP|!`62uyn>gWn$iK+` z3aQB057UnRx`!k5qv?CMy|L(c++&!;LZ{|}O2|}EUSNr`heMYwlc)H2GkDgHMIs*b zH%Q~qGs`|gdo=`ap*Am;E4TGf3ea-dpK`3y_0*~CU>3;U+r`wvP(3sQrMkDz77>j_vgUn>pF-2OaQ)qvn3}HA= zPu7y_@*|hvESz!6+T7Zzi^__68;3eW?7@51s1;XBpbn`)PUJFGQOnU$EKXx!Yu+k= z#N5@h0fFRb1!cO8OObcagTj*dEb)2*qv;C27)PdG4= z(c#)R-+;8Lx%|&LLV@x+wvo7{Sz~^SrFS0E=xk)cpUG;iUl7DttWFLMOR;Lzj%P8Z z^;VxK!+m}cVHR7Fcjy&C$+O!MK7J%rH~-Mp0*;ad*~GJK^J#fh-&xQ~B_^ zUHNNrI;KrL{K2||iw{c)JR_z1V-#gZ3`HY=V1s2?9Y`V-s)g zM4wY((r$ctHzKgrTjbucTXNkh$yzU6|JK_#?HEgeL~5mjx5gRvN{|Vq(5-(<4Xz-t zJai8|MYmqs`%z~<*~7v^5Xpl)C;B1{8nU!%5_aOdh3K&F4IV#erWI#PEw2&spfsQO)ghMJ!wHQKn}o+ zeqq(QR-#o}3l{Gw0W(uFG0||#Em))YDC5DbKlT>1jx(NTRZl7L;Q{fOL9=qk6Ig{& zvo@njwhb*Qw^bZ6v;y~h%4!mD@($_rgELzd|0s2h`({+8l*OxT?6XEh&jgnm&J~V# zN?8a4#Tamm-?iROC1ixPhZ0(_FO z@C&de);a|qzME4j_HNL}^bhj*r_SOK@3Yh!if?_(W95T=h$OHN<5J>r{(ARaj9>ZF}Ipjw1 zaQa0@C{du=?p+IFaTF1{I~XW*EXHy{H%EDn_Og%(Vl1z>|IEK{>;X0C8PBr9ZRSZl z=l4@~JDsP~*1`LFn|Gz7NbMd01onsq%9=(s!~FPJNy1V~qyp@Vy57gaaR`TEZd*&~ zDr@wFvagA>NI)Os;l>P_S4zQ|4UzKjg>`hwR9LFk`#xXBh-&J9N_CMxRqSQ@gzDd+ zsAg#4<6`b^1Mx5@Irp<%F_aFZzi9e;cry9#%YxwqyW^>oJhi``s65f>h=%PP<8mcg zN;MM~K7t<~Qwe$=4@xRCL3lEiiW-QgDEoqLt-}{>H>aL|yJ=Qk?hE;?N%Z=Ni54xX)!ouWn^; zkbLszjeu^WN#LKgXa48=aueJM8R6qCEiKSbT{4VW@7#&i&u0AgzR)qxzFMkqr+Xi$ z8*0%OIXYFY=q7TVKHnzSt)3)`XNfS8oQ=IDyV^!1*zBD$h=fEF?k4v43 z`5LhrLwJgEd{t^Zaw$3KOit%`Rj;Y=7o4Q{gg0{IHyc%cS5avZP8g_o+{W4TX38{P z%vAq~{ZwAyWzS)qxbbPn*~TvE;EXVGjqF2TCZVL>*sqD+&^_%4qeuxm(zjyU@1f*T zP6>@kpgYOH3FK&}k#(r~cE4u0PO(1CQ7psm3Dc zpKUF7#ePrV-+AK@$w7rnHU5-I_sANIBk^{=Bhn;DZ;pdwQ>kOiI_G>#?kR8rWpJ8? z)Ng3<`_4F}g50a2oVy0!x>WzY54dKgwWz%Wc*!RzSy`;<3)F8vWvxCQTlSY?4F3T{ zO-2e{2i&N9&t8C|hDYS~u&xo>5Rc9%Jh1mH?RO+SJCGM3uq;s%dg50CHt%rDHNO8- zNvQe@6&q}co(Z=R#xi^ea&9@0SxEt!i7r^({n)&@oOQCEaqH;rNgP~Q-C#h%?(%eJ z4H$QIVB2u6EnT@H^x~^$BR9$&e_M7N_!dkh-yYO z)|^3w{%n0w7WH*|YLBKhIkMZI*-$I)6v*KJiwUz>r8Rlxk{M>@c?+Kvz$`v^yW;a0 z_a%z49Q|GCeyjhSVhP|zAYx`?dk6TdzUL<;K+Hb>eL!!nGd z6t2P6+%kN#=Uj(?=KX7j6Gi4{NUBzxEM7OFWIUfdh_v}JW#|^K_6=<6W&(J=scL=_ zi9SZY$l75cErH&^*8#j7y@cuqWRGO=D4~bpHrz5rWO1D^XB4OKnrQEs`Za?iaYT#u&vaIPbWm z{l&$DOWE!0>_!W(;iK90Ab^NlJm5dj(q=co;@EVKG_WGA98vGdnWZxs1wc7_%_Upr z!77d5lIm2Ix&b4uc;spvctFUD3I1wZ3vm3(OnTp!T|r^j=1hPLi!am_Zf`p@g6XF~ z=DHU1Co~W;CZmX3hsW;#Zg724&9P}4P?-#Kby-eQ+rt6ol_4y(xuW{SHQlCI&!}p zW6V?hyhafqJTrZ-sC3_N_xz#)4`5)B(^>FYr&<{Y`-i8a2)F;aX=O<==45H??9N$h zpk0p_GEU(71e8fz9>BNl5YLN!SsWN5iZI@!6=6T-Q1~ z>Za}(@Rh7~k(fMJ;f@`fCR2`+O3{n@?i+JfBPZHkt{8_FhXu>er$g#BAB~zl9b3yh z+tT)CZRY5CdW0(Qf^nDYvNR10Sal3t!jpI=0&F!qYnOrhN#os@O-QiR0*9aOPAxl& zn#AT(N2n!OH8CX>HIy?Sl;jW&aG65b?7s*fN(yk93U;@YAp-#ONT_;Q*%ojKH{wZ% z|1x5^9o)u}j^bAOXG zlY@@r6N(X|)Bu36RYcy;J@i8Ibl%Ive6~ehU7ZfF0>vnz-lk<9?Vk6$Bj6~ymIRnk`f0=`?O z-(E1M`KDfQM#|({fZi0XMw#Cy@wQeGY-`RD0(;!xA9VBG=wgn+Zec$9LjzEKjhfs? z@-N}!jzbsxaW1iEA9C}flSsFKUKlE-B#j~~MV4?Hih6w!ZQQp14eJol&g5y~N_F2K z36jn_8Xau@z2=_45BK+)-^uIpS@Z+yQnS~dla$0fsQCoyKA6QA9X+xC+Bd{V?`|!I z`$p*I?fqVNArlR*M=wqfkWZ9Kq)BI@b8&baVrFGTKO?b8K%?1<<|dJ+8oFdGdAORn zg7wiz+afo}!RGB&%42;a8gfgbB5}JN$G7@9i0aEpAJ-j>@V8WJXM^0t)3)CqlVDIfagksKrOALI87so z^MpWZ-1K`ymu8CzwVf{mjLw%0^-EvhKAIM|U}JQG0?~<3-h-FqBlP7Mc>A1|^;&l> z!GNSC{5u{xci(6MiQz^0uQ8#y6-ciJ?hKrbFeUu4e2{+BXfyv5_c#s zK|HU+LvRLOoktxybYkg0g44q!BK(23B97J6fd*{dgx6;gmHIo7*iL}QKdv(z>Vm4K zsfw#~21KwNyB0jrx<0msjy5JH*wWVkA-3E;5^;*V#*wuOtX^=ozF za`K^!RXP0m9y+UH*th1L@#(C7cq z_8!nw!2kbnL>VE3WXsMdlI+dRc3pdw?OGvZ?`*CeLbhvW?@^JJWbctk_8ytf=SJV} z?|05~p7Vdsd7g7Rod)h_yg%>#dc8%++udb8yf@#{4nJ?= zIjqJxOopx3cs8FdYAuyF|EV(AI57--97vX<9|c5Y`(=+^jy59YYXWbRkA7hoHnhyzyA^JO#Ma_P73k;9gz3+$5xo;KA+khi9jN zUh`f#4F%$2qxL7hFN=jzG<~*Cj{KR>&{=k@(g22OuQsb#5G_r$XSd%7x1Vbu(2(m+BL?qo+}*UW!L~F9Vc}Hsgx$rgf2N_UT`iECfEdn-kD6i1t}uXu|jr_2U3f8zs>(b@hv^I z>2lY-I#T1i4n>@DMk`LiF{uJh1IqmgBacA4-%Y^8`Hm>2!`2wUCU-!W(>>2{p(NVu zOgv&{rB`c)Jh+0}heto75+wz}HoC*>m+-6_zdh*N@rON|+pJ-)SkOLTtV8;(ys3II2 z-Dc~5*uuKYCFq9H15(H(X=hFr!_g3aZ)!=PsNO$Gzn90>N>cm9hcU;zG~TE7p7HWm z{y(knQ>>%KKYEnveYI*+ILM<(@;?2oPdu?EjFAy0(TcOHOu7)vB&&EtJtPF_Y#B!+ z9W|5HWIfE>5uBi-K1siuz}Klpqw&l>r-{yOI335dWnD6G+>AtO-!Dj>vd=fp?aOcc zfu?+37+g{7>&T*%XNYxt(ji1C|z12Un#kjp%+Ol!*xWnVNDj_Cu zxj|zWN+9n*t>Ey-+N$Z@(~(rUE;K@~Ka6N1_~|0~85IU2SgUbyaRI!Jo^F#rH7IB# zSSQd?l>kdCn9U+y)m~h|36K0EXR%%#6woVZG)TTUS)=FD$&uQ97QFEi1dB;7?N!uK zh)};G)!TH(bjJ(9FH71~Nc1j$K8yD{iU*2PRF0JsX~w!adnI2pjwdpGY_aF4Lt z-tFLb8h^%$@BRU-0kXMDsqnZOFz3T!^F{DMG*Ko4=-RFD`&|z?;#&md6NRK4!yX2% zu606yd!-!ZiSw1<_D{00{+t7jGJEh^Q53EoF?0o#*{z#R#*P7-?*jPqow%Gl&|9TQ ztB?{)wy9e))w@41$_o0%YQH{4FPq^q*Evz^PlHIXdENa0ye=!EfI$L%B7JilWC&CD zYEH6P2oaMR7aXxjanE$|3lnRhZ8Wvq>)*qSy2poGn*?yR-iSpI12O>gNm?Icv+1%+ zJNRMeGoy^KQ=hT0wz40Xi+gOJap|14S7hqW1IvRynFlqplaGjM%E2BF&5k}PFctF#&%`F)L`lrKf1d@M+9vmXdEf68-(&zm092 zgpAB8TAZ#RN%}d&)j}2oS6)eo9I{0*l{b|k=L5uTuOL=O3LkR8q!){U$~vmxYBV&e z`4H`g(r5iaG#*>x5JSIV5=}iigmy1>KO@MGk$!|KJNFyg-`XUQN|uIc3a8qCAuk7| z^cB#_+AH-r^;)CQzyV>hlz|vOREMgY=6l z^DNy$^TGEQ#*Cwe!}t=o8UdH7_ZR#shdJMGg!XjL!6c-PUu)$+^t!-A1=52g4IP~V zX$o1-uSVwp`c?@kz1#PBN91iEd<&VV&VaO>{F z*4+YC$UY@Mt^yGn7V!mNp$3z;0SE8?frR8}A;1X}fa9D^_)X+yuhortT+_9Q``oxGa;m@C@+fecCrcJBG z<*34mTa~(b&JGuKsX6)n-11ZdXBUMCa$LSMl?gieuMHqGAI^SX={+KuaQf|*3_x}~ zg&H8PV)`o|qLstf!tjIfF^Q}4$^eQJXHj)wMmWrlPRBhntZBG@EZ`<1v=@N* zbi|B4Ihe5GTBWn0a2NyG5JLKuakKCb z#A+_aD{Bz!wTDf-^j0!*&JrsClArnPx$}~AC>uO+*3z(1f~_Rz5OhSy#_3o|>?upd z1&m?;AYOc%Bd`!uX%Es|SPK&n*6~HL0_h=Ht4~X<2s+84hANxzKJzqJCaIEkG^{tl zjUfk`>gty3GH1QmJJbQ+`?F+IT&z~-_+2*ij76pX0Bq#l$q|yyZ-_LfB+`CCx+A}) zv=LN{=~P@|o7#@vL3{lW81k_9AtDlc^7|rY zw4{cV6^!jjIs0w*$moAbR94HE1xF)Pw-?D@rx16G34dos_}Wjgx2?F+JxvAG(uotf z**q@7Iu}6IahzM-cI0$?cxzDz03IjIZ91R9CA}{s+J;v%qaF!!efb7rhLW-wIW;1++dyO1yu8~suqH$dkwdM2c@pewHM84)ul zcJ+Bno!irc3@qW{hJcF7>~XyeaYTQg+k~kj?1^WJJki#Dv=*WC-TM@!tJ%27xBL(? z)nd_@y>cZ=3WEWqsPaZ4sQAzJzJf*X*`YSPT=y4(bsGT^<8snZBjO6+x(g$qJ;;uY z+ln2Tdfe2NaeuPsqIYJ`*k!j4<-Phis!L0S1wR3(SSW-tE>9m?ocY3&m-)#F^i46#xZhc+^Nw3wh&^>B`G<(ru~FQ07a1@m0D|$+qlc@b_}kzlJ$2nw7_eszAaI}Jk=>d0koAH z2MmEBL|i)F^E{X_C7@TB?2Ol_4Xb0VEHpZJ0Ehg1)X>|hF?au3v)*R{>MaL3XY>=g zAWC{v$MYcTgx3&_aVJ~2tN^z0+JHP4iQ_BnhSM&O*)QGGdZMT*u3jGly3%1!(vVC` z)gk~5517CJFpmzXDoL&n_%@6WP2H*#k_h#S-XkV724>O>q2ufX14cPi$de%=Ywd~(cP7UCi7M^&}KUzJPiy+x|v8x4N2UQvGS`t0O_cE{Y2ZX;OQzy zv2<#e5?VGCOB8t7q|)WSsgZ#W?LNnj#)}pQ<%7}NF9zN*54e?gCp|KLBli3A(zD9n z^}mkkaM(=r8tI>{1#{K|O9;1-eXL|9Au1*^azD;UPtSERe%`E}e~4W5wPuN)rQQLE z0`OzWR7E>Ki=J-z8`EUi9_f9)vjgcvva}}=(d`3#0+E!8IK~i2aOi$t60o~I^@}7N zO)3~v$E+ch+Eyag9rtDCh5h=fK*k%V%`7jV?;S`JOVcLcQwxo;rc~1y6Gj{Du^_?d zysGDHmI{V*+yM z{>CWaF{W#eP~hWC$ULShPPwrzQAybH65%${ps6vAom5@`2F^IifJJ4nPk(pNR;UAL zvd&WU#V_Mc77BAj(8x>e^U5}dYov{Ke8k%!$B?fiE;j-2p(+%_O9e(gW#bvEiXR{% zl_Nc5jFnx+fb|B|EtB~tbK2C@bfWg-nAAxS0S$Fkx-n}hhbv)*BS^gH#Ho1X(!(FG zgq(l8d$@ZPnll}&5RO#};sKN3?{0o?arnui-}akZ@EsSR3N{#%)y<>(4w)Qui1`XU zr`FmpOTOoIPhS02S)Qn}s+7Omu}$uKAZGE!95bPeAv^+%5VLan=zdoe>wCw`bP-Pz z5dTIjI=pa=-EPKvz%VEHdiM4j+TTiT)QB2n@h-##oh#qceD>8_=W6pM=W_iPJ@Lxo z_;$tej7IIW=BYDJXnn=Aj$^*Z)t$Qq%CqStB8sJT!he$;8=5FkidA2BvjGr;&FdrY z+@pf)*07TXB88jAv3Z6xM8(+ym=U@@9bkRH%eQ4X{a5OPc6|qwhqc{qZ z4aen7tetiyzIi8BS({B_f!wbER3`M z`Q!x-b7vO7pW3^JCiJm!FEbk_+XUy^wriXf62&Ugnq|1yEXL6;N$4jE9I^;_Jw<>5m<1VZnNvM|ayrgcM1qa*5e2oXee;&= zdW}0!wdw2Z>Ho`rLsz)gFZXELH5=L5`x<0JnH8m^VV_{IjE^mU z#G!$^T}zS%X+;wTkhLctFSdr=L2tARMrZjY3Yf%B|k( zi;C-XBl$D*4hIG+H7{LbbLB6S_Tn@2U!5U3vT!aI+O@12D#Suwm5i8&!5&gqsJHC? zP*R+)Q;dMxQmZ#8$sU&~pQ_x)L3;hh9P#~MdmvJ{rdFVks+p%xGFTn15iNTf_b`WB zYG`>duc2UM>&0h)Y$UjYg|vD0w*I7`uq4LM4_#48cmW|f;ZRrGw0X)kp0!!ws&&3=t-|EZ6{jthv?T~p8+JD?#w+*7_banEvAS)RgV z{7vo$cGq!wW0^MI$fqv%=@EzH~ zKu+)YnwPNx2>hG4dGj9(2nTTGYBQKcVz)4oVc7%3o3>~8bZ^wEifWWuVqUDsRyi*N zKV`8UIlR;H*SrCVU<-nA7* z6h!a34Ylu0j0*<*T`alGX$DjsU<=GN`uhJO|D}6s(V@M1Gw1 zvNPir;~XLjk~tGLR9u{> zM^NT6%to&BQRN`+p*lSN6_ZO+wX@c%W2<_?V;U#za=!Z#YPe5K>_|E;;Gr+`}82pEOk(LH-CZ}9Z z1`-G*NKp}6ToN@**(;0|zM;c>?5-k8QTJgXa;+KDXGF{^(=C|!b=l6Vd zvqPN`}XIN*qLwi@^aH%qNN`voD^Pgx`&OFg^|v$4@$yd+wP=^xipm zO0zA*9LW`vT8)$XhPtDX9e0tD`wYY%e_q?#j4=is^h68x{iduooZUXlboGq>U&k=xJNB-Wudz2XmYvXF9T^Z2P7w#Mcfv{*0 zfa$!sMLypde)B31tp!lMrq%;5z#{+3-H{J`>*cL-Ff6B%NR4`09S4MHMI>7 z{Hmj8m$I~=O0|%EhGQM&`LIDF?dU`I!PwS0fDu^!Saj1KnTTORB3(XM+gMH4SIm-* z$D|Omg>veSGI+bzSMtVMu7BKZ=uDW7FSd%^fO4SRaly-;-g-qqe25pp1V zI^XU9TAZW;1OfXDKbUZ~;K!`n0?7dX$2Sxt zY(0gK_rVi-?V0wBBT^GGtun*z?Nupt+kQA%X`)6B$))qaeRi~akY-XINnrS0 z`k1XuP1ztJklXG|x$g8s_I`zaX;8}I^(E(MUt!(Vl61#G`9*GT=_B5#@usGCPLNtX z9ld^bG9f4tsVAwj1$FsWf6q%DVD0HYpDl|4YY(VGkjVQTGVt087<)y-a!~7Qx{Nu#5)-KGkyfT_wfm- z!PB}7Yaask8GmeP z!CDe@DAcR7^mvUi{sA`y6r6cK&cP?Zr#nwLC7F}_8r!TLN+h0JMt$Cm0;O4HBvGfWGfjC-IOwuE@~iH`g@( zBgdJyfk%8tjNI!fVEiGUDSpHoB>`8ceLHUccY}X4ay-i3a~AQsq|Io*u}vbbp0(}R z*;jN}RQsVezFDT2rsramVIP`kn(-ZMaPHKcWV^B!TC6o-81*2osiueLfd2QIG~4l7 zefd@+9}8y#t4J9G4zldKkwFWJ*k{(QO?3aq*p{;42PW`d&zZ&OhA%whLhk_~?XH&7rOb*EZs|arj{OI3oq_4a2+$QU+9>bmX7@2DneMX>1^5}4zX-9m zn(5HrU8BTVIdiyHKjH*3`}H#I;UWyT0Tk?KnCZ?gO#~fBw=MI|N|i2z^jEw~64Pmm z5fT~XH=casvf;*hZL6I9PVy}}l2K1ZX<^THrj=z*ww2{sMOEdc^BG!z80}!CL%NJw zyDs$U8_kE|szC5Qc1AqD-+Hq4c=aJcVNcl)I%`sCbOyu$#=B-3q2v6lg?uonSL>wl zlDqC!xH6X%-Ebb&XLz)aAvWNeGIW2l4=x%df4(Z{t8yu(D~*b3gZsbVab(FZ1ernR z5(a6^f6;>hH{9bO1OBz4avxAUZDp8^sm$SD$t^7!$}+vYMvRyS%su#!!+Llw;E$;* zxWyAK7LK}G!gWVaR||~3jllJV5c!5LF#n!(mUz)8PXgbmjfu#oUC8qpr=#xmWF{Yx zo)FYsEn}KlH07le4LC3+pJ-aDSLkiM40-&Qbm+>SayLBh_a1d+uQ;I00tc!hea^mBVubSQ_aLuxcZ0-hPNMP!9KvOq5G+VHA;czB5(HJdwu*ClsppMYV)59WJX;eJ#qLM>H=jp>#Z0A zVJ`39_N1e3&rVaVyH7){M|V(O)5(!TF>@_;bDBjfdGJ8@S0`0ojYuAlTu0%Uvh&Gq znLm@brY{mVG8m>hU~xk=EydAGqE>hUndU;)Chm1}A0m&<6y$M`kA4`LrK28YpFo@J zFnE-z<{#L=nwy#D_VnojVY4p!P(W6~i+t_+kD%gGNp>orD|tUp);$3g+7v#UQU7C1 zK^pi3{>_d5=+O^!ttU4qSkNX&hE5i*IoS{8g5+UnFu8{UtpVMB*+pSYlvh5U)i`62 zON_tEH-L1g`Dw+=aV89RbF-T8)@s&swPrT1Ni-!7WU^nJFz+$xPyX_O$d=lWLD@@> zu`o2{Q>5@~FS7A+cjqxLKG648pV21tmusu#Kw)LIy)61zt zRaFCC)BA3#tDgERWcdx^m&ZQ`rcC&_*>~J}%LCAtP3>FPEfQ?iKtj}7iluUWZsg8Noptb@qVO|V?Hca#& zRCEOtKBK&zbD*~3?=$G~25cqkB1Rot;9u~`OaLwu*2m8AT+wB*>f-xNE5*_XtWCb;dCvp0P;;iO2` zSvU=n%W2FVSAX;uglreP#8#>gNT!@&wOslDDkZ4z)_vmUVEwx99V57hY%a9CO*{a} zv`c5o{B;LPEFL|2DP>o``(C^K@;GZ?YER1qw(BacyCm8Be*fv@KYF!oKnoywy2kxO z0SB4%J`6=1^l4(lvO0WQO*5?rKK+muIFt=+_M$Ilo z#iYoQ@hPhFKd+RhEC;mHeKfwT;d5KQa)#=^u*#$NnQ?|kTZ__;K59uc<=3G1y}9wn zF3{u5s_7@mu4DNEvZr3I>F*7^anB!N<;2eq<)gBLHo z__131tf`lu@d*2J!tW7At&58cRknXh{f}Sq1O!6QuLm|jXvI()$gkk}fCP*xz9zpu zxw&qo$|1vUpFJk3*JCs=c%>!F|FYwEpL8Sp186F-z4dwdjk@K<5gJ~tQhw*91BV|! zsEQkmXLA2yY3A;u5)i89M@4G+4fFrF0N6k>V)eEL=Uq=l6_O z7(kT`jA0(9`PGVxMtZ^jO=Mv+KR=&;Q5$-V$nG&?9+&7oj+)Hyv$kpw>5aX9#CO%u zfB{T0h2PYPwIFuz(=){{E$vSQ27JZn17MZAQFw|DeH0`h>yrC6dAh->TF+gNnSAI$ z$G)pU!eTwt-mGz_3#wf*HlE|1Ix2m9*jX)jXHew-$%+8i?odB21_u~NY-dtA^kw_=bs1t1(Pg6ugrK^*t79Jk_nDT1 zV`^T5qfqqC00Lfqtp7ZhDUig4!vX@7{TXV{SK z`3sk@?+U%|InC4t5MnQE6Yd~2Zyx$G4Sa}S)?Nf)G|(^>2Z-$io}7b9YV@~MK|$&z z-%gAp6&`LH>i;MW3smY%gH-RnFD()9tJ)0AQ?dw;Je{)G4F*|OyOT{NT`L|JUb`VI zP!pTB5@?YxdCa&W9-n9`ZN(Rb>ZVBmUKnu?Pi)DTvgl_`UDZHKF{FS%(S%s3Zxv9X z_IVi>Kch882AXLq;&0rq+u=qv@bXMGf#wA8Fc9%6 zb<`4|DCGdMl-B>r@#?M6z6G~%`>U6E;WIH1c7fs`Er&8kkeeKt*1H7i&eyecXLqz20{9O4nlr6xn4Jfg*= zwYgQAaN-dYN`Xq!3oy_cwwT&k*v^*i1vqbZCag;NHC})g^F+`M0yc4YwTT(R&%6IN z@fx*>MiKL{XRQh#&HukJ79d^rG$F|u^fM}~s#XIXN}B{ki7D3h*dRp$etbY>rG(B( zcN=EO!1&?1fkhUPa$$;80ZeL$n}poy=P!$Vl3+wZwS2r!eMYYIlMxnjb*e(OepL#X z7fL@>6RVUUE3NVjR-pP5g^8h|6Z|#W0+7^K7RdO>KjQ;sp6<(I8N$H*_^C8OVnhfv z?@eY@7TOLl)|ZK-WF<3ro$+(Kni6ZJ36ln1Z9252cl8FaNI}vRqp+p8SpP%O{%FnT z8wG~A+?b#yHq`3GPoePFuFeqxJME4kfEV^-4DwmYI38qtpfW)5bbmjoe-6y`2DL^c zD1Ff84+LMh(eGNp3Ks^zwXD1mQ0-UI%{HreS8pIKsc%>;1#>EbQWdK7xG|O%yhjcc zB`5&3X2X1qoR^G?gsRFVk9~RcSsY@5McvdCs;4ThGRy0a4s`u~m5L+%PU-uP#JKq8vLufI>J z_}0ohcN+WPct+`n8%*iP!mdEXictPtO91HYC;kmRV%FzvP3b!3c z`}CpcnfnA7t{3`u=CffHkdiwUhkDh^NQ)Q4`jxFxbSi_9R)s(=iJ8)=|tx=9iC*Fe~Vv&+7Xe<-R>U9!JK5 zFwS|NuiHBh@g*=-QW1W@JU1!6Nn)3fVYMGv2h3m{W#wxDfny= zfw)UuYvZ$RFG(woBU-85*O&pBO!{m={FD73l3SI_1(iiCjROvhZ#9N$EPA-B*i|RB z5{&evr8rdm;2|-p4~CunLz8iQs{%n;=Ya3QIu|-ZwL%>>jTuVUOuzLDfo?O#L0FnDsZ-9FukpRePIlSjh90u91maLMVWb5dHzUSzTrBViFRP zuAD>zw(B?XAFnH(!Y@x?+c-q?D)#eLK$$Fsb#0e*kcuf66!_Q)fQWa`zG_@XU9W+6 zI6lLpoJhp~WFRL`OBuWZ(c2)s4oa(rz$vZ&9sBDS(|E0Y)7Ml%*{0@LMtQGjKtK#3 z{ffslOPrt2qIsrSq$oL=SyY8h{7t=d*Tc}RMFT4 z@f|()iVS0BiE6a!Xntq@@V=Z(u~oDi2`>pXo9WQk-|p4)`xq~EV+-lC=mp@1`1IFt zDzd#*6XHk{JHN~uX}8$=7abYroMspZ*So|{%WSYTtT$#6K`U|$gV@LE(+{PQo9*B4 z{bfqpg;%9s5^;Awev+eU;3}P~m|`|TT>lSqN?Ff?4Tf^p%t`h#++s3_xiTl*ao}BW zR~qX-c>t1foZA@m6e!d+55;AuhCoNv&IxzEoJr`BaMB+f4`jtBjl(jjf4EWW=8EUm4< z+%|rI(xq^->E46?T-(lyD{GTN$ENjR$-`Sw&kG-N>Q42G3$@5skKkBgELWA5*3UB; z!jpp)+l?_4JYmz02kIRdYuZeDHh5%cWN2r8>QJG)ZS1RFO9baimGiorc9mIbk!sKW zDxU=aMY(mQHEb}rZ&dRD9qA%2SF+`Oap=ACE5%MALD=i`HMy``<fyA4%RYEhA3qq5ud&h1Oc*=jDVp)KNcha zB*hFD@^x=_q|49^6Qq6?K=_1+RmCVhi1*N$p_P-eiH4G3k`O}q3ic!9R5;Wn;7K|O zh3ia=CG&w61((VcQB0pHA;Y24Qn8#vpL(#8pPBt+R8G<<&@H~FAl}M!afP>BNg7gI zQle3MkNkTJ7dVnE<#Cec!S&+OGJ)@OG8Tr27;{Pr z;L-8%9MFu&VHWW!CG0}f`Ghbc67R>98U(IO-yofjXN*uMDR-OB?aY6mS*)S@MYHP* zUc1akT|8>wYQK**cz~i~kfnB&N={z;tN?nlHXHz`&~+mJGK-dm&qFG66?|HPegHhn zX-}IH50I^yyv6Cy34ASofmp@MqTdz?Frz00f*$JRk$8qqHy?ngbLaaS+$c<5a*$jAvMU&_%6XF5`jZr zrPYO`fSC+M@X}YUXf<_DKHmg0tSKnu(L-nv@r(mX($eY|&&U`voh{QDQ+Jbd#Navp zp^-YO8tjD{$j*GL5xHmf$hf#TIaAYkRgk;6F0E5sq*W$C4fs`9Ic?*^dhuEnt|jU@ zgdEc;-`w5EF1^fcDI9+{Lc0oY5sy%g`6GRDO-Ud{lw?J>ghM3YZ=BgvKn5FRF+sT= zs2*3cqiWCr*1UdC1Jy4Q1jOk0gBqxM;2?9Ae8P3q)QWSR3>m?_)F&r9$M5|v3tTJj zfpqotC9;oEC^R$pG=DD4&X$svNxkp5^i4Gr@D5r`Dn27wA3n})1_MueHjH!7<=$&_ zkOG)ejRhQ1>m&(Z)sIQ+aOv1e*bI&16Wg zafpD=&80iWi%MEx>4}_a5|MI`yy^6WQ#mX53Y^5UQRz%8&*0uY*wK7%h(v)By=MZ7 zn%iUuRCy;f>UC>uQG{=DEna89qB|}r#`Z+?%s$EJ)au(K5gGcrM{RcU@6FkxPU~sH z@@ug3O$YJ$;n7dO;SqA zNH?)&AD10!<-I5L(JN?FL&7d}^D@&*ROeagvqv6RvCyfT6vwEJ!m1$17}eFde4WBb zRVlm)mKW}^($`vwKPo?lZMiHXYLP|9ntfkT&Z&}+0oGZG18#}Fkug`%fW3LInsGp!CxT^%sHe^oIY@@8IK zWGo-n@CV!#BJlb{iSB$a@?!k`d?Zr!(^oj?bF2=9H^_vA>%fM9e!+`^%hL^`(YwU@ z$YQ*&5*OhpwTpJBVpscQY1srp>Ljo{s*;kHA5H+~3hH_fHUz^edLr^pmKT(X5&Rgm zS!RX#`B?W1;mcjJXM2@5QfI zX?l6pe*Yb$WK5-l4THft0k$iHKK+~tjNXWgq{7Y4&(C7Ys{RGn&q7Re`&lu7KF!!YfQ|1MEQ%KGTM2WS?6UA@y9MsRisXhNThah@=(eU(<6xjygTU| z4#)RZN;g0sj49x|Ic7?v27pvWf)^DmR}l`x5!5yyyZF||`*z8Cwt7FRv8BHVX!=Ql z_~qqsGRI}Q1F*GiRx~Z9D&^Q)XRFzjm4G8fGJ#seLcc5(qb!x@t4{?>f5%=hzj*H9 zmeGofY;UK4!G^Q}*;yD=1;H%&#`=N(O@bXumogm<;PR5OYte#vL-DrL0?(E*m0}Xp zt$NL@)gZhoF9R`z7{9;Id^dvBv>9aj^C~q4N=RNMXQNpNK~m5m+31`+t04ZN2{@`% zVBpGb|voa%#`|6stACVpkwmQk&4%hTRnMZz62+{-%?;CPZ`TK~<=P|l6GZsiUn$m?)g zq3+^bSKVYtt_%7_22220SXj{Fx1Y?zxJN<3C@Lx|EzN-d87H|0=k-djR|TAbFlO$J zL*=9r30+&IpRy#s3-w~eq|oEpCM-ij-Egq08q1{F;sQXbC7ZO+lS2K~5R@@H!N%ap z1ABE$vpXbDQLZ2@8b-Og)Q~k}wzEph=Y{dEG9Q9 zgN@bJ<9>af8;%xmxLieiVJKZIA8%O3S4R~e^gHjbVX{g3^x?%nifY8cS$LpQL@>QW zMH7{E4ULzF*`lV!qvkEE+x)THa4MNA_Xgs1WCJ1tN&! z0r|e4@`i5cvXPV$jy$3WW$%=yF6&%g+oTF=l7@ys0U?_BL_CQ4gF27Bu=94M=EFbV z+D$oCXj6T<<8l`g`LWZLAp3*Z*lA2TJC@LaT=6bQge>$ffxMV{=%X(t>93EcVD%++ zk?41{a>ODqpjHgw1#DUPkL6=KsP0oIbmv#ReU}{naOJ6t%$K5-{K7S&TiGQV1&>d9 zzkZzqqsi|vF*6V1zt72O$H~IKbt`-NTYNj=TuO4g{V#3QR>5h+)3z?Xk$Wp`a2<1p zjAbOq_D>W-7J7L~-D*C4E z)s?b{L?R&4Lzv(~OW86DaFEFXs*8mMp#l`KI7sL#%|KOk74_IJWSA@;oY7d1@edn{ zi}5WA9W#nYq&(RoZy+P@;e0dpFzSXoI_|zrC!oE9Q+nJ6_McqvTQC`FrW2^z_l`ey zd#dHoy(I|f6SJvrc>jOw{#LeGJzuwx@O5N+I@1kkn4Lk1dANM-D-DS}FQiw2ME;{c zBJk{o9B4zx{GvpgAGOx<+3!CU#$@>2QCbW`zw<%7b^S(T!850!W+t*H5UbtgU<|U` z_%|L3^V_J)P*J6b2~o>(Ck5m#7mDy)M;7L?9Y+GDgqrP&^fUIKuA+asl;?rcCa-an z+{QS{HQO$7WkTI7xU4$dt-6dUbHvZQ)(MQz{fx;8nXW9>%Zp!RZe3d2NvSZ3czY;Q zmhDQ7qw<~zBa~#0eIz|1%t<)@;o*3RuP^Kdv|^eja`uZDd^<1LcW6E(ag{tP#)cws zZuu=tT)oGQ4O3AfZ*b=f24l;Wqvb6@!$u~+yPq@z0XxAc5-SK$Ri|~*Z?deq!SL`A zuYX90?n5(1Q1k z&E|t!MBc0>I3Z>?^t~2MeLN%nO~t=LeMie5yx~zF z%^yKKGx=NCzZO+}(5rF&E4jeIyXpKzjO{uSzmY>zl;H+c)6R4>?N;^#qxPS({M##U zakAyYo|(eb&tT28?5mQ`wDTkipuFl;LOUos_*_*t*yEn(@*SH787f*{7mL(b=Cn?Dv1;!nQTTa}vsJ^sG553j$*qgi*_IT0cUC^w zY6a%(5c{Hjhojonqmu`!X_42Ek^^&%6!jpTqf*Ym@=E4W zISaELkHvBiq=6$a{|g~Rb8?ikje_T_^K*F+Gic)+Og*7v1eEYpKOnb$CJI8`)% z%BU3+C_0JUii$9P`TEx9te#V%rc^{6)q|tcs0K(Irg`Rc z^?ph0W8GPmtXUykjK5NzCD>d1DJ~LBXfqT^Cbenc{#qS;jWC~v?VJBJ((iNV>el&; zx+zmnSssMW>2l%7cgS{5&qX-j4XEsO`|z(a4}V1^Tm)|8u&CTXr&6pM`#$Uwks9%O zY2Ngmh&x*1%^<=M8N!IR_p4U8K|F|+@RZg#he5V*H$d@Ic^z&I|7fx6?QhUP?aue- zE<~{qRv+)7R&gmcC>8L23bhei9<$BYe+=F=r7e!>mWjN2AWIRM^jFweK9Hh`n3qbI zmPai%sgCdV6aoXeM)F@nI3|euZ8ZXQFR3n?zaG+q`)Mt=)NIDKB{m^>D|r8NFcSxc;Z>iB&Ed}TO{ zaT53!@-ltI{~oatc*LfBrq%dwH`~X%wG&cFfOM3%{dj-%9;|N9IUd~GVmnotp&$|Y z*eHaf(yH-a@rWvpoooGe7osmstA6%$C@_%r*5{XVcQg(VIy%X!YHG3D^yH9Uh}s7{ z58}q>l_aB&t|LkKavI-r6FsM`3TJu{m4V`(KKjMilC<54TJ_Obhsc{{pAd89_Tsa8 zUE$hIF`F;Oa&;Lx=^Vglux<*ZrCgn?0qSH+|CGB|4j(sK*BJ93Y61_bdpy`U?^5wD zfXBS%F;wvL?hM87qrOHtuz2eKv3TL*Z|i};;$uLw`txD$kIMp}f3kAJJRf-fmTd9k z&@DO3AAhxEM$4Nj_hM9dU*gp^26N;Sc1}lMba`;z`fQ&zSyhD4fGsuGU*ky?^``bd zsqx0uA013PjuhNzwYxa5%bWf+6hC~7=AO&P3n2W2Ky99|6m zBoGb=ilpiDP>Iy#J{vy*Sb?u)d20zhKv0O*=dEZ{HSxBCL-qq2oybs5?3*pG>()p}XxbNzU zXF}p)kxMYmwjtpvjxrHo`9WA){F8LVs-IqLHBA!D?+yV^pdITWLg$fM(rDmAM6x99 zKA-pQ;r5(=)B)PBZrvM@(wns z4(#8`PKZlq&hz0w2e$cBCujpi$R$C@Z$NYL?-K?R65P*W{!wBRAe%g?iJRDgTl1K? z89dneq9PlGl@7(zd9oJBWXR}h6vb3)a23C2%EUkz_|bEvNF8H8p}> z?BmEPFE^VGC!9YfotNhx-x~flI>@X%zc8rGwK}ljvtCXN z8^gH)C5JdIaP*25+|LX2&lFPvTm045o=U~^{GPy96UsN0CeP8k>g<1)(R$c;=G$!g z*OV#xA@{dNhOToaewHD4h*+s*)gJU|-c8+{1H8<=V;!5P-!|t!6}+!@dYK~a$oZvx zu;J?>Q~SCBGWuw&^WRbD`2$?Bqq3J?(t9yqjB2~tNYV43qMRz5Ya`FV5(F%t$nhkA z5w(P~0NEnv=#UnFr58-m0m`vGPxNe=tpRSZ0R<1H0TwWeQhA+lK5OQr@&RqK)^3-JD4PA{6GJ8{Vr*HP5v5^_@1@b8I;3peCVJpCEqgYwfFGDaT0qdEI6d-RdO3sDxN?6nj7 z)Ok(o%lg!uwJ*rwQe5mQUjzgOVw!{5&R4OVN~Kv#Sjd9N^Ktuj?k{@eFBJ9bMLbjMq3r`38CPK-on;tc9$?f> z>esCYMgq68Nv&?I^AlW00P7~DiLvVcS$5~;8*rK5-rkI)SN4VB zunvCEaW^8ODpTF7mmI5fEgXJKT+7Y<=Hm}l1;)m=!&YU80$D{h3i!Rrxr5QBKo536lga$5;f325x+%cOc62s-aTY#V=X~0cJstyOp4npvpRs&%%+^O_}^=j;{?M|?Y`Fa2i-z!`Es^cM|TMWLu z(adfRY$dKz$p1yzTSi5}tzpATH;9DNEg_+#GzduN3@9Cv3W9Wl0!o7*osu)OQi60z zNe$f~At2o%e0xyO<8!`uop-&zoQ1fYz4sm0ecdGpeC1OI;44SC|Mr#L&_;49+3(Fz zr`#9SKSsQTJgg*ilPTuX(>pe%L|-Tv(|?oZiEj2{ijZW&@P)jTurOtbd!Zx^pEXL86|L?E;_hJ0s zVLv{-?MJE^Du6C}4LpIxFl0ozHov(xa><_P%g}daer4aBQ zISgm@`sfS1FM%bHi4ll=6-m>y1H?qhmr!{qfSwaZDQ|-z9nD%y5c$y7p5-+MZqTrP zcxt}&H~*@#Ix95fTTF~xH}^nYYmX@u2!ltM&>hI#m3Oybad7^B-}_9yfrS@iWHgg&B!;lW^@&g_c_uM{1K$V)h)H)IJ?@cg8mRil-%GO zVcF%b4Qs)ynwi!K{@CU2{GwhPs#Fq(SD#Ln)7Vu}(nMkgnLOkqi!?JeC0>jfTyD8R zn0y155-USPm$$jtBU@9lE7l0-%#^O8u@QY$d?;B>FpWK)2QD1pkDxrLR{m|Ge~bFB z`0vkA?1Ln8`+$@5#+(t!-zxDc)x|xZ4ZCQOo9FeQ$qo=%iwi>DLv^YdGC55fIy4)D*O^1QYzM%zBM!U{@zGY1#8G%3iw z8%<@%vTlcR359JrI`S&~g5vdGf^t;{yK#iEc2$Tc^ zO6R_xKSYEibQF+dKsvYVy62UFbN7ROHMl9ydDrb`I(X!}X`k3{)MPSeJb2k}N^dpq zUXZguUyi8mzwKVlQW7i|8SGKzU)e5P&Oe-$mxaF;eq~r#L}Y%)tuQV^X-NhDL>4OJ zErqVhtwiU{1#l(be zwLVutP8Kh-16*kv62DNut^cTzH-34iU49H6rn|}mrvT3Nn?>8B^}BWBPK&Ig#B$J| zJW(E5Eb+f_`~TS(eIfe1fAcERLD5FMKq0YDLprPEn5T?LB!YN)^q{lyPL%H5Q&P1a z$+Zxfsd)pS`0gCB`jT(b*{pLR_xa1K4~E~~&D3STiNW9~uYd*JiOzwDCR9{a6$n$?xB|)`bUn3u9QX~{f|?_9x{8{W282$@i+rSe z7Uc;{@I~pIvkS0@x=|Cs z`T0>pWcu0HTaSKJafHEDn_ z{(dI9TR;UI7Z$!Ce-#9mA3TBe0`A(q8+jP(GK@CCrc@C@Rmz*FFxBMfF6u}wdI%?( z%w5sQ)gD&U4_WfEy>Z}C>$73S6Ktd`vmI0p3q;E$e}g42U-6I|$T4$W&E6Rp!h`B_(rsihJ-!KS z@wiiC>xaCB5%=0(#Kp*+SR2N4PDSRvy}u3;3rOGiZj(46xj#-GDTQBIz|+_nf`}F{ zaF*hGiRD->zU`;`oiRcu`$OGdoX;{}ZTIgic8@s9dVq_#DX-#d8SBQ03S&<5yPfB| z7Pz`Fa{U1%S^P&y{~Q1UxJc)ZT(AIIWcq21E=k`F$`_T0_;2nqUQ3XEyn!N}wK5;l zlWEAFIZ~@7~QCrIQ1(LSi z>b5;ZtM8__?&*+kpQ#fyCJXz2LpI@4KgX<$Ho zzWnT*W%1BvtdVf6z$DK7@7F%T*>=BYbdTmwuy=_hRsaxKoBBBa8C;De@^g=SCm%cV z)V)s6Vx2$|gL!GClg&63C}t(k`xr_z$m*UhKZ2;-ib$7<&i1M^7xe+x{iFz%svx;YR`I+kb@YhKB25AlENs!j)Ty;0a0l5T8xNYpls=?KvexmebnWu(HzIbJc*JN^> z`G?>1+CJXkIx*W0$km`tlnK4r7RRYqD3H26|FIj_?eO^(hw<5RoLT@pcs&wn?9b2K zy;ekKn~sm&+BrZw3*-4l-}!Cuv=hjuwXSq8`b&{PEa!et=gy|uUuN~{3NCogvwI6z zz&~1oD0{8&a85VB5(^6U5}hobMUBx(gI-2*_}ESDPc`m zy}G@4y;q3Q_*-}%jt;!QCzhN>G!TI7@_St)qjXYfs1zi=+q^=b2+9w+?-OmBFE8&r zR9&8crUW%dl$H;u6O&t-32|pap4p=~W}e^T`0 zPoEgBx&FajNHiunj{O)nJ8rtoz7cstA#@q%wTYX^6;ru-sYf+=YH6*VdFh5OXFIQG zn(uc+a_jYxegkF>FibyFH5MwswYZ_UdEkuE0SUl=4V?<4A!MXUkTNx)=**ziwI{Q< z{n{d(Ql-KU7NYxVCW2+ZQZTcih}7V_?dqDh*fy^NP3x)z!{e=4`G(cXB zx;siD3hb?G&L;-sEIhpPH22ToW3^4ug+D{YGzz11^>;cu6$;qbz=)FfX~(MrS;zZ%5~4Ake?_n$fc#pLX{6bFpOD9HSB;Ip6lI%^=!cp0yl2d-8K-EOkB8F5f^Hb273#7xqWA2P31WPFyzl{X zq^}!Tm-=C|0^hns35jm%FzRZs>4c+UydU^vh zGZDb7AA5-x+=asW}IQZ)rh2)KY}}!IoL`=}5}|iVL!@yDdyMwGCeqpozGDnNMIe+;P1Q3XIyo{HyLC z3_>1AHDM;H-uoi5qt|etR~Z2ikf#umh8|86>0CAhdFq?7(;69Qz;?!6nTF-X%2;$M z`oih*6#bKU4w%BSA!KjKZi+<)7UW%{uDv493~9YTR$5H?fPl6=n(eitjo(yTz;c$UTHbO5M9Ho{oRIDJCYiy0Ianr$-4Pf>u1q z>>EzhrH8;C!IMkjDM2}d-=upQKS8AM<%#%Hcrr%Nm)6}_gUbTZUT9u}LZycfrciQ5 zsv$Jcy05KkQ#o$n>)kkbeAgNs0M20?9m{*YU`l&oSH6LP!J|X=ja=UQ6lupRPljU; z?RNc#V{z7dXZ}lo{%vJH;)F#;GExz&c#Of1E;d~oLZhRj&42hxV+7$2q5~ zP?G$d93BbTARs~(=}4sU{bS72%|L%hvXt${<^cC8x#y3W6%q1(03~c@D<<<^D|zlU zLS=dZk)W}jd?q_=Gc1}tw0lS_G)lCItp+@z%Bfhj~lO^q-Jb&$|Q z3ZdVeuQ=^h#b6^%3;Z@)5*{3gOM!z4H_E5vMi&Y!$xhOIAe$Oh-04sP#L-j zKmVsJrEqS)E%8Dp=lZP1roW4vC0hoHg_)n6Z~~y_zeWafN@*vS$fSVhCR4Jf3Ei-T zI%O>g^yGSQwnF?7IO%gv@wb}PhWd@y;LIjA*f(^kYS1(f=EA&E(HVTI865Lt;Q2+) z;^iYhN}sF{Y)pT^1PJ8?oCT(9W|l=N4joo^bT=S;v355uJ2S}|T@|_tfl8&~J<%pb z3}m2b{&diPo7*kU?#6zh-4p5$`H}nF#bpE@a=H-8T|5TEQArnaK;}6N9A-^7fM2;2 z>rU_w0{I(n{raij?+mg1N7<5bc}5d|dm`Tno6q=37F&OF7D@ou5(4 z?XLt!(So(Z@T3Q!&6Z64a{>di(?JK*-&d`lNqIUlPUuk#fQWWx288CWdQu1$SV&Er zO}^$7$u;bZ(=6e$JNQ1Z5Md4}#Jv;o8}V^Gr9?wTTPs<_Y0$UoP!%l<&7mHfQ>b3m z)8_A0Ghvg2voFF`XbPX%XMWIDY|$QD2McDZn)CPe_Bad^Ps;=v&et34&x^0M3h)F7Wb9xBt+JD_Pv92-&QN-%Ts-&eQ zCfGPNci>T!3#!AGH6@P3JL0=ylHSPiXCq)nD0w=l*mzt_JfgRHXl(3EUWgXGN>Lh<7aXYLX=$!o5F7+V{sx79H3 z^Lys-Uk>6jSo-_j3snG8syNxP0x6OjKwwl@*8kf*{Og&eZyiskKY3>5U^PIrZ$%_` z7l-lM1I5tH5#>h9_IahCd8ONp$ygb%FR$X-J)9~lOu?*DZM_B`v0uRxUgQJff_wFl z*L=)o(V}ecH1YXU_zKCCl3sW1rl4uwlBQr`P*6rMskjG=g$Jc;VnUBWhPWO9SU1uRmf=Lo9-lfg)jINJ!8h~<|)$g*t`q{aM?mxW7#quL~x8#1D^ z8pi`Xbtr!qNzjP7zUi&wiL&9%51+onXUb?1=nD8Pb5(ox9G`k`oX&00cS9|&zu?i| zOptnRLM9*3KRfMTzp1+KT+#hJx!i?MP#~i$)39DZQ5K=<+nOg z+B4uOYlAGzR>CxjibFi)ab&}#bp8nYW=Z*G*g!z=>)Rd7)$A{;q(LrPWXpgQ6}I)L z(8Aiy?FP3J@D~qnS1!6y;y68$Oe!#kN z<({a5j1&Z_ezY-;It*b(0DGOk4fFV@U!3Aln3TI4it`SRl9zP$hEJKv`T9$LG_IaD zdv|evg-2;vOxGg1-OOig@`I8HVgQb1?;Zsp^b1aAJ=m?(Eokv@FO$&wGftL(V&lX& zK%1nB-=_k!?Jvd_FPJ|zM>W|m|htWb| zd5A8Y!%SvDl$*jH;gyAxFO<7le`Y|r)s)0U@7N5(_{6V(6noP~0JTWv*h z!T(9-{<@4rB-_Z;a&QTrL5N&4#gxvEL@`Ny-dfvcKt_ZdW^TkBPnCj|be zC+}ywXp;0k`92=@2C`gE+c3H}<+o(Ye8b_{u* z_l6PLG#DG84CTER(`c>COQd*1`-U@5RO5lZCqx)SboE>G0r-5X7v*e%oiF$J5q?a`5iZ1&j-Lo?4gu5B_5?_ICh|kGE64{_ zgS9CRqXw>zq}EAYT=$oM7hT)u* z2dHS;#az9w98GzXS3afj8(lXj3<4F&qXqBaU2jf4K}z{d6125U5WKv1Qj)_>Eah96@ zq3)8;VQ!pE?#Tc1V*Xv^b9>L1`tFoO{Vk$_B!G;Fs@VW^Y(C$mz18@)y)}0wVf6>E z$1KU+&!+Vuex5?&W$vnwxYL$_+uTc6v&rRf^`@b9dW623t$YR~{xOW@>X7`P46F4+ zQZ=(A|9meA&iSECNtBi*re*VcOr)BCuBz9*rOxROF&NEc&wyXC5vPabz}U~=L~t8w zYU%>iWy4CGZB!S%d*e6%kweKq>}~gt%`CC;_y2-@{tUo|=svbj14a3)Pc9E2{yz@D ze?e5<8JZuex|r!1AzzCxf^k~JV50X6#kKHy;}s`fx+W*3Qn5`t}j~>njq*+*lkU zIsZVGe4?x3+&Z6ScJKb>5Lne2z_(RG>l*@;xj7pkyTpbrE1>@or;P{{W+L!BXshVL z=3YKj1BvvA))o7+h@Wo9s6QNra-9L^1DGG}9K_Q+?W-WPXS@ly@rI4xTvk~+7nfK7 zpT$W(DRl9ZM3B;XH58kll~g0xY zXM^33>!ip@EO}S-l`dykZKdmc8nwaL_^f|rr9iooRwhE3yEB8Km_1X`dB}dSF=gt; zd43Q&%!eX+D{C;9*-w~sq_D&R8`f@~YM0M=(xsCzg#!EbA`easH{gbLx^B(X3E9v2 zk;?VD^i4Rc9)9q+EK`{}!HulAtYiFJkFVU2Uo!Z|Gb7)m5Xrk$tnNGnnmuueCfomw zCjTKD>Ll~{obhwhWK`ILy^E5{nJSO?%!b;-2L&2e_Hx8Ngv91%Q^0Z3PtAlanB3s- z48ycg6K#}yIF5~|H3PlLa5dk-a1`KUU~stC61O^Ba*el76m=-poe!_TItgQ#I2a9L zt~I={bNqhktb}hbdaeG`Qk-6?WgpGPOdaL-@81($m&yK7>`P@J0G#4*=Jghnf4z?~ z+Iw`(?ytl`%E(`ryXZstNo8atVLs4k7ksSJ#r2^uQP=01p$Y)qv33@!|0r4?b^(>uKrl_Q( zs^H1tU*d^;%u9=W$*BLMc*r`-*wYWmA^u+j!397$fhgJy^&yEiP>?S>0SfXNr1tno zSTlfuLvQUJbnfDddb1Y0wzTU8DvRE4q)xK9Dn2lKN*q3by|HT3Xn^UuxT)uoRbM%R zW1vVtni=44tO-&K&dL}u30N#dvCbyeHj{;D8c-pA_O}`;jLgG)OBpy`Ihw@fZxu6b z#PzwV_zAgA%68g3pjvblWn}|6nKYtq{WzJrQX8gHd!l~}Du9hRx3^oXUWQs8H=A*W zcI*EaXfCAyCPXKz)f*|pkI6yCx3+Jv=#moJPqS}50;tTCLI?||5Lsr$zq9083R&dC zr_L>Y)KOa}UM*&b9Xg?v$ZP&N(kPuaP+aiE_tXQo)i0>WpQ(QgKuS~YQ`&+mb-j#dwWlg9ac#T|v6FM7`n9lH zoqH6L@owE=$VAXvE7ZL&$joINHZy4@w}^U}AbVenF-ccfW3nG_+5mMLnq_fo+N83m zAP6A6+v$Clfm%>`XJC-DAM#K848Py(i3+-Pexl2tQB(>>@Q*c{c$d- zQO);M3%Q8(>*Zzm^J9sgA1{u5bX=kE$S=NsX_=y3MgLvG880TH#Qz1cFI(`@xN)*p zWr8dr%>$;m=AWo*hNbC)R~H@D6gx69*H(E>@bs;P;ut>*RNYMBy2G@jKJPVE3aobg zfNU5%|E=LQ=Wl53s9IPNpI%0l7pK|nAC^4O8x@uj>wR6roUpdbDb_l&RlpxrLo%>_ zU^-jx9XgMgnVHF{h3o@~)860TUHIG2{r!TMwyJ>mxW`ib1N>+8^-J%5n|w@^$FJ|= zTRPWlBmd1`xuC^fjV^qE{x#EAa{a`RU~4f!i`xUGI9kwe-l%bXP@{H<452V2icd^( zKxd*)m|YAO3{hwm^@T6X(duTycx;4n8QG1rpf|)-1Rq4h3bq^e?t%tjD%51m(#2eZ z)yZ0<9Vx^ak=dh>AYhn!WhDQNqH)HuwsGQ7T%}JwaDNkvsl})%DZU(?War z>Esg;mkr7L_wNsMsP|k4C7H^$Y5!AZ=k)yrXWURh>1c{0=I6_h!9JrAtYVD>#NN0+ zqvK)JWuO=BYDJFypv(^Gyj-GRKDmA z*0+Odb)9u7gK*3wI|h2FM$8~k1N3VJKS|Rl0xnW;vg^ZIFb@~Lh(s8#6eshLVYDwD zwdyy&ES-P59P_dC0t%P3$>mUBiBac_mcL!8Jd25PRasft`1x~UT-?AP&w?huS2n}g z6W|ko0_VkVcsdGnvQn$V|9?`He`JMK2^ceEVQ6?avIM)0f&^3wrBddFhk>@KzSon= z@0`y?b(gt~?|;Dbw5x|s(Cg!^y4f=MRo!al(KNiFPXBp*SaXjuPYK7oLPe%*C@jlXX@8%?vXKH#P`Aypl9r06k+kW+VWHQ&8gxG{S-@RJfo)_772Ipp6$ z^3XN+YPMH-Rd zl(gElsG%`LV~bPQsql2&x_!Q-Y5`=Y+Lru+Mzf{A>n%#%X42OVrQ|A$i8ISV#9Gra zO9V|LVt9zJC5Gnjn-z;zvrjS#h=epQ3EuJDQ8}X}oOw0twlB09#}3nBv2ZYdj-j*i z=0-&I9g;&jlbXz&ss5bt19+^Y4GW>l5LpXM5Cb~=p1MROSz!KiG^6&DXV0p#y5H<; zaQQ>T^d1SWby@ma&#SB(iJ^0YkQ?L{Up;$6{WM;_HZd~)tVjqdH$7F;#lzQaEi70ji#hC` zSXn*9%SE>2xBX15M7=D(Sz5eFOWVN>lzfF-|6zUflmAG8B*oPO@?5ZO>NTiN1GP7t zy)^o=mlp8Pef*u#$Z!Hi4p@|$TJG*dQ2y~kYeD5Q7v8nHkG!0@#lkZzr;CsAL=?3F zv0f!f@YpVL^~D3z(dC0N{!$vu!>It|VrQHocW?gJO0u1SR>a(RUltpRzbuA8Rv{*k z>HXpwML0ab2AUTxOO#m8J}hC>k;2D&^VS8ie=JMAX6I<^;m!kzpjodC!R^LZK2YgK zcJb8aYTv7t#Swb8w+%yg9;2RlOusSQy{JqAiC;LZbQX9e`!xjH`g-`}bAy>$*OG%D z3P0<2-JWATU-4j|JhDXQ5>T8E68pSzCB;7I{Q<7*29jd&=bKySb~#2YC2DA22vBY>-nG{`)KV!>)bA-(1YK#tE{NtLK{>;hOxc9{q7CUR}XLd3uY%Yf@QEe zg+n`+*oj?w4(y`t0L#twuZ=c`em1%Uw|fnqIBrZxjAvjr3NmNcN<#>^W$5_LS6>^s zlMX1AG*eSO&{N`_&`oBhS}tN3?}=YK@F>l!LMEI+^&~Rk4Eh$fPrP_ku9sy;XkC{| zp&$g^wGpsVe+BELZ*P=K_^R)^a_MOfz9Pfd?Ilg|bKMLXwyEO+DWOadov-geD>R^6 z!!d(=Q_d^Y)kiOBTQgr)H8Mk=LX&ajctrU_>8*8Eob?~^+@VmVkKScS+imjmRM7{7 z)C%sa79rnrQ9z_p7ra=Tnwr{8)h^4esv@tVzW0KW_=eNKnc7hrj5 z&kyPDffAcvY#bE_m?8Lz+xMh<*Ro8vBO)60!vnz0jW0g@QfIXrA0~11vG463v;D>| zx%7X3?RdjdA`}cGi|uv0*WZj?njrbRndSr~853jsMB?XASA)8tiQJ{h?sapFeGarC z2hrzaSC5@G{Yr24I;#vFX>LRkj5j}3G@QT{ZL-QXrg2Gt4>76pXt$1owShUlJAAnv z!}B)^-Y1s9Z)c98XoGdWMuW7xw&E(#g(r5=yiiv7eD@}S zByL|8Gike|Egq`#9VbQB>Y}<{VapR3sYPp-o@V19-u}^%*i2JDs<|kzo$MfE zrXXX!AlyYqA;GndrEwk<3)JNvIgW&yxad1kHScHILdlEl;W+t*HBQz`sBs&a@NB~p z=|Xs(@J^c~{JP~*-5u{G4x=W}$2Oza#Qf)GS);NV7b7L?e#*8|5iV|;g9ep_uBXj7 zJX5}B9lou=$3OB*8)yDQVkn`5tb9?!afOpuLkZVavg`T9C(FYi{tvu1_d`3-fivFl z7q~kDRuXVhPt-yC<44EE@@P_qs5Ql#t9S;|54P_LR8<$U2eK25+@4ngOiISOFkVYz z6q=?HRZ2&w&I%7X>Ov5v!hLid-Xk+~&HIk>Xg^mA1nno=EvD+ruqjVHO2Oz3Cl?nB z@dUlQIG-GyN%FV}=g$&o7v*@{56A*kpu+;_CxRuQHuhtgii*l3+ReJtwSpUzl-=Kr z$2~#iMfGBYi2c#D>x$P?dcsQr>B$xdrYb1kWB$4t$qL-<@SkhdsG#7~xyP}x;IVV@ zQ{gGOU*@mW2y_@9CdcVTdTmusS%fVDvLuDo{&(e{DiuWs1np9?IGb(bey{<;c)IZ6 zgKd>F!cCF69@-V%qCPUvwp-mm>n8B~sLVLqFLxDFhL=Vm zptr7@8SaXY3L6$V`t>f_{>ksTFE^5htzQ-r4g#EGC52?F~`m!0%0HuXV2p{0kGR^5Cr82|7a z}mij=DW~VqDdY)!*gD&(uXwVeDQx3ft_&!Hg9A+uJSatyz&iUD2bxQW_a= z0BUkRe44a7D`)WH6kaDl*6#RH>XR@<91py32&4_#He_QkzVw2Xg7)LIEm0EmD(IS8 z_Xt5ha7yQ08X_z-`#PJo?QQ$^pM$p5-zz5zjn@E79kN}naYct8pdJFQVHf||`N*FD z6!6>WlyM=D(Ie1yt8efj<);lVy5>pz`1@K1j$hYc%zX8{t>kS0+|{#E;w7{Mrz8cO zSkl8EccpI;*em{EICTz^r{1nJt#IxeH??!fN?m+|u;Y71@m2vfMk#L^QbZ zd3`y9RsFKD(Nh2)JDY{sEh$!VZJm)`v;YOxLZ9%)htJ%*=3NTgkmOyyS2F#P^&Y5I zwolu?Qzn;YmSBRE;(bfYybs(HO<7tq^w`=q9m@uDKw9Zd z|3sxxoyRcHZD6~w0;LPq3QJ1*aB^twJ%0@Sp);fkx|Ky{5rw(6DWiZ-K>Esu$>1VJ zmUT8C=zxp(*q5BT2;hsV%HeO=2BvKGjc+}&|MnB*li><|Ap9Wi#x0pL= z4$ShPH=LhqHfsgP?tdVs6eRduUuX41i?mChSY3?eDtz;Zy89XUk37+EuFLZe+@zKA zd`hCHD<<^3+s7KSe-L5Sm%&j;9^YND5dx`DIhg&dKG+Ho3dXixVaXC=rvHq)ySSjW zT=D%IDoj&@pCY!B&L2TSQ1qUJsYWmT_>+En z7vT^`-aBESnwn(zT8K4Xw&APibEA@UekT^C-TRMfDq_?s@1D^*?!MY7P^>dnHGcdaNed~NAdZ0&>|g- zPdQ>K>RKZS$I-P;^0yZXDl2;w7NKh9QLAZDm*3=bJ(5^7Q~~?cnxWxRiY7yXGhv zIEiH2W7goI-K=>vg&WSw&5<#h;X~a1@^5{V$>pHRYzhSwpcm~iUY)d0ca8AWpwX-F zY1`GUO&M3uCxO<*OV48~KcQ*$HXXRwE_pVvuNQzUb8nl2yLiMk>lR0Bw09J5cF8&3 zBryf-xs^%V&{#bYdhFujawj24o=JNH2KqsO0E>AzwRwNMzk~xOVRWVH8U9X^G}>Ji z7aZf%HT(%`tqk{|uLnRlfdxJM-RyDYIHk9iF6PQsxbj_nWTmq4N5Fb^t5nM=$|$;R zO}EN8KmSx7A_-?0bT+ul3{`=?p=@10X#Vc<>uz(uVPTjhBy2CP4Le}xe0lg*6DmP_ z+$aT$m|z7}{3trW2xKo|;1oW}-~j?QF?G#JesXNBEwgCd!G6+%Z+N)a{nOh)e-ZOW z&L)G%N%VtR^rV}srB+8wRd&hO4hXiF5VkYET4#>+11sruBY{KVuAv3>=h~m*DS)pTn8JS zLl($2GY<|@1CZIWxc`@0e@rlzKM5^Rz<`sP8ZFeK7vKkH$G_?}UH zr!SxA;5QU6t)c()>H=^ACM;mA^vJTwfo2poM5?nYu+;ptRQQ*E01^TG8;2#=_j=+P zN|(_05`c|<1EjX->v-?Q#4oY+HKciD<)7n^c&ypcER7Zuyz4 z6E6-ASqj|ixO%=|Jfg4YzutOYpqruYkMPhT4&Ou*UK1M|8@8y>O|OC%l^A`}V^0{l zg_=KvVpX)4QBpz(?BdJG#WMIi7A7ZQ(e%bB$k$Kr*q@)8RWosN%|E!`m7B!Q{IPjm zw|`Jl3%`GML)Pd6rfs;hm2Lh5EwPtPqbKE`Q5GB*K?h%%w=t^SL>VdS`j0~U(z6%x zgN@3Nj;As$Cy6&^62ndUX&*2Z>#69NKONmR1@m;=1gM1X-enj*NN?)qZun&S3?Cog z?Rfr`!^T({>CqCwTV^nfgX4*~JOA(aLK+8*L5iyRvh^eQ874XANnnRA=;i>8`hY#` z)8A9P^h+7lC|+Nx1Q?GJAtE^0$JzGG2iwh551pt0U%S}1Z*Nbya z9=f=lzn0E*ou4K{id{_raXR;o~eIva^kSvMCQno3Vnf5=~DJ59Fk)x$XIuC*mb*bN^=U zne`spt_M7`0W-TIeuH3AZZJhDB;C}I4*fmyR^Pt*Q}pbPyM0gOSxtyU)RA19+8u6? zb1&5ZR0QQ6j{M7lCeHQAN9dX_o311!Q}W!I?-(w)UQHwCTsu8h>zaI4y+!~N7zsE( z=Q{q{;Zd9O##HFGL@sFY{Iq;Nz+JDi^xZRktEYgF211QY!TP3&u~DZ6-*IZ|D3wKl zRn2^&eMPX*0->s=lOQ`^(8p_WbinInW;$av(S&~IdzFrteixq!1cm`;>Jo2eUI!Yt zw`^B9WfnV%*-U!O9m==qM(Rkzh7CCRg+)&70uh1^XD_Q3uhWVL5mMEoo6+NE4F)k2 ziSm^!Gend^;NkK)6K!%zrR&%6T8$~^Ujn>{;*9Gc^Ao3E7om00PI|1}f4^V3$Ydr_% zYZUKz@4r?iWV|CtU~59wIfqB_qw<~gkT_q_?A0oW(!uf9hAKO?;%ObkdD)4=ZM<|T ztK-|^yZ$eaD}HP>&!c+o96FIaQ)#n@Hs|x=V)w|KLs}qBb5qSt945dFy-~NWT+!ro zo~*RhW_1Sp*WC$0v-YQNA++ zm@JoIYvG>+;U1^%J0Sds03xxBrOgZmqdg0{+M?wDA+{@%eI)ugTj04lMl7P z!I6oTR7c`BEH1^jpyx>clTB^_oul_nT`F81HF}|A0k0kOeWinM^$`{b*P;goM=Wl7 z9yz-GE+L00K2Kndh(-wnD80hIa^qL03S18W`C+k(@#3^2IRR=rBs$&p z0pZsy0QJS7S&Q8t0r;{$hpoB?1E8k+$GaXhL$`TzWmQGenm{a{^Suwmaz)Yb{AqO) zko$6Ra;|)*J@Rp;`<<@NXGxp$>tNiH7NqFNh}(UD`h z!)el;P=Y^@BvAdyS@T{6hTSuj9Sub%x%*0zk%5Jk)&{QvUe@*x&%9v6ey57gAFv?& zrY1O><+`RHAac+pD?WCA`)17%dkQM~O2+oUh~%AMH7}G)C*rwC0BTXiK!qZKC$jn$ z%%=fEsB-#vN`BX~8K;BDXye0UH4@eb;F#CL@&T|} zOQ4#?#{G+4<^wQH2Tk*$gI%2ypOcIt{bz}RB=lITiJes5`{%*lSWN{XD(X5@ z>;&_$#-zEbf%OVtB+kAAF`O-)h?Fz?@mIa;l~z*(_%k^)7j8K zHHM+tU*{lQel++^7b6##7s(gFw$u1RJL|L^w{nI@hv}o`=}02xzPoZQ6uEMlJQnvi zHV}NlZ@^P`;FpKNRz=QMoe>oM9Cop#7;|xPx3?Has^cLs7IFa`SQFN52RcE`UJ5}ce{5R z(WEnr_U!%#Qf1B*#c!U6CsX;+%Lmm_%7z6YaOvhiFA#>v8~pe|Lq%0C4FlG#d*b71 zsK71Nl*Tf%j`y3c-i)ZQQRbABx6f>Z9Sw!pf0;DD>*&W*bFGi&6Ig!_9qZ-2^b3;C zV1!?7&9X>*!BSmxDA^HU4dDg=5!y7M4jTD_ON;4bT3)u;SqSY@p-?Dk ztBAOskeuA|^()i60UqEXWQ~k4b@e{H(ioNnPWu7^YEK&sDyTapZLBS(IQ{wAL~ZJ_ z{mP-Ty53oFd){r!?bi}%UWf~Za0MqGR=13a^}nj!s#ltr)((U~i*y5x%ruwo(5TVH zA&68cc842t3IJXI?JgI7xQX_jLV?u#N>b^s6)Ar&q}m(Ij#khd0DoV_ zru`%_a#$a*I|UlgXT)!T_Q)YMiMoZxO+Z5e*1IF-=Me!aj6*Zd2@{0Unm%briU~=d zX(PwN6?}W|U5XrwA%2AS_#F2*RKy{30XWm5YPKcx%Ukoik9M5$Ju29Kj>qkpkiDi5 z6X?7x11>_?#YR!M6i%3}s-`x#BH?>g;%vU*9e~n4Uw@E+7MjfLnC6%gL*vJfWnQ$# z-w_cBjEErP;~#EW>8AOjUT1`x9Wmc`aTYrE!BRq$ri3q@N{=Hmv+H7Kpn%-4{?=t^ z$%1VE`)1JPU~9F3@&dSsd(P;df=Kx z&&e7zrNQlH{3|(-#5QG_mqkqbK@396wVAZ+n8HcQ!G7-parEKdm3}EQ@punbLBd?T>T>Zcw z5pQ&U^L*vv>=WcRZ&8;yx`ss_I;oYNourNqhpsM#w%DstR2Y~%hW&K59<{gkyXK<` zrPD{;P4H9bkybyhqty!F_A{?9HUc29)~L|wDDU6>tl9UlAtOAsrOuVA`HuAuy9sR4 z0IlBj1FrQ)KYgKrn)oe#zCMQM3x2d8_HeOSw6It-6C#;-7)d+x$Qiaf@O#?K>o(UGqS`nK6FaR^&Z6lTmTangNE5-pw^gX(9dYi}kJ z5F{asdL*Wg23NUytu~XMjEWaSlny_?7hUPOXX(@Nbh-X$Vs?V2GD5uQJ_;FAqjx2G zjD`AVeM$`fWgal5yOItpvLLfAJYk|Rl&^DMr>%DS#-N%i%qDFLX1k1M)}z@?pXvtW zQO&qz83g3V>&Q)qErZaywpQtMte^da&7GYjM80D9B`6)_nV782d2S~U&)uxs>b2b*uR@Dp426114#fDSnpxK*mwmPo7Xj=2dQ$Lw? z{`NLS7c6a-RxLX>R~pz#t3{t?Nt!xY!z^e#*mmPWB5`XY)?trTWBRMA#VqG=l~ z2RhYIb&B<+GPf_3oa(JCfIDdeO}A;D!P0Av^2!HjYBovi)ObO^N0}?D`2E1p%6o7$ z=f!Al56rSGCNQx5X;qjBQ_Mocs z_Fj!4!wKA9P4gb{yAlYwrYUi8<_c1ag`Z#9@=JDcg)wcnk^9~kNS1MR?cl(#Wy|*2 zA9&V3ImtnKhRDegjOsSe*0s|(g})A9e|zd>QeNqzxP-7%(S-J0jnJX!wtKd$U|(wv zX*f}rAC4><5X+;zpzOrF2zYX$cV@c3A|&X6@eH4!adF3LSc5vE&YPQE3L1Q&SgaQV zhYfwuQ10t7WqaG9SraylkI8H8}!_FQ2xpR7E)@g3G|T>$~!;R~VjEpyEX=e{#j%t1iYnbh|ekRht(X1Ba-RINFcSPy@tSKfb z_t6WyfIqjX25xgGPk!_YrE^0e2PD)PEWtFz29(L=uHiU(AadrK=587KltGLue&DBM zEb1!q!=8$%si{KVr{yFWqB%$E8@{w)0fVOebjSNUeGd$E_)a;d$?ML)!=4KD}u@8tghJb7P>k$J9F#SAW?MBMq-31K(yK8<8ydY*YBo zLA;-$BD6|dnBstZLlkD61MPbFdksZKJzDj%eC`X6$eH{fOCFAbL&qeVy|MW1zxEFr z-$I$PoMcO`NW~qMvvq$j2zC;9UeAvQ4a5Y5go|Jx-XX@*fpHD_oG6=toF9A}qokS= zKlhJx0})QT3i(eM6iC1B4yjn#ZARgkaXvIiZRzP@yxpS~T$t3cQzh3wD^UnluHX~G zP(#50YpiUpJboFpZ9#rbUUoqDQO6Gns^(7DSN7Qj*SXlj*4{J^5FDs&ZdGWmeJO=5 zL6~97d+t5GeNVpEuHN00GpiP%ynhctpyMd0pGiQXWKObFw|lMe+nYPkE1m`YHIDis z61h<}eH(@iJ_gsdhA-l6Ue)jgzR`rXK?foG@Yt@hj4eBflQ9hJ#`6Q~IJnTN`zn=Ko=6ZDhfnaDM}mKL$gHjg3a(NU5=y!C zar?rg*}+a6Zlk$_0K`47!*N=Nv*W1O>dZyL>=|6Q3?v1TN7%Eq+08#vRp>CmsFqh~ z87nJaS04U`Y9ep-ZTu`k>I$DIyv9TaQ|_dJ?lS|1t0 z1!FVCQw}aa0{ww6Xw~ASd?@ggf}NB^osKu%rkdai+hPdX*_C^hvVJrZUYrFNQz}H0 zfyk8*XGWIkjVYRqqWP#=dB##9zp9GX+5mxO>#e533fQCrghM4h2b;^x%rx8;5Dz6%cPiG4zGP9^>fVO}EIcg^ z{Im*5VI%=;59GmU%CDRy&s;oI|JM$wa@1%Zd(BmZqh0$O0w>(=ZxzvU?rLF8O#7P;Qu)2e#HCJ z-D_~iC6Xn#!bvv1_+wK;f&ZfiG1-4z?NZU4^BuO2_Q^mC;oZKAAhg85F2K33`MtOu zKj8F20I_RMJD8cQL@!tJ7`42h%}J9nI^Wz(-~{C7H?_>(r)uIy0lp*2&TYT5V(+&` z5ZE}!`wp+xbJuTN_SAbKDaW-Q{$S8gl>x8U66b|lDS|4EU{(kvIcCRcNt2PyxD+QX zEi7DC1?wvX>ZcqC`#cSNC6wD;_=dgQQClr;z*NUbxA)%$&tFx}jqavYER-BoLuWZ` zT0>@<>h5J(Q}?fa&Y%7{e-(vrYYnCmlb(G^Tq4%(@i-=}G3shRG=I3i=X=CFI^$7f=U5HifD9CM%Kfr-P$uA+rXVK%_N7UWBH;0SjL3tZoBOP9_s-l8Ffc1l)LSFG z%_{1tNUSiQo1dreTldHT-Mm`$aYAHgci@bp&0m``p97mnSLTq$scrOz)K33g3iAxO z)V#dGInn?6Y5$Ke0-8<=5JF=Z9nXn=EM#G(@ zJ@T$ORG}i*SzcrvU8ZTYT&*>-{DIQXm?nEengF7jge)BlNOECw7h(p&kjs5Riru~vt5jI+? z{4gLJblzcpd8(*i){cx~VDFdCIO9luoL%@#V*C>Z9NhD>VH@WZ9GoQF%N*sAA6g)} z?BaC?h!^Cuwzxu`ZO`%gwX0+xA}Vf;0(BCZ46aPPF|G_Ep}2&ktZXO_0iKi$2O4^C zaHIkFH9QS@&~KEs6Z`n_)tkT1;)J#{%d@<*yr5ao&;z*Cr@ivftD?QNVy!e!>Cm!> zpan-fLm42PFy(r#>OvuqoIVA5%V}fpZGKzFn$lMYN+EB)R90r|=`Y*d{M92Bxm3>* zxuO@j-z!ha&X#v<1?_cx{k5_p3!ok3@^rvd*i@d_vd#B!2B=|ITt&s;)ZVnb#`BZ3 z^dQ|U#2_g6OMQs7z9x}_!$HYBh|GF%hg7e=Ss;~KVYH#77_WF;Vzo4&t!-t0>kOvp zSQ0as_Gz!q6bI|=ImE_DAa%zone5da@{=H~^m`=z_wR|^&mTIIZ?3Sgpj|#VJqtHe zrK~@v&oPF>dIkA z=&DrytcuZ#3df>QNoG?0G9s@A8#N%p`T=-%IKlYIo9&D3Wyl2VzwGAu!~-%Z1Oy?v zyjC+mbQ^=ilVT=l{$mW-WI0aSgXq+KXDPCkDE)6@3{6TB7Z(xn74SpB5D~VP*zTV2 zIp62ThzgE#MSBC37BVOG=lQYc*-H19JeA+vd1ns6fB*T*Z~34qNGwyTl@lv1$+7%w zPtgTFi&pl}e86MO)73$xf2;g5=UX!~iO9`+nJipLSR&~HJD<$X5iSG->Hu^Z;;xVF zzLqI#t>_ow|5INRfIQO(iogVDFeC5|}r0xb|# zGYt23-Y8MwP76rZnBNEG^P6T|i01CyECVow@*Xw^7>_~o8-Bmb6V2pk-=iHJS+@dL zy~9gP$nrz)q31wFg%1v-rbeYFfS++vC_9M$Wa$*pGC{O!n7;K8zfJ9qi(9IHFxQ*{ z{qG)p(?x{kAG57SrDQe5$yBh9R06+z$q#(X<3rNO$;+@r7WDG7MIMJ876KYV+fS;h z4psI`1O3yYS^S6gSwd&bj78XWnZW^dEiG>t!Tb<2GYY@^{Q#SjJO`+@c!t*dNmEz( zSH-0r|C~Pa21}yTQismXmAg4B&FUZ#DwTPwh>X8SoO2sJ{W?6>Kl}N}jj^mm6N%O4 zdU6u>gru92zfbf2lL)>posSizdbQ*BjSuT_t<#sRcI4HIj<&Astfh9Fht)?F2$F_7 zS+h4rIcsYyb4P|jRmQ=nkfe(04(V&KEzg4EX+ziTM$9GPQi+Vk=eDOVt2AI#b%Oh{ zZV_EDw*Rwkq%Z5%M4J2$9e!F?619AKK+_cee;+?S_?gL{3d5_hflXMvwCDOSYZ&wm z6_tjcOQ76W7PTBW9DCPP(ZC2w|A7~OTuQb+csKvqT~>~rjqR^{CNSx)>*CJjuy~GC zZQLqT{!cZ-3m%I?B(1Yk#*JrrZPo6Y@T73l`>j2<6g3>M30QC{=y^56%B8(X`_Pet z^6yHn*33=}ZAPQc9fUUXSjAAr#)jbv9_G?;J9X9LqoXZPe?SV?VM!^U!&o)O%kDf) z-Ktme;K$qdEafYXoEq&B?FFCjw@YSXsaKpY_Mu)hFp)4f-x6NWzXru=(Yv&XQZ$50 zB7y{BXyO5i;%MIRq)L&g{bE&GRFkf zTdDLCb+~{UCLk!-$m4;3ys9sq?Riu6m$3D=Kl2vXk^5jTq0{+MSnumkHX6d8yM!7-(gKMRutL{+jb zuczgyrU&E5%DcK&(xqw_Dp8XGvMvlzPn!MH8{)UHMa_e_w6tV>eYDv0p%>m5F@nN_ z*wAHwFdFd)^cDqpl0J|DTelp}vJJ1atkA}i4vzsJEXj$B3%2F_ro5pKyfdM5p^mHC zp>q=x9E|kM^}#k`am3td@#6Ph9yMwu4Gqy{sm+y@$!N9gDoWMGlj1(BOD+43K*u+<;~(xc6EGg!wB=N-cq+2*iOkEYc_zOD z+C&w@S9PW=0)lNbcO_h^m9XH9r9rB1*?M~AnXT=EmKAo^B?o@ZP4?p=dM%$Qj%|-% z*PX7mljYQ&9^!3{USlehVRkgI@I|lBe7FB(_4g*Rtl2%w&n9oXgeOYSymsjfb+~;RX8W=hae}R5mW+J-9TuF&GV~oe= z1$_ko1CqvPBq!10VSzjR`?nC#@lvZ)!-D`*bSjyvLg3YZWFQNGo6?1|htBS3R&O4KC+nxL2RdIV~#e^-C^LycGZ3 zU`l&Smmq2?Oo^WAqY~P6x08)lQEs|U0~avo+4Eos|D=5l=-g)wK+vl=MudS2h8i4r z*%%U-ypaxbfO#P#ZoF)f&dV0DeT6VOE8#(!UG;o?vTK8hIC3VHiJm@Bh#ba#btS*& zVMdX{yPXVJHHTP>VG%n^rUJ_Uxz~TIOOKAg?YA4OHvewv%IfNvt;v%NWb}iTY^9~y z*^NXaepc!B|1NUNTYsQ%l%Li#jiYy}@0Ld`ua^_@-XH?op3hmZDShshnH6O$-mz$B zUdx^!yXF|ZZhs3JlP<3MBEq#Gi|`RU=fb}n=y4d;^s#!iQSkIw@W!>Pa|WJQ(MMI8H$>t*#ViT9Momd{OT312;ij<=(H; zca8vTYp!|>G)yu66PyH}0ky#5=;&J#9MOv(ynF#qzQ*FLtgL9ZWfm4FOw%TrszUsL z%#q*v)=TaQybmnZ)Oom(>HgB9CbZsoh!C__G_Vqg!%%>3zW=?=r{~8Tx(Vh%iq_w* zG0er`QPhn1s~*b^uTJ{-RYVDZd?4r)H__k2%c~e-Z9`TLU501_ySm5zk~gsjk9Y?F zJ7{NTr!#(T_G!O(v3n`hR?q#)gOUBs=NPT={?`~mOG_fMnBxG1@o#@`4^|*8KMfQb z%HH1I2DK=)vXyQq!{f(uzjTH|=h~VaS6&;Lio{F^UFZWwlfd##*QMK<4xhx`w^P(DO^__!XsMG{HX=8AXahKF zRq+In;nlxUM|Rq$bgI)g^;bnL=Z+AfdCm12GK76SmHGYs)X`$24>N-vq501rnS39A zvQ;W`3#V5k8~*nlq_g`O1y*8 zVWWF27tADcRa^yIAo6C-&1b8JJsdSorij=&@nUV5bGceLZN3|PI5WiG>;Pt6dNztL zTE_r&r$8QF-p87eml6Xt{^g2oCXc=^c7VAaD=#9wlA<;MK8}>bv>Z>|0<~OSPXDVj z;IlmKD=W#)$;p(!#AB*#%NN(r!Z4@AjceR!$#A^V^K>UJ&l@7B% z9h&@S-z+tJ6y%4znQv6G<+V^}^)72(R=uju?Q~cFh?2z08_{Z@$`^ zMPa9dLO455!ObwwsX&dd85MppUUy}0L+6G`U1)J3+{oQ$gJgb4FGC8Crx6mDFB!vs zRu~r&vPt(oSC$&sv57Q2$V;Xi2jmX?uNzM65dXIAQtI{icUcI?B~Ys3GpWHoe|~+{ zfsOaY@+yPhtCu_SKSi&hW+KLIT-g&GDh zR;Qu~m8~ao1g(eS$N3z83z70!<9c`bRT`!J8y{@TJ+D`i zZ0_|+70an=x_|jbtu}1L@zoo7S5k7f3w&3Rxupo{=l!b+vnCO>615DCSu(&5^EK}E z5L-Q;2Z~2Y=a(x&PStk627fl=}6u4*5Qi&M77UTb$e-jb9iz zKR@sGaNPQ^O?Z&=-q??y!lfV2f8pTZVDEj;J>l_6N9zzjYE+K*PNv%+iPfbLrv#Yp zbk*l%y0W%g3D9&Z&B-Ab0S3?aFK6E|&4pwD)n{k|aB;s6v1$EHY)N9_XWs^@{~&8> zAZ4=tlHuz@FGkbcn5;E^V7FgCL-P`z}y2`kF)bU8#|!>V)`zxkNgl#AOkp?&({pj^c&74vPJ+S}^`Q&U@^Eod$Z zn_pPZ+dUBUWL4Ep_soRC$*%Iy=J>DN(&{f+5{8hsMPEP9WF#(4kF00@(rf%gbF43( z-)`G76^dUn8;W0=Txt#Hu(%+%Y`av}h(in%lJm`3OAnHv&^UA`|CbuPA3QufDUbue z(2R;rr?#fpc8wNDZIEeUd9I^xEB=nBRuYz6T$nBF4veB?2qk7`+o_4O^x#R1CZ(qn z)z5O^p_O~Zb9PR=ZAQ68laPi}Eo` zM@(7d;nU*O(UHC1=ugT?Z$Cf3+PndEG=2er3V)NY-qM}Zv@ptB4y|`yPJ;*eC)g4;v*A4BQqi((iH?nCc)HPx0#=WOJJDgw_$WMBHtEJd}w%ny(a1hCRi; z9Ft3IAj`eM?lJGyUy|cls7X-;B75P><5Lu8?b@Gy89L{%EHItz^c0iE`J5AuU0uj+ zHdv+`GNR!JL8q>B-A2FPD++7!@#IfUCDf3X<_-8oOdt)m73Acd?K?1?2g0sZlg*|Q zD2Y5uv{l#8(rm%E%gtF5gyBI!@13ldS^u zIrla66Q;>S@d4%Qfwm6*XpIbAukXN6s2% z=`prhOE#VkbXpfb+k6n*PxO=*4YAyA=WN_=U6?ei9EGcY&#SO{ws6_Zdq+Wm+QU|> z+(it)WtcmGl=G!h2uGyH73SWG6M%>P-vi?QQ&+s1l&u+PyZRcD{Nc?@(W34w+bTe-^dRm66gMp2)CEnS{rhsQL~W3vG= z=qA4h580{j-v8p@G-|7=Vi{GlWaKHm=?Mu4{(R0i(H#X0rS2yJ0Oij#Wi9afkjgm= zCub=@z`6fBk3xO+2#D5x(W=xg?-5g{6TkWWkAINLfz+*VlFce8u|7cB<}iEh^~C|%uX;N#XGpdOS}R797kX8)}82z1L;8mfrZ z-j!T>0BS6+&O5vWLC*{N1rb8bXtjZX0nv4Lu3WE;D7Rsn2%VLhi2^Y?Y@t6U)}HE> z&4;3L%d&>Hl~q-kWd>azch$hl{f*K7vHocd4GpNrxDJm~(l}cC%lmYGPj|aYT4XlT zem3V@BO+voroEt(&hM%DbQOJwTr#-6z%y&c}(m;_d4eK zV~5QwtI2wr_UZ;zXOnc*1U146BLMUx-18?un5|txeqs## zf$qw+)c-9AA+<1j{$ZN@o$*sVkQ*DDCXU*a+6D-x9{x7)pn+xKC9U}d!QBf?ia%5t z&j1#2^`scLhFm$4&p40Nmv}||QYiQ;Q|Vx;IW*}t(nrin@f!U7A)YuLvnX-0LC9Xn zp}!&97@Z3S{5m!DJFD5rCn?4Ew|_-$E#As9hn>Hg2fOj0IvuBAoWn=T$k*DU`B5J<&o40hlcK}=@Y=A+2OI!#XRYnaxpj^exxKDc5wa>(kF2Wt87U1`3*lDcvj0&PZ+ zy61WrQ8;}KQq1=Qy^3r07i5kad?46;h6O)@5jye=IO_t<q$HrN%CsJRjClsVFs#X?GR0rgF*o=nWM+59KyqXYcN z)qZI{qiROW1j*Ug6=mvfe?a&9%I9a?jSN`9u*IIF>$DF8(bbt5!JC5KEm70Viuwa56{rV=XiEVAdtqGLN7h zZ|b>U3^9kdxl2RJJ-y}UN+M!-3iD5{?+73d=>Uk|@w8cdnc;l#u=c#l3Cj55HNud7 zo11Wr7Hi1OZ2`bTVvNS?PJ)av0PY1=ZRib^1BKrLW&120^I*%YS0M$apSH?guh(mv z!bvPJ%l$wGY6up-VH&4#O<(qNuh5jJ?ligFv*VwrvkXKliwG+JueHw!XLR@3mfsPD zJGSN8w5xOq7!Tn>{2s2$M?@ku&7#miU6};Ye1RDE&lxJ=Xezfq(GeKSYSHi+%lP0` z(Y1oMsieNWdg&3s4Wng+HpL-U3yrkAgkQ9mS{MJ-Q@@q6_<^( zAaGvltNy7gIXgx&h{Jyx0Wli@;^#>c*ls+FUlR`nb937tbQjA4euY9YKfkZm8^pd@ z@KWz#wr5zWsZpC4dt>Y9Xi}W~_Oda5CI41ZKSfeJSU-@qlnp2mD;U^Zd6ZDOtRiP5 zA*xIjKRjm>!Gc&Er|P~_(4Xx!` zYX9zwSgKxbnGScDZ}NCBx(`Mx7v86U?(G-y0RL;%GOr@Z)uGfTCuKw*G5KH$ok(#rq z$_V@bbMam7TbC9`7ZwWr%ymhi^LPo^NH8q-1-DjM5weU?@0k8}7*Z3vf?nn5hc(l}{Le?2LU&onK}U7p2}*)cBP~t0UQlN0 zCFF*e;%@EMshr}xlpC9Q6tModlNzZXJoSh_b9@G7RKE<9dh{J~-C81l{>0oor6Uep zIVlCC`Zwd2P-BS96+G$%4aPZC_Oui(Lr0Ia`ii*PSQ{SjtYKOZz9xrL(w}4s59TTf52N^gN+_er!Ipp`oa(@VM-w3dqBWJbi13?8bMcMkNM- z=ZaUD!m()Z(J7F8=ezvpX~pGLvwgQBQ@ke+5{ja4qqg2MLXhz--ZHA7AK^l=$V?YrdA>mw zHBts4Gg#2DFIzU)AiJMz#W{AJfIEcWUg4q#$ZD?_MMt``^Zfp*pB3Z>_U!jE1|reIRs)_NFUO3Zc*-`q7-6(jI$}Uo zAbvXb`rcq~GW;GnO8oq|bxjRWLb#4W@B(WX>%&5!zO(&^RLp5|rdByF;j|^ltQey~ zF1+`y>!gvj8Fdk7;ThC_UOK=Yq-Xt#@0R2?=2Ev_+UWO`LEVh7Ro{zoZlqUF%=M>u z3L;<@WNml%2LPh*A5$LTXNIf;Gkz)fjK4m-_1)Ww?*_w-RXHp+=nB){f>1z+-Zncq zD*Sa$HjYIrKG%&QZq7RB<^22)ztAqw#`B-wfS5*84$#t!>+PIB_}=dib-Imx@+h0H zPZsb-EBD||at;RS-eN4FFu0h!^EJ3ax2Fit1LDxRXm~*bev#fUUZh*m+ms3VSr z*Y8(oD!u2iIF+9c&F5#a8I1!2fsrG*V~6VK5Ad=jM@Qs(fLMW3O?5%*&pCArd`R!^ z{$JPlB%nk0f&c9Sn1(AN{o4ZwUvs(5nBs>dw0EYv%g_iwgT*ukzb%gRI#7dcCk+;# zk!A?fCc~uxPUz!F0ITeqO1t$uUeNC4qs}0%j09b;l5vRHYjYvoWJz3^yXrm~(a2BK zV!ef`3VuM517Gnd6@=H{x=IRl@(1GFL*XmD!x?4Ht4C}%xI%LBQuV#La3DDeN7Psx z1&jhx?u%XS6k>ZcuoLO3f0Vmb&0xD>D+l&zRAQNdaqXlc8)+p%B=3L;u1j@0coV{7 zP6-KP`OW1JJ{#y+Xb5@y`^Mh0r@f+td$kZaOeX%cEJ0Ez3!YkK5m*cL4CzxuU|{6A z4dm@c@a#>%^GyJI6oMSMg4;0hb8XuWX^+pT81mS>^jj#|D$*Wj0S=NhnT$Rk*%HEB z9so)0c9=7UA7WU7E5sATB5Q~Y-I5rliDZyFLsq>uu{PPGh2lO5WM>kSL?)ucGb>;W zdZH;L-;$weu{P3>ufA39n+e}VLZ79ETn|b%{Ttx)pAI38?U|)EM}&CFb_Bv_;Q2Id z=0E@2^;gnT69ob%Kc$z`^B)w6Q+D0TNi&=V{$c7t5jbvL{5q*U2y$ z(-~OaQUREL)DB6wkZB3{kvC=$t2$+8^!Mk(#;|awikDu1g)!%h(6+eLH*DadwS+)y z!;@N)vaUFa-vA)sFz%im(D-R<2_Qm5`ICUo7qsTDQclQIj#}>QYQKVBxKY{U|7ct6 ziYAXK4vS$xfiK%cK&OoP)!UGZvgv*FXT)^(11al*`%JeVR#m*-pmHSn(AbEP<31lB z-SqF@{T1S@d->14@u^@Xo6|o^#kXeIM0R*dZcENu7I7F_TMn$J zhHXfTlRr4FhHGOL(lN#sD{c-!ENWtqElV|`h}=HZn@hn(N2n{W49BN_5D3&7oG@v| zPE4k4hPu}cjmfKmLZM};l3F;dsDYt9{*RwzS9>2ON4p=7omjObFZeGvH5}27Non|hUWrk%r++Xf186w}FXl0&Ofj()F9#7rZziV3wRz z=30S7#@hA+mMcNE{KlnCCjh(ZR&eUNN;`2iF)5(6>T9zWD4pRhCEF8J@TS(ZyJBcc zKCJCA5{4nHgj}E|Gz9*sV#iH-?eGkM$y$?%*ggPoh&LRw#MLb$&No63Z_Vtrao5O$ zi#VNjn)An-t3|)^lvq<*Y&K(!wYC%THahFOJ|3iiBg#S%f&F6wPhXP#)$cryB^z6t zPaj3@1?M<4JRak}U7!x=ZSuy{0r>||j*H}eoDddi5A;bS%JrKTn(EI!`ZY}?H{lv+hvgfoYH^!6iZc7f~T9wu8-H(q;Ky}1P`7KmH4$s4~x zACoKA=;W2E;LpMbLZ>GzL0o_l;5bqZtCyDPH=4Ze100zi1MwM7RRT}rJOc%q&Lk&u zus1Kofo_Xhy8a9(P_p7Wz4!^|g;W)yGpw;j7bq^x+{fq|<$?=6EU0keS7g#r5Q_ zVJ_}=s=v$;7Hsrt+sb@%;JV|i-J?0*O9>Etr12n90?4}KD&oN8b~bIZuJF@@_=A13 zK~Y<`6dNy#HEAu1{;D5vIQlP#i9WQr_wFws)e3(!u8Q?k9uE^9rlT^K~>G-=b62*VO6Pe;Q zI38W{6&1;tnZjm+wN7?9l!Xp6x)hkx31>K|m$BrMmO%8boAtm;Xmdb>kO|;JlHTJA zNrPw+b-{%7l~!1eys+w|Ar7R5*Ghlr%uhpcMjA@A>{UayxcRCg~;I*FQrUPYFR{5{aRY939Vh?(~XwB|08^Z&ty7;s(Aup1$40?2%obRnTQ%`09F zFC-m&#`2VO=rLz0gd&2a5*H#(L%)zK1NW#_W?~9oK=Hl*vsr?eb{yK#?cvlrxd4(! z%f^CtQD;buE7sD+#L3lM!UG4CFu%L)^us^hT@+vzZ5BAi*P%+6yweE)qfQu$ga{V@eO~$MK5BVRLoTn zSU*ax7^&boqXW$pP?+0BF`Wb5*@24d3n9`kLXrg+67+X~$XI2zMD-B#1)psjMgwbU zX{l@I&jyHI9V+Pi>Ii8Y8>Y(>k%*P8DPtVsEKO&w!#a9Svn5zZzdkl**(6mM|0uC{ zbhO$v=H)CFN>(hMweCkfw4fRP)@yQcf5_SR-RV^v1xRmv32SIE`eAp%?>(NmvJ(33 z_u%vvhvn~T+1y|S{t)&aP3#wzhC%9(UyxW09}A~B4~tXCxfow)s#wHMu_k3@$&UG_ zw=q%Wl#C7SnG%0C#Kdz-F5W~P+t`*iKV*5^6*PBv8?UG=+v?Fpu@w3gDk==fTYh+j z0`@m~MR+RUr5+&S_6wI(%oi2whhpiIt__q8y&P{|i}v^BTI-s2|6C0mHl`smE>VFB z(ccE&Rtf#mqAwjBXT}>#p4=nYFQ_aR5Z)j1HT6IPGj&PrY z-`0Gvv7nQ3>#a79?A=iFOF7Lnqu>@}itQlcT8eU*}XVW#$H9xTp3|P)@I^1V2{86boL~%J@e8`zf2rgz{ zpkW9dd33hAV)!};?%ci#knfs_W<%!zp`tF~?$()nznn~b0NMqyl-^r-#zK`hr6;D5 z2)rD;mOrRfa8ZXO*?K$Hlw^OD@BWMhDHN+yU|4v?zpw(@*mwpJ?zU8%kI1E?toxTQ#80s^g#lxLhXn|TobVLYCd}il?wlZbVEGBCg!Zj1 zet294fG6CPt#JW>6L8fkKGmgT@}l7Y8_yQJ`AYZ*y1e+|pD($o>&L4t_Vsc`+2<1H zieCke=bB84dBCf%=I@^yEDC{)S<>4Vpjf2LDFIDZ$NiiA`fCW4*PmC)8(f2+;rCz8 zMm67w$x;zBG8O%mL=L~8xcWe@naz~4FS_}FtBs9n4)EmFD`^5#?D#Gpxsh@45p%$j z_ls&YxnBDKO|MfVnf!$Vwnp3QbhOy)JZb$b$fa z3Q24tdN66EZ4l;`7@Hk1;4%;4?FD*>pP5tkjxuzo)z{1z4Ut&!BP-PpW!i(Fwr-uh z*Fe)6S-Gfnp^pL97lnRar2RM4lqn_ZC_W+fj=yp}_*YfBv?mLNnLn5!8!aU%5x(Fl z#?|h-&uKJk&6LFBHIBr;ItcO%QJtvB@V6xz3?}Zmh`Lyxui=W>)Y*ktU!J0)qfzla zxZ7mN6cVYW`x24Uas{(96YraA{Zz}zGrwmB&^h25#aR}+*>=_>1igw(SgMNbvfN-u zDVp;5-fWfcmo{{H;oF+2*tm0(mYEps1h3NqmEfiB-^fH8`Z5*k#UDg=g&0<@fGLB~ zWI=pD;XOUtk<@S1IWz*?qK3X@29%=8DPURURLt_ctD4y@s6ij_U=3*pL089-Y1#heSYkvZ zM%Tj)nrL5{{$0qLm0E))`xJ2bY(z2XsXf7?5#u*-J#p!ML30}95)!DK+a$lQFFRBi zl=^B6ybMGy9M%|}gV6MrBoTLZ2120zTcrce;i_3iEH}L<4Iz3e$isepF{4qJp)oIg zf*6)oKV@q)qGMC8UGn%~hpPPDM2@jmXvln%&1i#884GrpxtE-jG=@$eF=JCYZq8&y z2uk}11|v4l1G=MA%ADhtL+@Byvz3f?ifOm}MBtWIu8)^9=|KtU-|co1m@<_pn!CC} zCQr8i#S(@=vC@t--@L>l`}rY<-a8-0%KQfS3f5dv4v1|T$vzC)+StW0I_WV>gXBo6 zwN>(TM*>aERSXl(Jdn2jYMzsJtybY=Q`EjAaBrW%%4n@OHfyAHv zlg1I7Gb6Fz5lG*c18wSMpBOAs25ZTv-Vjew(E$ly0Kbw`K>gQPatHRq}P8h}v@3+)pWZc)ao*bo`l>zj`#^ZN(dSq=`nYz-@ zy?@685I*`#=MG%k_JBI7>y!LqmvKbM=M=|xI&wc%(0{JeE`siW>`&sP^8z*00ffwR z0x;bDq@*nCq(=uXJ_3Z{`@fBq$VVN$K_M?w3+hnCK6qfq^#VVemIAayQ^LH!fdL&X zzb2r@)nR|6tU%opG&xW8#zdyAm`BWao*S!1t=0}$M!fTO>SyjEC|9 znXqW*$Fx-IHV$$sX((KU(Cs>K&FDvv_w^wS#mDhRd95F6H(ane|+!T@V3N zI|33yUi->Q&-1EbQCT@zxvb2s*_C4xrgIawAKbHhk#zApuUxGKFvU>;kDwR|_m9@& zSr(n4=E6hV!Kv@1*J9jUo+olaXlg|O!O+>CCj)q@?TO}p3Y^KO*c-KMF}LqzozQ&E zpiXRfp*>qvim#*pJ%e4yueyy|Kn{k1mL8|G#^JzcvvcnSRl1AQQa!HgvwZmI}^Fe0Nf?vx0NYb zJji3$XgLnqDwQ;W-1!2;V@w$ZEZLG-cN8sf^kalk zRVWQ^L@e^Qs?cpLGUUy$KlS4xcPtH)Y8GscN(zc)F`}SgIHEL6O>K+O(gefCw@ygl zx87W;vlmLSH&H7tnr&$u0%6gAwI59a)e}Mj;2+ z4=y`3DI#LH#WZf)YUQ+m%(hwD5O`tfft!b8ZXi@k-sW&{mX3B z2^Mhp*km({`p8ry2GC~27@PL(G9p9Jgtgyb(_FpuQ)p4MH|s$oKYa7&Pnhz&`UFSD zy~KEVXK#7;xFc)ZaVilC4ZrwBqQR>HV=`;IIn0$XJWBW(fxhp`;Fm1RmTqbxbPgCU za0=3{)*GSHdK&X)(LN}1E^MuPz1r;;*LgX{XQZ}G;1Nk-;@$zkCJ^M8 z(4wNn$j7^FMn!sjjSe z4gwoqSFlYK2Mu^bQ;rJ&tkP+}f9fp{OUz{S015nm+uhYH?;p`;fcewavTf&!o$=@t zboVxOAHVSzoh;%Ek+GyNki%92`c!(K{MYO%d;`Sv(a-uUkhfK-V{lBKdwx= zv$Zt^6ftXbEE!7t~N|umIAs*%O5b$-B z&J@<1`_P!C7}5<2{r?+v#1nacO>_nI1*)T(nlK}b;Nx>OO9i1SDS9w1A=A!o_%kPi z37cD5((25aA`7)G(-ZFj^dHfW!|k^v_~7EgJ@hJ{VjTl8xVs48dD|5NODwfQbD*@(o9h zJU>5Z@AP}Z9}i9Y>>trGbw@uwGsJk?%rLUNonR8Iefa(BSD*QuWfs@Ewa9h~N!2QM zUV31Q1jd}l&L;JrwN=p9txMS5_?XeentDwk6;>ErQ$uRxNbxvlkSPaPf-ex1#EBA|@2r4g2L6_vQ+ zt26*GvK3}6(7xm>Ra(Wdg!F&&mxU&67M|Ou(-v9=_Kyjn;qa&NFLr!Qcd{*AwxUwk zBnADFu2OZY8LBa z_kf2?=A`?9BfwC zVDr{?B1ic0_s7Z1kh%aHctd~(0+LVkA3#^OcQ4{})|<9aZHPu8qUAgtT-mlRt_!}6{GoO3jd0p2X7^}+vpB4aqgV`h>Uc&*+ zCcq7@iXiyE|1e?jbNR1DziTTZgE=sbW!%uQdmoGO@=Q;vNK@nw6nVO4*Wk!m zPe{R0F|NMSsa!?Ok6u_>>NJ}cF;JZEmdB~Ds!snjScGVGeO579q+$xo%KDlphjG$m z+OL`V{13(Fx~6p5++0{*Ui{i>OYBN3-%%y(+QdC|SxT7n)eYzh3MpsHD#c4(0IhAE4=d@n~92Hw( z+AxB+9ABKRd>DpKN(q%le9~mr@utaqFPU9qr~Q>=X}mE_ zLdw+Fc0kW9PyDn}X^aS#c^WVl?bvAE7!ALq2RT9`F@eo~?9;N!z@PN-&+AAi^8QI` zeD~{Sw>FXtFOVbRSGPWO^uaH14>)O#S)Z|2##@-1n}1Cn336cBN8_?(=$<1Sk}1(F zQ+lWzBbGEfNSG5wdqPdM?y)RaF@qPUpfM(kpA zyTyZ9(Py9;tbU^Xlk%|gO-kIjEyH49f-EYm^J|O^Fq-HARDlg=d9!eu!?9;@=C59% zqx0&J334mJO*QcDa-Px2+Llh}* z*jL{W+%s+WFS8^2T?gKHia4Q2plKmS zB)h!vdG0C1_F4UJxxI%c(L)uGTy?g7yQl6ETSD+ViS7p~OxwvO)ZNr#_Crhv;Ig`!weVFh56UbCgp&PID^RP;UI{QUm*m0JluVJc zVJ$Q!KH7lobDw?kENEI8b)ELz2*1BahS_pfBg5_42yKn>V;q}OqJoc zB=p_RoVZyZKNiioo+4J(l_%6sH%t_?j@BA0VeA*#YP_7*F3Ej5`vXUHMjC9_Nuqyq z#=P6_J0%AztxX=fAy7k(Q+f2ntfb5^GO0S*KXrrdgoA|O2&$sV;)Ck|+Wbg>Z1{w6 zCUOlmj2yC;4zS$E7@rXZKLKzMV5uSsLb6vM(LNUjtf5TY#K-(;Ix}D2i+()>z;#@5 zPf+4Trs7y)SvnJ^R)Ct8V7NIj6o!fP9Ov#SCriy00M`w>F{}GzT_8F!Q5gQ@!y1vx z{ZT7VHld3GA4An6YztUmp|20{dc?K=+~3XM?e(<TnJtsCffu6-GmN$(p}?vW`P2@oh{opg(7Yj5zXeN>B~?c>v? z+FmVzQx#YKkBM%~&Xs3#Vf?J4umO4z044}V=oPz@Nx0oFKQ@BMUDq|0icM8JJ9_KiMJ!6SR4Wjl1(%!$MyGpt!CEoy$;V!HDUv zg?&S$Ql9{0sD$cvOZxdwjdRk7LB`Ap;F@m&rle>Q5+M5R~x9$;o-1m5gkEzlu1Pwcq)!NQx(g^A(75=mJJCH^{X|LI>=@ zqv9YTJo}$y11>?=c=744p6=Yw&q|hX2Y_lXqiE)I<8K{=015h z=iK!4NSFb#HKK~u_-9YL0!I9m-#t{65Qs9lI^vWd!?=t zuVg+?xxA>}Q(dI|ve(tGboZq!O~f)}m4;el)9GO(aOnHzyL9NpX4%DBf0UN|Py`8g z-;U#C=D$WhDzCeX&c@8FMl+y1Mi>3TFC_u*&^$?BN_nNOIyDt2#+XQU>^540U7&KT zkF1C><;zz95UNkDZ4D5Ka1dTRuC)Qn&Wm3q-=gro5?IbL_qy0q36i47q(~si?ZWKi zQ}#u|`a#^M0O_OlPSy}n%s1s<`H$ii0PuF%XRU|cP0QhQdgt*Aek8Z@RL2kR{n{mE-$fF1|@o`^RMiit_)j%dV0%TI-8A>m#%O z`m^_wSE;st8_G3#_J~M~bVxr9%Nb`apmj>0{a%aO&1~~#p$qQ~iw=9${;vYa^+^S` z#Yl3ePdSPwDBsT*SMFow*|PB!1v&xI1VS!uoyEz#Oy8>F$NP&}nG~{YQp!$;N`rv# z>s|JkQ{#%;nRm4kB~qR(jgr2c>_d`t@xLzI#E{!NOXjv&hwCML33+aDI3jnAw=+Gy|P*ff0H`SVnje1R!2yX@G`!zl6$hB zACB9luy*#|JPRRvcNU|1aQRDVuuaA0I*UB0-zKrl7PU<2%p0$ zG=Gmc^f&6{uS1_p;e1M~HX?L)h(aow5vZEz1&E1QU+2mAY6p`Izk5{ebOzXp$RuLYdM-K$!$3{{XFm>hF{>Q))8ySVM3A!nRXl{;;S5tQLR|X{N3za8OX$s4$Q}1O<@y+407weP1PU5XeEyL& zBbOLTysi~(lwA;HqntJwY(C40JNwqbp?ji?m6%gEWWwvT^`oMUWK-LDnf>w0iNWSj z>Pv`*pGYx*RoN5R9?mmEpDXioekJ-hnmRL^f%`F7ZT2q`n)vHo_g^;y?G_m=!cW>N0ztWdm6St%1yeW4sy3K9)^K(#je-9hVPF*G-K|Rbh0D{sfYJ+ z%n#~CJ~qfejho~U<0HLZbEV_^AR(jQ=s2Xv=fr>@K$6ha4I(9lZf54E0>O4ASb6L$h95~#%-29k@G%|(?+o*+W z%lfJ5T&%)14`w#T{N{SLV)N?lUkjQG%2RT>9)`2iFX~>sw6)$f>z%gCPenhU9xJ!I zPjfXwGidKIap(e*T=~X=W4<@azN8{=;4sOR74O2(r!`|TWj6##)IaZ1vvVu!Kob&F zUKkN@SwAjjwothspw=KlH4`q%4>)?$pL!aZ?d8i6I5a%Gj}#^FctB9Q{IGUPQLSe> z^x4iv#PNyB6r(uPDtaDXppAnA033U?p!Yef$e}t+`qQA#4Di}~gCu9Zc!46vwSWV_ z@0o>wS+}KTjonY1n3>6Ar5bhm8~$X4-RBtNV5Q-rk?U{;p2Y;vm9{_xP1*E;@s&qS{Dr2y4n6ab582b=;~-*Z8k;|7HBR}7Zr zV^n=k&;MMF&v3_~DD+*y(oF~Z$tV&h}Z4@u9qKih&EGY^-{s0~l z(^D}HL^L9rH>cHEjgRDep0V0mY`m^DjyA13C6%w}Hcn4VE3sGcaw1FTvnADkf7~nD zrG2Lj5EG)eN8N2gQpskJyqw1XL@3>H&1+&Tc`FLYh1(z%3*#hKlDWh74ZJQqTm*E4 z^~<-ZGcFSbN00qit^32}8r=U-Q$h5SF%P@JzF9`c?PzKV1Rr0x7*dZ(S8!@2?QYj@ zm7>e?+G2#Z*oQf$k%GZ&?YE9Atcs!yt`3*xL(YITj1M_cd$@oo@J@!RM0-FmXC|Z? zC?SQxT|at=h8md*={SAR$a~E_tLbQm~PW3KtHQWg9QyX@C3C5a?^$ZJba-gyR!$w$~dm?l~cTwGms!jGSnoTYB=p37qUjVvKUo^n48! z$SFdO zR`or*{IEr5Qtr|)DeQ`zy>vZEsj>}Od|m7BPZ(Xi^vQVZos~_U=bai}%C z-~5W|GH@j{+caZD7+QTnz!QW93uL-hvGTz>A097=-FwVrA$b)0Dyb;v!dUczZyVsZ zpZ*ygeQ0WGs0t@0BuFZ+2!LiZ3=lG1?a-JXCz`cCNFZGLC8L-ykuxjmf?0rbY;@QK zTy>7Y&=R^+Q7x1L86W$_uONKZXyX*SqA{bK96p??g5dkJU;Ymd6qcFxpa*``Qt+7g&@A7L<693Bf5~>R&ePs zCP9l&BV_x=@J&d^*c%ITMjTDtvC=M#1UZ(E#rsFy*oF4KH{Ss%A=f9OSl%@>TGLGZ zW#Z!?^?1ZF8-};YX>)K17PV?+=^t*6E>T`8a$n7{ah`y3iMbWfN<-yzWMw~k1|u@c zZaXA59{1oYF?1n~b>jXBq`HN|@^?7qW@lz55V1u%mjoE?dNMv6bsJ#b)i5 zqK$^)n*}QSZq~n@7snR+oh2tv+x15eD5fBF)lQ_l+wK3f8%Yu)6fc$%zj&yW-~O%H z`4;m;CL|vK{aJ;dJ%_kd-`k6~{{S08)#5s!svyDDh&%mS@!kZk>U!DGkpO`MeP~BYBmy$TB+`h?Eb^nG>VO(E|qR~>3k&)Gt4Lf|JM5agbrhZ+p z6`SH&E6CH&)V#JP%d}Z@QY_AXov;`ieckJM?)HSr4FluE!%_12@=#GuZ77qRJM&nf zkD$R$(r*5HO{VdSJhl2X4HZH7dp?kTS`9Y+mV{8E!bm9ug0m8>^{{jeYZd}|_LH5x|~Wd6;*M1 z%MxvZoIHTGR@i_w4MKO-M@J-2pA4BtNaoReDuxSSEsGVV@6>2LV1jQv=1W9G&v)>o za+y{UC0`kMzHO+;J4)h+kXq^ZYbA}e*%2|ti%1<`#Vyp3dLjFHkf&*9HSj^D2 z3}=1CKq#4j_JJboGND`RxtGJyPZ5?0G#Dh`Mo%RX$fq&)^Q%YJWh)Y~XlE^BN{J&a z(>`bpsak$BK3`_z#Cs=UKCf*EnO!>^nue*}4Iuy4JsT4~WXRW3AeT(_S8x9eO9hp=qkV44T#`N&KA%k4Z1|9tw6Z z8267m8w}YK`koP2oS3-+H4n?D!2nV7^xNx|bsbcgci@*iQc0xWt=PlEu4+D!Y1Jut z^Bs9p1%z}NT*tK~HM+P;Uj&E)Tu*%s@2PrUy(CN^pmyQKSJi(N*#T|L@gU!um(NE{13Di!_1+_4~jIYU&;!^LxdD$kjs^k-viR-UA)bn$-%LE zeAj3^qZ*4nyx?Ax?``h>25#BY&dDWhFhYSBX0gZYf6GzxH19#RAq>gF#gIcorR2ze zOj1rp^1ZuMRp}RkkK{X<4op7}(NHsG9+}eS`V*rSGLffsvV7b2Q^%N*u2}*!DQh&P zQ;%Dzo7>aOKYNAM7y;Dr{3<>I`YLv(UmlxE;E0zE?04WtYS}8I2b?HD0=bFvEcbDO zJ?Y7}rFfqTG-U5AOixcgBW)SJzC5gW!lNRs+&;aohSa0F$AQCR42rGRgXY~WAP**w z?V>bIR4J|-)Wwh(%8SRQVmD3n#0jzWw3}KgAUv#{z2o~E8N@4ShF`q@u9SEw7Dm@8 zftFtOXJ&83LzR92+WY!^hEo1(4uvksqzBNn(9q>GoE>KmZ4_c}j@YhzBdpAf=&DJ$ zyU9nsIC=&6`y{wm87!y+4UJ~7!GYl)@l&iPs$gA01J_x|S>|2p_2nNZ+-Me~7b0+kFfI zPI{+cjOx|hBj2nmvgfG6!@v1>3igzRe74k6h0e4c^Upt@;^@ic`tf=^yKg%(IUHB{16M8JT`;+05OBw_;2=$ zBUBMOKN1??H}ZMhjgT>al*MbPd~)J)uP+EW;nqe@F#bVp52%#toRcq5->ga7qryTd#~-9R`BR16$|I(+P&y~0 z96(?3n>F3l_=jui43$Li|B7qS8Ow|NkKDc5z6#j^YX>J?c$R196-Lh z(hnA5RA;O6Pj~O9aQhA8+1~a1b27|6WmC~w;9Go2ndmGnJW=m?Ze54eni5}Jk#-3Y z@jXpjQ9tZ5qs|K$@w@I3rj18P=tD#@oF<|ZMyhuB7^9qkKtieL`vs*C>4|$4G8Z$# z4GidG6X`j;$kLtmSf{dONFVq4{oNCEnd4OSzcIxC+V&5Sv}NL`M!Xq#$3+cU`I%m! z5Pj(6FGTjIL^Vo>S7o|hh#{t{&sH#fOEps2j6&xknTj<~q-|~l z^i>iE1pxdtkE5uAls<%nJMbeE;*q2DrvE9(%M8LlO%y)9BnuzIzg{TfX2?L{3TNez zWr^pq%ewg#7N-83XF9JBdO7Uz0;2l2?~r$ubYt>R*322F6>&<-$?zt+y-^|1ciU^Q zQtpJVZ3l@Eid&0o>W*;j|2G`}sPmymwg*jG#`}DxeF`_^kt=ZzT6t^)Dz0|@ds^XH zt~Zl;gDvTcI$^(45)vqk-#Y5D07>E1Dk!hu8qg?o{AR3n9*iNa4wQ;D|1Rt_6*q^g3^*O$yW)d3<*%p>OF#UXOlqUu{N zYA8uF!({O)``+kEy@W9W=8;+;C&mf$hU5nn5q$LLL41mGaFE8p$AMz(?~7tP&|yXR() z1{1Q2_z_DhAHcM{ni9md1+;)Yap+t`vM;LSEbnixhOW^2-!Qo7n^I;EA#t(Q8!0+4 zAOn$zcg1^}VX;MzqND2YN%s+$WFQB@THgSx`IjNzY`qLBVNr>t+co|`(H&BOIQqSXKN06} zgd_j++bg6U2KhKwr!CSDvs!)%xIz&@dvTcXSA?7IBTNubL$%!5O}O+7)6^6j+Sm&7 zG6hhL@PP0jvsU?I<|*PYzCe=ULHKB)85`dx>z2|^C>btzvrmphgMJT8U#)Z$*d{$1 zK~vglq1Ni!a=;sqkYBa{f}STJz`kD_kN)UQ0(bYaR0i&q1j%)KGEFe2vH+j;Gy^Y; zb1tvb;b&ZB094>_W#Mp=UTVyF(7S?m){emVMp(zyicB#lgV;(kFgh&OQ;+ic{+NHV z2fmYjvqzW-=;U6KI`a7{;tFJtk_l^2TG|X=P2+_{U*Dc8ot_XX2}Q-`Z80E#iu18> z0Q;}8UvIitG^>7#109ZjE$<#DJK(9u>z;YYyCMNAp0Syoh$XNo^1L(NDmo2uFB@I3+QP*~jTu73 zC(!X!rH8k`&%G)f@`Sxgk1z2kIEPjy3-Tog^Mfi9PoJgB<1XgOc_1bI8iAtcoASEO zV&Ku7mb&`Om+Q4d@+@QU{L$m9dM^cE*ahaoxd8krfok11yU!*uSg790`Moud5v&AI z0)B)MFvq8|59#abmMmZnMVxe}P!@mgmaX77{!#hR!HSn-kSQis+P!{3#?Mr8L6_0i zHe2e7Ib(*CT?cSTOpa_%l2t4j_;=9b9%mVS|8A*Yh;NOJz_@HXfVjZBfVP83mVTh@ zUv1+qoh1U{S<^Sxl9ca{s;_!~<(NPu(w&Tx^_?TWDFCLwEfBD8dc24t&rVPw+fGej zb7z#Yp}Y8kC0(d_BT*OiP>~o_6(VJ{Yn#b4c`Ll({E5fc(QxM}*tKNHAnCdnNODa9 zaHAUdMjS5~$R(a{#VLuY;FCx&PUMb_fJMpuqjIis(+8+DP|a(5dW0U6rJ8db}ys^K?~?@$LEohAa$#k z_tFD0Z)Bz?JhjVwHR4JLr=sKvMoG)6uA*UbZA2SXv~4P!5TFr8PRu683szFT$^rem zh{KB==Y#a84nn+quEipXvvE_~v`>IUlLL(?m@6Jhui78-UMU(lzjq(gTZwRt#(Th# z(iZEWlN6#7qrtuuyGnb-gGEhiCm+_=-TvTeSr1Aj~Xj-dF zLY`3bYP^ear00K7j6b->)DT)Slxj?}!zfcGViIejB=t|TZ%ZL1CA~#3$$2uM1Ch~Y z%)ME{$;SslFehIBBONj>+%Zm%{9cuDfbxqM{;7U}3GhtJ%((&Rbf;zdU%v7GcqIST zG#2}_^efaJnluOcgO{|XXoP4$`T>`@z{mubPc#KnJEtuGHoU;f*4A!R_ek^wMvtbx zq4Hh-x-#dBtO{J9QfoNd(RmgD7^0T43R_5=1iFoJ;St9{UM#lH^m<~SzXynOs0|2# z*XJp2HOj9{u73e=^R2B|I-byfxP-1w0o-mNe}ikIaPn6xAByn62|+5N88n%EYDAMK zo|07sOA!)YfYF2`G`TZdNKSXXA|g2cWs=Y8=1F?|$0Pun2{Cf5?4}OL@2uM1`1ov) zIGsToi)75Ch`;N8)AwFlP<%Sd;5Ja_T6=+b*jd{8M1@;*eO(NEY#A4z43@gX3gI0F zI)c-sZu-_vK&dy$dk+Wor3`NY>iN5H-pVFDwzd2sst0rT?4uR`JA8f^&W$}B!mYY8 z1n~7kQj^0Hs!ePs`Ai}le)dv@MthE~Gh4m7N~T2K**VDB30|u8IrQ{&*|3?O_EA0> zCO!(8vMcC*^or-RT(T*c6ui<9j8!Q_O;?PF$Y6?kmM|6a5lq~$JCpK&z$|!FiwBPw z;gx1}SMIr>ykEf_dlPW+=}TlZNs*vgcMME?N$Afr}iC| z9*xG4h5P%a|D%mG2wqnrR?8vuC-N?PNTUXubZ7?vzCAq&m) zi%?*RU86}sz@i_X9R~@I0?;n{l`t2m^L7@0ZEP_1s^h3jhZAQjNxQJyJ}Y*hlQaWV z=xmw%8(r&dqCc%^_22AHyN$*F96RsIK0gx9M5PB`3bk%sk22%Gt2;KMypl%~G~L#z zuL@`!;EQbI0?pt{p4zFlKE8#Oxzw|bL#GF!e~$#o|K$q+p*&Vo1K5>_reGsKO+}y<%x|zWQ&k&b(3up^50Xh_ zVzLX{EUI=N`r$t3%MQBnG-+Rv!ylBJ;&)JT7gm?OHPb(t!rbadp%u?EUMtcM$Mv@L zJZ^XYyH`Li(;=*5dwOmTc0%Koiz{wjJzE*C1U?6nznFN3jEwCzWM=T-V1E1{H(j>+ zp&<{KY6Vt4+P`eF)0Em^#lCr*q$+*RfvZteG`NC=mmdU}iJQYae|LT$QhJQ9m!T2_V9)RFjC-bF&}eM=%I;w+%Rk0L{?~Yrr50dz4!_mtXZAO4-FDWq+wM-= zq44;E5pmnmlQB#~n__>+TC0C*v~N)*yHIJYOGc3&B>AO>$|L)Iw1U zUef-3d58m!|2M@PZ`&pHsfAIBZ-JW|GTAg~Y zSb392U{j+Fjv7t)j#Y0a%)S|_-vqa z#nf8Aw~B&1|3?w*~48OWa1h52}1g-jvSm@fb_^qOiX0xndS})2tdfRw${+l82|LbM{vU# zBNn;oe-DcG??G8d@KI|dv9Pm`7p4lm|Lx!{v~I8^DRDH?o-{ThbLteR48ZYv0eJUypjV=LXlK=>EWc zqt~k~WZpA)mUh*C`UL<~e4_Ju(Ef`FO4a;WAWnE;%3uBGLjJiQNd8a6!OkdoT(t*+ z?}f1I-qz_PHVM~DT(#`5JOwdpYZ^25hl7B+Kcq4uEi}%KKqfPIy{KPC{@qQDOPlUt zGtCM>kXA`RG=tPlBRM@V*AU-IN=o+0`}6~oxy4I-SOD?&E<(+WF{~UtBg|QXmM78s-tv)~T{_Qd?r-NQBVOru)ywY}*n>!biM~qW)ZWsgWn{G+Nx76?PlL%D1KT8-Zs?x z2rV!8({EE@4frwjyYB)TcY|kN0-@FgQ5<&?9p?TMQ}y$_7l$NQes+gu$nZ!wP&jy` zNhXfx70}?8CQH72Mb_%x!y3k=cl{LAp65HYk+Q2l%XAy+4d6*_FEquDuo#XB{{1rq z1jY8pn0uSd2&iVk&;%xpJ)<4ax3qC%(r9%+# z*C$a{o^E(dUpUtUQ_LdT*?M|n`SL#C-N}X9pQ?sHEgqwVQdjP6z4z}!g7?i$k6#s^ zY7w;4mb+ifj0*ETqOz{g8i%oAXYlA*Yn9n1A!~lVJMl1o5II>J*xaJmL-ieo?ohC^(g)j7Dp;XFQswpz+NMHa!${|B zG4uS*8MxD=Cp<&_*JS)1Bpm#Hs+>KqHjHDt zIQCD-S&}>%36J3twU^3bSl>;_P)e$4{*0?y0RN47`O9lpf_-$xSkub|`nE4Q?ik8;-Y!nNLu!R$bOg-mwU-KdBC-Y*;sfo3ZW5kI7bz5 z{_1}sMMb3_zTHtGod0y}@iowyGu!%_O^eKEP@?~(9uV95?kj*G*3UD4ek$t%cZWvu zf8L1_$HCL?2s&l;6ake+#SdzY_YOw-*9eHfx4kh**59YeTxuTLh7B#E=V^|Xn~Xvi zvW;(|@3C*r;8VU>8_1;C-5N%H+DNW%eKypM;kploi3-GcybMA`m!p$)?*{jZ-MmHA zee}o#5szqlXNCBJZ8q%3lWhL*E7ud*VcVnlPov`cKEaVW?-%I*E{^~^4tpnpAVvg< z-Z>@nJ9zeBYwl7V%>L8J9?11p{fYAz&1uYlml7CG%-J={Bwtn{8%O8*TRpJox_R`d zcN@`OZ2EDM3E97n0C?2s7jXU~gmYepts4*S7C@Hht)gQ~)X*`CLq|egE?VicJS6h{WXh;-kkzXrWDVO;KeNQ;le@0esi^@1Y zI+kEL<}T-0%@h(ZZ2L;@_TBMFVTJTw+o~VDqv{R*{)um!SN{6p+*|uyxtYDhT&`s)P`QQc{y zQ^PDjfnmX`WzXHRJWPY#Z(w71QJwV+)9GtPD)-ZDixg+_e=qqV5_s(g+#L|}EZe98 zeEb`mqh`V#SEeCVkFqy+vNz{5SL}yST?E72x`q~WPag*g|NV~HRhvgcw;nA*3Gb

VfNj0}xIrN`kGJ>EuKF_Ju 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

-Ldj_4Z=H7wIX$ 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ⅈ4c0}Q-c7s@_cE%3OY}s#oTu+8K~ChY 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 H++QcTld6w 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%0D$nxC+o6j2(=gG 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 diff --git a/site-src/v1alpha1/images/traffic-splitting-3.png b/site-src/v1alpha1/images/traffic-splitting-3.png deleted file mode 100644 index 22501cde1aa2db9acf2bcfaa39440a3316e37448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150087 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%0Aw;}PjmrTTT8?vtecTEXtT;U1GQHZ5 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

7Z?QWb%jdHb`-tkuvq+EnKa^1g9E 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%0AwM8^`( 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 NN-12=mbm-){{Zt5>lgq4 diff --git a/site-src/v1alpha1/images/single-service-gateway.png b/site-src/v1alpha1/images/single-service-gateway.png deleted file mode 100644 index b0095d117c52724ef1c550876a9d4d566b713c73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80791 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