mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
### **User description** Design at : security/sso-claim-parser/configuration.md ___ ### **PR Type** Enhancement, Tests ___ ### **Description** - Introduce rquickjs-based JS runtime for functions - Add compile_js_function and apply_js_fn utilities - Extend pipeline to support JS via CompiledFunctionRuntime - Update web UI: select JS/VRL transforms, show JS errors ___ ### Diagram Walkthrough ```mermaid flowchart LR A["FunctionNode"] -->|JS| B["compile_js_function"] A -->|VRL| C["compile_vrl_function"] B --> D["apply_js_fn"] C --> E["apply_vrl_fn"] D --> F["send to children"] E --> F ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>13 files</summary><table> <tr> <td><strong>function.ts</strong><dd><code>Add optional `trans_type` to TestFunctionPayload</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c6766f6c671adce05f9eef5d4a57a32371fa7da35628ef5c142fa503d191cb16">+16/-0</a> </td> </tr> <tr> <td><strong>js.rs</strong><dd><code>Introduce JS runtime, compile and apply functions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-88e490bed5fa6c9c8e0aa2738b95c5284bb97899298f54b9cd587713e3ef0109">+756/-0</a> </td> </tr> <tr> <td><strong>batch_execution.rs</strong><dd><code>Extend pipeline execution to handle JS functions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-3f6824a6eddaf1603e5cb0f1a4311ac6a45e1ffb967266ccc1f0bba944625e69">+465/-96</a></td> </tr> <tr> <td><strong>functions.rs</strong><dd><code>Validate and test-run JS transforms, restrict to _meta</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ed5611a9aa6b5c033e70d7631ba72fafad3cc842672077a7fcf965d11a4fef23">+319/-35</a></td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Forbid JavaScript functions in pipelines globally</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c186c796a7bdfd9d1301b1429df11456430f1d0d4758783810b9e2e44384e3b2">+39/-1</a> </td> </tr> <tr> <td><strong>jwt.rs</strong><dd><code>Add JS claim parser execution function</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-232cab74f4cbf135af424744272e17732fbda8ac005d33c0acb4597e65479d02">+25/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Wrap JS compile/apply in ingestion API</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-7c7b5bca85f0ced652965cae66540c96f56dfcca4f4c16b77bf7b45aac203d1b">+24/-1</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Include `trans_type` in test_function API payload</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-a5e1b3644cef9feb689dfe66382e44e5434ecadbff3469127346a333d4733102">+8/-3</a> </td> </tr> <tr> <td><strong>AddFunction.vue</strong><dd><code>UI: add JS/VRL transform type selector</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ebfd6c538f3cd3ecb9ab17550fd76e2e89e7a1abccc83a7505077e4af3eee110">+42/-25</a> </td> </tr> <tr> <td><strong>FunctionsToolbar.vue</strong><dd><code>Toolbar: transform type radio buttons</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-8283d2ff9c4a66b4b59eac306672aca2d54655a462e2ddb88e14e039d79dcdaf">+51/-3</a> </td> </tr> <tr> <td><strong>DomainManagement.vue</strong><dd><code>Track claim-parser function changes for save button</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-5e47cd01fcb63f7ef27dc64d2ecf66c39e17097e29944951c3ae1bfe715bb97c">+17/-9</a> </td> </tr> <tr> <td><strong>TestFunction.vue</strong><dd><code>Support JS error messaging in test UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-b9af9a2d1bf04d23422c26a13e6a763c6953c8713357a2f64ed8073ce6c926a3">+15/-5</a> </td> </tr> <tr> <td><strong>PipelineEditor.vue</strong><dd><code>Filter out JS functions in pipeline editor UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-68c21f647336067eb79737ce9aca2d49632f2fa1c0878bcfdae55607e3473a15">+12/-4</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>function.rs</strong><dd><code>Extend `Transform` model for JS support</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-27c9f3d93723397a0e234bc45c9f543b43eff5fd518d76e735f78d95a58f3f1c">+16/-6</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Register new `js` utils module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2aa59ce4464e7dbabdb9367fc8bb8c1b489c914b8690577d4916870463ab12db">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>errors.rs</strong><dd><code>Rename `MemoryTableOverflowError` display message</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-bf45932466265b732f13d0cd9b9cffbaefbe37c5861ace9315449eeca9250713">+1/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>result-array-functions.spec.js</strong><dd><code>Add E2E tests for `#ResultArray#` functions in UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-e9911625ad2bab76f2b760f0ad254791331993a6a874b96f6a11fc6d88038b10">+470/-0</a> </td> </tr> <tr> <td><strong>cleanup.spec.js</strong><dd><code>Clean up JS function test data in UI tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+31/-0</a> </td> </tr> <tr> <td><strong>page-manager.js</strong><dd><code>Register `FunctionsPage` in `PageManager`</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+6/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Dependencies</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>Cargo.toml</strong><dd><code>Add `rquickjs` dependency for JS runtime</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542">+2/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>18 files</summary><table> <tr> <td><strong>test_functions_meta_org_restriction.py</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-99ef1207d6ae6d7eeaed37d70c8cf0c4770ba78f6f51fbdc067d35492d2fe9ea">+401/-0</a> </td> </tr> <tr> <td><strong>test_js_enrichment.py</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c5547d46bec60b888d947d1e9b7c5445aee72cf8e837182f7138e0fc903eedbb">+356/-0</a> </td> </tr> <tr> <td><strong>test_js_result_array.py</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-9ed1363a1f58c94e018bb2b0aaa9d08fa71f89e7e55a6ff6be4a82bbeed8985c">+390/-0</a> </td> </tr> <tr> <td><strong>functionsPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-7bab9cc2eb8f36d3ee5d0aab453c353ec6d6dfecbc401cf401322ff57faa8440">+326/-0</a> </td> </tr> <tr> <td><strong>javascript-functions.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-bdae6529346a7222bdec19f75f490cb9d0f3578a260ba835225efcd27db3f64e">+314/-0</a> </td> </tr> <tr> <td><strong>meta-org-js-restriction.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-16cc2373f6f1955f8344a59d5f2edcd6ce121c4fdee1d432b1f0ec8e27f25881">+483/-0</a> </td> </tr> <tr> <td><strong>FunctionList.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-6ff9af50a1597504b7f0dca91e61cf30c800b4a17b4be2ed2c3a4f7a7b2d7068">+1/-0</a> </td> </tr> <tr> <td><strong>de.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+30/-18</a> </td> </tr> <tr> <td><strong>en.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+15/-7</a> </td> </tr> <tr> <td><strong>es.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+30/-18</a> </td> </tr> <tr> <td><strong>fr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+30/-18</a> </td> </tr> <tr> <td><strong>it.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+30/-18</a> </td> </tr> <tr> <td><strong>ja.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+30/-18</a> </td> </tr> <tr> <td><strong>ko.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+30/-18</a> </td> </tr> <tr> <td><strong>nl.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+30/-18</a> </td> </tr> <tr> <td><strong>pt.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+30/-18</a> </td> </tr> <tr> <td><strong>tr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+30/-18</a> </td> </tr> <tr> <td><strong>zh.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/9873/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+254/-242</a></td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
406 lines
11 KiB
TOML
406 lines
11 KiB
TOML
[package]
|
|
description = "OpenObserve is an observability platform that allows you to capture, search, and analyze your logs, metrics, and traces."
|
|
edition = "2024"
|
|
homepage = "https://openobserve.ai/"
|
|
keywords = [
|
|
"search",
|
|
"log",
|
|
"metrics",
|
|
"traces",
|
|
"analytics",
|
|
"openobserve",
|
|
"observability",
|
|
"open source",
|
|
"open-source",
|
|
"opensource",
|
|
]
|
|
license = "AGPL-3.0"
|
|
name = "openobserve"
|
|
repository = "https://github.com/openobserve/openobserve/"
|
|
version = "0.50.0"
|
|
publish = false
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[features]
|
|
default = []
|
|
enterprise = []
|
|
cloud = []
|
|
mimalloc = ["dep:mimalloc"]
|
|
jemalloc = ["dep:tikv-jemallocator"]
|
|
profiling = ["dep:pprof"]
|
|
pyroscope = ["dep:pyroscope", "dep:pyroscope_pprofrs"]
|
|
tokio-console = ["dep:console-subscriber"]
|
|
|
|
[profile.release]
|
|
debug = false
|
|
strip = true
|
|
|
|
[profile.release-prod]
|
|
inherits = "release"
|
|
codegen-units = 1
|
|
lto = "thin"
|
|
|
|
[profile.release-profiling]
|
|
inherits = "release"
|
|
debug = true
|
|
strip = false
|
|
codegen-units = 4
|
|
split-debuginfo = "packed"
|
|
|
|
[dependencies]
|
|
actix-cors = "0.7"
|
|
actix-http = "3.11.2"
|
|
actix-multipart = { version = "0.7", features = ["derive"] }
|
|
actix-web.workspace = true
|
|
actix-web-httpauth = "0.8"
|
|
actix-web-opentelemetry = { version = "0.22", features = ["metrics"] }
|
|
actix-web-rust-embed-responder = { version = "2.3", default-features = false, features = [
|
|
"support-rust-embed-for-web",
|
|
"base64",
|
|
] }
|
|
actix-tls.workspace = true
|
|
ahash.workspace = true
|
|
anyhow.workspace = true
|
|
argon2.workspace = true
|
|
async-trait.workspace = true
|
|
async-recursion.workspace = true
|
|
async-walkdir.workspace = true
|
|
awc = { version = "3.8", features = ["rustls-0_23"] }
|
|
aws-sdk-sns.workspace = true
|
|
base64.workspace = true
|
|
bitflags = "2.9"
|
|
bitvec.workspace = true
|
|
blake3 = { version = "1.6", features = ["rayon"] }
|
|
bytes.workspace = true
|
|
byteorder.workspace = true
|
|
chrono.workspace = true
|
|
clap = { version = "4.1", default-features = false, features = [
|
|
"std",
|
|
"help",
|
|
"usage",
|
|
"suggestions",
|
|
"cargo",
|
|
] }
|
|
cloudevents-sdk = { version = "0.8.0", features = ["actix"] }
|
|
cron.workspace = true
|
|
csv = "1.3"
|
|
dashmap.workspace = true
|
|
datafusion.workspace = true
|
|
datafusion-proto.workspace = true
|
|
datafusion-functions-aggregate-common.workspace = true
|
|
datafusion-functions-json.workspace = true
|
|
arrow.workspace = true
|
|
arrow-flight.workspace = true
|
|
arrow-json.workspace = true
|
|
arrow-schema.workspace = true
|
|
parquet.workspace = true
|
|
object_store.workspace = true
|
|
env_logger.workspace = true
|
|
faststr.workspace = true
|
|
flate2.workspace = true
|
|
futures.workspace = true
|
|
hashlink.workspace = true
|
|
hashbrown.workspace = true
|
|
hex.workspace = true
|
|
http-auth-basic = "0.3"
|
|
itertools.workspace = true
|
|
jsonwebtoken = "9.3"
|
|
log.workspace = true
|
|
maxminddb = "0.27"
|
|
md5.workspace = true
|
|
memchr.workspace = true
|
|
mimalloc = { version = "0.1.43", default-features = false, optional = true }
|
|
once_cell.workspace = true
|
|
opentelemetry.workspace = true
|
|
opentelemetry_sdk.workspace = true
|
|
opentelemetry-otlp.workspace = true
|
|
opentelemetry-proto.workspace = true
|
|
parking_lot.workspace = true
|
|
prometheus.workspace = true
|
|
promql-parser = { version = "0.6", git = "https://github.com/openobserve/promql-parser", branch = "openobserve" }
|
|
prost.workspace = true
|
|
prost-wkt-types.workspace = true
|
|
proto.workspace = true
|
|
prettytable-rs = "0.10.0"
|
|
pyroscope = { version = "0.5.8", optional = true }
|
|
pyroscope_pprofrs = { version = "0.2.8", optional = true }
|
|
rand.workspace = true
|
|
rayon.workspace = true
|
|
regex.workspace = true
|
|
regex-syntax.workspace = true
|
|
reqwest.workspace = true
|
|
rquickjs.workspace = true
|
|
rust-embed-for-web = "11.2.1"
|
|
rustls.workspace = true
|
|
rustls-pemfile.workspace = true
|
|
sea-orm.workspace = true
|
|
segment.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
sha256.workspace = true
|
|
snafu.workspace = true
|
|
snap.workspace = true
|
|
sqlparser.workspace = true
|
|
sqlx.workspace = true
|
|
strum.workspace = true
|
|
svix-ksuid.workspace = true
|
|
thiserror.workspace = true
|
|
time.workspace = true
|
|
tikv-jemallocator = { version = "0.6", optional = true }
|
|
tokio.workspace = true
|
|
console-subscriber = { version = "0.4", optional = true }
|
|
tonic.workspace = true
|
|
tonic-prost.workspace = true
|
|
tracing.workspace = true
|
|
tracing-appender.workspace = true
|
|
tracing-opentelemetry.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
tempfile.workspace = true
|
|
uaparser = "0.6.4"
|
|
url.workspace = true
|
|
utoipa.workspace = true
|
|
utoipa-swagger-ui.workspace = true
|
|
version-compare = "0.2.0"
|
|
vector-enrichment.workspace = true
|
|
x509-parser = "0.18.0"
|
|
vrl.workspace = true
|
|
zstd.workspace = true
|
|
config.workspace = true
|
|
infra.workspace = true
|
|
ingester.workspace = true
|
|
wal.workspace = true
|
|
report_server.workspace = true
|
|
chromiumoxide.workspace = true
|
|
lettre.workspace = true
|
|
tantivy.workspace = true
|
|
tantivy-fst.workspace = true
|
|
zip.workspace = true
|
|
futures-util = "0.3.31"
|
|
tokio-util = "0.7.13"
|
|
pprof = { version = "0.15.0", features = [
|
|
"flamegraph",
|
|
"prost-codec",
|
|
], optional = true }
|
|
tokio-stream.workspace = true
|
|
mime = "0.3.17"
|
|
pin-project-lite = "0.2.16"
|
|
futures-core = "0.3.31"
|
|
actix-service = "2.0.3"
|
|
actix-utils = "3.0.1"
|
|
derive_more = { version = "2.0.1", features = ["full"] }
|
|
brotli = "8.0.1"
|
|
tokio-rustls.workspace = true
|
|
roaring.workspace = true
|
|
flight.workspace = true
|
|
async-stream.workspace = true
|
|
|
|
[dev-dependencies]
|
|
async-walkdir.workspace = true
|
|
expect-test.workspace = true
|
|
base64 = "0.22"
|
|
float-cmp = "0.10"
|
|
rcgen = "0.14.4"
|
|
|
|
[workspace]
|
|
members = [
|
|
"src/config",
|
|
"src/infra",
|
|
"src/ingester",
|
|
"src/wal",
|
|
"src/proto",
|
|
"src/report_server",
|
|
"src/flight",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "AGPL-3.0"
|
|
|
|
[workspace.dependencies]
|
|
config = { path = "src/config" }
|
|
infra = { path = "src/infra" }
|
|
ingester = { path = "src/ingester" }
|
|
wal = { path = "src/wal" }
|
|
proto = { path = "src/proto" }
|
|
report_server = { path = "src/report_server" }
|
|
flight = { path = "src/flight" }
|
|
aes-siv = "0.7.0"
|
|
ahash = { version = "0.8", features = ["serde"] }
|
|
actix-web = { version = "4.12", features = ["rustls-0_23"] }
|
|
actix-tls = { version = "3.5", features = [
|
|
"connect",
|
|
"uri",
|
|
"rustls-0_23-native-roots",
|
|
"rustls-0_23-webpki-roots",
|
|
] }
|
|
anyhow = "1.0"
|
|
arc-swap = "1.7.1"
|
|
argon2 = { version = "0.5", features = ["alloc", "password-hash"] }
|
|
async-nats = "0.42"
|
|
async-stream = "0.3.6"
|
|
async-trait = "0.1"
|
|
async-recursion = "1.0"
|
|
async-walkdir = "2.1.0"
|
|
aws-config = "1.5.17"
|
|
aws-sdk-sns = "1.61.0"
|
|
base64 = "0.22"
|
|
bitvec = "1.0"
|
|
bytes = "1.10"
|
|
byteorder = "1.5"
|
|
chromiumoxide = { git = "https://github.com/mattsse/chromiumoxide", features = [
|
|
"tokio-runtime",
|
|
"_fetcher-rusttls-tokio",
|
|
], default-features = false, rev = "6f2392f78ae851e2acf33df8e9764cc299d837db" }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
|
chrono-tz = "0.10"
|
|
cityhasher = { version = "0.1", default-features = false }
|
|
collapse = "0.1.2"
|
|
cron = "0.15"
|
|
dashmap = { version = "6.1", features = ["serde"] }
|
|
datafusion = "51.0.0"
|
|
datafusion-proto = "51.0.0"
|
|
datafusion-functions-aggregate-common = "51.0.0"
|
|
datafusion-functions-json = "0.51.0"
|
|
expect-test = "1.4"
|
|
arrow = { version = "57.0.0", features = ["ipc_compression", "prettyprint"] }
|
|
arrow-flight = "57.0.0"
|
|
arrow-json = "57.0.0"
|
|
arrow-schema = { version = "57.0.0", features = ["serde"] }
|
|
parquet = { version = "57.0.0", features = ["arrow", "async", "object_store"] }
|
|
object_store = { version = "0.12.4", features = ["aws", "azure", "gcp"] }
|
|
sqlparser = { version = "0.59.0", features = ["serde", "visitor"] }
|
|
dotenv_config = "0.2.2"
|
|
dotenvy = "0.15.7"
|
|
env_logger = "0.11.8"
|
|
faststr = { version = "0.2", features = ["serde"] }
|
|
flate2 = { version = "1.0", features = ["zlib"] }
|
|
futures = "0.3"
|
|
local-ip-address = "0.6"
|
|
hashlink = "0.10"
|
|
hashbrown = { version = "0.16.0", features = ["serde"] }
|
|
hex = "0.4"
|
|
indexmap = { version = "2.7", features = ["serde"] }
|
|
itertools = "0.14"
|
|
lettre = { version = "0.11", default-features = false, features = [
|
|
"builder",
|
|
"hostname",
|
|
"smtp-transport",
|
|
"pool",
|
|
"tokio1",
|
|
"tokio1-rustls-tls",
|
|
"aws-lc-rs",
|
|
] }
|
|
log = "0.4"
|
|
md5 = "0.8.0"
|
|
memchr = "2.7"
|
|
murmur3 = "0.5"
|
|
once_cell = "1.20"
|
|
ordered-float = { version = "5.0.0", features = ["serde"] }
|
|
opentelemetry = "0.31"
|
|
opentelemetry_sdk = { version = "0.31", features = [
|
|
"experimental_trace_batch_span_processor_with_async_runtime",
|
|
"rt-tokio",
|
|
"trace",
|
|
"metrics",
|
|
"spec_unstable_metrics_views",
|
|
] }
|
|
opentelemetry-otlp = { version = "0.31", features = [
|
|
"http-proto",
|
|
"serialize",
|
|
"serde",
|
|
"trace",
|
|
"reqwest-client",
|
|
"grpc-tonic",
|
|
] }
|
|
opentelemetry-proto = { version = "0.31", features = [
|
|
"gen-tonic",
|
|
"with-serde",
|
|
"logs",
|
|
"metrics",
|
|
"trace",
|
|
] }
|
|
parking_lot = "0.12"
|
|
prometheus = { version = "0.14", features = ["process"] }
|
|
prost = "0.14.1"
|
|
prost-wkt-types = "0.7"
|
|
rand = "0.9.2"
|
|
rayon = "1.10"
|
|
regex = "1.11"
|
|
regex-syntax = "0.8"
|
|
reqwest = { version = "0.12", default-features = false, features = [
|
|
"rustls-tls-native-roots",
|
|
"stream",
|
|
"gzip",
|
|
"brotli",
|
|
"deflate",
|
|
] }
|
|
roaring = "0.11.2"
|
|
rquickjs = { version = "0.11.0", features = ["array-buffer", "classes"] }
|
|
rustls-pemfile = "2"
|
|
rustls = { version = "0.23.20", default-features = false, features = [
|
|
"std",
|
|
"tls12",
|
|
] }
|
|
sea-orm = { version = "1.1.8", features = [
|
|
"sqlx-all",
|
|
"runtime-tokio-rustls",
|
|
"macros",
|
|
] }
|
|
sea-orm-migration = { version = "1.1.8", features = [
|
|
"sqlx-mysql",
|
|
"sqlx-postgres",
|
|
"sqlx-sqlite",
|
|
"runtime-tokio-rustls",
|
|
] }
|
|
segment = "~0.2.4"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["arbitrary_precision"] }
|
|
sha1 = "0.10.6"
|
|
sha256 = "1.4.0"
|
|
snafu = "0.8.9"
|
|
snap = "1"
|
|
sqlx = { version = "0.8.3", features = [
|
|
"runtime-tokio-rustls",
|
|
"postgres",
|
|
"mysql",
|
|
"sqlite",
|
|
"chrono",
|
|
] }
|
|
strum = { version = "0.27", features = ["derive"] }
|
|
svix-ksuid = { version = "0.8", features = ["serde"] }
|
|
sysinfo = "0.37"
|
|
tantivy = { version = "0.25", features = ["quickwit"] }
|
|
tantivy-fst = "0.5"
|
|
tempfile = "3"
|
|
thiserror = "2.0.17"
|
|
time = "0.3"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-rustls = { version = "0.26", default-features = false, features = [
|
|
"logging",
|
|
"tls12",
|
|
] }
|
|
tokio-util = { version = "0.7", features = ["compat"] }
|
|
tokio-stream = "0.1"
|
|
tonic = { version = "0.14", features = ["gzip", "tls-webpki-roots"] }
|
|
tonic-prost = "0.14"
|
|
tracing = "0.1.40"
|
|
tracing-appender = "0.2.3"
|
|
tracing-log = "0.2"
|
|
tracing-opentelemetry = "0.32"
|
|
tracing-subscriber = { version = "0.3.20", features = [
|
|
"env-filter",
|
|
"json",
|
|
"registry",
|
|
] }
|
|
url = "2.5"
|
|
urlencoding = "2.1"
|
|
utoipa = { version = "5", features = ["actix_extras", "openapi_extensions"] }
|
|
utoipa-swagger-ui = { version = "9", features = ["actix-web"] }
|
|
uuid = { version = "1.18.1", features = ["v7"] }
|
|
vector-enrichment = { version = "0.1.0", package = "enrichment", git = "https://github.com/openobserve/vector", branch = "v0.51" }
|
|
vrl = { version = "0.28.1", features = ["arbitrary", "value", "compiler", "test"] }
|
|
zip = "6.0.0"
|
|
zstd = "0.13"
|