Files
windmill/backend/windmill-api-npm-proxy/Cargo.toml
T
Ruben Fiszel 3394546657 feat(npm-proxy): keep package files on disk and in the object store (#10638)
* docs: design for where the npm proxy keeps cached registry content

* feat(npm-proxy): keep package files on disk and in the object store

* fix(npm-proxy): degrade when the cache is unwritable, stream and bound it

* fix(npm-proxy): keep the happy path off the heap and isolate pull scratch

* fix(npm-proxy): bound the upload, verify pulled trees, keep oversized manifests

* fix(npm-proxy): protect live scratch, bound uploads by parts, refuse traversals

* fix: let the blocking unpack own the scratch it writes into

* fix: replace a cache directory that is not a package instead of deferring to it

* fix: evict by moving a package off the live path, not by deleting it in place

* fix: leave a package the sweep cannot move rather than deleting it in place

* fix: take one registry snapshot through a cache miss

* fix: stamp a pulled package as used so the sweep does not evict it first
2026-08-11 16:40:53 +00:00

40 lines
967 B
TOML

[package]
name = "windmill-api-npm-proxy"
version.workspace = true
authors.workspace = true
edition.workspace = true
[lib]
name = "windmill_api_npm_proxy"
path = "src/lib.rs"
[features]
default = []
enterprise = ["windmill-common/enterprise"]
private = ["windmill-common/private"]
parquet = ["windmill-common/parquet", "windmill-object-store/parquet"]
[dependencies]
windmill-api-auth.workspace = true
windmill-common = { workspace = true, default-features = false }
windmill-object-store.workspace = true
axum.workspace = true
flate2.workspace = true
futures.workspace = true
lazy_static.workspace = true
quick_cache.workspace = true
reqwest.workspace = true
chrono.workspace = true
hex.workspace = true
semver.workspace = true
sha2.workspace = true
uuid.workspace = true
serde.workspace = true
serde_json.workspace = true
sqlx.workspace = true
tar.workspace = true
tokio.workspace = true
tower-http.workspace = true
tracing.workspace = true
url.workspace = true