Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 23 additions & 10 deletions geps/gep-3155/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,32 @@ type GatewayTLSConfig struct {
...
}
type GatewayBackendTLS struct {
// ClientCertificateRef is a reference to an object that contains a Client
// Certificate and the associated private key.
// ClientCertificateRef references an object that contains a client certificate
// and its associated private key. It can reference standard Kubernetes resources,
// i.e., Secret, or implementation-specific custom resources.
//
// 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
// "RefNotPermitted" reason.
// A ClientCertificateRef is considered invalid if:
//
// ClientCertificateRef can reference to standard Kubernetes resources, i.e.
// Secret, or implementation-specific custom resources.
// * It refers to a resource that cannot be resolved (e.g., the referenced resource
// does not exist) or is misconfigured (e.g., a Secret does not contain the keys
// named `tls.crt` and `tls.key`). In this case, the `ResolvedRefs` condition
// on the Gateway MUST be set to False with the Reason `InvalidClientCertificateRef`
// and the Message of the Condition MUST indicate why the reference is invalid.
//
// This setting can be overridden on the service level by use of BackendTLSPolicy.
// * It refers to a resource in another namespace 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
// on the Gateway MUST be set to False with the Reason `RefNotPermitted`.
//
// Implementations MAY choose to perform further validation of the certificate
// content (e.g., checking expiry or enforcing specific formats). In such cases,
// an implementation-specific Reason and Message MUST be set.
//
// Support: Core - Reference to a Kubernetes TLS Secret (with the type `kubernetes.io/tls`).
// Support: Implementation-specific - Other resource kinds or Secrets with a
// different type (e.g., `Opaque`).
// +optional
// <gateway:experimental>
ClientCertificateRef SecretObjectReference `json:"clientCertificateRef,omitempty"`
}
```
Expand Down