proxy_agent/Cargo.toml (92 lines of code) (raw):
[package]
name = "azure-proxy-agent"
version = "9.9.9" # always 3-number version
edition = "2021"
build = "build.rs"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
proxy_agent_shared = { path ="../proxy_agent_shared"}
itertools = "0.10.5" # use to sort iterator elements into a new iterator in ascending order
once_cell = "1.17.0" # use Lazy
serde = "1.0.152"
serde_derive = "1.0.152"
serde_json = "1.0.91" # json Deserializer
serde-xml-rs = "0.6.0" # xml Deserializer
bitflags = "2.6.0" # support bitflag enum
hmac-sha256 = "1.1.6" # use HMAC using the SHA-256 hash function
hex = "0.4.3" # hex encode
regex = "1.11" # match process name in cmdline
tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "net", "macros", "sync"] }
tokio-util = "0.7.11"
http = "1.1.0"
http-body-util = "0.1"
hyper = { version = "1", features = ["server", "http1", "client"] }
hyper-util = { version = "0.1", features = ["tokio"] }
tower = { version = "0.5.2", features = ["full"] }
tower-http = { version = "0.6.2", features = ["limit"] }
clap = { version = "4.5.17", features =["derive"] } # Command Line Argument Parser
thiserror = "1.0.64"
ctor = "0.3.6" # used for test setup and clean up
[dependencies.uuid]
version = "1.3.0"
features = [
"v4", # Lets you generate random UUIDs
"fast-rng", # Use a faster (but still sufficiently random) RNG
"macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]
[target.'cfg(not(windows))'.dependencies]
sysinfo = "0.30.13" # read process information for Linux
aya = "0.13.1" # linux ebpf program loader
uzers = "0.12.1" # get user name
libc = "0.2.147" # linux call
[target.'cfg(not(windows))'.dependencies.nix]
version = "0.29.0"
features = [
"net",
"fs",
"user"
]
[target.'cfg(windows)'.dependencies]
windows-service = "0.7.0" # windows NT service
windows-acl = "0.3.0" # ACL the latch key folder
winapi = "0.3.9" # used by windows-acl PSID
libloading = "0.8.0" # for dynamic load libraries
[target.'cfg(windows)'.build-dependencies]
winres = "0.1.12" # Rust Windows resource helper to add file version
static_vcruntime = "2.0.0" # Statically link the VCRuntime when using the MSVC toolchain
[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.42.0"
features = [
"Win32_Foundation",
"Win32_Networking_WinSock",
"Win32_System_IO",
"Win32_Security",
"Win32_System_WindowsProgramming",
"Win32_Security_Authentication_Identity",
"Win32_System_Diagnostics_Debug",
"Win32_System_SystemInformation",
"Win32_System_Threading",
"Win32_System_ProcessStatus",
"Win32_System_Kernel",
"Win32_Security_Cryptography",
"Win32_System_Memory",
]
[features]
test-with-root = []
[package.metadata.deb]
name = "azure-proxy-agent"
revision = "0"
maintainer = "AzureRT ProxyAgent V Team <ARTProxyAgentVTeam@microsoft.com>"
copyright = "2024, AzureRT ProxyAgent V Team <ARTProxyAgentVTeam@microsoft.com>"
license-file = ["../LICENSE", "4"]
extended-description = """\
The Azure Guest Proxy Agent is a daemon that runs on the Azure guest \
operating system and provides a proxy for the Azure Fabric Controller \
to communicate with the guest operating system."""
maintainer-scripts = "DEBIAN"
systemd-units = { enable = true }
assets = [
["azure-proxy-agent", "usr/sbin/azure-proxy-agent", "755"], # Binary
["proxy-agent.json", "etc/azure/proxy-agent.json", "644"],
["ebpf_cgroup.o", "usr/lib/azure-proxy-agent/ebpf_cgroup.o", "644"],
]