[package]
name = "koprs"
version = "0.9.8"
edition = "2024"
description = "A reusable, ergonomic library that streamlines Kubernetes operator development, allowing developers to build controllers with significantly less code."
license = "MIT"
repository = "https://github.com/bartvanbenthem/koprs"
readme = "README.md"
keywords = ["kubernetes", "operators", "controllers", "operator-sdk", "kube-rs"]
categories = ["api-bindings"]

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

[dependencies]
thiserror = "1"
chrono = { version = "0.4", features = ["clock"] }
futures = "0.3"
k8s-openapi = { version = "0.25.0", default-features = false, features = ["v1_33"] }
kube = { version = "1.1.0", default-features = true, features = ["derive", "runtime"] }
kube-runtime = "1.1.0"
serde = { version = "1.0", features = ["derive"] }
schemars = { workspace = true }
serde_json = "1.0"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "net", "io-util", "signal"] }
tracing = "0.1.36"
http-body-util = "0.1.3"
hyper = { version = "1", features = ["http1", "server"] }
hyper-util = { version = "0.1", features = ["tokio"] }
bytes = "1"
axum = { version = "0.8.9", default-features = false, features = ["http1", "tokio"] }
prometheus = { version = "0.14.0", default-features = false }

[dev-dependencies]
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "test-util"] }
tower-test = "0.4"
http       = "1"

[features]
integration = []
