pub struct GatewayTlsFrontendPerPortTlsValidation {
pub ca_certificate_refs: Vec<GatewayTlsFrontendPerPortTlsValidationCaCertificateRefs>,
pub mode: Option<GatewayTlsFrontendPerPortTlsValidationMode>,
}Expand description
Validation holds configuration information for validating the frontend (client). Setting this field will result in mutual authentication when connecting to the gateway. In browsers this may result in a dialog appearing that requests a user to specify the client certificate. The maximum depth of a certificate chain accepted in verification is Implementation specific.
Support: Core
Fields§
§ca_certificate_refs: Vec<GatewayTlsFrontendPerPortTlsValidationCaCertificateRefs>CACertificateRefs contains one or more references to Kubernetes objects that contain TLS certificates of the Certificate Authorities that can be used as a trust anchor to validate the certificates presented by the client.
A single CA certificate reference to a Kubernetes ConfigMap has “Core” support. Implementations MAY choose to support attaching multiple CA certificates to a Listener, but this behavior is implementation-specific.
Support: Core - A single reference to a Kubernetes ConfigMap
with the CA certificate in a key named ca.crt.
Support: Implementation-specific (More than one certificate in a ConfigMap with different keys or more than one reference, or other kinds of resources).
References to a resource in a 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.
mode: Option<GatewayTlsFrontendPerPortTlsValidationMode>FrontendValidationMode defines the mode for validating the client certificate. There are two possible modes:
-
AllowValidOnly: In this mode, the gateway will accept connections only if the client presents a valid certificate. This certificate must successfully pass validation against the CA certificates specified in
CACertificateRefs. -
AllowInsecureFallback: In this mode, the gateway will accept connections even if the client certificate is not presented or fails verification.
This approach delegates client authorization to the backend and introduce a significant security risk. It should be used in testing environments or on a temporary basis in non-testing environments.
Defaults to AllowValidOnly.
Support: Core
Trait Implementations§
Source§impl Clone for GatewayTlsFrontendPerPortTlsValidation
impl Clone for GatewayTlsFrontendPerPortTlsValidation
Source§fn clone(&self) -> GatewayTlsFrontendPerPortTlsValidation
fn clone(&self) -> GatewayTlsFrontendPerPortTlsValidation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for GatewayTlsFrontendPerPortTlsValidation
impl Default for GatewayTlsFrontendPerPortTlsValidation
Source§fn default() -> GatewayTlsFrontendPerPortTlsValidation
fn default() -> GatewayTlsFrontendPerPortTlsValidation
Source§impl<'de> Deserialize<'de> for GatewayTlsFrontendPerPortTlsValidation
impl<'de> Deserialize<'de> for GatewayTlsFrontendPerPortTlsValidation
Source§fn 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>,
Source§impl JsonSchema for GatewayTlsFrontendPerPortTlsValidation
impl JsonSchema for GatewayTlsFrontendPerPortTlsValidation
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for GatewayTlsFrontendPerPortTlsValidation
impl PartialEq for GatewayTlsFrontendPerPortTlsValidation
Source§fn eq(&self, other: &GatewayTlsFrontendPerPortTlsValidation) -> bool
fn eq(&self, other: &GatewayTlsFrontendPerPortTlsValidation) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for GatewayTlsFrontendPerPortTlsValidation
Auto Trait Implementations§
impl Freeze for GatewayTlsFrontendPerPortTlsValidation
impl RefUnwindSafe for GatewayTlsFrontendPerPortTlsValidation
impl Send for GatewayTlsFrontendPerPortTlsValidation
impl Sync for GatewayTlsFrontendPerPortTlsValidation
impl Unpin for GatewayTlsFrontendPerPortTlsValidation
impl UnwindSafe for GatewayTlsFrontendPerPortTlsValidation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more