#![warn(missing_docs)]
#![allow(clippy::module_inception)]
mod error;
#[cfg(test)]
mod test_support;
pub mod agent;
pub mod backend;
pub mod config;
#[allow(dead_code)]
pub(crate) mod db;
pub mod image;
pub mod logs;
pub mod runtime;
pub mod sandbox;
pub mod setup;
pub mod snapshot;
pub mod volume;
pub use agent::{
AgentBridge, AgentClient, AgentClientError, AgentClientResult, AgentProtocol, BridgeFrame,
RawFrame, StreamHandle,
};
pub use backend::{
Backend, BackendInfo, BackendKind, BackendSelectionSource, CloudBackend, CloudBackendBuilder,
CloudCreateSandboxRequest, CloudCreateSandboxResponse, CloudErrorBody, CloudErrorDetails,
CloudMessageResponse, CloudPaginated, CloudSandboxStatus, CloudSandboxStatusReason,
CloudVolumeKind, CloudVolumeStatus, DEFAULT_CLOUD_API_URL, LocalBackend, LocalBackendBuilder,
Profile, ProfileBackend, SandboxBackend, SandboxCloudState, SandboxHandleCloudState,
SandboxHandleInner, SandboxHandleLocalState, SandboxInner, SandboxLocalState, SdkConfig,
VolumeBackend, VolumeCloudState, VolumeHandleCloudState, VolumeHandleInner,
VolumeHandleLocalState, VolumeInner, VolumeLocalState, default_backend, default_backend_info,
load_sdk_config, resolve_default_backend, set_default_backend, swap_default_backend,
with_backend,
};
pub use config::set_sdk_libkrunfw_path as set_libkrunfw_path;
pub use error::*;
pub use image::{
Image, ImageConfigDetail, ImageDetail, ImageHandle, ImageLayerDetail, ImagePruneReport,
};
pub use microsandbox_image::{ImageArchiveFormat, RegistryAuth};
pub use microsandbox_protocol as protocol;
pub use microsandbox_runtime::logging::LogLevel;
pub use microsandbox_utils::size;
pub use sandbox::exec::{ExecControl, ExecEvent, ExecHandle};
#[cfg(feature = "ssh")]
pub use sandbox::ssh::{
DEFAULT_SSH_HOST, DEFAULT_SSH_PORT, SandboxSshOps, SftpClient, SshAttachOptionsBuilder,
SshClient, SshClientOptionsBuilder, SshExecOptionsBuilder, SshOutput, SshServer,
SshServerOptionsBuilder, SshStdioStream,
};
pub use sandbox::{
ChangeKind, ConfigPlannedChange, ExecOutput, FilesystemConfigPatch, InitConfigPatch,
MAX_HOSTNAME_BYTES, MAX_SANDBOX_NAME_BYTES, ModificationConflict, ModificationDisposition,
ModificationPolicy, ModificationWarning, PlannedChange, ResourceConfigPatch,
ResourceConvergenceState, ResourceKind, ResourceResizeStatus, RuntimeConfigPatch, Sandbox,
SandboxConfig, SandboxConfigPatch, SandboxImagePatch, SandboxListBuilder, SandboxMetrics,
SandboxMetricsReport, SandboxMetricsState, SandboxModificationBuilder,
SandboxModificationPatch, SandboxModificationPlan, SandboxPage, SandboxPingResult,
SandboxTouchResult, ScriptConfigPatch, SecretChangeKind, SecretModificationPatch,
SecretPatchBuilder, SecretPlannedChange, SecretSource, all_sandbox_metrics,
all_sandbox_metrics_local, all_sandbox_metrics_reports_local, sandbox_metrics_report_local,
validate_sandbox_name,
};
#[cfg(feature = "net")]
pub use sandbox::{
DnsConfigPatch, HostPattern, Nameserver, NetworkAction, NetworkConfigPatch, NetworkPolicy,
NetworkPolicyConfigPatch, NetworkProfile, NetworkRule, PublishedPort, SecretConfigPatch,
SecretEntryConfigPatch, SecretInjection, TlsConfigPatch,
};
pub use snapshot::{
CheckpointSnapshotState, FileSnapshotState, SaveOpts, Snapshot, SnapshotBuilder,
SnapshotConfig, SnapshotDescriptor, SnapshotFormat, SnapshotHandle, SnapshotScope,
SnapshotSpec, SnapshotState, SnapshotVerifyReport, UpperIntegrity, UpperVerifyStatus,
};
pub use volume::{Volume, VolumeConfig, VolumeHandle, VolumeKind, VolumeSpec};