sherpack_core/
lib.rs

1//! Sherpack Core - Core types and utilities for the Kubernetes package manager
2//!
3//! This crate provides the foundational types used throughout Sherpack:
4//! - `Pack`: The package definition (equivalent to Helm Chart)
5//! - `Values`: Configuration values with deep merge support
6//! - `Release`: Deployment state tracking
7//! - `Context`: Template rendering context
8//! - `Schema`: Values schema validation
9//! - `Files`: Sandboxed file access for templates
10
11pub mod archive;
12pub mod context;
13pub mod error;
14pub mod files;
15pub mod manifest;
16pub mod pack;
17pub mod release;
18pub mod schema;
19pub mod values;
20
21pub use archive::{
22    ArchiveEntry, create_archive, default_archive_name, extract_archive, list_archive,
23    read_file_from_archive, read_manifest_from_archive, verify_archive,
24};
25pub use context::TemplateContext;
26pub use error::{CoreError, ValidationErrorInfo};
27pub use files::FileEntry as FilesFileEntry;
28pub use files::{FileProvider, Files, MockFileProvider, SandboxedFileProvider};
29pub use manifest::FileEntry as ManifestFileEntry;
30pub use manifest::{Manifest, MismatchedFile, VerificationResult};
31pub use pack::{
32    CrdConfig, CrdManifest, CrdUninstallConfig, CrdUpgradeConfig, CrdUpgradeStrategy, Dependency,
33    LoadedPack, Pack, PackKind, PackMetadata, ResolvePolicy,
34};
35pub use release::{Release, ReleaseInfo, ReleaseStatus};
36pub use schema::{
37    Schema, SchemaValidator, SherpProperty, SherpSchema, SherpType, ValidationResult,
38};
39pub use values::{Values, parse_set_values};