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 image;
9mod image_artifact;
10mod provenance;
11mod value;
12
13pub use application::{
14    Annotation, Application, ArtifactDependency, ArtifactDependencyNode, Command, Config, ConfigMaterial, Device,
15    Entrypoint, EnvironmentFile, EnvironmentFileFormat, EnvironmentFileSyntax, EnvironmentValue, EnvironmentVariable,
16    ExposedPort, GroupExitPolicy, Healthcheck, HealthcheckCommand, HealthcheckDuration, HealthcheckRetries,
17    HostAddress, HostAddressKind, HostMapping, Identifier, KernelParameter, Logging, LoggingOption, MetadataLabel,
18    ModelError, Mount, MountSource, Network, NetworkAttachment, NetworkDriverOption, NetworkIpamConfig, Port, Protocol,
19    PullPolicy, ReloadAction, ResourceGrant, ResourceGrantSyntax, ResourceLimit, ResourceOwnership, RestartPolicy,
20    Secret, SecretMaterial, SecurityOption, SelinuxRelabel, Service, ServiceDependency, ServiceDependencyCondition,
21    ServiceGroup, ServiceGroupRuntime, StartupNotification, StopTimeout, Volume, VolumeImageSource,
22};
23pub use image::ImageReference;
24pub use image_artifact::{
25    BuildAttestation, BuildContext, BuildSettingValues, BuildSourceDeclaration, BuildSyntax, ImageAcquisition,
26    ImageAcquisitionSetting, ImageArtifactAssignment, ImageBuild, ImageBuildSetting, SourceBuildSecret,
27    SourceBuildSetting,
28};
29pub use provenance::{Provenance, ProvenanceKind, SourceId, SourceSpan, Sourced};
30pub use value::ProtectedString;