Skip to main content

saddle_core/
lib.rs

1//! Stable contracts shared by Saddle components.
2//!
3//! Business applications should depend on the `saddle` facade instead of this
4//! crate directly.
5
6mod bootstrap_rendezvous;
7mod context;
8mod db_physical_disposition;
9mod deployment_applicability;
10mod error;
11mod generation_pair;
12mod golden_c8_applicability;
13mod golden_c8_startup_assembly;
14mod lifecycle;
15mod observability_block_state;
16mod observability_identity;
17mod rendezvous_manifest;
18mod trusted_candidate_set;
19
20#[doc(hidden)]
21pub use bootstrap_rendezvous::{
22    BootstrapApplicationHalf, BootstrapBindingReceipt, BootstrapListenerHalf,
23    BootstrapListenerIssuer, BootstrapRendezvousError, BootstrapRendezvousIssuer,
24    BootstrapRendezvousWhole, BootstrapRuntimeBindingReceipt, BootstrapRuntimeBindingRemainder,
25    BoundBootstrapRendezvous, GeneratedApplicationFreezeSource, ListenerStartupFreezeSource,
26    VerifiedBootstrapRuntimeBinding, bind_bootstrap_receipt, pair_bootstrap_rendezvous,
27    recover_verified_runtime_bootstrap_binding, restore_bound_bootstrap_rendezvous,
28    take_runtime_bootstrap_receipt, verify_runtime_bootstrap_binding,
29};
30pub use context::{
31    ApplicationId, CallContext, MAX_TRACE_CORRELATION_ID_BYTES, ModuleId, OperationId, ServiceId,
32    SpanId, TraceCorrelationId, TraceCorrelationIdError, TraceId,
33};
34#[doc(hidden)]
35pub use db_physical_disposition::{
36    DbPhysicalDisposition, DbPhysicalDispositionIssuer, DbPhysicalDispositionOwner,
37    DbPhysicalDispositionReceipt, DbPhysicalExecutionHalf, DbPhysicalProcessCapability,
38    DbPhysicalRequestHalf, DbPhysicalRequestIssuer, DbPhysicalStartupHalf, DbRequestNotUsedReceipt,
39    pair_db_physical_disposition, seal_db_request_not_used,
40};
41#[doc(hidden)]
42pub use deployment_applicability::{
43    DeploymentApplicabilityError, DeploymentSplitError, RevocationSnapshotReceipt,
44    RuntimeResourceShape, RuntimeResourceShapeError, TrustedDeploymentPolicyReceipt,
45    TrustedTimeReceipt, VerifiedDeploymentBundleApplicabilityOwner,
46    VerifiedDeploymentDirectoryAuthority, VerifiedDeploymentDirectoryPermit,
47    VerifiedDeploymentGateBuildAuthoritySeed, VerifiedDeploymentGateBuildOwner,
48    VerifiedDeploymentResourceObservationOwner, VerifiedDeploymentResourcePermit,
49    VerifiedDeploymentSchedulerObservationOwner, VerifiedDeploymentSchedulerObservationSeed,
50    VerifiedDeploymentStartupAuthoritySeed, VerifiedDeploymentSubjectContinuation,
51    VerifiedDeploymentSupervisorStartupOwner, VerifiedDeploymentSupervisorStartupSeed,
52    VerifiedFilesystemServiceBudgetAuthoritySeed, VerifiedFinalDirectoryReceipt,
53    VerifiedFinalDirectoryReceiptPair, VerifiedFinalFilesystemCreatorBinding,
54    VerifiedFinalGeneratedReceipt, VerifiedFinalPairingParts, VerifiedFinalPairingReceipts,
55    VerifiedFinalResourceReceipt, VerifiedFinalSubjectReceipt, VerifiedFinishedFinalDirectorySeal,
56    VerifiedReceiptIssuerTrustAnchorOwner, VerifiedRuntimeResourceParts,
57    VerifiedStartupTimePolicyOwner, consume_deployment_binding_split,
58    consume_final_pairing_receipts, finish_final_pairing_parts,
59    pair_deployment_applicability_generation, pair_deployment_directory_permit,
60    pair_final_startup_receipts, recover_rejected_final_pairing_receipts,
61    restore_final_directory_receipt_pair, seal_verified_runtime_resource_parts,
62    verify_canonical_deployment_resource_observation, verify_deployment_bundle_applicability,
63    verify_deployment_bundle_applicability_pair, verify_production_deployment_receipts,
64};
65pub use error::{ErrorKind, Result, SaddleError};
66pub use generation_pair::{
67    CanonicalSignedFiveLeafGenerationV2Input, FiveLeafGenerationV2NonAuthorityView,
68    FiveLeafV2SignerResponse, FiveLeafV2SigningError, FiveLeafV2SigningRequest,
69    GenerationPairError, VerifiedComponentGenerationPairingReceipt,
70    VerifiedFiveLeafGenerationV2Owner, VerifiedFiveLeafGenerationV2PairedOwner,
71    VerifiedFiveLeafV2SignerPolicyOwner, VerifiedFiveLeafV2SigningRequestApprovalOwner,
72    VerifiedGeneratedComponentGenerationOwner,
73    VerifiedGeneratedComponentGenerationV2FinalTransaction,
74    VerifiedGeneratedComponentGenerationV2Owner, VerifiedGenerationKeyApplicabilityReceipt,
75    VerifiedObservabilityCapacityView, VerifiedSignedDeploymentGenerationOwner,
76    begin_generated_component_generation_v2_final_transaction, bind_generated_component_generation,
77    bind_generated_component_generation_v2, capture_untrusted_five_leaf_v2_signer_response,
78    consume_component_generation_pairing, pair_component_generation,
79    pair_verified_five_leaf_generation_v2, prepare_five_leaf_v2_signing_request,
80    restore_generated_component_generation_v2_final_transaction,
81    verify_approved_five_leaf_generation_v2, verify_five_leaf_v2_signing_response,
82};
83#[doc(hidden)]
84pub use golden_c8_applicability::{
85    ApprovedGoldenC8ApplicabilityInput, GoldenC8ApplicabilityRejection,
86    VerifiedGoldenC8ApplicabilityOwner, approved_golden_c8_applicability_input,
87    verify_golden_c8_applicability,
88};
89#[doc(hidden)]
90pub use golden_c8_startup_assembly::{
91    ApprovedGoldenC8StartupAssemblyInput, GoldenC8StartupAssemblyRejection,
92    VerifiedGoldenC8StartupAssemblyInputOwner, approved_golden_c8_startup_assembly_input,
93    verify_golden_c8_startup_assembly_input,
94};
95pub use lifecycle::{ComponentLifecycle, LifecycleFuture};
96#[doc(hidden)]
97pub use observability_block_state::{
98    ObservabilityBlockState, allocate_observability_block_states,
99    observability_block_state_array_layout, observability_block_state_schema_identity,
100};
101#[doc(hidden)]
102pub use observability_identity::{
103    ObservabilityBundleIdentityAuthority, ObservabilityBundleIdentityContinuation,
104    SignedDirectoryIssuerError, VerifiedSignedDirectorySubjectContinuation,
105    issue_final_directory_receipts, issue_observability_bundle_identity,
106    pair_signed_directory_subject_generation, pair_signed_directory_subject_generation_v2,
107    verify_observability_bundle_binding, verify_signed_directory_subject,
108    verify_signed_directory_subject_deployment_pair,
109};
110#[doc(hidden)]
111pub use rendezvous_manifest::{
112    CanonicalSignedRendezvousManifestInput, RendezvousManifestPreflightError,
113    StructurallyVerifiedRendezvousManifestPreflightOwner,
114    VerifiedRendezvousManifestKeyApplicabilityReceipt,
115    verify_rendezvous_manifest_structural_preflight,
116};
117#[doc(hidden)]
118pub use trusted_candidate_set::{
119    ApprovedTrustedCandidateSetInput, TrustedCandidateSetRejection,
120    VerifiedTrustedCandidateSetOwner, approved_trusted_candidate_set_input,
121    rollback_trusted_candidate_set, verify_trusted_candidate_set,
122};