Skip to main content

Crate a3s_box_core

Crate a3s_box_core 

Source
Expand description

A3S Box Core - Foundational Types and Abstractions

This module provides the foundational types, traits, and abstractions used across the A3S Box MicroVM runtime.

Re-exports§

pub use audit::AuditAction;
pub use audit::AuditConfig;
pub use audit::AuditEvent;
pub use audit::AuditOutcome;
pub use compose::ComposeConfig;
pub use config::BoxConfig;
pub use config::ExecutionIsolation;
pub use config::ResourceConfig;
pub use config::ResourceLimits;
pub use error::BoxError;
pub use error::Result;
pub use event::BoxEvent;
pub use event::EventEmitter;
pub use exec::ExecChunk;
pub use exec::ExecEvent;
pub use exec::ExecExit;
pub use exec::ExecMetrics;
pub use exec::StreamType;
pub use exec::ExecOutput;
pub use exec::ExecRequest;
pub use exec::FileOp;
pub use exec::FileRequest;
pub use exec::FileResponse;
pub use exec::FilesystemEntry;
pub use exec::FilesystemEntryKind;
pub use exec::FilesystemOp;
pub use exec::FilesystemRequest;
pub use exec::FilesystemResponse;
pub use exec::GuestSessionRequest;
pub use exec::MAX_BOUNDED_FILE_BYTES;
pub use exec::EXEC_VSOCK_PORT;
pub use exec::PORT_FWD_VSOCK_PORT;
pub use execution::resolve_execution;
pub use execution::validate_microvm_compatibility;
pub use execution::validate_sandbox_compatibility;
pub use execution::ExecutionBackend;
pub use execution::IsolationClass;
pub use execution::ResolvedExecutionPlan;
pub use network::IsolationMode;
pub use network::NetworkConfig;
pub use network::NetworkEndpoint;
pub use network::NetworkMode;
pub use network::NetworkPolicy;
pub use operator::BoxAutoscaler;
pub use operator::BoxAutoscalerSpec;
pub use operator::BoxAutoscalerStatus;
pub use operator::MetricType;
pub use platform::BridgeNetworkBackend;
pub use platform::HostGuestChannel;
pub use platform::Platform;
pub use platform::PlatformCapabilities;
pub use platform::VmBackend;
pub use port::normalize_port_maps;
pub use port::parse_port_mapping;
pub use port::PortMapping;
pub use port::PortProtocol;
pub use pty::PTY_VSOCK_PORT;
pub use scale::InstanceDeregistration;
pub use scale::InstanceEvent;
pub use scale::InstanceHealth;
pub use scale::InstanceInfo;
pub use scale::InstanceRegistration;
pub use scale::InstanceState;
pub use scale::ScaleConfig;
pub use scale::ScaleDirection;
pub use scale::ScaleObservation;
pub use scale::ScaleOperationConflict;
pub use scale::ScaleOperationRequest;
pub use scale::ScaleOperationResponse;
pub use scale::ScaleRequest;
pub use scale::ScaleResponse;
pub use scale::SCALE_OPERATION_SCHEMA_VERSION;
pub use security::SeccompMode;
pub use security::SecurityConfig;
pub use snapshot::SnapshotConfig;
pub use snapshot::SnapshotImageConfig;
pub use snapshot::SnapshotImageHealthCheck;
pub use snapshot::SnapshotMetadata;
pub use tee::ATTEST_VSOCK_PORT;
pub use tee::detect_tee;
pub use tee::is_tee_available;
pub use tee::TeeCapability;
pub use tee::TeeType;
pub use traits::AuditSink;
pub use traits::CacheBackend;
pub use traits::CacheEntry;
pub use traits::CacheStats;
pub use traits::CreateExecutionRequest;
pub use traits::CredentialProvider;
pub use traits::EventBus;
pub use traits::ExecutionCpuStats;
pub use traits::ExecutionEventBatch;
pub use traits::ExecutionEventKind;
pub use traits::ExecutionEventsRequest;
pub use traits::ExecutionGeneration;
pub use traits::ExecutionHealthCheck;
pub use traits::ExecutionId;
pub use traits::ExecutionLease;
pub use traits::ExecutionManager;
pub use traits::ExecutionManagerError;
pub use traits::ExecutionManagerResult;
pub use traits::ExecutionMemoryStats;
pub use traits::ExecutionPortConnector;
pub use traits::ExecutionPortIo;
pub use traits::ExecutionPortStream;
pub use traits::ExecutionProcess;
pub use traits::ExecutionProcessInfo;
pub use traits::ExecutionProcessInput;
pub use traits::ExecutionProcessInventory;
pub use traits::ExecutionProcessSignal;
pub use traits::ExecutionProcessStream;
pub use traits::ExecutionRecordPolicy;
pub use traits::ExecutionReservation;
pub use traits::ExecutionResourceUpdate;
pub use traits::ExecutionRestartPolicy;
pub use traits::ExecutionRuntimeEvent;
pub use traits::ExecutionSessionManager;
pub use traits::ExecutionSnapshot;
pub use traits::ExecutionSnapshotId;
pub use traits::ExecutionState;
pub use traits::ExecutionStats;
pub use traits::ExecutionStatus;
pub use traits::ImageRegistry;
pub use traits::ImageStoreBackend;
pub use traits::KillExecutionOptions;
pub use traits::KillOutcome;
pub use traits::MetricsCollector;
pub use traits::NetworkStoreBackend;
pub use traits::NoopMetrics;
pub use traits::OperationId;
pub use traits::PulledImage;
pub use traits::ReconcileOutcome;
pub use traits::RestartExecutionOptions;
pub use traits::SnapshotStoreBackend;
pub use traits::StoredImage;
pub use traits::VolumeStoreBackend;
pub use traits::MAX_EXECUTION_EVENT_BATCH_ITEMS;
pub use vmm::Entrypoint;
pub use vmm::FsMount;
pub use vmm::InstanceSpec;
pub use vmm::NetworkInstanceConfig;
pub use vmm::RawBlockDevice;
pub use vmm::TeeInstanceConfig;
pub use vmm::VmHandler;
pub use vmm::VmMetrics;
pub use vmm::VmmProvider;
pub use vmm::DEFAULT_SHUTDOWN_TIMEOUT_MS;
pub use volume::VolumeConfig;

Modules§

audit
Audit logging types for security-relevant event tracking.
compose
Compose file types for multi-container orchestration.
config
dns
DNS configuration helpers for guest rootfs.
env
Environment variable parsing and merging helpers.
error
event
exec
Exec types for host-to-guest command execution.
execution
Backend-neutral execution isolation resolution.
fs_atomic
Durable atomic file writes for persisted state.
guest_exec
Bounded guest entrypoint configuration staged outside the kernel command line.
lifecycle_profile
Opt-in machine-readable lifecycle profiling.
log
Logging driver types and configuration.
network
Network types for container-to-container communication.
operator
Kubernetes BoxAutoscaler CRD types.
platform
Platform types for multi-architecture image builds.
port
Port publishing validation.
pty
PTY protocol types for interactive terminal sessions.
rootfs_baseline
Versioned guest-to-host contract for the pristine rootfs diff baseline.
rootfs_metadata
Guest-captured filesystem metadata used by stopped-box commit.
scale
Scale API types for Gateway ↔ Box communication.
secret
Non-sensitive control metadata for transient Secret environment bindings.
security
Security configuration for guest process hardening.
snapshot
VM Snapshot Types — Configuration-based snapshot metadata.
tee
TEE (Trusted Execution Environment) types and detection.
traits
Core trait abstractions for pluggable backends.
vmm
VMM contract — types and traits for pluggable VM backends.
volume
Volume types for named volume management.

Constants§

VERSION
A3S Box version

Functions§

dirs_home
Get the A3S home directory.