ACME support for DigitalOcean (closes #1667)
This commit is contained in:
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -2051,9 +2051,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dns-update"
|
||||
version = "0.1.2"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "14b0a9ca156a0285b2768b7fcb368b231e7736d3c13eef604c5c4203057bed33"
|
||||
checksum = "12c278a5523000f9ccab46e4ef779a4354129f762884b36fb1b1b5ed58830d20"
|
||||
dependencies = [
|
||||
"hickory-client",
|
||||
"reqwest 0.12.15",
|
||||
|
||||
@@ -19,7 +19,7 @@ mail-builder = { version = "0.4" }
|
||||
mail-auth = { version = "0.7.1" }
|
||||
mail-send = { version = "0.5", default-features = false, features = ["cram-md5", "ring", "tls12"] }
|
||||
smtp-proto = { version = "0.1", features = ["rkyv"] }
|
||||
dns-update = { version = "0.1" }
|
||||
dns-update = { version = "0.1.3" }
|
||||
calcard = { version = "0.1.3", features = ["rkyv"] }
|
||||
ahash = { version = "0.8.2", features = ["serde"] }
|
||||
parking_lot = "0.12.1"
|
||||
|
||||
@@ -252,6 +252,26 @@ fn build_dns_updater(config: &mut Config, acme_id: &str) -> Option<DnsUpdater> {
|
||||
})
|
||||
.ok()
|
||||
}
|
||||
"digitalocean" => {
|
||||
let timeout = config
|
||||
.property_or_default(("acme", acme_id, "timeout"), "30s")
|
||||
.unwrap_or_else(|| Duration::from_secs(30));
|
||||
|
||||
DnsUpdater::new_digitalocean(
|
||||
config
|
||||
.value_require(("acme", acme_id, "secret"))?
|
||||
.trim()
|
||||
.to_string(),
|
||||
timeout.into(),
|
||||
)
|
||||
.map_err(|err| {
|
||||
config.new_build_error(
|
||||
("acme", acme_id, "provider"),
|
||||
format!("Failed to create DigitalOcean DNS updater: {err}"),
|
||||
)
|
||||
})
|
||||
.ok()
|
||||
}
|
||||
_ => {
|
||||
config.new_parse_error(("acme", acme_id, "provider"), "Unsupported provider");
|
||||
None
|
||||
|
||||
Reference in New Issue
Block a user