Skip to main content

Application

Struct Application 

Source
pub struct Application { /* private fields */ }

Implementations§

Source§

impl Application

Source

pub fn local_state() -> Self

Construct the explicit local-state capability graph used only by plan-independent show/monitor/approval/artifact-verification operations.

Source

pub fn from_canonical_config(config: &CanonicalConfig) -> Result<Self, NxdError>

Construct the application from an already-evaluated configuration.

Composition verifies every declared provider/secret executable, records immutable digests, and refuses missing capabilities. Concrete in-core PVE/PBS/SOPS runtimes are not constructed here.

Source

pub fn from_canonical_config_with_linked( config: &CanonicalConfig, linked: &LinkedProviderRegistry, ) -> Result<Self, NxdError>

Source

pub fn from_canonical_inventory( config: &CanonicalConfig, ) -> Result<Self, NxdError>

Construct the inventory-only application used by canonical read paths.

This validates desired state without composing provider or secret executables. Operations requiring live observation must use the complete application graph instead.

Source

pub fn external_runtime(&self) -> &ExternalRuntimeGraph

Source

pub fn from_plan(plan: &PlanEnvelope) -> Result<Self, NxdError>

Source

pub fn from_plan_with_linked( plan: &PlanEnvelope, linked: &LinkedProviderRegistry, ) -> Result<Self, NxdError>

Source

pub fn validate( &self, request: ValidateRequest, ) -> Result<ValidationReport, NxdError>

Source

pub fn render_config(source: ConfigSource) -> Result<CanonicalConfig, NxdError>

Source

pub fn render_config_inventory( source: ConfigSource, ) -> Result<CanonicalConfig, NxdError>

Load canonical inventory without forcing target build outputs. Lifecycle planning performs selection against this value before requesting outputs.

Source

pub fn render_target_inventory( source: ConfigSource, hostname: &str, include_lifecycle_artifacts: bool, ) -> Result<CanonicalConfig, NxdError>

Evaluate the lazy canonical inventory for one already-resolved exact target. Non-install lifecycle commands omit reserved takeover artifacts before Nix forces their derivations.

Source

pub fn render_config_for_hosts( source: ConfigSource, requested_hosts: &[String], ) -> Result<CanonicalConfig, NxdError>

Load the same canonical site while retaining build outputs only for the already-resolved deployment targets.

Source

pub fn resolve_target_outputs( source: &ConfigSource, config: &mut CanonicalConfig, requested_hosts: &[String], ) -> Result<(), NxdError>

Source

pub fn resolve_target_outputs_with_logger( source: &ConfigSource, config: &mut CanonicalConfig, requested_hosts: &[String], logger: &Logger, ) -> Result<(), NxdError>

Source

pub fn plan(&self, request: PlanRequest) -> Result<PlanEnvelope, NxdError>

Source

pub fn plan_with_progress( &self, request: PlanRequest, logger: Logger, ) -> Result<PlanEnvelope, NxdError>

Source

pub fn exec_plan( &self, request: PlanRequest, argv: Vec<String>, ) -> Result<PlanEnvelope, NxdError>

Source

pub fn exec_plan_with_progress( &self, request: PlanRequest, argv: Vec<String>, logger: Logger, ) -> Result<PlanEnvelope, NxdError>

Source

pub fn info(&self, request: InfoRequest) -> Result<InfoReport, NxdError>

Source

pub fn apply(&self, request: ApplyRequest) -> Result<ApplyReport, NxdError>

Source

pub fn apply_with_progress( &self, request: ApplyRequest, logger: Logger, ) -> Result<ApplyReport, NxdError>

Source

pub fn create_approval( &self, request: CreateApprovalRequest, ) -> Result<ApprovalEvidence, NxdError>

Create digest-bound approval evidence for a reviewed plan (no mutation).

Source

pub fn validate_approval( &self, request: ValidateApprovalRequest, ) -> Result<(), NxdError>

Import and validate approval evidence against a plan without applying.

Source

pub fn show_run(&self, run_id: Option<&str>) -> Result<Value, NxdError>

Source

pub fn monitor_run(&self, run_id: &str) -> Result<MonitorRunReport, NxdError>

Source

pub fn cancel_run(&self, run_id: &str) -> Result<CancelRunReport, NxdError>

Source

pub fn verify( &self, request: VerifyRequest, ) -> Result<VerificationReport, NxdError>

Source

pub fn capture( &self, request: CaptureRequest, ) -> Result<CaptureReport, NxdError>

Source

pub fn capture_with_progress( &self, request: CaptureRequest, logger: Logger, ) -> Result<CaptureReport, NxdError>

Source

pub fn artifact_build( &self, request: ArtifactBuildRequest, ) -> Result<ArtifactBuildReport, NxdError>

Source

pub fn artifact_verify(&self, manifest: &Path) -> Result<(), NxdError>

Source

pub fn show_config( &self, selectors: &[String], ) -> Result<CanonicalConfig, NxdError>

Source

pub fn show_plan(&self, path: &Path) -> Result<PlanDisplay, NxdError>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,