[package]
edition = "2024"
name = "dbpulse"
version = "0.9.0"
authors = ["Nicolas Embriz <nbari@tequila.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "command line tool to monitor that database is available for read & write"
homepage = "https://github.com/nbari/dbpulse"
documentation = "https://github.com/nbari/dbpulse/blob/master/README.md"
readme = "README.md"
keywords = [
"mysql",
"monitor",
"healthcheck",
"database",
"metrics",
]
categories = [
"command-line-utilities",
"command-line-interface",
]
license = "BSD-3-Clause"
repository = "https://github.com/nbari/dbpulse"
[[package.metadata.generate-rpm.assets]]
source = "target/release/dbpulse"
dest = "/usr/bin/dbpulse"
mode = "0755"
[package.metadata.deb]
assets = [[
"target/release/dbpulse",
"/usr/bin/dbpulse",
"755",
]]
depends = ""
[lib]
name = "dbpulse"
path = "src/lib.rs"
[[bin]]
name = "dbpulse"
path = "src/bin/dbpulse.rs"
[[test]]
name = "mariadb_test"
path = "tests/mariadb_test.rs"
[[test]]
name = "mariadb_tls_test"
path = "tests/mariadb_tls_test.rs"
[[test]]
name = "metrics_validation_test"
path = "tests/metrics_validation_test.rs"
[[test]]
name = "postgres_test"
path = "tests/postgres_test.rs"
[[test]]
name = "postgres_tls_test"
path = "tests/postgres_tls_test.rs"
[[test]]
name = "pulse_robustness_test"
path = "tests/pulse_robustness_test.rs"
[dependencies.anyhow]
version = "1"
[dependencies.axum]
version = "0.8"
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4.5"
features = ["env"]
[dependencies.dsn]
version = "1"
[dependencies.futures]
version = "0.3"
[dependencies.prometheus]
version = "0.14"
features = ["process"]
[dependencies.rand]
version = "0.9"
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"log",
"std",
]
default-features = false
[dependencies.rustls-pemfile]
version = "2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sqlx]
version = "0.8"
features = [
"mysql",
"postgres",
"runtime-tokio",
"uuid",
"tls-rustls",
]
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26"
[dependencies.uuid]
version = "1.20"
features = ["v4"]
[dependencies.webpki-roots]
version = "1.0"
[dependencies.x509-parser]
version = "0.18"
[lints.clippy]
await_holding_lock = "deny"
expect_used = "deny"
indexing_slicing = "deny"
large_stack_arrays = "deny"
needless_borrow = "deny"
needless_collect = "deny"
panic = "deny"
unwrap_used = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.complexity]
level = "deny"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "allow"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.clippy.perf]
level = "deny"
priority = -1
[lints.clippy.suspicious]
level = "deny"
priority = -1
[lints.rust]
warnings = "deny"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = true