[package]
name = "external-dns-sdk"
repository = "https://github.com/kubi-zone/external-dns-sdk"
description = "Types and utilities for interacting with the External-DNS Webhook API both as server and client."
keywords = ["external-dns", "webhook", "api"]
version = "0.7.1"
edition = "2021"
license = "MIT"

[dependencies]
tracing = "0.1"
reqwest = { version = "0.12.5", features = [
    "rustls-tls",
    "json",
], default-features = false, optional = true }
url = { version = "2.5.2", optional = true }

axum = { version = "0.7.5", features = ["json"], optional = true }
tokio = { version = "1.38.0", features = ["signal"], optional = true }

kubizone-common = { version = "0.14.5" }
serde_json = { version = "1.0.117" }
serde = { version = "1.0.203", features = ["derive"] }
thiserror = "1.0.61"
async-trait = "0.1.80"

[features]
default = ["client", "provider"]
client = ["dep:reqwest", "dep:url"]
provider = ["dep:axum", "dep:tokio"]

[dev-dependencies]
tracing-subscriber = "0.3.18"
tokio = { version = "1.38.0", features = ["macros", "rt-multi-thread"] }