[package]
edition = "2024"
name = "zone-update"
version = "0.12.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library of CRUD-like operations on DNS zones for multiple providers"
readme = "README.md"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/tarka/zone-update"
[features]
all-providers = [
"bunny",
"cloudflare",
"desec",
"digitalocean",
"dnsimple",
"dnsmadeeasy",
"gandi",
"linode",
"porkbun",
]
async = ["dep:blocking"]
bunny = []
cloudflare = []
default = ["all-providers"]
desec = []
digitalocean = []
dnsimple = []
dnsmadeeasy = [
"dep:hmac",
"dep:sha1",
"dep:hex",
]
gandi = []
linode = []
porkbun = []
test_bunny = ["bunny"]
test_cloudflare = ["cloudflare"]
test_compio = [
"async",
"dep:compio",
]
test_desec = ["desec"]
test_digitalocean = ["digitalocean"]
test_dnsimple = ["dnsimple"]
test_dnsmadeeasy = ["dnsmadeeasy"]
test_gandi = ["gandi"]
test_glommio = [
"async",
"dep:glommio",
]
test_linode = ["linode"]
test_monoio = [
"async",
"dep:monoio",
]
test_offline = []
test_porkbun = ["porkbun"]
test_smol = ["async"]
test_tokio = ["async"]
[lib]
name = "zone_update"
path = "src/lib.rs"
[[example]]
name = "acme-dns01-async"
path = "examples/acme-dns01-async.rs"
required-features = ["async"]
[[example]]
name = "provider-from-config"
path = "examples/provider-from-config.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "dyntests"
path = "tests/dyntests.rs"
[dependencies.async-trait]
version = "0.1.92"
[dependencies.blocking]
version = "1.6.2"
features = ["tracing"]
optional = true
[dependencies.cfg-if]
version = "1.0.4"
[dependencies.chrono]
version = "0.4.45"
features = [
"now",
"serde",
]
default-features = false
[dependencies.compio]
version = "0.19.1"
features = ["macros"]
optional = true
[dependencies.glommio]
version = "0.9.0"
optional = true
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.hmac]
version = "0.13.0"
optional = true
[dependencies.monoio]
version = "0.2.4"
features = ["sync"]
optional = true
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.sha1]
version = "0.11.0"
optional = true
[dependencies.thiserror]
version = "2.0.20"
[dependencies.tracing]
version = "0.1.44"
[dependencies.ureq]
version = "3.4.0"
features = [
"rustls",
"gzip",
"brotli",
]
default-features = false
[dev-dependencies.anyhow]
version = "1.0.104"
[dev-dependencies.cfg-if]
version = "1.0.4"
[dev-dependencies.dnsclient]
version = "0.2.0"
[dev-dependencies.futures]
version = "0.3.34"
[dev-dependencies.futures-rustls]
version = "0.26.0"
features = ["aws-lc-rs"]
[dev-dependencies.hex]
version = "0.4.3"
[dev-dependencies.hyper-util]
version = "0.1.20"
features = ["tokio"]
[dev-dependencies.instant-acme]
version = "0.8.5"
[dev-dependencies.libcorn]
version = "0.10.1"
[dev-dependencies.macro_rules_attribute]
version = "0.2.3"
[dev-dependencies.random-string]
version = "1.1.0"
[dev-dependencies.serial_test]
version = "4.0.1"
[dev-dependencies.sha1]
version = "0.11.0"
[dev-dependencies.smol]
version = "2.0.2"
[dev-dependencies.smol-hyper]
version = "0.1.1"
[dev-dependencies.smol-macros]
version = "0.1.1"
[dev-dependencies.test-log]
version = "0.2.21"
features = ["trace"]
[dev-dependencies.tokio]
version = "1.53.1"
features = [
"rt",
"test-util",
"net",
"full",
]
[dev-dependencies.tokio-rustls]
version = "0.26.4"
[dev-dependencies.toml]
version = "1.1.4"
[dev-dependencies.tracing]
version = "0.1.44"
[dev-dependencies.tracing-subscriber]
version = "0.3.23"
[dev-dependencies.tracing-test]
version = "0.2.6"