[package]
edition = "2024"
name = "worker-service"
version = "0.2.0"
authors = ["Joel Parker Henderson <joel@joelparkerhenderson.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Worker Service - A worker administration microservice that interoperates with the worker-matcher crate"
readme = "README.md"
keywords = [
"worker-matcher",
"microservice",
]
categories = ["database"]
license = "MIT OR Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only OR GPL-3.0-only"
repository = "https://github.com/sixarm/main-x-service/worker-service-rust-crate"
[lib]
name = "worker_service"
path = "src/lib.rs"
[[bin]]
name = "web"
path = "src/bin/web.rs"
[[test]]
name = "api_integration_test"
path = "tests/api_integration_test.rs"
[[bench]]
name = "matching_bench"
path = "benches/matching_bench.rs"
harness = false
[[bench]]
name = "search_bench"
path = "benches/search_bench.rs"
harness = false
[[bench]]
name = "validation_bench"
path = "benches/validation_bench.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.argon2]
version = "0.5"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.7"
features = [
"macros",
"multipart",
"ws",
]
[dependencies.bigdecimal]
version = "0.4"
features = ["serde"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dotenvy]
version = "0.15"
[dependencies.fluvio]
version = "0.23"
[dependencies.fuzzy-matcher]
version = "0.3"
[dependencies.hyper]
version = "1.8"
features = ["full"]
[dependencies.jsonwebtoken]
version = "9.3"
[dependencies.loco-rs]
version = "0.14"
[dependencies.openapiv3]
version = "2.2"
[dependencies.opentelemetry]
version = "0.27"
features = [
"trace",
"metrics",
"logs",
]
[dependencies.opentelemetry-otlp]
version = "0.27"
features = [
"trace",
"metrics",
"logs",
]
[dependencies.opentelemetry-semantic-conventions]
version = "0.27"
[dependencies.opentelemetry_sdk]
version = "0.27"
features = [
"rt-tokio",
"trace",
"metrics",
"logs",
]
[dependencies.prost]
version = "0.13"
[dependencies.sea-orm]
version = "1.1"
features = [
"sqlx-postgres",
"runtime-tokio-rustls",
"macros",
"with-chrono",
"with-uuid",
"with-json",
]
[dependencies.sea-orm-migration]
version = "1.1"
features = [
"sqlx-postgres",
"runtime-tokio-rustls",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.strsim]
version = "0.11"
[dependencies.tantivy]
version = "0.22"
[dependencies.tera]
version = "1.20"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = ["full"]
[dependencies.tonic]
version = "0.12"
features = [
"transport",
"codegen",
"prost",
]
[dependencies.tower]
version = "0.5"
features = ["full"]
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
"compression-full",
"fs",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.28"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.utoipa]
version = "5.4"
features = [
"axum_extras",
"chrono",
"uuid",
]
[dependencies.utoipa-swagger-ui]
version = "8.1"
features = ["axum"]
[dependencies.uuid]
version = "1.19"
features = [
"v4",
"serde",
]
[dependencies.validator]
version = "0.19"
features = ["derive"]
[dependencies.worker-matcher]
version = "0.3.0"
[dev-dependencies.assertables]
version = "9.8"
[dev-dependencies.criterion]
version = "0.5"
features = [
"html_reports",
"async_tokio",
]
[dev-dependencies.mockall]
version = "0.13"
[dev-dependencies.tempfile]
version = "3.24"
[dev-dependencies.tokio-test]
version = "0.4"
[build-dependencies.tonic-build]
version = "0.12"
[profile.bench]
inherits = "release"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true