Skip to content

Commit 452e98f

Browse files
committed
add api changes according to gep-3155
1 parent 650e404 commit 452e98f

18 files changed

+858
-11
lines changed

apis/applyconfiguration/apis/v1/gatewaybackendtls.go

Lines changed: 39 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/apis/v1/gatewayspec.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/apis/v1alpha3/backendtlspolicyspec.go

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/apis/v1alpha3/backendtlspolicyvalidation.go

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/apis/v1alpha3/subjectaltname.go

Lines changed: 62 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/internal/internal.go

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/applyconfiguration/utils.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apis/v1/gateway_types.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,15 @@ type GatewaySpec struct {
229229
// <gateway:experimental>
230230
// +optional
231231
Infrastructure *GatewayInfrastructure `json:"infrastructure,omitempty"`
232+
233+
// BackendTLS configures TLS settings for when this Gateway is connecting to
234+
// backends with TLS.
235+
//
236+
// Support: Core
237+
//
238+
// +optional
239+
// <gateway:experimental>
240+
BackendTLS *GatewayBackendTLS `json:"backendTLS,omitempty"`
232241
}
233242

234243
// Listener embodies the concept of a logical endpoint where a Gateway accepts
@@ -374,6 +383,29 @@ const (
374383
UDPProtocolType ProtocolType = "UDP"
375384
)
376385

386+
// GatewayBackendTLS describes backend TLS configuration for gateway.
387+
type GatewayBackendTLS struct {
388+
// ClientCertificateRef is a reference to an object that contains a Client
389+
// Certificate and the associated private key.
390+
//
391+
// References to a resource in different namespace are invalid UNLESS there
392+
// is a ReferenceGrant in the target namespace that allows the certificate
393+
// to be attached. If a ReferenceGrant does not allow this reference, the
394+
// "ResolvedRefs" condition MUST be set to False for this listener with the
395+
// "RefNotPermitted" reason.
396+
//
397+
// ClientCertificateRef can reference to standard Kubernetes resources, i.e.
398+
// Secret, or implementation-specific custom resources.
399+
//
400+
// This setting can be overriden on the service level by use of BackendTLSPolicy.
401+
//
402+
// Support: Core
403+
//
404+
// +optional
405+
// <gateway:experimental>
406+
ClientCertificateRef *SecretObjectReference `json:"clientCertificateRef,omitempty"`
407+
}
408+
377409
// GatewayTLSConfig describes a TLS configuration.
378410
//
379411
// +kubebuilder:validation:XValidation:message="certificateRefs or options must be specified when mode is Terminate",rule="self.mode == 'Terminate' ? size(self.certificateRefs) > 0 || size(self.options) > 0 : true"

apis/v1/shared_types.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,19 @@ type Hostname string
535535
// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
536536
type PreciseHostname string
537537

538+
// AbsoluteURI represents a Uniform Resource Identifier (URI) as defined by RFC3986.
539+
540+
// The AbsoluteURI MUST NOT be a relative URI, and it MUST follow the URI syntax and
541+
// encoding rules specified in RFC3986. The AbsoluteURI MUST include both a
542+
// scheme (e.g., "http" or "spiffe") and a scheme-specific-part. URIs that
543+
// include an authority MUST include a fully qualified domain name or
544+
// IP address as the host.
545+
546+
// +kubebuilder:validation:MinLength=1
547+
// +kubebuilder:validation:MaxLength=253
548+
// +kubebuilder:validation:Pattern=`^(([^:/?#]+):)(//([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?`
549+
type AbsoluteURI string
550+
538551
// Group refers to a Kubernetes Group. It must either be an empty string or a
539552
// RFC 1123 subdomain.
540553
//

apis/v1/zz_generated.deepcopy.go

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)