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 ops::fleet_activation::FleetActivationEvidenceOps,
19 view::fleet_activation::FleetActivationTransition,
20 workflow::runtime::fleet_activation::FleetActivationWorkflow,
21};
22
23pub struct FleetActivationApi;
28
29impl FleetActivationApi {
30 pub fn cascade_manifest_hash(
32 manifest: &[FleetCascadeManifestEntry],
33 ) -> Result<[u8; 32], Error> {
34 FleetActivationEvidenceOps::cascade_manifest_hash(manifest).map_err(Error::from)
35 }
36
37 pub fn credential_manifest_hash(manifest: &FleetCredentialManifest) -> Result<[u8; 32], Error> {
39 FleetActivationEvidenceOps::credential_manifest_hash(manifest).map_err(Error::from)
40 }
41
42 pub fn activation_evidence_hash(
44 identity: &FleetActivationIdentity,
45 cascade: &FleetCascadeActivationEvidence,
46 credential: FleetCredentialGenerationRef,
47 ) -> Result<[u8; 32], Error> {
48 FleetActivationEvidenceOps::activation_evidence_hash(identity, cascade, credential)
49 .map_err(Error::from)
50 }
51
52 pub fn status() -> Result<FleetActivationStatusResponse, Error> {
53 FleetActivationWorkflow::status().map_err(Error::from)
54 }
55
56 pub fn require_active() -> Result<(), Error> {
57 FleetActivationWorkflow::require_active().map_err(Error::from)
58 }
59
60 pub fn root_authority() -> Result<FleetSubnetRootAuthority, Error> {
61 FleetActivationWorkflow::root_authority().map_err(Error::from)
62 }
63
64 pub async fn prepare_root() -> Result<FleetActivationStatusResponse, Error> {
65 FleetActivationWorkflow::prepare_root()
66 .await
67 .map_err(Error::from)
68 }
69
70 pub async fn resume_root(
71 request: FleetActivationResumeRequest,
72 ) -> Result<FleetActivationTransition, Error> {
73 FleetActivationWorkflow::resume_root(request)
74 .await
75 .map_err(Error::from)
76 }
77
78 pub fn prepare_nonroot_credential_generation(
79 request: FleetCredentialGenerationRequest,
80 ) -> Result<FleetActivationStatusResponse, Error> {
81 FleetActivationWorkflow::prepare_nonroot_credential_generation(request).map_err(Error::from)
82 }
83
84 pub fn activate_nonroot(
85 request: FleetActivationRequest,
86 ) -> Result<FleetActivationTransition, Error> {
87 FleetActivationWorkflow::activate_nonroot(request).map_err(Error::from)
88 }
89}