[package]
edition = "2024"
name = "prosa"
version = "0.4.1"
authors = [
"Jeremy HERGAULT <jeremy.hergault@worldline.com>",
"Anthony THOMAS <anthony.thomas@worldline.com>",
"Olivier SCHYNS <olivier.schyns@worldline.com>",
"Rene-Louis EYMARD <rene-louis.eymard@worldline.com>",
]
build = false
include = [
"**/*.rs",
"Cargo.toml",
"*assets/*",
"COPYRIGHT",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ProSA core"
homepage = "https://worldline.com/"
readme = "README.md"
license = "LGPL-3.0-or-later"
repository = "https://github.com/worldline/ProSA"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.prosa]
main = ["core::main::MainProc"]
[package.metadata.prosa.inj]
proc = "inj::proc::InjProc"
settings = "inj::proc::InjSettings"
adaptor = ["inj::adaptor::InjDummyAdaptor"]
[package.metadata.prosa.stub]
proc = "stub::proc::StubProc"
settings = "stub::proc::StubSettings"
adaptor = ["stub::adaptor::StubParotAdaptor"]
[features]
default = [
"system-metrics",
"http-proxy",
"openssl",
"prometheus",
]
http-proxy = ["dep:async-http-proxy"]
openssl = [
"dep:openssl",
"dep:tokio-openssl",
"prosa-utils/config-openssl",
]
openssl-vendored = [
"openssl",
"openssl/vendored",
"prosa-utils/config-openssl-vendored",
]
prometheus = [
"dep:prometheus",
"prosa-utils/config-observability-prometheus",
]
queue = ["prosa-utils/queue"]
system-metrics = ["dep:memory-stats"]
[lib]
name = "prosa"
path = "src/lib.rs"
[[example]]
name = "proc"
path = "examples/proc.rs"
[dependencies.aquamarine]
version = "0.6"
[dependencies.async-http-proxy]
version = "1"
features = [
"runtime-tokio",
"basic-auth",
]
optional = true
[dependencies.config]
version = "0.15"
features = [
"toml",
"yaml",
"json",
"convert-case",
]
default-features = false
[dependencies.glob]
version = "0.3"
[dependencies.log]
version = "0.4"
[dependencies.memory-stats]
version = "1"
optional = true
[dependencies.openssl]
version = "0.10"
optional = true
[dependencies.opentelemetry]
version = "0.31.0"
features = [
"metrics",
"trace",
"logs",
]
[dependencies.opentelemetry_sdk]
version = "0.31.0"
features = [
"metrics",
"trace",
"logs",
"rt-tokio",
]
[dependencies.prometheus]
version = "0.14"
optional = true
default-features = false
[dependencies.prosa-macros]
version = "0.4.1"
[dependencies.prosa-utils]
version = "0.4.1"
features = [
"msg",
"config",
"config-observability",
]
[dependencies.rlimit]
version = "0.10"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_yaml]
version = "0.9"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"fs",
"macros",
"net",
"parking_lot",
"rt",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.tokio-openssl]
version = "0.6"
optional = true
[dependencies.toml]
version = "0.9"
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
features = ["serde"]
[dev-dependencies.futures-util]
version = "0.3"
default-features = false