Proxmox Datacenter Manager 0.9 Beta released!

Cool release and new features!

Does PDM has a API itself or does it only communicate with the PVE API?
 
I tried finding it like the one PVE has, but i was not able to find it yet. Any idea? Thanks for the reply by the way!
There is no API viewer widget available yet, I'm afraid (but its planned).

But as the source code is structured such that it matches the REST API quite well, checking that out should give you an overview, as stop gap:

e.g. https://git.proxmox.com/?p=proxmox-...b;hb=c9d766a55dc48be48951738a00b41a11696996cb

or on GH https://github.com/proxmox/proxmox-datacenter-manager/tree/master/server/src/api
 
  • Like
Reactions: Imtek
install went smoothly. adding my independent hosts went also well. unfortunately i get an error 400 on every refresh when i select a detail-view of a remote host. The error does not occur when i am in dashboard view.
Interesting is, that i receive all details quite a second later.
 

Attachments

  • Bildschirmfoto vom 2025-09-14 08-30-36.png
    Bildschirmfoto vom 2025-09-14 08-30-36.png
    9.8 KB · Views: 22
  • Bildschirmfoto vom 2025-09-14 08-30-53.png
    Bildschirmfoto vom 2025-09-14 08-30-53.png
    20 KB · Views: 21
  • Bildschirmfoto vom 2025-09-14 17-35-22.png
    Bildschirmfoto vom 2025-09-14 17-35-22.png
    61.8 KB · Views: 21
Are the any "Testing guides" aka things we can perform and either send logs or describe outcomes as feedback?
 
Looks like the auth API changed a bit and I dont receive a ticket anymore but instead an empty "ticket-info".


Do you have some curl examples on how to authenticate on the 0.9 beta version?

Here is the output of the POST to /api2/json/access/ticket when using username/passsword to authenticate. Does the same with root user.

{ "CSRFPreventionToken": "68D0B2C1:2aVIv....", "ticket-info": "PDM:readonly@pdm:68D0B2C1::ticketinfo", "username": "readonly@pdm"}

I can't use the empty ticket to authenticate and ask for a resources list for example, getting following error.

authentication failed - ticket with bad signature: error decoding base64 data

Was working fine on 0.0.11 Alpha using the root user.
 
Looks like the auth API changed a bit and I dont receive a ticket anymore but instead an empty "ticket-info".


Do you have some curl examples on how to authenticate on the 0.9 beta version?

Here is the output of the POST to /api2/json/access/ticket when using username/passsword to authenticate. Does the same with root user.

{ "CSRFPreventionToken": "68D0B2C1:2aVIv....", "ticket-info": "PDM:readonly@pdm:68D0B2C1::ticketinfo", "username": "readonly@pdm"}

I can't use the empty ticket to authenticate and ask for a resources list for example, getting following error.

authentication failed - ticket with bad signature: error decoding base64 data

Was working fine on 0.0.11 Alpha using the root user.
Looks like it started with 0.1.12.
 
Looks like the auth API changed a bit and I dont receive a ticket anymore but instead an empty "ticket-info".


Do you have some curl examples on how to authenticate on the 0.9 beta version?

Here is the output of the POST to /api2/json/access/ticket when using username/passsword to authenticate. Does the same with root user.

{ "CSRFPreventionToken": "68D0B2C1:2aVIv....", "ticket-info": "PDM:readonly@pdm:68D0B2C1::ticketinfo", "username": "readonly@pdm"}

I can't use the empty ticket to authenticate and ask for a resources list for example, getting following error.

authentication failed - ticket with bad signature: error decoding base64 data

Was working fine on 0.0.11 Alpha using the root user.
Yes, see the relevant issue on our BZ and my reply explain why this is:

Yes, it's required for HTTP-only cookies, where the code from the site itself (JS or WASM) cannot access the cookie value anymore, thus makes it safer as it e.g. provides a protection from a hypothetical cross-site scripting issue allowing another user to steal and misuse one's ticket.

We rolled that out for PBS 4 and for the PDM beta, other projects will likely also switch to this on a future release (PVE quite definitively not before the next major release though).

We plan to introduce API tokens soonish, similar to what PVE and PBS already have, and those should then be preferred over using tickets for any headless/automated/.. API access.
-- https://bugzilla.proxmox.com/show_bug.cgi?id=6837

You can still parse out the actual ticket from the Set-Cookie header from the response of the ticket API call until API tokens are available for the PDM.
 
Last edited:
Nice!!!
How should I test and generate translation files for PDM (like catalog-zh-CN. mo)? I know PVE can use (./po2js. pl - t pve xx. po>pve lang xx. js) to generate translation files.
 
Last edited:
Nice!!!
How should I test and generate translation files for PDM (like catalog-zh-CN. mo)? I know PVE can use (./po2js. pl - t pve xx. po>pve lang xx. js) to generate translation files.
You need the xtr tool for the mo based files, it's packaged in our devel repository, for the latter see:
https://pve.proxmox.com/wiki/Developer_Documentation#For_Proxmox_VE_9.x_based_on_Debian_13_Trixie

The Makefile in the proxmox-i18n repo includes also the building of the mo files, if you want to check how xtr is called.
 
install went smoothly. adding my independent hosts went also well. unfortunately i get an error 400 on every refresh when i select a detail-view of a remote host. The error does not occur when i am in dashboard view.
Interesting is, that i receive all details quite a second later.
I am getting the same error, Seems random to me.