mod details;
mod fleet;
mod labels;
mod roles;
mod root_subnet;
use crate::release_set::config::{FleetConfigError, FleetConfigOperation};
use canic_core::bootstrap::{compiled::ConfigModel, parse_config_model};
pub(in crate::release_set) use details::configured_role_details_from_source;
pub(in crate::release_set) use fleet::{
configured_controllers_from_source, configured_fleet_name_from_source,
};
pub(in crate::release_set) use roles::{
configured_role_auto_create_from_source, configured_role_kinds_from_source,
configured_role_lifecycle_from_source, configured_role_metrics_profiles_from_source,
configured_role_topups_from_source,
};
pub use root_subnet::configured_release_roles_from_config;
pub(in crate::release_set) use root_subnet::{
configured_bootstrap_roles_from_source, configured_deployable_roles_from_source,
configured_local_root_create_cycles_from_source, configured_pool_expectations_from_source,
};
fn parse_projection_config(config_source: &str) -> Result<ConfigModel, FleetConfigError> {
parse_config_model(config_source).map_err(|source| FleetConfigError::CoreConfig {
operation: FleetConfigOperation::Project,
source,
})
}