#[cfg(feature = "sharding")]
use crate::workflow::placement::sharding::ShardingWorkflow;
use crate::workflow::runtime::auth::RuntimeAuthWorkflow;
use crate::{
InternalError,
ops::runtime::ready::ReadyOps,
workflow::{placement::scaling::ScalingWorkflow, prelude::*},
};
pub async fn bootstrap_init_nonroot_canister(_args: Option<Vec<u8>>) -> Result<(), InternalError> {
log!(Topic::Init, Info, "bootstrap (nonroot): init start");
#[cfg(feature = "sharding")]
ShardingWorkflow::bootstrap_configured_initial_shards().await?;
ScalingWorkflow::bootstrap_configured_initial_workers().await?;
RuntimeAuthWorkflow::check_issuer_canister_signature_support().await?;
log!(Topic::Init, Info, "bootstrap (nonroot): init complete");
ReadyOps::mark_ready();
Ok(())
}
pub async fn bootstrap_post_upgrade_nonroot_canister() -> Result<(), InternalError> {
log!(Topic::Init, Info, "bootstrap (nonroot): post-upgrade start");
RuntimeAuthWorkflow::check_issuer_canister_signature_support().await?;
log!(
Topic::Init,
Info,
"bootstrap (nonroot): post-upgrade complete"
);
ReadyOps::mark_ready();
Ok(())
}