pub struct AgentOsConfig {Show 22 fields
pub database: Option<VmSqliteDescriptor>,
pub sidecar_sqlite_callback: Option<SidecarSqliteCallback>,
pub user: Option<VmUserConfig>,
pub environment: Option<BTreeMap<String, String>>,
pub software: Vec<SoftwareInput>,
pub packages: Vec<PackageRef>,
pub packages_mount_at: Option<String>,
pub package_resolver: Option<PackageResolverOptions>,
pub software_sources: Vec<SoftwareSource>,
pub software_registry: Option<SoftwareRegistryOptions>,
pub loopback_exempt_ports: Vec<u16>,
pub allowed_node_builtins: Option<Vec<String>>,
pub high_resolution_time: Option<bool>,
pub root_filesystem: RootFilesystemConfig,
pub mounts: Vec<MountConfig>,
pub schedule_driver: Option<Arc<dyn ScheduleDriver>>,
pub host_functions: HostFunctionCollections,
pub sidecar_js_bridge_callback: Option<SidecarJsBridgeCallback>,
pub permissions: Option<Permissions>,
pub limits: Option<AgentOsLimits>,
pub sidecar: Option<AgentOsSidecarConfig>,
pub sidecar_binary_path: Option<String>,
}Expand description
Resolved client options (= TS AgentOsOptions). All fields optional with documented defaults.
Keep this Rust mirror in sync with packages/core/src/agent-os.ts::AgentOsOptions
and packages/core/src/options-schema.ts::agentOsOptionsSchema.
Fields§
§database: Option<VmSqliteDescriptor>VM-scoped SQLite backend shared by VFS metadata/storage and agentOS durable state.
sidecar_sqlite_callback: Option<SidecarSqliteCallback>Trusted callback for VmSqliteDescriptor::HostCallback. Hosted actors
use this to execute VM database operations through Rivet SQLite.
user: Option<VmUserConfig>Initial virtual Linux credentials and account record. Defaults to 1000:1000 (agentos).
environment: Option<BTreeMap<String, String>>Complete initial VM environment. None selects the sidecar’s bundled base environment;
Some(empty) deliberately starts with an empty environment.
software: Vec<SoftwareInput>Software packages to install (flattened). Default [].
packages: Vec<PackageRef>Package directories to project into the VM’s /opt/agentos tree (the
agentos package projection). Each entry is a host dir containing an
agentos-package.json manifest + the package payload. Default [].
packages_mount_at: Option<String>Guest mount point for the package projection. Default /opt/agentos
(agentos’s OPT_AGENTOS_ROOT) when None.
package_resolver: Option<PackageResolverOptions>Trusted Core package acquisition limits and local-test transport policy. Hosted actor callers cannot configure this process-owned policy.
software_sources: Vec<SoftwareSource>Registry packages and URL or path sources installed after boot, before
crate::AgentOs::create returns (= TS software registry and URL
entries). Registry names resolve before the VM is created. Default [].
software_registry: Option<SoftwareRegistryOptions>Where registry sources resolve (= TS softwareRegistry). Default:
https://releases.rivet.dev/agent-os/ at this client’s release.
loopback_exempt_ports: Vec<u16>Loopback ports exempt from the default outbound-to-host block.
allowed_node_builtins: Option<Vec<String>>Allowed Node.js builtins. Default: the hardened native-bridge set.
high_resolution_time: Option<bool>Opt in to a high-resolution monotonic clock for guest JavaScript.
None selects the hardened millisecond-resolution default.
root_filesystem: RootFilesystemConfigRoot filesystem configuration. Default: overlay + bundled base snapshot.
mounts: Vec<MountConfig>Additional mounts.
schedule_driver: Option<Arc<dyn ScheduleDriver>>Schedule driver used by the cron manager. Default: TimerScheduleDriver.
host_functions: HostFunctionCollectionsHost function collections to register, keyed by collection name.
sidecar_js_bridge_callback: Option<SidecarJsBridgeCallback>Rust-only sidecar callback handler for js_bridge-style plugin requests.
permissions: Option<Permissions>Permission policy. Default: allow-all.
limits: Option<AgentOsLimits>Operator-tunable VM limits. Default: sidecar/kernel built-ins.
sidecar: Option<AgentOsSidecarConfig>Sidecar placement/config. Default: shared default pool.
sidecar_binary_path: Option<String>Absolute path to the agentos-native-sidecar binary, resolved from the npm
package on the TypeScript side. Threaded to SidecarProcess::spawn
instead of relying on the
AGENTOS_SIDECAR_BIN env var. None falls back to env, then PATH.
Implementations§
Source§impl AgentOsConfig
impl AgentOsConfig
Sourcepub fn validate(&self) -> Result<(), ClientError>
pub fn validate(&self) -> Result<(), ClientError>
Validate the complete VM configuration without starting a sidecar.
Hosted adapters use this to reject invalid creation input before Rivet
persists actor state. The same serializer is used by AgentOs::create,
so validation cannot drift into an actor-owned copy.