Struct k8s_gateway_api::GatewayTlsConfig
source · [−]pub struct GatewayTlsConfig {
pub mode: Option<TlsModeType>,
pub certificate_refs: Option<Vec<SecretObjectReference>>,
pub options: Option<BTreeMap<String, String>>,
}
Expand description
GatewayTLSConfig describes a TLS configuration.
Fields
mode: Option<TlsModeType>
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 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.
Support: Core
certificate_refs: Option<Vec<SecretObjectReference>>
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.
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.
References to a resource in different namespace are invalid UNLESS there is a ReferencePolicy in the target namespace that allows the certificate to be attached. If a ReferencePolicy does not allow this reference, the “ResolvedRefs” condition MUST be set to False for this listener with the “InvalidCertificateRef” reason.
This field is required to have at least one element when the mode is set to “Terminate” (default) and is optional otherwise.
CertificateRefs can reference to standard Kubernetes resources, i.e. Secret, or implementation-specific custom resources.
Support: Core - A single reference to a Kubernetes Secret of type kubernetes.io/tls
Support: Implementation-specific (More than one reference or other resource types)
options: Option<BTreeMap<String, String>>
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.
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.
Support: Implementation-specific
Trait Implementations
sourceimpl Clone for GatewayTlsConfig
impl Clone for GatewayTlsConfig
sourcefn clone(&self) -> GatewayTlsConfig
fn clone(&self) -> GatewayTlsConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GatewayTlsConfig
impl Debug for GatewayTlsConfig
sourceimpl Default for GatewayTlsConfig
impl Default for GatewayTlsConfig
sourcefn default() -> GatewayTlsConfig
fn default() -> GatewayTlsConfig
Returns the “default value” for a type. Read more
sourceimpl<'de> Deserialize<'de> for GatewayTlsConfig
impl<'de> Deserialize<'de> for GatewayTlsConfig
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl JsonSchema for GatewayTlsConfig
impl JsonSchema for GatewayTlsConfig
sourcefn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
sourcefn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
sourcefn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the $ref
keyword. Read more
sourceimpl PartialEq<GatewayTlsConfig> for GatewayTlsConfig
impl PartialEq<GatewayTlsConfig> for GatewayTlsConfig
sourcefn eq(&self, other: &GatewayTlsConfig) -> bool
fn eq(&self, other: &GatewayTlsConfig) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &GatewayTlsConfig) -> bool
fn ne(&self, other: &GatewayTlsConfig) -> bool
This method tests for !=
.
sourceimpl Serialize for GatewayTlsConfig
impl Serialize for GatewayTlsConfig
impl StructuralPartialEq for GatewayTlsConfig
Auto Trait Implementations
impl RefUnwindSafe for GatewayTlsConfig
impl Send for GatewayTlsConfig
impl Sync for GatewayTlsConfig
impl Unpin for GatewayTlsConfig
impl UnwindSafe for GatewayTlsConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more