mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-11-08 09:04:26 +08:00
* feat(supervisor): recover shared instances with hash-based HA Signed-off-by: Drew Newberry <anewberry@nvidia.com> * refactor(supervisor): keep HA coordination out of compute drivers Signed-off-by: Drew Newberry <anewberry@nvidia.com> * fix(supervisor): fence pool admission and reconciliation races Signed-off-by: Drew Newberry <anewberry@nvidia.com> * feat(supervisor): keep pool mode stable across replica scaling Signed-off-by: Drew Newberry <anewberry@nvidia.com> * refactor(supervisor): default shared deployments to pool mode Signed-off-by: Drew Newberry <anewberry@nvidia.com> * fix(supervisor): fence refused launches and remove legacy mode Signed-off-by: Drew Newberry <anewberry@nvidia.com> * fix(supervisor): confirm live owners and fence stale observations Signed-off-by: Drew Newberry <anewberry@nvidia.com> * fix(supervisor): preserve takeover cause log formatting Signed-off-by: Drew Newberry <anewberry@nvidia.com> * feat(helm): add memory-based supervisor autoscaling Signed-off-by: Drew Newberry <anewberry@nvidia.com> * fix(supervisor): retain acknowledgements and fence streamed input Signed-off-by: Drew Newberry <anewberry@nvidia.com> * docs(supervisor): consolidate experimental multi-tenant guidance Signed-off-by: Drew Newberry <anewberry@nvidia.com> * docs(supervisor): simplify multi-tenant supervisor guide Signed-off-by: Drew Newberry <anewberry@nvidia.com> * refactor(supervisor): simplify pool member identity Signed-off-by: Drew Newberry <anewberry@nvidia.com> * feat(helm): make supervisor affinity configurable Signed-off-by: Drew Newberry <anewberry@nvidia.com> * feat(helm): make supervisor disruption budget optional Signed-off-by: Drew Newberry <anewberry@nvidia.com> * test(supervisor): align HA fixtures with suspend support Signed-off-by: Drew Newberry <anewberry@nvidia.com> --------- Signed-off-by: Drew Newberry <anewberry@nvidia.com>
62 lines
2.5 KiB
Rust
62 lines
2.5 KiB
Rust
// SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#![deny(unsafe_code)]
|
|
|
|
//! Concrete supervisor-side client for the Isolation Backend and Sandbox Protocol RPCs.
|
|
//!
|
|
//! [`OpenShellRuntimeBackend`] connects to the in-tree runtime or a registered
|
|
//! external backend. Its concrete lifecycle and process handles issue RPCs;
|
|
//! they are not backend implementation traits. The workload-side
|
|
//! `openshell-sandbox` runtime implements the generated server services.
|
|
|
|
mod audit;
|
|
pub mod boundary_protocol;
|
|
pub mod delegated;
|
|
pub mod isolation_protocol;
|
|
pub mod mediation;
|
|
pub mod protobuf;
|
|
mod runtime;
|
|
mod runtime_initiated;
|
|
pub mod runtime_routed;
|
|
pub mod sandbox_auth;
|
|
pub mod stream_adapter;
|
|
|
|
pub use openshell_core::proto::sandbox::backend::v1 as backend_proto;
|
|
pub use runtime::{
|
|
BoundBoundary, BoundaryExec, BoundaryLaunchOutcome, BoundaryLoopbackConnector, BoundaryProcess,
|
|
BoundaryTakeover, BoundaryTerminal, ConfirmedBoundary, ExecSession,
|
|
MAX_RESTORE_REFERENCE_BYTES, NetworkMediationSource, OpenShellRuntimeBackend,
|
|
ProcessAttachment, ReadyBoundary, ResumeLaunch, RunningBoundary,
|
|
};
|
|
pub use runtime::{BoundaryTransport, BoundaryTransportConnector, validate_runtime_coordinates};
|
|
|
|
/// Stable isolation backend name implemented by `openshell-sandbox`.
|
|
pub const BACKEND_NAME: &str = openshell_core::isolation_registration::BUILTIN_BACKEND_NAME;
|
|
|
|
/// Resource claim set by compute drivers when the workload requests GPU access.
|
|
pub const GPU_RESOURCE_CLAIM: &str = "openshell.gpu";
|
|
|
|
/// Resource claim set when the runtime may retain supplementary groups in
|
|
/// addition to the image-derived workload identity.
|
|
pub const ALLOW_EXTRA_SUPPLEMENTARY_GROUPS_RESOURCE_CLAIM: &str =
|
|
"openshell.identity.allow_extra_supplementary_groups";
|
|
|
|
/// Memory-backed parent used for supervisor CA material.
|
|
pub const SUPERVISOR_CA_RUNTIME_ROOT: &str = "/run/openshell-supervisor-ca";
|
|
|
|
/// Workload-visible directory for the supervisor's public HTTPS interception
|
|
/// certificate and combined trust bundle.
|
|
///
|
|
/// Keeping the material below the mount root lets runtimes that cannot assign
|
|
/// tmpfs ownership create this child as the unprivileged sandbox identity.
|
|
pub const SUPERVISOR_CA_RUNTIME_DIR: &str = "/run/openshell-supervisor-ca/material";
|
|
|
|
/// Generated gRPC transport envelope for the `OpenShell` Sandbox Protocol.
|
|
pub mod proto {
|
|
pub use openshell_core::proto::sandbox::protocol::v1::*;
|
|
}
|
|
|
|
#[cfg(feature = "test-support")]
|
|
pub use runtime::test_support;
|