pub use boxlite_shared::constants::{container, mount_tags, network};
pub mod guest_paths {
pub const BIN_DIR: &str = "/boxlite/bin";
}
pub mod envs {
pub const BOXLITE_HOME: &str = "BOXLITE_HOME";
#[cfg(feature = "rest")]
pub const BOXLITE_REST_URL: &str = "BOXLITE_REST_URL";
#[cfg(feature = "rest")]
pub const BOXLITE_REST_CLIENT_ID: &str = "BOXLITE_REST_CLIENT_ID";
#[cfg(feature = "rest")]
pub const BOXLITE_REST_CLIENT_SECRET: &str = "BOXLITE_REST_CLIENT_SECRET";
#[cfg(feature = "rest")]
pub const BOXLITE_REST_PREFIX: &str = "BOXLITE_REST_PREFIX";
}
pub mod images {
pub const DEFAULT: &str = "alpine:latest";
pub const INIT_ROOTFS: &str = "debian:bookworm-slim";
}
pub mod fs_options {
pub const TMPFS_SIZE_MB: usize = 1024;
pub const OVERLAYFS_OPTIONS: &[&str] =
&["metacopy=off", "redirect_dir=off", "index=off", "xino=off"];
}
pub mod vm_defaults {
pub const DEFAULT_CPUS: u8 = 1;
pub const DEFAULT_MEMORY_MIB: u32 = 2048;
pub const DEFAULT_DISK_SIZE_GB: u64 = 10;
}
pub mod filenames {
use crate::runtime::layout::dirs;
use std::path::{Path, PathBuf};
pub const LOCK_FILE: &str = ".lock";
pub fn box_home(home_dir: &Path, box_id: &str) -> PathBuf {
home_dir.join(dirs::BOXES_DIR).join(box_id)
}
pub fn unix_socket_path(home_dir: &Path, box_id: &str) -> PathBuf {
box_home(home_dir, box_id)
.join(dirs::SOCKETS_DIR)
.join("box.sock")
}
}