[package]
edition = "2021"
rust-version = "1.82"
name = "slokit"
version = "0.6.0"
build = false
exclude = ["/.github"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SLO and error-budget engine for Rust: compute error budgets and burn rates, and generate multi-window multi-burn-rate Prometheus alert rules from sloth-compatible specs."
homepage = "https://github.com/rodmen07/slokit"
documentation = "https://docs.rs/slokit"
readme = "README.md"
keywords = [
"slo",
"sre",
"prometheus",
"error-budget",
"observability",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rodmen07/slokit"
[package.metadata.docs.rs]
all-features = true
[features]
check = [
"spec",
"dep:reqwest",
"dep:serde_json",
]
cli = [
"dep:clap",
"dep:anyhow",
"spec",
"check",
"dashboard",
]
dashboard = [
"spec",
"dep:serde_json",
]
default = ["cli"]
spec = [
"dep:serde",
"dep:serde_norway",
]
[lib]
name = "slokit"
path = "src/lib.rs"
[[bin]]
name = "slokit"
path = "src/bin/slokit.rs"
required-features = ["cli"]
[[test]]
name = "check_http"
path = "tests/check_http.rs"
[[test]]
name = "dashboard"
path = "tests/dashboard.rs"
[[test]]
name = "generate"
path = "tests/generate.rs"
[[test]]
name = "multi_spec"
path = "tests/multi_spec.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.serde_norway]
version = "0.9"
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.insta]
version = "1"
features = ["yaml"]