[package] name = "extension-registry" version.workspace = true edition.workspace = true authors.workspace = true description = "OCI-compliant extension registry proxy for managing provisioning system extensions and artifacts" [dependencies] # Workspace dependencies tokio = { workspace = true, features = ["full"] } futures = { workspace = true } async-trait = { workspace = true } # Web server and API axum = { workspace = true } tower = { workspace = true, features = ["full"] } tower-http = { workspace = true, features = ["cors", "trace"] } # Serialization serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } # Platform configuration platform-config = { path = "../platform-config" } # Error handling anyhow = { workspace = true } thiserror = { workspace = true } # Logging tracing = { workspace = true } tracing-subscriber = { workspace = true } # UUID and time uuid = { workspace = true, features = ["v4", "serde"] } chrono = { workspace = true, features = ["serde"] } # CLI clap = { workspace = true, features = ["derive"] } # HTTP client for OCI registry operations reqwest = { workspace = true } # Cryptography for digest validation sha2 = { workspace = true } hex = { workspace = true } # URL parsing url = { workspace = true } # Bytes manipulation bytes = { workspace = true } # LRU caching lru = { workspace = true } # Parking lot for synchronization parking_lot = { workspace = true } # TOML parsing toml = { workspace = true } [dev-dependencies] tokio-test = { workspace = true } tempfile = { workspace = true } hyper = { workspace = true } http-body-util = "0.1" # Library target [lib] name = "extension_registry" path = "src/lib.rs" # Binary target [[bin]] name = "extension-registry" path = "src/main.rs"