From: Manuel Federanko <m.federanko@proxmox.com>
To: pbs-devel@lists.proxmox.com, pdm-devel@lists.proxmox.com
Subject: [PATCH proxmox{,-backup,-datacenter-manager} 0/7] acme: fix #6372 implement basic ARI support
Date: Thu, 25 Jun 2026 16:13:30 +0200 [thread overview]
Message-ID: <20260625141337.181684-1-m.federanko@proxmox.com> (raw)
This series implements basic ACME ARI [0] support for Proxmox Backup
Server and Proxmox Datacenter Manager. Currently both projects renew
once a fixed time has passed:
* Proxmox Backup Manager already considers the life-time of a
certificate and starts renewal attemps based on that [1]
* Proxmox Datacenter Manager still assumes that a certificate should
start to be renewed 30 days before it is invalid.
This series changes the behavior to first attempt to get a time renewal
window from the server, and if that fails to fall back to the life-time
based lead percentages. Importantly it also moves the check for the
remaining life-time into the worker.
## Testing
The pebble acme server [2] is easy to set up and intended to be used
to develop clients against it. Changing the date of the system and the
system hosting pebble and then manually triggering a update check is a
easy way to test the behavior.
## Further worker
We currently only check the certificate with the daily update services.
It would be desirable to have a second service for ARI checks which runs
more often.
There also is currently no handling of Retry-After headers, which are
use by the ACME server to indicate when we should check for a new
renewal window again.
Proxmox Backup Server uses a very similar struct for Certificate
Information "CertInfo" which could be replaced by the one provided by
the proxmox-acme-api crate "CertificateInfo".
[0] https://datatracker.ietf.org/doc/rfc9773/
[1] https://lore.proxmox.com/pbs-devel/20260423134607.105229-2-m.federanko@proxmox.com/
[2] https://github.com/letsencrypt/pebble
proxmox:
Manuel Federanko (4):
acme: client: add methods to fetch renewal information.
acme: add retry-after header to renewal information.
acme: allow specifying the certificate that is replaced by an order
acme: cert: add dedicated ari_id field to the certificate info.
proxmox-acme-api/src/certificate_helpers.rs | 60 ++++++++++++++++++-
proxmox-acme-api/src/lib.rs | 5 +-
proxmox-acme-api/src/types.rs | 4 ++
proxmox-acme/src/async_client.rs | 66 +++++++++++++++++++--
proxmox-acme/src/directory.rs | 8 +++
proxmox-acme/src/lib.rs | 3 +
proxmox-acme/src/order.rs | 13 ++++
proxmox-acme/src/renewal.rs | 36 +++++++++++
8 files changed, 187 insertions(+), 8 deletions(-)
create mode 100644 proxmox-acme/src/renewal.rs
proxmox-backup:
Manuel Federanko (2):
acme: add ari_id to cert info.
acme: implement ARI renewal information fetching.
pbs-tools/Cargo.toml | 1 +
pbs-tools/src/cert.rs | 4 +
src/api2/node/certificates.rs | 106 +++++++++++++++++++------
src/bin/proxmox-daily-update.rs | 6 --
src/bin/proxmox_backup_manager/acme.rs | 8 --
5 files changed, 86 insertions(+), 39 deletions(-)
proxmox-datacenter-manager:
Manuel Federanko (1):
acme: certificates: fix #6372 use ARI for renewal if available.
cli/admin/src/acme.rs | 7 -
server/src/api/nodes/certificates.rs | 129 +++++++++++++++---
...proxmox-datacenter-manager-daily-update.rs | 5 -
3 files changed, 113 insertions(+), 28 deletions(-)
Summary over all repositories:
16 files changed, 386 insertions(+), 75 deletions(-)
--
Generated by murpp 0.12.0
next reply other threads:[~2026-06-25 14:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-25 14:13 Manuel Federanko [this message]
2026-06-25 14:13 ` [PATCH proxmox 1/7] acme: client: add methods to fetch renewal information Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox 2/7] acme: add retry-after header to " Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox 3/7] acme: allow specifying the certificate that is replaced by an order Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox 4/7] acme: cert: add dedicated ari_id field to the certificate info Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox-backup 5/7] acme: add ari_id to cert info Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox-backup 6/7] acme: fix #6372 implement ARI renewal information fetching Manuel Federanko
2026-06-25 14:13 ` [PATCH proxmox-datacenter-manager 7/7] acme: fix #6372 use ARI for renewal if available Manuel Federanko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260625141337.181684-1-m.federanko@proxmox.com \
--to=m.federanko@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.