pub struct TrustBundle {
pub v: u32,
pub cluster_domain: String,
pub ca_public_key_b64: String,
pub ca_kid: String,
pub generated_at: String,
}Expand description
Public trust bundle for a cluster, distributable out-of-band so other clusters can import it and accept this cluster’s tokens.
Contains the long-lived cluster CA pubkey (not the per-rotation signing key). Federation works by:
- Cluster A exports its bundle (
GET /api/v1/cluster/trust-bundle). - Operator transports the bundle to cluster B (out-of-band).
- Cluster B imports it via the admin endpoint, replicated through Raft so every node converges.
- Tokens minted by A’s per-rotation key, carrying A’s
ca_chain, now validate against A’s CA pubkey in B’s trusted-bundles map.
Fields§
§v: u32Format version. 1 today.
cluster_domain: StringCluster identity this bundle represents (defaults to cluster UUID;
may be a DNS-style domain like prod.zlayer.example).
ca_public_key_b64: StringURL-safe no-pad base64 of the cluster CA’s Ed25519 verifying key.
ca_kid: StringShort kid of the CA verifying key (8 hex chars).
generated_at: StringRFC3339 timestamp of when this bundle snapshot was generated. Imports may compare timestamps to spot stale bundles.
Trait Implementations§
Source§impl Clone for TrustBundle
impl Clone for TrustBundle
Source§fn clone(&self) -> TrustBundle
fn clone(&self) -> TrustBundle
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ComposeSchema for TrustBundle
impl ComposeSchema for TrustBundle
Source§impl Debug for TrustBundle
impl Debug for TrustBundle
Source§impl<'de> Deserialize<'de> for TrustBundle
impl<'de> Deserialize<'de> for TrustBundle
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for TrustBundle
impl Serialize for TrustBundle
Auto Trait Implementations§
impl Freeze for TrustBundle
impl RefUnwindSafe for TrustBundle
impl Send for TrustBundle
impl Sync for TrustBundle
impl Unpin for TrustBundle
impl UnsafeUnpin for TrustBundle
impl UnwindSafe for TrustBundle
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
Mutably borrows from an owned value. Read more