[package]
edition = "2021"
name = "agentd"
version = "0.1.0"
authors = ["Smith Team"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Agent daemon for secure capability execution with pluggable isolation backends"
homepage = "https://agentd.rs"
readme = "README.md"
keywords = [
"agent",
"daemon",
"security",
"sandbox",
"isolation",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/sibyllinesoft/agentd"
[features]
default = ["landlock"]
grpc = [
"tonic",
"prost",
"prost-types",
"tonic-build",
"tokio-stream",
]
landlock = []
[lib]
name = "agentd"
path = "src/lib.rs"
[[bin]]
name = "agentd"
path = "src/main.rs"
[[bin]]
name = "fc-guest-agent"
path = "src/bin/fc-guest-agent.rs"
[[example]]
name = "test_bind_mount"
path = "examples/test_bind_mount.rs"
[[example]]
name = "test_isolation_demo"
path = "examples/test_isolation_demo.rs"
[[test]]
name = "capability_integration_tests"
path = "tests/capability_integration_tests.rs"
[[test]]
name = "comprehensive_security_tests"
path = "tests/comprehensive_security_tests.rs"
[[test]]
name = "executor_adapter_tests"
path = "tests/executor_adapter_tests.rs"
[[test]]
name = "isolation_integration"
path = "tests/isolation_integration.rs"
[[test]]
name = "micro_vm_tests"
path = "tests/micro_vm_tests.rs"
[[test]]
name = "mode_escape_regression"
path = "tests/mode_escape_regression.rs"
[[test]]
name = "oracle_tests"
path = "tests/oracle_tests.rs"
[[test]]
name = "phase8_integration_tests"
path = "tests/phase8_integration_tests.rs"
[[test]]
name = "security_error_handling_tests"
path = "tests/security_error_handling_tests.rs"
[[test]]
name = "security_integration_tests"
path = "tests/security_integration_tests.rs"
[[test]]
name = "security_penetration_tests"
path = "tests/security_penetration_tests.rs"
[[test]]
name = "simple_planner_test"
path = "tests/simple_planner_test.rs"
[[test]]
name = "test_config"
path = "tests/test_config.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.arc-swap]
version = "1.7"
[dependencies.async-nats]
version = "0.42"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bitflags]
version = "2.0"
[dependencies.bytes]
version = "1.0"
[dependencies.cel-interpreter]
version = "0.4"
[dependencies.chrono]
version = "0.4"
features = [
"serde",
"serde",
]
[dependencies.clap]
version = "4.0"
features = [
"derive",
"env",
"derive",
"env",
]
[dependencies.config]
version = "0.14"
[dependencies.dashmap]
version = "6.0"
[dependencies.ed25519-dalek]
version = "2.1"
features = [
"serde",
"rand_core",
]
[dependencies.flate2]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.gethostname]
version = "0.4"
[dependencies.governor]
version = "0.6"
[dependencies.hex]
version = "0.4"
[dependencies.jsonschema]
version = "0.17"
[dependencies.jsonwebtoken]
version = "9.3"
[dependencies.libc]
version = "0.2"
[dependencies.moka]
version = "0.12"
features = ["future"]
[dependencies.nix]
version = "0.29"
features = [
"process",
"mount",
"user",
"fs",
"sched",
]
[dependencies.once_cell]
version = "1.21"
[dependencies.parking_lot]
version = "0.12"
[dependencies.prometheus]
version = "0.14"
[dependencies.prost]
version = "0.13"
optional = true
[dependencies.prost-types]
version = "0.13"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.rand_core]
version = "0.6"
[dependencies.regex]
version = "1.10"
[dependencies.regorus]
version = "0.5"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.shell-escape]
version = "0.1"
[dependencies.smith-attestation]
version = "0.1.0"
[dependencies.smith-bus]
version = "0.1.0"
[dependencies.smith-config]
version = "0.1.0"
[dependencies.smith-jailer]
version = "0.1.0"
[dependencies.smith-logging]
version = "0.1.0"
[dependencies.smith-protocol]
version = "0.1.0"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
"migrate",
]
default-features = false
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = [
"full",
"full",
]
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tonic]
version = "0.12"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
"chrono",
"env-filter",
"json",
"chrono",
]
[dependencies.url]
version = "2.0"
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
"v4",
"serde",
]
[dependencies.warp]
version = "0.3"
[dependencies.zip]
version = "0.6"
[dependencies.zstd]
version = "0.13"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.pretty_assertions]
version = "1.0"
[dev-dependencies.test-log]
version = "0.2"
[build-dependencies.tonic-build]
version = "0.12"
optional = true
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "allow"
unsafe_code = "allow"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"
warnings = "allow"
[profile.bench]
lto = "thin"
debug = 2
inherits = "release"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug-assertions = false
panic = "abort"
overflow-checks = false
incremental = false
strip = true
[profile.release-with-debug]
debug = 2
debug-assertions = true
inherits = "release"
strip = false