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 secrets;
20pub mod values;
21
22pub use archive::{
23    ArchiveEntry, create_archive, default_archive_name, extract_archive, list_archive,
24    read_file_from_archive, read_manifest_from_archive, verify_archive,
25};
26pub use context::TemplateContext;
27pub use error::{CoreError, ValidationErrorInfo};
28pub use files::FileEntry as FilesFileEntry;
29pub use files::{FileProvider, Files, MockFileProvider, SandboxedFileProvider};
30pub use manifest::FileEntry as ManifestFileEntry;
31pub use manifest::{Manifest, MismatchedFile, VerificationResult};
32pub use pack::{
33    CrdConfig, CrdManifest, CrdUninstallConfig, CrdUpgradeConfig, CrdUpgradeStrategy, Dependency,
34    LoadedPack, Pack, PackKind, PackMetadata, ResolvePolicy,
35};
36pub use release::{Release, ReleaseInfo, ReleaseStatus};
37pub use schema::{
38    Schema, SchemaValidator, SherpProperty, SherpSchema, SherpType, ValidationResult,
39};
40pub use secrets::{SecretCharset, SecretEntry, SecretGenerator, SecretState};
41pub use values::{Values, parse_set_values};