canic_core/api/
fleet_activation.rs1use crate::{
8 dto::{
9 error::Error,
10 fleet_activation::{
11 FleetActivationIdentity, FleetActivationRequest, FleetActivationResumeRequest,
12 FleetActivationStatusResponse, FleetCascadeActivationEvidence,
13 FleetCascadeManifestEntry, FleetCredentialGenerationRef,
14 FleetCredentialGenerationRequest, FleetCredentialManifest,
15 },
16 fleet_subnet_root::FleetSubnetRootAuthority,
17 },
18 ids::FleetSubnetWasmStoreAuthority,
19 ops::fleet_activation::FleetActivationEvidenceOps,
20 view::fleet_activation::FleetActivationTransition,
21 workflow::runtime::fleet_activation::FleetActivationWorkflow,
22};
23
24pub struct FleetActivationApi;
29
30impl FleetActivationApi {
31 pub fn cascade_manifest_hash(
33 manifest: &[FleetCascadeManifestEntry],
34 ) -> Result<[u8; 32], Error> {
35 FleetActivationEvidenceOps::cascade_manifest_hash(manifest).map_err(Error::from)
36 }
37
38 pub fn credential_manifest_hash(manifest: &FleetCredentialManifest) -> Result<[u8; 32], Error> {
40 FleetActivationEvidenceOps::credential_manifest_hash(manifest).map_err(Error::from)
41 }
42
43 pub fn empty_root_policy_set_hash() -> Result<[u8; 32], Error> {
45 FleetActivationEvidenceOps::empty_root_policy_set_hash().map_err(Error::from)
46 }
47
48 pub fn empty_renewal_template_set_hash() -> Result<[u8; 32], Error> {
50 FleetActivationEvidenceOps::empty_renewal_template_set_hash().map_err(Error::from)
51 }
52
53 pub fn activation_evidence_hash(
55 identity: &FleetActivationIdentity,
56 cascade: &FleetCascadeActivationEvidence,
57 credential: FleetCredentialGenerationRef,
58 ) -> Result<[u8; 32], Error> {
59 FleetActivationEvidenceOps::activation_evidence_hash(identity, cascade, credential)
60 .map_err(Error::from)
61 }
62
63 pub fn status() -> Result<FleetActivationStatusResponse, Error> {
64 FleetActivationWorkflow::status().map_err(Error::from)
65 }
66
67 pub fn require_active() -> Result<(), Error> {
68 FleetActivationWorkflow::require_active().map_err(Error::from)
69 }
70
71 pub fn root_authority() -> Result<FleetSubnetRootAuthority, Error> {
72 FleetActivationWorkflow::root_authority().map_err(Error::from)
73 }
74
75 pub fn wasm_store_authority() -> Result<FleetSubnetWasmStoreAuthority, Error> {
76 FleetActivationWorkflow::wasm_store_authority().map_err(Error::from)
77 }
78
79 pub async fn resume_root(
80 request: FleetActivationResumeRequest,
81 ) -> Result<FleetActivationTransition, Error> {
82 FleetActivationWorkflow::resume_root(request)
83 .await
84 .map_err(Error::from)
85 }
86
87 pub fn prepare_nonroot_credential_generation(
88 request: FleetCredentialGenerationRequest,
89 ) -> Result<FleetActivationStatusResponse, Error> {
90 FleetActivationWorkflow::prepare_nonroot_credential_generation(request).map_err(Error::from)
91 }
92
93 pub fn activate_nonroot(
94 request: FleetActivationRequest,
95 ) -> Result<FleetActivationTransition, Error> {
96 FleetActivationWorkflow::activate_nonroot(request).map_err(Error::from)
97 }
98}