mirror of
https://github.com/NVIDIA/OpenShell.git
synced 2026-10-21 06:11:31 +08:00
76 lines
2.7 KiB
TOML
76 lines
2.7 KiB
TOML
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
[package]
|
|
name = "openshell-core"
|
|
description = "Shared library for OpenShell - proto definitions, config, and errors"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[dependencies]
|
|
async-trait = "0.1"
|
|
openshell-extension-core = { path = "../openshell-extension-core" }
|
|
openshell-policy-schema = { path = "../openshell-policy-schema" }
|
|
glob = { workspace = true }
|
|
prost = { workspace = true }
|
|
prost-types = { workspace = true }
|
|
tonic = { workspace = true, features = ["channel", "tls-aws-lc"] }
|
|
tonic-prost = { workspace = true }
|
|
tonic-types = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-stream = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
miette = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
uuid = { workspace = true }
|
|
ipnet = "2"
|
|
rustls = { workspace = true }
|
|
rustls-pemfile = { workspace = true }
|
|
base64 = { workspace = true }
|
|
jsonwebtoken = { workspace = true, optional = true }
|
|
zeroize = { workspace = true, optional = true }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "std"], optional = true }
|
|
reqwest = { workspace = true, features = ["blocking", "rustls-tls-native-roots-no-provider"], optional = true }
|
|
tar = { version = "0.4", optional = true }
|
|
tempfile = { version = "3", optional = true }
|
|
openshell-otel = { path = "../openshell-otel", optional = true }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
nix = { workspace = true }
|
|
rustix = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
container-device-interface = { workspace = true }
|
|
|
|
[features]
|
|
default = ["telemetry"]
|
|
## Compile in anonymous telemetry emission support. On by default; disable with
|
|
## `--no-default-features` (plus any other features you need) for a build that
|
|
## contains no telemetry endpoint, no HTTP client, and no emission code at all.
|
|
driver-extraction = ["dep:tar", "dep:tempfile"]
|
|
telemetry = ["dep:reqwest", "dep:chrono", "reqwest?/blocking"]
|
|
## OAuth2 token request helpers used by supervisor and gateway.
|
|
oauth = ["dep:reqwest"]
|
|
## Strict Ed25519 JWT issuance and verification for authenticated sandbox sessions.
|
|
jwt = ["dep:jsonwebtoken", "dep:zeroize"]
|
|
## Propagate the active W3C trace context on supervisor gateway calls.
|
|
trace-context = ["dep:openshell-otel"]
|
|
|
|
[build-dependencies]
|
|
tonic-prost-build = { workspace = true }
|
|
protoc-bin-vendored = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
rcgen = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|