canic_host/release_set/
mod.rs1mod application;
4mod artifact;
5mod config;
6mod infrastructure;
7mod manifest;
8mod paths;
9
10pub use application::{
11 ApplicationArtifactBuildOutput, ApplicationArtifactBuildTarget, ApplicationArtifactEntry,
12 ApplicationArtifactFileBuildOutput, ApplicationArtifactUnion,
13 ApplicationArtifactUnionPersistenceError, ApplicationReleaseSetEntryKind,
14 ApplicationReleaseSetError, FleetSubnetRootReleaseSetEntry, FleetSubnetRootReleaseSetManifest,
15 PersistedApplicationArtifactUnion, compile_and_persist_application_artifact_union,
16 load_persisted_application_artifact_union,
17};
18use artifact::build_release_set_entry;
19pub(crate) use artifact::resolve_release_artifact_path;
20pub(crate) use artifact::validate_release_artifact_relative_path;
21pub(crate) use config::configured_release_roles_from_config;
22pub use config::{
23 AppConfigDeclaration, AppConfigError, AppConfigIoOperation, AppConfigMutationConflict,
24 AppConfigNameField, AppConfigNameIssue, AppConfigOperation, AppConfigPackageIssue,
25 AppConfigSnapshot, AppConfigTomlOperation, AttachedAppRole, ConfiguredPoolExpectation,
26 ConfiguredRoleLifecycle, DeclaredAppRole, LOCAL_ROOT_MIN_READY_CYCLES, RenamedAppRole,
27 attach_app_role, declare_app_role, plan_attach_app_role, plan_declare_app_role,
28 plan_rename_app_role, read_app_config_identity, rename_app_role,
29};
30pub use infrastructure::{
31 CanicInfrastructureArtifactBuildOutput, CanicInfrastructureArtifactEntry,
32 CanicInfrastructureArtifactInput, CanicInfrastructureArtifactManifest,
33 CanicInfrastructureArtifactManifestError, CanicInfrastructureArtifactPersistenceError,
34 CanicInfrastructureRole, PersistedCanicInfrastructureArtifactManifest,
35 compile_and_persist_canic_infrastructure_artifact_manifest,
36 load_persisted_canic_infrastructure_artifact_manifest,
37};
38pub use manifest::{ReleaseSetEntry, RootReleaseSetManifest, load_root_release_set_manifest};
39pub(crate) use manifest::{
40 RootReleaseSetBuildSnapshot, RootReleaseSetBuildTarget,
41 emit_root_release_set_manifest_from_build, validate_root_release_set_manifest,
42};
43pub use paths::{
44 ArtifactRootError, WorkspaceDiscoveryError, app_sources_root, artifact_root_path, config_path,
45 display_workspace_path, icp_root, load_root_package_version, load_workspace_package_version,
46 resolve_artifact_root, root_release_set_manifest_path, workspace_manifest_path, workspace_root,
47};
48
49pub(super) const APP_SOURCES_ROOT_RELATIVE: &str = "apps";
50pub(super) const ROOT_CONFIG_FILE: &str = "canic.toml";
51pub(super) const WORKSPACE_MANIFEST_RELATIVE: &str = "Cargo.toml";
52pub(crate) const ROOT_RELEASE_SET_MANIFEST_FILE: &str = "root.release-set.json";
53pub(super) const GZIP_MAGIC: [u8; 2] = [0x1f, 0x8b];
54pub(super) const WASM_MAGIC: [u8; 4] = [0x00, 0x61, 0x73, 0x6d];
55
56#[cfg(test)]
57mod tests;