Skip to main content

CaProvider

Trait CaProvider 

Source
pub trait CaProvider: Send + Sync {
    // Required method
    fn load(
        &self,
        profile_name: &str,
    ) -> Result<(Vec<u8>, Vec<u8>), CaMaterialError>;
}
Expand description

Supplies caproni’s runtime-generated CA material to deployers that need it at build time.

The dev-CA kustomize overlay declares a secretGenerator whose tls.crt/tls.key inputs are not shipped in the repository; they are caproni runtime artifacts. A CaProvider hands those PEM bytes to the deployer so they can be written into the kustomization directory before kustomize build runs.

The interface is deliberately application-agnostic: it knows nothing about the application being deployed, only about caproni’s own CA. Tests inject a fake provider; production uses the pki-backed implementation.

Required Methods§

Source

fn load( &self, profile_name: &str, ) -> Result<(Vec<u8>, Vec<u8>), CaMaterialError>

Returns the PEM-encoded CA certificate and private key for the given cluster profile. Implementations must not generate a new CA – they read the material caproni already produced during caproni up.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§