From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 33F041FF137 for ; Tue, 31 Mar 2026 09:10:30 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 22DCD105B8; Tue, 31 Mar 2026 09:10:56 +0200 (CEST) From: Kefu Chai To: pve-devel@lists.proxmox.com Subject: [PATCH v2 proxmox-acme 1/3] update acme.sh DNS API to upstream 3.1.2 tag Date: Tue, 31 Mar 2026 15:10:39 +0800 Message-ID: <20260331071041.1199091-2-k.chai@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260331071041.1199091-1-k.chai@proxmox.com> References: <20260331071041.1199091-1-k.chai@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1774940996266 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.398 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: UYFUAPDUEQVNOOLZYGFJXP5S4MW634HR X-Message-ID-Hash: UYFUAPDUEQVNOOLZYGFJXP5S4MW634HR X-MailFrom: k.chai@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: And update schema with new plugins and API changes. This includes various fixes and improvements for existing plugins. Fixes the following bugs: - fix #7120: OVH DNS plugin now properly deletes TXT records - fix #7028: Add Hetzner Cloud DNS plugin support New plugins added: - hetznercloud: Hetzner Cloud DNS API - openprovider_rest: OpenProvider REST API - spaceship: Spaceship DNS API The active24 provider was updated to use the new v2 API, as the old v1 API has been deprecated by Active24. Users need to re-configure with Active24_ApiKey and Active24_ApiSecret instead of ACTIVE24_Token. New credentials can be obtained from the Active24 admin panel. Signed-off-by: Kefu Chai --- src/Makefile | 3 ++ src/acme.sh | 2 +- src/dns-challenge-schema.json | 66 +++++++++++++++++++++++++++++++++-- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index 9ee97c9..c948207 100644 --- a/src/Makefile +++ b/src/Makefile @@ -66,6 +66,7 @@ ACME_SOURCES = \ dnsapi/dns_he.sh \ dnsapi/dns_he_ddns.sh \ dnsapi/dns_hetzner.sh \ + dnsapi/dns_hetznercloud.sh \ dnsapi/dns_hexonet.sh \ dnsapi/dns_hostingde.sh \ dnsapi/dns_huaweicloud.sh \ @@ -120,6 +121,7 @@ ACME_SOURCES = \ dnsapi/dns_one.sh \ dnsapi/dns_online.sh \ dnsapi/dns_openprovider.sh \ + dnsapi/dns_openprovider_rest.sh \ dnsapi/dns_openstack.sh \ dnsapi/dns_opnsense.sh \ dnsapi/dns_ovh.sh \ @@ -138,6 +140,7 @@ ACME_SOURCES = \ dnsapi/dns_selfhost.sh \ dnsapi/dns_servercow.sh \ dnsapi/dns_simply.sh \ + dnsapi/dns_spaceship.sh \ dnsapi/dns_technitium.sh \ dnsapi/dns_tele3.sh \ dnsapi/dns_tencent.sh \ diff --git a/src/acme.sh b/src/acme.sh index 676d766..40290ad 160000 --- a/src/acme.sh +++ b/src/acme.sh @@ -1 +1 @@ -Subproject commit 676d76696b616c0e013ad8a9be1aedd01e4e0204 +Subproject commit 40290ad42a37aba57eb246e507c11944a52c0f68 diff --git a/src/dns-challenge-schema.json b/src/dns-challenge-schema.json index 8669c86..b7ee5a3 100644 --- a/src/dns-challenge-schema.json +++ b/src/dns-challenge-schema.json @@ -24,8 +24,12 @@ "acmeproxy": {}, "active24": { "fields": { - "ACTIVE24_Token": { - "description": "The API key", + "Active24_ApiKey": { + "description": "API Key (called 'Identifier' in Active24 Admin)", + "type": "string" + }, + "Active24_ApiSecret": { + "description": "API Secret (called 'Secret key' in Active24 Admin)", "type": "string" } }, @@ -187,6 +191,33 @@ "he": {}, "he_ddns": {}, "hetzner": {}, + "hetznercloud": { + "fields": { + "HETZNER_API": { + "default": "https://api.hetzner.cloud/v1", + "description": "Override API endpoint (default: https://api.hetzner.cloud/v1)", + "optional": 1, + "type": "string" + }, + "HETZNER_MAX_ATTEMPTS": { + "default": 120, + "description": "Number of 1s polls to wait for async actions (default: 120)", + "optional": 1, + "type": "integer" + }, + "HETZNER_TOKEN": { + "description": "API token for the Hetzner Cloud DNS API", + "type": "string" + }, + "HETZNER_TTL": { + "default": 120, + "description": "Custom TTL for new TXT records (default: 120)", + "optional": 1, + "type": "integer" + } + }, + "name": "Hetzner Cloud DNS" + }, "hexonet": {}, "hostingde": {}, "huaweicloud": {}, @@ -298,6 +329,19 @@ "one": {}, "online": {}, "openprovider": {}, + "openprovider_rest": { + "fields": { + "OPENPROVIDER_REST_PASSWORD": { + "description": "OpenProvider Account Password", + "type": "string" + }, + "OPENPROVIDER_REST_USERNAME": { + "description": "OpenProvider Account Username", + "type": "string" + } + }, + "name": "OpenProvider (REST API)" + }, "openstack": {}, "opnsense": {}, "ovh": { @@ -368,6 +412,24 @@ "selfhost": {}, "servercow": {}, "simply": {}, + "spaceship": { + "fields": { + "SPACESHIP_API_KEY": { + "description": "Spaceship API Key", + "type": "string" + }, + "SPACESHIP_API_SECRET": { + "description": "Spaceship API Secret", + "type": "string" + }, + "SPACESHIP_ROOT_DOMAIN": { + "description": "Root domain (optional, for manual override if auto-detection fails)", + "optional": 1, + "type": "string" + } + }, + "name": "Spaceship" + }, "technitium": {}, "tele3": {}, "tencent": {}, -- 2.47.3