Skip to main content

boxferry_model/
lib.rs

1//! Format-independent application model for `BoxFerry`.
2//!
3//! The model describes container application intent without exposing Compose,
4//! Quadlet, Podman, Docker, or Kubernetes types. Ordered collections and source
5//! provenance remain available to conversion adapters.
6
7mod application;
8mod deferred;
9mod image;
10mod image_artifact;
11mod metadata;
12mod provenance;
13mod value;
14
15pub use application::{
16    Annotation, Application, ArtifactDependency, ArtifactDependencyNode, Command, Config, ConfigMaterial, Device,
17    Entrypoint, EnvironmentFile, EnvironmentFileFormat, EnvironmentFileSyntax, EnvironmentValue, EnvironmentVariable,
18    ExposedPort, GroupExitPolicy, Healthcheck, HealthcheckCommand, HealthcheckDuration, HealthcheckRetries,
19    HostAddress, HostAddressKind, HostMapping, Identifier, KernelParameter, Logging, LoggingOption, MetadataLabel,
20    ModelError, Mount, MountSource, Network, NetworkAttachment, NetworkDriverOption, NetworkIpamConfig, Port, Protocol,
21    PullPolicy, ReloadAction, ResourceGrant, ResourceGrantSyntax, ResourceLimit, ResourceOwnership, RestartPolicy,
22    RetainedNativeEvidence, RetainedNativeEvidenceEvent, RetainedNativeEvidenceSubject, Secret, SecretMaterial,
23    SecurityOption, SelinuxRelabel, Service, ServiceDependency, ServiceDependencyCondition, ServiceGroup,
24    ServiceGroupRuntime, StartupNotification, StopTimeout, Volume, VolumeImageSource,
25};
26pub use image::ImageReference;
27pub use image_artifact::{
28    BuildAttestation, BuildContext, BuildSettingValues, BuildSourceDeclaration, BuildSyntax, ImageAcquisition,
29    ImageAcquisitionSetting, ImageArtifactAssignment, ImageBuild, ImageBuildSetting, SourceBuildSecret,
30    SourceBuildSetting,
31};
32pub use provenance::{Provenance, ProvenanceKind, SourceId, SourceSpan, Sourced};
33pub use value::ProtectedString;
34
35pub use metadata::{
36    METADATA_MAX_BYTES, METADATA_MAX_DEPTH, MetadataEntry, MetadataError, MetadataNode, MetadataScope, MetadataValue,
37    VendorMetadata,
38};
39
40pub use deferred::{
41    DEFERRED_MAX_BYTES, DEFERRED_MAX_SEGMENTS, DeferredExpression, DeferredSegment, ServiceEnvironmentAssignment,
42    ServiceEnvironmentFile, ServiceEnvironmentName, ServiceExecutionEnvironment,
43};