pub struct CustomerRootRuntimeBuilder<P> { /* private fields */ }Expand description
Explicit runtime bootstrap entrypoint for ADR 96 customer-root binaries/workspaces.
This keeps the linked-customer composition path visible in code without forcing every
customer binary to start from the lower-level RuntimeBuilder::new(...) surface.
Implementations§
Source§impl<P> CustomerRootRuntimeBuilder<P>where
P: AuthModelPackage + 'static,
impl<P> CustomerRootRuntimeBuilder<P>where
P: AuthModelPackage + 'static,
pub fn new(config: PlatformConfig, auth_package: P) -> Self
Sourcepub fn with_customer_root<A>(self, root: A) -> Self
pub fn with_customer_root<A>(self, root: A) -> Self
Mount a customer workspace/app root that contains the checked-in template tree.
This is the customer-root equivalent of with_template_root(...).
Sourcepub fn with_linked_customer_plugin<C>(self, plugin: C) -> Selfwhere
C: CustomerBackendPlugin,
pub fn with_linked_customer_plugin<C>(self, plugin: C) -> Selfwhere
C: CustomerBackendPlugin,
Link a native customer backend plugin into the runtime plan.
pub fn with_boxed_linked_customer_plugin( self, plugin: Box<dyn CustomerBackendPlugin>, ) -> Self
pub fn with_module<M>(self, module: M) -> Selfwhere
M: PlatformModule + 'static,
pub fn register_module<M>(self, module: M) -> Selfwhere
M: PlatformModule + 'static,
pub fn with_boxed_module(self, module: Box<dyn PlatformModule>) -> Self
pub fn register_customer_plugin<C>(self, plugin: C) -> Selfwhere
C: CustomerBackendPlugin,
pub fn with_installed_extension(self, extension: InstalledExtension) -> Self
pub fn with_template(self, template: TemplateDefinition) -> Self
pub fn with_templates<I>(self, templates: I) -> Selfwhere
I: IntoIterator<Item = TemplateDefinition>,
pub fn with_storage_policy_rule(self, rule: PathPolicyRule) -> Self
pub fn with_storage_policies(self, policies: StoragePolicySet) -> Self
pub fn with_route(self, route: RouteDefinition) -> Self
pub fn with_handler(self, handler: HandlerDefinition) -> Self
pub fn with_feature_flag(self, feature_flag: FeatureFlag) -> Self
pub fn with_translation_catalog(self, catalog: TranslationCatalog) -> Self
pub fn with_translation_catalogs<I>(self, catalogs: I) -> Selfwhere
I: IntoIterator<Item = TranslationCatalog>,
pub fn with_maintenance_mode(self, maintenance_mode: MaintenanceMode) -> Self
Sourcepub fn into_runtime_builder(self) -> RuntimeBuilder<P>
pub fn into_runtime_builder(self) -> RuntimeBuilder<P>
Drop to the lower-level runtime builder when the customer binary needs advanced knobs that are not part of the customer-root convenience surface yet.
pub fn build(self) -> Result<RuntimePlan, RuntimeBuildError>
pub fn run_from_env(self) -> Result<(), RuntimeBootstrapError>
Source§impl CustomerRootRuntimeBuilder<LoadedAuthModelPackage>
impl CustomerRootRuntimeBuilder<LoadedAuthModelPackage>
pub fn from_env() -> Result<Self, RuntimeBootstrapError>
pub fn from_paths( app_root: impl AsRef<Path>, config_path: impl AsRef<Path>, ) -> Result<Self, RuntimeBootstrapError>
pub fn from_bootstrap_inputs(inputs: CustomerRootBootstrapInputs) -> Self
Auto Trait Implementations§
impl<P> Freeze for CustomerRootRuntimeBuilder<P>where
P: Freeze,
impl<P> !RefUnwindSafe for CustomerRootRuntimeBuilder<P>
impl<P> !Send for CustomerRootRuntimeBuilder<P>
impl<P> !Sync for CustomerRootRuntimeBuilder<P>
impl<P> Unpin for CustomerRootRuntimeBuilder<P>where
P: Unpin,
impl<P> UnsafeUnpin for CustomerRootRuntimeBuilder<P>where
P: UnsafeUnpin,
impl<P> !UnwindSafe for CustomerRootRuntimeBuilder<P>
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
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>
Converts
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>
Converts
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