[pbs-devel] [PATCH proxmox v4 1/4] acme-api: add helper to load client for an account

Samuel Rufinatscha s.rufinatscha at proxmox.com
Wed Dec 10 11:08:35 CET 2025


On 12/9/25 5:51 PM, Max R. Carrara wrote:
> On Wed Dec 3, 2025 at 11:22 AM CET, Samuel Rufinatscha wrote:
>> The PBS ACME refactoring needs a simple way to obtain an AcmeClient for
>> a given configured account without duplicating config wiring. This patch
>> adds a load_client_with_account helper in proxmox-acme-api that loads
>> the account and constructs a matching client, similarly as PBS previous
>> own AcmeClient::load() function.
> 
> Hmm, you say *needs* here, but the function added here isn't actually
> used in this series ...
> 
> I personally don't mind keeping this one around for future cases, but
> are there any cases among this series (in PBS or otherwise) where we
> could've used this function instead already?
> 
> If not, then it's probably not worth keeping it around. I assume you
> added it for good reason though, so I suggest to double-check where it's
> useful ;)
>

Good point about this function! :)

It was originally introduced to support the minimal client-swap
refactor:

[PATCH proxmox-backup v4 2/4] acme: drop local AcmeClient.

Some of its usages could be removed as part of the API implementation
changes in:

[PATCH proxmox-backup v4 3/4] acme: change API impls to use
proxmox-acme-api handlers.

However, it is still required for NodeConfig::acme_client() currently.

>>
>> Signed-off-by: Samuel Rufinatscha <s.rufinatscha at proxmox.com>
>> ---
>>   proxmox-acme-api/src/account_api_impl.rs | 5 +++++
>>   proxmox-acme-api/src/lib.rs              | 3 ++-
>>   2 files changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/proxmox-acme-api/src/account_api_impl.rs b/proxmox-acme-api/src/account_api_impl.rs
>> index ef195908..ca8c8655 100644
>> --- a/proxmox-acme-api/src/account_api_impl.rs
>> +++ b/proxmox-acme-api/src/account_api_impl.rs
>> @@ -116,3 +116,8 @@ pub async fn update_account(name: &AcmeAccountName, contact: Option<String>) ->
>>   
>>       Ok(())
>>   }
>> +
>> +pub async fn load_client_with_account(account_name: &AcmeAccountName) -> Result<AcmeClient, Error> {
>> +    let account_data = super::account_config::load_account_config(&account_name).await?;
>> +    Ok(account_data.client())
>> +}
>> diff --git a/proxmox-acme-api/src/lib.rs b/proxmox-acme-api/src/lib.rs
>> index 623e9e23..96f88ae2 100644
>> --- a/proxmox-acme-api/src/lib.rs
>> +++ b/proxmox-acme-api/src/lib.rs
>> @@ -31,7 +31,8 @@ mod plugin_config;
>>   mod account_api_impl;
>>   #[cfg(feature = "impl")]
>>   pub use account_api_impl::{
>> -    deactivate_account, get_account, get_tos, list_accounts, register_account, update_account,
>> +    deactivate_account, get_account, get_tos, list_accounts, load_client_with_account,
>> +    register_account, update_account,
>>   };
>>   
>>   #[cfg(feature = "impl")]
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 





More information about the pbs-devel mailing list