Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@ kafka = ["dep:kafka", "openssl"]
# compile a custom flavor. The bundle is fully pure-Rust TLS (rustls, no system
# OpenSSL). Measured stripped size (dist profile): ~37 MB.
#
# Kept OUT of the default binary (require a source build) because each needs a
# special build environment incompatible with portable cross-target releases:
# - kafka: its only TLS backend is openssl-sys; would force vendored OpenSSL
# (and NASM on windows-msvc) into every release build
# - zeromq: links a system libzmq (no vendored build)
# - mithril: pulls gmp-mpfr-sys (GMP C lib); unsupported on windows-msvc
# Kept OUT of the default binary (available via a source build) to keep the
# release lean and free of system/C dependencies:
# - kafka: its only TLS backend is openssl-sys; bundling it would pull a
# vendored OpenSSL build into the otherwise pure-Rust-TLS binary
# - zeromq: dynamically links a system libzmq (a runtime dependency), so it
# can't ship in a portable prebuilt binary
# - mithril: builds everywhere, but pulls a heavy GMP/blst C-crypto toolchain
# (gmp-mpfr-sys, blst, rug) that bloats binary size and build time
# - wasm: extism/wasmtime; pure-Rust but ~+14 MB and itself a plugin runtime
[package.metadata.dist]
features = ["u5c", "elasticsearch", "hydra", "redis", "rabbitmq", "sql", "gcp", "aws"]
Expand Down
8 changes: 4 additions & 4 deletions docs/v2/installation/binary_release.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ The pre-built binaries are **batteries-included**: every integration that builds
- **Sinks:** terminal, stdout, file rotate, webhook, Elasticsearch, Redis, RabbitMQ, SQL (SQLite / Postgres), AWS (SQS / Lambda / S3), GCP (Pub/Sub / Cloud Functions)
- **Filters:** all built-in filters (select, split block, JSON, legacy v1, etc.)

Only integrations that need a special build environment are left out and require a [source build](/v2/installation/from_source):
A few integrations are left out to keep the binary lean and free of system/C dependencies, and require a [source build](/v2/installation/from_source):

- **`kafka`** — its only TLS backend is OpenSSL (a system C library), unlike the rest of the binary which is pure-Rust TLS
- **`zeromq`** — links a system `libzmq`
- **`mithril`** — pulls the GMP C library, which is unsupported on Windows (MSVC)
- **`kafka`** — its only TLS backend is OpenSSL; bundling it would pull a vendored OpenSSL build into the otherwise pure-Rust-TLS binary
- **`zeromq`** — dynamically links a system `libzmq` at runtime, so it can't ship in a portable prebuilt binary
- **`mithril`** — pulls a heavy GMP/blst C-crypto toolchain that significantly increases binary size and build time
- **`wasm`** — the WASM plugin runtime (large, and itself a plugin host)

## Install via shell script
Expand Down
7 changes: 4 additions & 3 deletions docs/v2/installation/from_source.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ cargo install --path . --features kafka,mithril

| Feature | Prerequisite |
|---------|--------------|
| `kafka` | OpenSSL (its only TLS backend); your platform's OpenSSL dev libraries |
| `kafka` | builds a vendored OpenSSL (its only TLS backend): a C compiler and Perl |
| `zeromq` | a system `libzmq` (install via your OS package manager) |
| `mithril` | a GMP toolchain; **not supported on Windows MSVC** |
| `mithril` | none, but builds a heavy GMP/blst C-crypto toolchain (slow build) |
| `wasm` | none (pure Rust), but adds a large WASM runtime |

:::note
Avoid `--all-features`: it enables `zeromq` and `mithril`, which fail without the prerequisites above.
`--all-features` requires a system `libzmq` (for `zeromq`) and builds mithril's
heavy C-crypto toolchain, so it is slow and best avoided unless you need it.
:::
Loading