pub struct MeshConfig {
pub enabled: bool,
pub mode: MeshMode,
pub sidecar: Option<MeshSidecarConfig>,
pub spiffe: Option<MeshSpiffeConfig>,
}Expand description
Top-level service mesh config (DW-107, gateway.mesh).
When present, the gateway is configured to run as a sidecar in each
pod: an init container configures
iptables/TPROXY redirects so all traffic to and from the local
application flows through the sidecar, which terminates mTLS
(inbound) and wraps mTLS (outbound) using SPIFFE/SPIRE X.509 SVIDs.
The mesh runtime is scaffolded and Enterprise-only: the block is
accepted but inert (validation warns; no sidecar listeners or
SPIFFE client are wired) without the ent feature and until the
sidecar bootstrap is production-ready.
Fields§
§enabled: boolMaster switch. Default false: the mesh is inert when false (the runtime is scaffolded regardless). This lets operators stage the config ahead of activating the surface.
mode: MeshModeThe mesh mode. v1 ships sidecar; validation rejects any other
value.
sidecar: Option<MeshSidecarConfig>Sidecar listener and redirect configuration. Required when
mode is sidecar.
spiffe: Option<MeshSpiffeConfig>SPIFFE/SPIRE identity configuration. Required when the mesh is enabled (mTLS identity is mandatory, not optional).
Trait Implementations§
Source§impl Clone for MeshConfig
impl Clone for MeshConfig
Source§fn clone(&self) -> MeshConfig
fn clone(&self) -> MeshConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MeshConfig
impl Debug for MeshConfig
Source§impl<'de> Deserialize<'de> for MeshConfig
impl<'de> Deserialize<'de> for MeshConfig
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 MeshConfig
impl JsonSchema for MeshConfig
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 MeshConfig
impl PartialEq for MeshConfig
Source§impl Serialize for MeshConfig
impl Serialize for MeshConfig
impl StructuralPartialEq for MeshConfig
Auto Trait Implementations§
impl Freeze for MeshConfig
impl RefUnwindSafe for MeshConfig
impl Send for MeshConfig
impl Sync for MeshConfig
impl Unpin for MeshConfig
impl UnwindSafe for MeshConfig
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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