[package]
name = "linkerd-policy-controller-runtime"
version = "0.1.0"
edition = "2021"

license = "Apache-2.0"
publish = false

[dependencies]
anyhow = "1"
async-trait = "0.1"
bytes = "1"
drain = "0.2"
futures = { version = "0.3", default-features = false }
http-body-util = "0.1"
hyper = { workspace = true, features = ["http1", "http2", "server"] }
hyper-util = { workspace = true }
ipnet = { version = "2", default-features = false }
k8s-openapi = { workspace = true }
openssl = { version = "0.10.73", optional = true }
parking_lot = "0.12"
prometheus-client = { workspace = true }
regex = "1"
serde = "1"
serde_json = "1"
thiserror = "2"
tokio-stream = { version = "0.1", features = ["sync"] }
tower = { workspace = true }
tracing = "0.1"

linkerd-policy-controller-core = { workspace = true }
linkerd-policy-controller-grpc = { workspace = true }
linkerd-policy-controller-k8s-api = { workspace = true }
linkerd-policy-controller-k8s-index = { workspace = true }
linkerd-policy-controller-k8s-status = { workspace = true }

[dependencies.clap]
version = "4"
default-features = false
features = ["derive", "env", "std"]

[dependencies.kube]
workspace = true
default-features = false
features = ["admission", "derive", "rustls-tls"]

[dependencies.kubert]
workspace = true
default-features = false
features = [
    "clap",
    "index",
    "lease",
    "prometheus-client",
    "runtime",
    "server",
    "rustls-tls"
]

[dependencies.tokio]
version = "1"
features = ["macros", "parking_lot", "rt", "rt-multi-thread", "signal"]

[dependencies.tonic]
workspace = true
default-features = false
features = ["transport", "router"]
