mikcar 0.1.1

Sidecar infrastructure services for mik (storage, kv, sql, queue)
Documentation
[[bin]]
name = "mikcar"
path = "src/main.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.async-trait]
optional = true
version = "0.1"

[dependencies.axum]
version = "0.8"

[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bytes]
version = "1.5"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.clap]
features = ["derive", "env"]
version = "4.5"

[dependencies.futures]
version = "0.3"

[dependencies.hex]
optional = true
version = "0.4"

[dependencies.hmac]
optional = true
version = "0.12"

[dependencies.lettre]
default-features = false
features = ["tokio1", "tokio1-rustls-tls", "smtp-transport", "builder"]
optional = true
version = "0.11"

[dependencies.mimalloc]
default-features = false
version = "0.1"

[dependencies.object_store]
features = ["aws"]
optional = true
version = "0.13"

[dependencies.opentelemetry]
optional = true
version = "0.31"

[dependencies.opentelemetry-otlp]
features = ["grpc-tonic"]
optional = true
version = "0.31"

[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
optional = true
version = "0.31"

[dependencies.redb]
optional = true
version = "3.1"

[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
optional = true
version = "0.12"

[dependencies.rquickjs]
features = ["classes"]
optional = true
version = "0.11"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
optional = true
version = "0.10"

[dependencies.sqlx]
features = ["runtime-tokio-rustls", "postgres", "sqlite", "json", "bigdecimal", "uuid", "chrono"]
optional = true
version = "0.8"

[dependencies.subtle]
version = "2.6"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
features = ["full"]
version = "1"

[dependencies.tower]
version = "0.5"

[dependencies.tower-http]
features = ["cors", "compression-gzip", "trace", "timeout", "limit"]
version = "0.6"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-opentelemetry]
optional = true
version = "0.32"

[dependencies.tracing-subscriber]
features = ["env-filter", "json"]
version = "0.3"

[dependencies.url]
version = "2.5"

[dependencies.uuid]
features = ["v4"]
version = "1.11"

[dev-dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
version = "0.12"

[dev-dependencies.tempfile]
version = "3.24.0"

[dev-dependencies.tower]
features = ["util"]
version = "0.5"

[features]
all = ["storage", "kv", "sql", "queue", "secrets", "email"]
default = ["storage", "kv", "sql", "secrets", "email"]
email = ["email-smtp"]
email-smtp = ["dep:lettre", "dep:async-trait"]
kv = ["dep:redb"]
musl = ["storage", "kv", "sql", "secrets", "email"]
otlp = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp", "dep:tracing-opentelemetry"]
queue = ["dep:omniqueue", "dep:redis", "dep:lapin"]
secrets = ["dep:async-trait", "dep:reqwest", "dep:hex", "dep:base64", "dep:sha2", "dep:hmac"]
sql = ["dep:sqlx", "dep:rquickjs"]
storage = ["dep:object_store"]

[lib]
name = "mikcar"
path = "src/lib.rs"

[package]
authors = ["mikrozen contributors"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming::http-server", "database"]
description = "Sidecar infrastructure services for mik (storage, kv, sql, queue)"
documentation = "https://docs.rs/mikcar"
edition = "2024"
homepage = "https://github.com/dufeut/mikcar"
keywords = ["sidecar", "microservices", "http", "storage"]
license = "MIT"
name = "mikcar"
readme = "README.md"
repository = "https://github.com/dufeut/mikcar"
rust-version = "1.89"
version = "0.1.1"

[profile.release]
codegen-units = 1
lto = true
opt-level = 3
strip = true

[target.'cfg(not(target_os = "windows"))'.dependencies.lapin]
optional = true
version = "2.5"

[target.'cfg(not(target_os = "windows"))'.dependencies.omniqueue]
default-features = false
features = ["redis", "rabbitmq"]
optional = true
version = "0.3"

[target.'cfg(not(target_os = "windows"))'.dependencies.redis]
features = ["tokio-comp"]
optional = true
version = "0.27"

[[test]]
name = "email_integration"
path = "tests/email_integration.rs"

[[test]]
name = "queue_integration"
path = "tests/queue_integration.rs"