[package] name = "windmill-worker" version.workspace = true authors.workspace = true edition.workspace = true [lib] name = "windmill_worker" path = "src/lib.rs" [features] default = [] private = ["windmill-worker-volumes/private", "windmill-queue/private"] mcp = ["dep:windmill-mcp"] prometheus = ["dep:prometheus", "windmill-common/prometheus"] enterprise = ["windmill-queue/enterprise", "windmill-git-sync/enterprise", "windmill-common/enterprise", "windmill-worker-volumes/enterprise", "dep:pem", "dep:tokio-util", "dep:opentelemetry-proto", "dep:prost", "dep:hudsucker", "dep:rcgen", "dep:hyper-http-proxy", "dep:hyper-tls", "dep:hyper-util"] mssql = ["dep:tiberius"] mssql-kerberos = ["mssql", "tiberius/integrated-auth-gssapi"] # Linux/Unix integrated auth mssql-winauth = ["mssql", "tiberius/winauth"] # Windows integrated auth bigquery = ["dep:gcp_auth"] benchmark = ["windmill-queue/benchmark", "windmill-common/benchmark"] parquet = ["windmill-common/parquet", "windmill-object-store/parquet"] flow_testing = [] cloud = [] sqlx = [] deno_core = ["dep:windmill-runtime-nativets"] libffi_mac = ["dep:libffi-sys"] otel = ["windmill-common/otel", "dep:opentelemetry", "dep:tracing-opentelemetry"] dind = ["dep:bollard"] php = ["dep:windmill-parser-php"] mysql = ["dep:mysql_async"] oracledb = ["dep:oracle"] python = ["dep:windmill-parser-py", "dep:windmill-parser-py-imports", "windmill-dep-map/python"] csharp = ["dep:windmill-parser-csharp"] rust = ["dep:windmill-parser-rust"] nu = ["dep:windmill-parser-nu"] java = ["dep:windmill-parser-java"] ruby = ["dep:windmill-parser-ruby"] duckdb = ["dep:libloading"] quickjs = ["windmill-jseval/quickjs"] bedrock = ["dep:aws-sdk-bedrockruntime", "windmill-common/bedrock", "dep:aws-config", "dep:aws-credential-types", "dep:aws-smithy-types"] [dependencies] windmill-queue.workspace = true windmill-dep-map.workspace = true windmill-audit.workspace = true # there isn't really a reason for audit-worth actions to happen in the worker. windmill-common = { workspace = true, default-features = false } windmill-types.workspace = true windmill-object-store.workspace = true windmill-worker-volumes.workspace = true windmill-jseval.workspace = true windmill-runtime-nativets = { workspace = true, optional = true } windmill-mcp = { workspace = true, optional = true } windmill-macros.workspace = true windmill-parser.workspace = true windmill-parser-ts.workspace = true windmill-parser-go.workspace = true windmill-parser-rust = { workspace = true, optional = true } windmill-parser-csharp = { workspace = true, optional = true } windmill-parser-nu = { workspace = true, optional = true } windmill-parser-java = { workspace = true, optional = true } windmill-parser-ruby = { workspace = true, optional = true } windmill-parser-py = { workspace = true, optional = true } windmill-parser-yaml.workspace = true windmill-parser-py-imports = { workspace = true, optional = true } windmill-parser-bash.workspace = true windmill-parser-sql.workspace = true windmill-parser-graphql.workspace = true windmill-parser-php = { workspace = true, optional = true } windmill-git-sync.workspace = true aws-sdk-bedrockruntime = { workspace = true, optional = true } aws-config = { workspace = true, optional = true } aws-credential-types = { workspace = true, optional = true } aws-smithy-types = { workspace = true, optional = true } flume.workspace = true sqlx.workspace = true uuid.workspace = true ulid.workspace = true tracing.workspace = true tokio.workspace = true tokio-stream.workspace = true serde.workspace = true serde_json.workspace = true futures.workspace = true async-recursion.workspace = true async-trait.workspace = true anyhow.workspace = true derive_more.workspace = true itertools.workspace = true regex.workspace = true prometheus = { workspace = true, optional = true } lazy_static.workspace = true chrono.workspace = true dotenv.workspace = true rand.workspace = true # TODO: Remove. only used by token creation hack. const_format.workspace = true mappable-rc.workspace = true git-version.workspace = true once_cell.workspace = true tokio-postgres.workspace = true bit-vec.workspace = true url.workspace = true async-stream.workspace = true postgres-native-tls.workspace = true native-tls.workspace = true mysql_async = { workspace = true, optional = true } base64.workspace = true gcp_auth = { workspace = true, optional = true } rust_decimal.workspace = true jsonwebtoken.workspace = true sha2.workspace = true pem = { workspace = true, optional = true } urlencoding.workspace = true nix.workspace = true bytes.workspace = true reqwest.workspace = true reqwest-middleware.workspace = true eventsource-stream.workspace = true mime_guess.workspace = true hex.workspace = true tiberius = { workspace = true, optional = true } tokio-util = { workspace = true, optional = true } tar.workspace = true convert_case.workspace = true yaml-rust.workspace = true backon.workspace = true pep440_rs.workspace = true process-wrap.workspace = true async-once-cell.workspace = true libloading = { workspace = true, optional = true } opentelemetry-proto = { workspace = true, optional = true } opentelemetry = { workspace = true, optional = true } tracing-opentelemetry = { workspace = true, optional = true } prost = { workspace = true, optional = true } axum.workspace = true bollard = { workspace = true, optional = true } oracle = { workspace = true, optional = true } hudsucker = { workspace = true, optional = true } hyper-http-proxy = { workspace = true, optional = true } hyper-tls = { workspace = true, optional = true } hyper-util = { workspace = true, optional = true } rcgen = { workspace = true, optional = true } [build-dependencies] libffi-sys = { workspace = true, optional = true }