From a67a5bca15e8f3669a0779ad8481b9824d4d6337 Mon Sep 17 00:00:00 2001 From: Kirill Fomichev Date: Tue, 9 Feb 2021 22:32:03 +0300 Subject: [PATCH] chore(deps): make deps optional (#6404) Signed-off-by: Kirill Fomichev --- Cargo.lock | 6 - Cargo.toml | 327 +++++++++++++++--------------- lib/file-source/Cargo.toml | 16 +- lib/k8s-test-framework/Cargo.toml | 4 +- lib/remap-cli/Cargo.toml | 6 +- lib/remap-functions/Cargo.toml | 8 +- lib/remap-lang/Cargo.toml | 2 +- lib/tracing-limit/Cargo.toml | 4 +- lib/vector-api-client/Cargo.toml | 8 +- lib/vector-wasm/Cargo.toml | 12 +- 10 files changed, 193 insertions(+), 200 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index db81b44ef60a7..336d8ec81a1f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7581,7 +7581,6 @@ dependencies = [ "grok", "headers", "heim", - "hex", "hostname", "http", "hyper", @@ -7604,7 +7603,6 @@ dependencies = [ "lucetc", "matches", "maxminddb", - "md-5 0.9.1", "metrics", "metrics-tracing-context", "metrics-util", @@ -7651,7 +7649,6 @@ dependencies = [ "rusoto_signature", "rusoto_sqs", "rusoto_sts", - "rust_decimal", "rusty-fork", "schannel", "seahash", @@ -7660,9 +7657,6 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "sha-1 0.9.2", - "sha2 0.9.2", - "sha3", "shared", "smpl_jwt", "snafu", diff --git a/Cargo.toml b/Cargo.toml index 235bc3ca84180..c6aba1ddf83fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -64,44 +64,44 @@ derive_is_enum_variant = { path = "lib/derive_is_enum_variant" } file-source = { path = "lib/file-source", optional = true } portpicker = { path = "lib/portpicker" } prometheus-parser = { path = "lib/prometheus-parser", optional = true } +remap-cli = { path = "lib/remap-cli", optional = true } shared = { path = "lib/shared" } tracing-limit = { path = "lib/tracing-limit" } vector-api-client = { path = "lib/vector-api-client", optional = true } -remap-cli = { path = "lib/remap-cli", optional = true } # Tokio / Futures -futures01 = { package = "futures", version = "0.1.25" } +async-trait = "0.1" futures = { version = "0.3", default-features = false, features = ["compat", "io-compat"] } -tokio = { version = "0.2.13", features = ["blocking", "fs", "io-std", "macros", "process", "rt-core", "rt-threaded", "uds", "udp", "signal", "sync", "time", "stream"] } +futures01 = { package = "futures", version = "0.1.25" } +tokio = { version = "0.2.13", features = ["blocking", "fs", "io-std", "macros", "process", "rt-core", "rt-threaded", "signal", "stream", "sync", "time", "udp", "uds"] } tokio-openssl = "0.4.0" tokio-util = { version = "0.3.1", features = ["codec"] } -async-trait = "0.1" # Tracing tracing = "0.1.15" tracing-core = "0.1.17" tracing-futures = { version = "0.2", features = ["futures-01", "futures-03"]} -tracing-subscriber = "0.2.15" tracing-log = "0.1.0" +tracing-subscriber = "0.2.15" tracing-tower = { git = "https://github.com/tokio-rs/tracing", rev = "f470db1b0354b368f62f9ee4d763595d16373231" } # Metrics metrics = "0.13.0-alpha.13" -metrics-util = "0.4.0-alpha.10" metrics-tracing-context = "0.1.0-alpha.7" +metrics-util = "0.4.0-alpha.10" # Aws -rusoto_core = { version = "0.45.0", features = ["encoding"], optional = true } -rusoto_es = { version = "0.45.0", optional = true } -rusoto_s3 = { version = "0.45.0", optional = true } -rusoto_logs = { version = "0.45.0", optional = true } rusoto_cloudwatch = { version = "0.45.0", optional = true } -rusoto_kinesis = { version = "0.45.0", optional = true } +rusoto_core = { version = "0.45.0", features = ["encoding"], optional = true } rusoto_credential = { version = "0.45.0", optional = true } +rusoto_es = { version = "0.45.0", optional = true } rusoto_firehose = { version = "0.45.0", optional = true } -rusoto_sts = { version = "0.45.0", optional = true } +rusoto_kinesis = { version = "0.45.0", optional = true } +rusoto_logs = { version = "0.45.0", optional = true } +rusoto_s3 = { version = "0.45.0", optional = true } rusoto_signature = { version = "0.45.0", optional = true } rusoto_sqs = { version = "0.45.0", optional = true } +rusoto_sts = { version = "0.45.0", optional = true } # Tower tower = { version = "0.3.1", git = "https://github.com/tower-rs/tower", rev = "43168944220ed32dab83cb4f11f7b97abc5818d5", features = ["buffer", "limit", "retry", "timeout", "util"] } @@ -125,9 +125,9 @@ async-graphql-warp = { version = "2.4.10", optional = true } itertools = { version = "0.10.0", optional = true } # API client +crossterm = { version = "0.19.0", optional = true } num-format = { version = "0.4.0", optional = true } number_prefix = { version = "0.4", optional = true } -crossterm = { version = "0.19.0", optional = true } tui = { version = "0.14.0", optional = true, default-features = false, features = ["crossterm"] } # Remap Lang @@ -135,98 +135,92 @@ remap = { package = "remap-lang", path = "lib/remap-lang" } remap-functions = { path = "lib/remap-functions" } # External libs -derivative = "2.1.1" -chrono = { version = "0.4.19", features = ["serde"] } -rand = { version = "0.8.0", features = ["small_rng"] } -rand_distr = "0.4.0" -regex = "1.3.9" -bytes = { version = "0.5.6", features = ["serde"] } -stream-cancel = "0.6.2" -hyper = "0.13" -hyper-openssl = "0.8" -openssl = "0.10.32" -openssl-probe = "0.1.2" -flate2 = "1.0.19" +anyhow = "1.0.37" async-compression = { version = "0.3.7", features = ["tokio-02", "gzip", "zstd"] } -structopt = "0.3.21" -indexmap = {version = "1.5.1", features = ["serde-1"]} -http = "0.2" -typetag = "0.1.6" -toml = "0.5.8" -syslog = "5" -syslog_loose = "0.10.0" -leveldb = { version = "0.8", optional = true, default-features = false } +avro-rs = { version = "0.12.0", optional = true } +base64 = { version = "0.13.0", optional = true } +bloom = { version = "0.3.2", optional = true } +bollard = { version = "0.9.1", features = ["ssl"], optional = true } +bytes = { version = "0.5.6", features = ["serde"] } +bytesize = { version = "1.0.0", optional = true } +chrono = { version = "0.4.19", features = ["serde"] } +cidr-utils = "0.5.0" +colored = "2.0" +dashmap = "3" db-key = "0.0.5" +derivative = "2.1.1" +dirs-next = { version = "2.0.0", optional = true } +dyn-clone = "1.0.3" +encoding_rs = { version = "0.8", features = ["serde"] } +evmap = { version = "10.0.2", features = ["bytes"], optional = true } +exitcode = "1.1.2" +fakedata_generator = { version = "0.2.4", optional = true } +flate2 = "1.0.19" +getset = "0.1.1" +glob = "0.3.0" +grok = { version = "~1.0.1", optional = true } headers = "0.3" -rdkafka = { version = "0.24.0", features = ["libz", "ssl", "zstd"], optional = true } +heim = { version = "0.1.0-rc.1", features = ["full"], optional = true } hostname = "0.3.1" -seahash = { version = "4.0.1", optional = true } -semver = { version = "0.11.0", features = ["serde"] } +http = "0.2" +hyper = "0.13" +hyper-openssl = "0.8" +indexmap = {version = "1.5.1", features = ["serde-1"]} +indoc = "1.0.3" +inventory = "0.1.10" jemallocator = { version = "0.3.0", optional = true } +k8s-openapi = { version = "0.11.0", features = ["v1_16"], optional = true } lazy_static = "1.3.0" -rlua = { git = "https://github.com/kyren/rlua", rev = "25bd7e6bffef9597466a98bfca80a3056c9e6320", optional = true } -num_cpus = "1.10.0" -bytesize = { version = "1.0.0", optional = true } -glob = "0.3.0" -grok = "~1.0.1" -nom = { version = "6.0.1", optional = true } -pest = "2.1.3" -pest_derive = "2.1.0" -uuid = { version = "0.8", features = ["serde", "v4"] } -exitcode = "1.1.2" -snafu = { version = "0.6.10", features = ["futures-01", "futures"] } -url = "2.2.0" -percent-encoding = "2.1.0" -base64 = { version = "0.13.0", optional = true } -bollard = { version = "0.9.1", features = ["ssl"], optional = true } +leveldb = { version = "0.8", optional = true, default-features = false } listenfd = { version = "0.3.3", optional = true } -socket2 = { version = "0.3.19", optional = true } -inventory = "0.1.10" -maxminddb = { version = "0.17.0", optional = true } -strip-ansi-escapes = { version = "0.1.0"} -colored = "2.0" -warp = { version = "0.2.5", default-features = false, optional = true } -evmap = { version = "10.0.2", features = ["bytes"], optional = true } logfmt = { version = "0.0.2", optional = true } +lru = { version = "0.6.3", optional = true } +maxminddb = { version = "0.17.0", optional = true } +mongodb = { version = "1.1.1", optional = true } +nats = { version = "0.8.6", optional = true } +nom = { version = "6.0.1", optional = true } notify = "4.0.14" +num_cpus = "1.10.0" once_cell = "1.3" -getset = "0.1.1" -lru = "0.6.3" -bloom = "0.3.2" -pulsar = { version = "1.0.0", default-features = false, features = ["tokio-runtime"], optional = true } -cidr-utils = "0.5.0" +openssl = "0.10.32" +openssl-probe = "0.1.2" +percent-encoding = "2.1.0" +pest = "2.1.3" +pest_derive = "2.1.0" pin-project = "1.0.1" -nats = { version = "0.8.6", optional = true } -k8s-openapi = { version = "0.11.0", features = ["v1_16"], optional = true } -sha-1 = "0.9.2" -sha2 = "0.9" -sha3 = "0.9" -md-5 = "0.9" -hex = "0.4.2" -heim = { version = "0.1.0-rc.1", optional = true, features = ["full"] } -rust_decimal = "1.8.1" -mongodb = { version = "1.1.1", optional = true } -anyhow = "1.0.37" -snap = { version = "1.0.3", optional = true } -dyn-clone = "1.0.3" -indoc = "1.0.3" -avro-rs = { version = "0.12.0", optional = true } -dirs-next = { version = "2.0.0", optional = true } -fakedata_generator = "0.2.4" postgres-openssl = { version = "0.3.0", optional = true } -tokio-postgres = { version = "0.5.5", optional = true, features = ["runtime", "with-chrono-0_4"] } +pulsar = { version = "1.0.0", default-features = false, features = ["tokio-runtime"], optional = true } +rand = { version = "0.8.0", features = ["small_rng"] } +rand_distr = "0.4.0" +rdkafka = { version = "0.24.0", features = ["libz", "ssl", "zstd"], optional = true } +regex = "1.3.9" +rlua = { git = "https://github.com/kyren/rlua", rev = "25bd7e6bffef9597466a98bfca80a3056c9e6320", optional = true } +seahash = { version = "4.0.1", optional = true } +semver = { version = "0.11.0", features = ["serde"], optional = true } +snafu = { version = "0.6.10", features = ["futures", "futures-01"] } +snap = { version = "1.0.3", optional = true } +socket2 = { version = "0.3.19", optional = true } +stream-cancel = "0.6.2" +strip-ansi-escapes = "0.1.0" +structopt = "0.3.21" +syslog = { version = "5", optional = true } +syslog_loose = { version = "0.10.0", optional = true } # Indirect dependency; pinning until # https://github.com/timberio/vector/issues/6005 is resolved thread_local = "= 1.0.1" -dashmap = "3" -encoding_rs = { version = "0.8", features = ["serde"] } +tokio-postgres = { version = "0.5.5", features = ["runtime", "with-chrono-0_4"], optional = true } +toml = "0.5.8" +typetag = "0.1.6" +url = "2.2.0" +uuid = { version = "0.8", features = ["serde", "v4"], optional = true } +warp = { version = "0.2.5", default-features = false, optional = true } # For WASM -vector-wasm = { path = "lib/vector-wasm", optional = true } -lucetc = { git = "https://github.com/bytecodealliance/lucet.git", rev = "b1863dacc8c92c11e5434fc8815d9b9a26cfe3db", optional = true } +async-stream = "0.3.0" lucet-runtime = { git = "https://github.com/bytecodealliance/lucet.git", rev = "b1863dacc8c92c11e5434fc8815d9b9a26cfe3db", optional = true } lucet-wasi = { git = "https://github.com/bytecodealliance/lucet.git", rev = "b1863dacc8c92c11e5434fc8815d9b9a26cfe3db", optional = true } -async-stream = "0.3.0" +lucetc = { git = "https://github.com/bytecodealliance/lucet.git", rev = "b1863dacc8c92c11e5434fc8815d9b9a26cfe3db", optional = true } +vector-wasm = { path = "lib/vector-wasm", optional = true } [target.'cfg(windows)'.dependencies] schannel = "0.1" @@ -241,73 +235,74 @@ nix = "0.19.0" [build-dependencies] prost-build = "0.6.1" -built = { version = "0.4.4", features = ["git2", "chrono"] } +built = { version = "0.4.4", features = ["chrono", "git2"] } [dev-dependencies] -base64 = "0.13" approx = "0.4.0" +assert_cmd = "1.0.2" +base64 = "0.13" criterion = "0.3" -tempfile = "3.0.6" libc = "0.2.80" libz-sys = "1.1.2" -walkdir = "2.2.7" matches = "0.1.8" pretty_assertions = "0.6.1" -tokio01-test = "0.1.1" -tower-test = "0.3.0" -tokio-test = "0.2" -tokio = { version = "0.2", features = ["test-util"] } -assert_cmd = "1.0.2" reqwest = { version = "0.10.9", features = ["json"] } rusty-fork = "0.3.0" +tempfile = "3.0.6" +tokio = { version = "0.2", features = ["test-util"] } +tokio-test = "0.2" +tokio01-test = "0.1.1" +tower-test = "0.3.0" +walkdir = "2.2.7" [features] # Default features for *-unknown-linux-gnu and *-apple-darwin -default = ["api", "api-client", "vrl-cli", "sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-plain"] -default-musl = ["api", "api-client", "vrl-cli", "sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-cmake"] +default = ["api", "api-client", "leveldb", "rdkafka-plain", "sinks", "sources", "transforms", "unix", "vendor-all", "vrl-cli"] # Default features for *-unknown-linux-* which make use of `cmake` for dependencies -default-cmake = ["api", "api-client", "vrl-cli", "sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-cmake"] +default-cmake = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-all", "vrl-cli"] # Default features for *-pc-windows-msvc # TODO: Enable SASL https://github.com/timberio/vector/pull/3081#issuecomment-659298042 -default-msvc = ["api", "api-client", "vrl-cli", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "leveldb", "rdkafka-cmake"] -default-no-api-client = ["api", "sources", "vrl-cli", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-plain"] -default-no-vrl-cli = ["api", "sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-plain"] -docs = ["api", "sources", "transforms", "sinks"] +default-msvc = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "vendor-libz", "vendor-openssl", "vrl-cli"] +default-musl = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-all", "vrl-cli"] +default-no-api-client = ["api", "leveldb", "rdkafka-plain", "sinks", "sources", "transforms", "unix", "vendor-all", "vrl-cli"] +default-no-vrl-cli = ["api", "leveldb", "rdkafka-plain", "sinks", "sources", "transforms", "unix", "vendor-all"] +docs = ["api", "sinks", "sources", "transforms"] -all-logs = ["sources-logs", "transforms-logs", "sinks-logs"] -all-metrics = ["sources-metrics", "transforms-metrics", "sinks-metrics"] +all-logs = ["sinks-logs", "sources-logs", "transforms-logs"] +all-metrics = ["sinks-metrics", "sources-metrics", "transforms-metrics"] # Target specific release features. # The `make` tasks will select this according to the appropriate triple. # Use this section to turn off or on specific features for specific triples. -target-x86_64-unknown-linux-gnu = ["api", "api-client", "sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-cmake"] -target-aarch64-unknown-linux-gnu = ["api", "api-client", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "unix", "leveldb", "rdkafka-cmake"] -target-x86_64-unknown-linux-musl = ["api", "api-client", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "unix", "leveldb", "rdkafka-cmake"] -target-aarch64-unknown-linux-musl = ["api", "api-client", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "unix", "leveldb", "rdkafka-cmake"] +target-aarch64-unknown-linux-gnu = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-libz", "vendor-openssl"] +target-aarch64-unknown-linux-musl = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-libz", "vendor-openssl"] # TODO: Enable leveldb here for armv7-unknown-linux-musleabihf -target-armv7-unknown-linux-musleabihf = ["api", "api-client", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "rdkafka-cmake"] -target-armv7-unknown-linux-gnueabihf = ["api", "api-client", "sources", "transforms", "sinks", "vendor-openssl", "vendor-libz", "unix", "leveldb", "rdkafka-cmake"] +target-armv7-unknown-linux-gnueabihf = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-libz", "vendor-openssl"] +target-armv7-unknown-linux-musleabihf = ["api", "api-client", "rdkafka-cmake", "sinks", "sources", "transforms", "vendor-libz", "vendor-openssl"] +target-x86_64-unknown-linux-gnu = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-all"] +target-x86_64-unknown-linux-musl = ["api", "api-client", "leveldb", "rdkafka-cmake", "sinks", "sources", "transforms", "unix", "vendor-libz", "vendor-openssl"] +# Enables `rdkafka` dependency. +# This feature is more portable, but requires `cmake` as build dependency. Use it if `rdkafka-plain` doesn't work. +# The `sasl` feature has to be added because of the limitations of `librdkafka` build scripts for `cmake`. +rdkafka-cmake = ["rdkafka", "rdkafka/cmake_build"] +# This feature is less portable, but doesn't require `cmake` as build dependency +rdkafka-plain = ["rdkafka"] +rusoto = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts"] +sasl = ["rdkafka/gssapi"] # Enables features that work only on systems providing `cfg(unix)` unix = ["jemallocator"] # These are **very** useful on Cross compilations! -vendor-all = ["vendor-sasl", "vendor-openssl", "vendor-libz"] +vendor-all = ["vendor-libz", "vendor-openssl", "vendor-sasl"] vendor-sasl = ["rdkafka/gssapi-vendored"] vendor-openssl = ["openssl/vendored"] vendor-libz = ["libz-sys/static"] -sasl = ["rdkafka/gssapi"] -# This feature is less portable, but doesn't require `cmake` as build dependency -rdkafka-plain = ["rdkafka"] -# Enables `rdkafka` dependency. -# This feature is more portable, but requires `cmake` as build dependency. Use it if `rdkafka-plain` doesn't work. -# The `sasl` feature has to be added because of the limitations of `librdkafka` build scripts for `cmake`. -rdkafka-cmake = ["rdkafka", "rdkafka/cmake_build"] # This feature enables the WASM foreign module support. -wasm = ["lucetc", "lucet-runtime", "lucet-wasi", "vector-wasm"] +wasm = ["lucet-runtime", "lucet-wasi", "lucetc", "vector-wasm"] # Enables kubernetes dependencies and shared code. Kubernetes-related sources, # transforms and sinks should depend on this feature. -kubernetes = ["k8s-openapi", "evmap"] +kubernetes = ["evmap", "k8s-openapi"] # VRL vrl-cli = ["remap-cli"] @@ -316,17 +311,17 @@ vrl-cli = ["remap-cli"] api = [ "async-graphql", "async-graphql-warp", - "itertools", "base64", + "itertools", ] # API client api-client = [ - "vector-api-client", + "crossterm", "num-format", "number_prefix", - "crossterm", "tui", + "vector-api-client", ] # Sources @@ -361,38 +356,39 @@ sources-metrics = [ "sources-statsd", "sources-vector", ] + sources-apache_metrics = [] sources-aws_ecs_metrics = [] sources-aws_kinesis_firehose = ["base64", "sources-utils-tls", "warp"] -sources-aws_s3 = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_s3", "rusoto_sqs"] +sources-aws_s3 = ["rusoto", "rusoto_s3", "rusoto_sqs", "semver", "uuid"] sources-docker_logs = ["bollard", "dirs-next"] sources-file = ["bytesize", "file-source"] sources-generator = ["sources-utils-fake"] +sources-heroku_logs = ["sources-utils-http"] sources-host_metrics = ["heim"] sources-http = ["sources-utils-http"] sources-internal_logs = [] sources-internal_metrics = [] sources-journald = [] sources-kafka = ["rdkafka"] -sources-kubernetes-logs = ["kubernetes", "transforms-merge", "transforms-regex_parser", "file-source"] -sources-heroku_logs = ["sources-utils-http"] +sources-kubernetes-logs = ["file-source", "kubernetes", "transforms-merge", "transforms-regex_parser"] sources-mongodb_metrics = ["mongodb"] sources-nginx_metrics = ["nom"] sources-postgresql_metrics = ["postgres-openssl", "tokio-postgres"] sources-prometheus = ["prometheus-parser", "sinks-prometheus", "sources-utils-http", "warp"] sources-socket = ["bytesize", "listenfd", "tokio-util/udp", "sources-utils-udp", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls", "sources-utils-unix"] sources-splunk_hec = ["bytesize", "sources-utils-tls", "warp"] -sources-statsd = ["tokio-util/udp", "listenfd", "sources-utils-udp", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls", "sources-utils-unix"] +sources-statsd = ["listenfd", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls", "sources-utils-udp", "sources-utils-unix", "tokio-util/udp"] sources-stdin = ["bytesize"] -sources-syslog = ["bytesize", "listenfd", "tokio-util/udp", "sources-utils-udp", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls", "sources-utils-unix"] -sources-vector = ["listenfd", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls"] -sources-utils-fake = [] -sources-utils-http = ["sources-utils-tls", "warp", "snap"] +sources-syslog = ["bytesize", "listenfd", "tokio-util/udp", "sources-utils-udp", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls", "sources-utils-unix", "syslog_loose"] +sources-utils-fake = ["fakedata_generator"] +sources-utils-http = ["snap", "sources-utils-tls", "warp"] sources-utils-tcp-keepalive = [] sources-utils-tcp-socket = [] sources-utils-tls = [] sources-utils-udp = ["socket2"] sources-utils-unix = [] +sources-vector = ["listenfd", "sources-utils-tcp-keepalive", "sources-utils-tcp-socket", "sources-utils-tls"] # Transforms transforms = ["transforms-logs", "transforms-metrics"] @@ -420,9 +416,9 @@ transforms-logs = [ "transforms-remap", "transforms-remove_fields", "transforms-rename_fields", + "transforms-route", "transforms-sample", "transforms-split", - "transforms-route", "transforms-tokenizer", ] transforms-metrics = [ @@ -435,6 +431,7 @@ transforms-metrics = [ "transforms-remove_tags", "transforms-tag_cardinality_limit", ] + transforms-add_fields = [] transforms-add_tags = [] transforms-ansi_stripper = [] @@ -442,11 +439,11 @@ transforms-aws_cloudwatch_logs_subscription_parser= [] transforms-aws_ec2_metadata = ["evmap"] transforms-coercer = [] transforms-concat = [] -transforms-dedupe = [] -transforms-filter = [] +transforms-dedupe = ["lru"] transforms-field_filter = [] +transforms-filter = [] transforms-geoip = ["maxminddb"] -transforms-grok_parser = [] +transforms-grok_parser = ["grok"] transforms-json_parser = [] transforms-key_value_parser = [] transforms-log_to_metric = [] @@ -454,18 +451,18 @@ transforms-logfmt_parser = ["logfmt"] transforms-lua = ["rlua"] transforms-merge = [] transforms-metric_to_log = [] +transforms-reduce = [] transforms-regex_parser = [] transforms-remap = [] transforms-remove_fields = [] transforms-remove_tags = [] transforms-rename_fields = [] +transforms-route = [] transforms-sample = ["seahash"] transforms-split = [] -transforms-route = [] -transforms-tag_cardinality_limit = [] +transforms-tag_cardinality_limit = ["bloom"] transforms-tokenizer = [] transforms-wasm = ["wasm"] -transforms-reduce = [] # Sinks sinks = ["sinks-logs", "sinks-metrics"] @@ -512,38 +509,39 @@ sinks-metrics = [ "sinks-statsd", "sinks-vector" ] -sinks-aws_cloudwatch_logs = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_logs"] -sinks-aws_cloudwatch_metrics = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_cloudwatch"] -sinks-aws_kinesis_firehose = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_firehose"] -sinks-aws_kinesis_streams = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_kinesis"] -sinks-aws_s3 = ["bytesize", "rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_s3"] -sinks-aws_sqs = ["rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts", "rusoto_sqs"] + +sinks-aws_cloudwatch_logs = ["rusoto", "rusoto_logs"] +sinks-aws_cloudwatch_metrics = ["rusoto", "rusoto_cloudwatch"] +sinks-aws_kinesis_firehose = ["rusoto", "rusoto_firehose"] +sinks-aws_kinesis_streams = ["rusoto", "rusoto_kinesis"] +sinks-aws_s3 = ["bytesize", "rusoto", "rusoto_s3", "uuid"] +sinks-aws_sqs = ["rusoto", "rusoto_sqs"] sinks-azure_monitor_logs = ["bytesize"] sinks-blackhole = [] sinks-clickhouse = ["bytesize"] sinks-console = [] sinks-datadog = ["bytesize"] -sinks-elasticsearch = ["bytesize", "rusoto_core", "rusoto_credential", "rusoto_signature", "rusoto_sts"] +sinks-elasticsearch = ["bytesize", "rusoto"] sinks-file = [] -sinks-gcp = ["base64", "bytesize", "goauth", "smpl_jwt"] +sinks-gcp = ["base64", "bytesize", "goauth", "smpl_jwt", "uuid"] sinks-honeycomb = ["bytesize"] sinks-http = ["bytesize"] -sinks-humio = ["transforms-metric_to_log", "sinks-splunk_hec"] +sinks-humio = ["sinks-splunk_hec", "transforms-metric_to_log"] sinks-influxdb = ["bytesize"] sinks-kafka = [] sinks-logdna = ["bytesize"] -sinks-loki = ["bytesize"] +sinks-loki = ["bytesize", "uuid"] sinks-nats = ["nats"] sinks-new_relic_logs = ["bytesize", "sinks-http"] +sinks-papertrail = ["syslog"] sinks-prometheus = ["snap", "sources-utils-tls"] +sinks-pulsar = ["avro-rs", "pulsar"] sinks-sematext = ["sinks-elasticsearch", "sinks-influxdb"] sinks-socket = ["sinks-utils-udp"] -sinks-papertrail = [] sinks-splunk_hec = ["bytesize"] -sinks-statsd = ["tokio-util/udp", "sinks-utils-udp"] -sinks-vector = ["sinks-utils-udp"] -sinks-pulsar = ["avro-rs", "pulsar"] +sinks-statsd = ["sinks-utils-udp", "tokio-util/udp"] sinks-utils-udp = ["socket2"] +sinks-vector = ["sinks-utils-udp"] # Identifies that the build is a nightly build nightly = [] @@ -554,9 +552,9 @@ all-integration-tests = [ "clickhouse-integration-tests", "docker-logs-integration-tests", "es-integration-tests", + "gcp-cloud-storage-integration-tests", "gcp-integration-tests", "gcp-pubsub-integration-tests", - "gcp-cloud-storage-integration-tests", "humio-integration-tests", "influxdb-integration-tests", "kafka-integration-tests", @@ -580,43 +578,44 @@ aws-integration-tests = [ "aws-s3-integration-tests", "aws-sqs-integration-tests", ] + aws-cloudwatch-logs-integration-tests = ["sinks-aws_cloudwatch_logs"] aws-cloudwatch-metrics-integration-tests = ["sinks-aws_cloudwatch_metrics"] aws-ec2-metadata-integration-tests = ["transforms-aws_ec2_metadata"] aws-ecs-metrics-integration-tests = ["sources-aws_ecs_metrics"] -aws-kinesis-firehose-integration-tests = ["sinks-aws_kinesis_firehose", "sinks-elasticsearch", "rusoto_es"] +aws-kinesis-firehose-integration-tests = ["rusoto_es", "sinks-aws_kinesis_firehose", "sinks-elasticsearch"] aws-kinesis-streams-integration-tests = ["sinks-aws_kinesis_streams"] -aws-s3-integration-tests = ["sources-aws_s3", "sinks-aws_s3"] +aws-s3-integration-tests = ["sinks-aws_s3", "sources-aws_s3"] aws-sqs-integration-tests = ["sinks-aws_sqs"] clickhouse-integration-tests = ["sinks-clickhouse", "warp"] docker-logs-integration-tests = ["sources-docker_logs", "unix"] es-integration-tests = ["sinks-elasticsearch"] +gcp-cloud-storage-integration-tests = ["sinks-gcp"] gcp-integration-tests = ["sinks-gcp"] gcp-pubsub-integration-tests = ["sinks-gcp"] -gcp-cloud-storage-integration-tests = ["sinks-gcp"] humio-integration-tests = ["sinks-humio"] influxdb-integration-tests = ["sinks-influxdb"] -kafka-integration-tests = ["sources-kafka", "sinks-kafka"] +kafka-integration-tests = ["sinks-kafka", "sources-kafka"] loki-integration-tests = ["sinks-loki"] mongodb_metrics-integration-tests = ["sources-mongodb_metrics"] nats-integration-tests = ["sinks-nats"] nginx-integration-tests = ["sources-nginx_metrics"] postgresql_metrics-integration-tests = ["sources-postgresql_metrics"] -prometheus-integration-tests = ["sinks-prometheus", "sources-prometheus", "bytesize"] +prometheus-integration-tests = ["bytesize", "sinks-prometheus", "sources-prometheus"] pulsar-integration-tests = ["sinks-pulsar"] splunk-integration-tests = ["sinks-splunk_hec", "warp"] -shutdown-tests = ["sources","sinks-console","sinks-prometheus","sinks-blackhole","unix","rdkafka","transforms-log_to_metric","transforms-lua"] disable-resolv-conf = [] +shutdown-tests = ["rdkafka", "sinks-blackhole", "sinks-console", "sinks-prometheus", "sources", "transforms-log_to_metric", "transforms-lua", "unix"] # grouping together features for benchmarks # excluing API client due to running out of memory during linking in Github Actions -benches = ["sources", "transforms", "sinks", "vendor-all", "unix", "leveldb", "rdkafka-plain"] -wasm-benches = ["transforms-add_fields", "transforms-field_filter", "transforms-wasm", "transforms-lua", "transforms-remap"] -remap-benches = ["transforms-add_fields", "transforms-remap", "transforms-coercer", "transforms-json_parser"] -language-benches = ["sinks-socket", "sources-socket", "transforms-add_fields", "transforms-json_parser", "transforms-regex_parser", "transforms-wasm", "transforms-lua", "transforms-remap"] +benches = ["leveldb", "rdkafka-plain", "sinks", "sources", "transforms", "unix", "vendor-all"] +language-benches = ["sinks-socket", "sources-socket", "transforms-add_fields", "transforms-json_parser", "transforms-lua", "transforms-regex_parser", "transforms-remap", "transforms-wasm"] # Separate benching process for metrics due to the nature of the bootstrap procedures. -metrics-benches = ["sources-socket", "sinks-socket"] +metrics-benches = ["sinks-socket", "sources-socket"] +remap-benches = ["transforms-add_fields", "transforms-coercer", "transforms-json_parser", "transforms-remap"] +wasm-benches = ["transforms-add_fields", "transforms-field_filter", "transforms-lua", "transforms-remap", "transforms-wasm"] [[bench]] name = "default" diff --git a/lib/file-source/Cargo.toml b/lib/file-source/Cargo.toml index 47544ceddc61c..e7e572d6887a5 100644 --- a/lib/file-source/Cargo.toml +++ b/lib/file-source/Cargo.toml @@ -7,22 +7,22 @@ publish = false license = "MIT" [dependencies] +bstr = "0.2" bytes = "0.5" +chrono = { version = "0.4.19", features = ["serde"] } crc = "1.8.1" +dashmap = "4.0.0" +flate2 = "1.0.19" futures = { version = "0.3", default-features = false, features = ["executor"] } glob = "0.3.0" -scan_fmt = "0.2.5" -tracing = "0.1.15" indexmap = {version = "1.5.1", features = ["serde-1"]} -flate2 = "1.0.19" -winapi = { version = "0.3", features = ["winioctl"] } libc = "0.2" -tokio = { version = "0.2.13", features = ["rt-core", "blocking", "time"] } +scan_fmt = "0.2.5" serde = { version = "1.0.117", features = ["derive"] } serde_json = "1.0.33" -chrono = { version = "0.4.19", features = ["serde"] } -dashmap = "4.0.0" -bstr = "0.2" +tokio = { version = "0.2.13", features = ["rt-core", "blocking", "time"] } +tracing = "0.1.15" +winapi = { version = "0.3", features = ["winioctl"] } [dev-dependencies] quickcheck = "1" diff --git a/lib/k8s-test-framework/Cargo.toml b/lib/k8s-test-framework/Cargo.toml index d62d73fed4237..82f89a591234e 100644 --- a/lib/k8s-test-framework/Cargo.toml +++ b/lib/k8s-test-framework/Cargo.toml @@ -9,10 +9,10 @@ license = "MPL-2.0" [dependencies] k8s-openapi = { version = "0.11.0", default-features = false, features = ["v1_16"] } +once_cell = "1" serde_json = "1" tempfile = "3" -once_cell = "1" -tokio = { version = "0.2", features = ["process", "io-util"] } +tokio = { version = "0.2", features = ["io-util", "process"] } [dev-dependencies] tokio = { version = "0.2", features = ["macros", "rt-threaded"] } diff --git a/lib/remap-cli/Cargo.toml b/lib/remap-cli/Cargo.toml index 22e5871f3406c..b3df1288828af 100644 --- a/lib/remap-cli/Cargo.toml +++ b/lib/remap-cli/Cargo.toml @@ -12,15 +12,15 @@ path = "src/main.rs" [dependencies] bytes = "0.5.6" +exitcode = "1.1.2" +prettytable-rs = { version = "0.8.0", default-features = false, optional = true } regex = { version = "1.3.9", default-features = false, optional = true } remap = { package = "remap-lang", path = "../remap-lang" } remap-functions = { path = "../remap-functions" } +rustyline = { version = "7.0.0", default-features = false, optional = true } serde_json = "1" structopt = { version = "0.3", default-features = false } thiserror = "1" -rustyline = { version = "7.0.0", default-features = false, optional = true } -exitcode = "1.1.2" -prettytable-rs = { version = "0.8.0", default-features = false, optional = true } webbrowser = { version = "0.5.5", default-features = false, optional = true } [features] diff --git a/lib/remap-functions/Cargo.toml b/lib/remap-functions/Cargo.toml index c8edb082c8166..5dcd21c50c5ad 100644 --- a/lib/remap-functions/Cargo.toml +++ b/lib/remap-functions/Cargo.toml @@ -33,8 +33,8 @@ url = { version = "2", optional = true } uuid = { version = "0.8", features = ["v4"], optional = true } [dev-dependencies] -shared = { path = "../shared", features = ["btreemap"] } anyhow = "1" +shared = { path = "../shared", features = ["btreemap"] } [features] default = [ @@ -78,9 +78,9 @@ default = [ "parse_grok", "parse_json", "parse_key_value", - "parse_syslog", "parse_regex", "parse_regex_all", + "parse_syslog", "parse_timestamp", "parse_tokens", "parse_url", @@ -99,9 +99,9 @@ default = [ "to_bool", "to_float", "to_int", + "to_string", "to_syslog_facility", "to_syslog_level", - "to_string", "to_syslog_severity", "to_timestamp", "to_unix_timestamp", @@ -149,9 +149,9 @@ parse_duration = [] parse_glog = ["chrono"] parse_grok = ["grok"] parse_json = ["serde_json"] +parse_key_value = ["nom"] parse_regex = ["regex"] parse_regex_all = ["regex"] -parse_key_value = ["nom"] parse_syslog = ["syslog_loose"] parse_timestamp = ["shared/conversion"] parse_tokens = ["shared/tokenize"] diff --git a/lib/remap-lang/Cargo.toml b/lib/remap-lang/Cargo.toml index b77db4bb5c6cb..096de58a313b0 100644 --- a/lib/remap-lang/Cargo.toml +++ b/lib/remap-lang/Cargo.toml @@ -17,8 +17,8 @@ pest = "2" pest_derive = "2" regex = "1" serde = "1" -thiserror = "1" termcolor = "1" +thiserror = "1" [dev-dependencies] criterion = "0.3" diff --git a/lib/tracing-limit/Cargo.toml b/lib/tracing-limit/Cargo.toml index 9e04e7dee826b..2b0280ce07811 100644 --- a/lib/tracing-limit/Cargo.toml +++ b/lib/tracing-limit/Cargo.toml @@ -7,13 +7,13 @@ publish = false license = "MPL-2.0" [dependencies] +ansi_term = "0.12" tracing-core = "0.1" tracing-subscriber = "0.2" -ansi_term = "0.12" [dev-dependencies] -tracing = "0.1.15" criterion = "0.3" +tracing = "0.1.15" [[bench]] name = "limit" diff --git a/lib/vector-api-client/Cargo.toml b/lib/vector-api-client/Cargo.toml index faf4f809a2790..2138aa1419c39 100644 --- a/lib/vector-api-client/Cargo.toml +++ b/lib/vector-api-client/Cargo.toml @@ -16,9 +16,9 @@ serde_json = { version = "1.0.33", features = ["raw_value"] } anyhow = "1.0.28" # Tokio / Futures -futures = { version = "0.3", default-features = false, features = ["compat", "io-compat"] } -tokio = { version = "0.2.13", features = ["blocking", "fs", "signal", "io-std", "macros", "rt-core", "rt-threaded", "uds", "sync"] } async-trait = "0.1" +futures = { version = "0.3", default-features = false, features = ["compat", "io-compat"] } +tokio = { version = "0.2.13", features = ["blocking", "fs", "io-std", "macros", "rt-core", "rt-threaded", "signal", "sync", "uds"] } # GraphQL graphql_client = "0.9.0" @@ -28,7 +28,7 @@ reqwest = { version = "0.10.9", features = ["json"] } tokio-tungstenite = { version = "0.11.0", features = ["tls"] } # External libs -weak-table = "0.3.0" +chrono = { version = "0.4.6", features = ["serde"] } url = "2.2.0" uuid = { version = "0.8", features = ["serde", "v4"] } -chrono = { version = "0.4.6", features = ["serde"] } +weak-table = "0.3.0" diff --git a/lib/vector-wasm/Cargo.toml b/lib/vector-wasm/Cargo.toml index 4363c71824e3d..7b12535f4487e 100644 --- a/lib/vector-wasm/Cargo.toml +++ b/lib/vector-wasm/Cargo.toml @@ -8,12 +8,12 @@ license = "MPL-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -[features] -default = ["guest"] -guest = [] - [dependencies] -serde_json = "1.0.51" +anyhow = "1.0.28" serde = { version = "1", features = ["derive"] } +serde_json = "1.0.51" tracing = "0.1.15" -anyhow = "1.0.28" + +[features] +default = ["guest"] +guest = []