mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 08:01:26 +00:00
3394546657
* 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
191 lines
10 KiB
TOML
191 lines
10 KiB
TOML
[package]
|
|
name = "windmill-api"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
|
|
[lib]
|
|
name = "windmill_api"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = []
|
|
private = ["windmill-audit/private", "windmill-common/private", "windmill-api-auth/private", "windmill-store/private", "windmill-api-users/private", "windmill-api-workspaces/private", "windmill-api-groups/private", "windmill-api-configs/private", "windmill-api-settings/private", "windmill-api-assets/private", "windmill-api-agent-workers?/private", "windmill-trigger-kafka?/private", "windmill-trigger-postgres?/private", "windmill-trigger-mqtt?/private", "windmill-trigger-amqp?/private", "windmill-trigger-websocket?/private", "windmill-trigger-nats?/private", "windmill-trigger-sqs?/private", "windmill-trigger-gcp?/private", "windmill-trigger-azure?/private", "windmill-trigger-email?/private", "windmill-git-sync/private", "windmill-autoscaling?/private", "windmill-object-store/private", "windmill-api-npm-proxy/private"]
|
|
enterprise = ["windmill-queue/enterprise", "windmill-audit/enterprise", "windmill-git-sync/enterprise", "windmill-common/enterprise", "windmill-worker?/enterprise", "windmill-api-auth/enterprise", "windmill-store/enterprise", "windmill-api-jobs/enterprise", "windmill-api-scripts/enterprise", "windmill-api-flows/enterprise", "windmill-api-users/enterprise", "windmill-api-workspaces/enterprise", "windmill-api-groups/enterprise", "windmill-api-configs/enterprise", "windmill-api-settings/enterprise", "windmill-api-schedule/enterprise", "windmill-api-debug/enterprise", "windmill-api-agent-workers?/enterprise", "windmill-trigger/enterprise", "windmill-trigger-kafka?/enterprise", "windmill-trigger-postgres?/enterprise", "windmill-trigger-mqtt?/enterprise", "windmill-trigger-amqp?/enterprise", "windmill-trigger-websocket?/enterprise", "windmill-trigger-email?/enterprise", "windmill-trigger-nats?/enterprise", "windmill-trigger-sqs?/enterprise", "windmill-trigger-gcp?/enterprise", "windmill-trigger-azure?/enterprise", "windmill-trigger-http?/enterprise", "windmill-native-triggers?/enterprise", "dep:windmill-autoscaling", "windmill-autoscaling/enterprise", "windmill-api-npm-proxy/enterprise", "license"]
|
|
stripe = []
|
|
run_inline = ["dep:windmill-worker", "windmill-api-configs/run_inline"]
|
|
agent_worker_server = ["dep:windmill-worker", "dep:windmill-api-agent-workers"]
|
|
enterprise_saml = ["dep:samael", "dep:libxml"]
|
|
benchmark = []
|
|
embedding = ["windmill-api-embeddings/embedding"]
|
|
parquet = ["dep:datafusion", "windmill-common/parquet", "windmill-object-store/parquet", "windmill-worker?/parquet", "windmill-api-users/parquet", "windmill-api-settings/parquet", "windmill-api-workspaces/parquet", "windmill-api-npm-proxy/parquet", "dep:aws-sigv4", "dep:aws-sdk-config", "dep:quick-xml"]
|
|
prometheus = ["windmill-common/prometheus", "windmill-queue/prometheus", "dep:prometheus", "windmill-worker?/prometheus", "windmill-api-scripts/prometheus"]
|
|
openidconnect = ["dep:openidconnect", "windmill-common/openidconnect", "windmill-store/openidconnect"]
|
|
tantivy = ["dep:windmill-indexer"]
|
|
kafka = ["dep:windmill-trigger-kafka", "windmill-store/kafka"]
|
|
kafka-gssapi = ["kafka", "windmill-trigger-kafka/kafka-gssapi"]
|
|
nats = ["dep:windmill-trigger-nats", "windmill-store/nats"]
|
|
websocket = ["dep:windmill-trigger-websocket"]
|
|
smtp = ["instance_smtp", "dep:mail-parser", "dep:openssl", "dep:windmill-trigger-email"]
|
|
# Outbound instance-SMTP email (the send_email_with_instance_smtp endpoint and
|
|
# critical alerts) without the inbound email trigger's openssl/mail-parser deps.
|
|
# `smtp` is the full trigger + endpoint; `instance_smtp` is the endpoint only.
|
|
instance_smtp = ["windmill-common/smtp"]
|
|
license = ["dep:rsa", "windmill-api-settings/license"]
|
|
zip = ["dep:async_zip"]
|
|
oauth2 = ["dep:windmill-oauth", "windmill-store/oauth2"]
|
|
http_trigger = ["dep:matchit", "dep:windmill-trigger-http", "windmill-store/http_trigger", "dep:windmill-api-openapi"]
|
|
static_frontend = ["dep:rust-embed"]
|
|
postgres_trigger = ["dep:windmill-trigger-postgres", "windmill-store/postgres_trigger"]
|
|
mqtt_trigger = ["dep:windmill-trigger-mqtt", "windmill-store/mqtt_trigger"]
|
|
amqp_trigger = ["dep:windmill-trigger-amqp", "windmill-store/amqp_trigger"]
|
|
native_trigger = ["dep:windmill-native-triggers", "windmill-native-triggers/native_trigger", "windmill-api-flows/native_trigger", "windmill-api-scripts/native_trigger", "dep:strum", "oauth2"]
|
|
sqs_trigger = ["dep:windmill-trigger-sqs", "windmill-store/sqs_trigger"]
|
|
gcp_trigger = ["dep:windmill-trigger-gcp", "windmill-store/gcp_trigger"]
|
|
azure_trigger = ["dep:windmill-trigger-azure", "windmill-store/azure_trigger"]
|
|
cloud = ["windmill-common/cloud", "windmill-api-auth/cloud", "windmill-store/cloud", "windmill-api-workspaces/cloud"]
|
|
mcp = ["dep:windmill-mcp", "windmill-mcp/server", "windmill-mcp/auth", "windmill-api-auth/mcp", "windmill-store/mcp"]
|
|
bedrock = ["windmill-ai/bedrock"]
|
|
python = ["windmill-dep-map/python", "dep:windmill-parser-py", "dep:windmill-parser-py-imports", "windmill-api-scripts/python", "windmill-api-configs/python", "windmill-api-agent-workers?/python", "windmill-trigger/python", "windmill-common/python"]
|
|
no_auth = ["windmill-api-auth/no_auth", "windmill-store/no_auth", "windmill-api-users/no_auth"]
|
|
quickjs = ["windmill-jseval/quickjs", "windmill-queue/quickjs"]
|
|
|
|
[dependencies]
|
|
windmill-ai = { workspace = true, default-features = false }
|
|
windmill-mcp = { workspace = true, optional = true }
|
|
windmill-api-auth.workspace = true
|
|
windmill-api-scripts.workspace = true
|
|
windmill-api-flows.workspace = true
|
|
windmill-api-users.workspace = true
|
|
windmill-api-workspaces.workspace = true
|
|
windmill-api-groups.workspace = true
|
|
windmill-api-sse.workspace = true
|
|
windmill-api-jobs.workspace = true
|
|
windmill-trigger.workspace = true
|
|
windmill-store.workspace = true
|
|
windmill-queue.workspace = true
|
|
windmill-common = { workspace = true, default-features = false }
|
|
windmill-types.workspace = true
|
|
windmill-object-store.workspace = true
|
|
windmill-audit.workspace = true
|
|
windmill-parser.workspace = true
|
|
windmill-parser-sql.workspace = true
|
|
windmill-parser-sql-asset.workspace = true
|
|
windmill-parser-ts.workspace = true
|
|
windmill-parser-py = { workspace = true, optional = true }
|
|
windmill-parser-py-imports = { workspace = true, optional = true }
|
|
windmill-git-sync.workspace = true
|
|
windmill-indexer = { workspace = true, optional = true }
|
|
windmill-autoscaling = { workspace = true, optional = true }
|
|
windmill-worker = { workspace = true, optional = true }
|
|
windmill-worker-volumes.workspace = true
|
|
windmill-dep-map.workspace = true
|
|
tokio.workspace = true
|
|
tokio-stream.workspace = true
|
|
anyhow.workspace = true
|
|
argon2.workspace = true
|
|
axum.workspace = true
|
|
futures.workspace = true
|
|
git-version.workspace = true
|
|
tower.workspace = true
|
|
tower-cookies.workspace = true
|
|
tower-http.workspace = true
|
|
hyper.workspace = true
|
|
itertools.workspace = true
|
|
reqwest.workspace = true
|
|
serde.workspace = true
|
|
sqlx.workspace = true
|
|
windmill-oauth = { workspace = true, optional = true }
|
|
tracing.workspace = true
|
|
sql-builder.workspace = true
|
|
serde_json.workspace = true
|
|
chrono.workspace = true
|
|
chrono-tz.workspace = true
|
|
hex.workspace = true
|
|
base64.workspace = true
|
|
base32.workspace = true
|
|
serde_urlencoded.workspace = true
|
|
serde_yml.workspace = true
|
|
cron.workspace = true
|
|
mime_guess.workspace = true
|
|
rust-embed = { workspace = true, optional = true }
|
|
tracing-subscriber.workspace = true
|
|
quick_cache.workspace = true
|
|
rand.workspace = true
|
|
ed25519-dalek.workspace = true
|
|
time.workspace = true
|
|
native-tls.workspace = true
|
|
tokio-native-tls.workspace = true
|
|
openssl = { workspace = true, optional = true }
|
|
mail-parser = { workspace = true, features = ["serde_support"], optional = true }
|
|
magic-crypt.workspace = true
|
|
tempfile.workspace = true
|
|
tokio-util.workspace = true
|
|
astral-tokio-tar.workspace = true
|
|
tokio-postgres.workspace = true
|
|
postgres-native-tls.workspace = true
|
|
hmac.workspace = true
|
|
cookie.workspace = true
|
|
sha2.workspace = true
|
|
urlencoding.workspace = true
|
|
quick-xml = { workspace = true, optional = true }
|
|
lazy_static.workspace = true
|
|
prometheus = { workspace = true, optional = true }
|
|
async_zip = { workspace = true, optional = true }
|
|
regex.workspace = true
|
|
bytes.workspace = true
|
|
url.workspace = true
|
|
samael = { workspace = true, optional = true }
|
|
libxml = { workspace = true, optional = true }
|
|
async-recursion.workspace = true
|
|
rsa = { workspace = true, optional = true}
|
|
uuid.workspace = true
|
|
datafusion = { workspace = true, optional = true}
|
|
openidconnect = { workspace = true, optional = true}
|
|
jsonwebtoken = { workspace = true }
|
|
matchit = { workspace = true, optional = true }
|
|
windmill-trigger-kafka = { workspace = true, optional = true }
|
|
windmill-trigger-postgres = { workspace = true, optional = true }
|
|
windmill-trigger-mqtt = { workspace = true, optional = true }
|
|
windmill-trigger-amqp = { workspace = true, optional = true }
|
|
windmill-trigger-websocket = { workspace = true, optional = true }
|
|
windmill-trigger-email = { workspace = true, optional = true }
|
|
windmill-trigger-nats = { workspace = true, optional = true }
|
|
windmill-trigger-sqs = { workspace = true, optional = true }
|
|
windmill-trigger-gcp = { workspace = true, optional = true }
|
|
windmill-trigger-azure = { workspace = true, optional = true }
|
|
windmill-trigger-http = { workspace = true, optional = true }
|
|
windmill-native-triggers = { workspace = true, optional = true }
|
|
windmill-alerting.workspace = true
|
|
windmill-api-agent-workers = { workspace = true, optional = true }
|
|
windmill-api-assets.workspace = true
|
|
windmill-api-configs = { workspace = true }
|
|
windmill-api-debug.workspace = true
|
|
windmill-api-embeddings.workspace = true
|
|
windmill-api-flow-conversations.workspace = true
|
|
windmill-api-inputs.workspace = true
|
|
windmill-api-npm-proxy.workspace = true
|
|
windmill-api-openapi = { workspace = true, optional = true }
|
|
windmill-api-schedule.workspace = true
|
|
windmill-api-settings = { workspace = true }
|
|
windmill-api-workers.workspace = true
|
|
const_format.workspace = true
|
|
pin-project.workspace = true
|
|
http.workspace = true
|
|
indexmap.workspace = true
|
|
async-stream.workspace = true
|
|
ulid.workspace = true
|
|
rustls = { workspace = true }
|
|
|
|
aws-sigv4 = { workspace = true, optional = true }
|
|
aws-sdk-config = { workspace = true, optional = true }
|
|
async-trait.workspace = true
|
|
eventsource-stream.workspace = true
|
|
windmill-jseval.workspace = true
|
|
tar.workspace = true
|
|
flate2.workspace = true
|
|
strum = { workspace = true, optional = true }
|
|
dashmap.workspace = true
|
|
|
|
[build-dependencies]
|