No description
  • Rust 99.3%
  • Makefile 0.4%
  • SCSS 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Thomas Ellmenreich e1cd6869fb fix #7135: openid auth: improve error logging
Improve logging when getting the authorization URL fails. Previously,
the details of the error were completly swallowed, making it difficult
to diagnose problems connecting to the OpenID Connect Server.

The new log statement prints out the produced error with all of the
contexts provided to `anyhow`, instead of just the one on top of the
stack. Doing so should make OpenID connection errors easier to debug.

Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=7135
Signed-off-by: Thomas Ellmenreich <t.ellmenreich@proxmox.com>
Reviewed-by: Nicolas Frey <n.frey@proxmox.com>
Link: https://lore.proxmox.com/20260821102147.220586-1-t.ellmenreich@proxmox.com
2026-08-21 13:21:57 +02:00
.cargo move .cargo/config to .cargo/config.toml 2024-06-20 12:30:41 +02:00
cli cli: expose certificate management endpoints via the cli 2026-08-06 15:15:51 +02:00
debian d/control: depend on tools used by the system report 2026-08-20 14:30:58 +02:00
dev-docs move developer-facing documentation to top-level 'dev-docs' dir 2026-03-25 17:54:22 +01:00
docs docs: fix visited link contrast in dark mode 2026-07-14 17:25:31 +02:00
lib server: api: access: add endpoints for configuring pdm and pam realms 2026-07-02 11:29:08 +02:00
server fix #7135: openid auth: improve error logging 2026-08-21 13:21:57 +02:00
services move service files from /lib to /usr/lib 2025-07-01 11:31:55 +02:00
ui tree-wide: run cargo fmt 2026-08-07 08:38:30 +02:00
.buildbot.yml add buildbot.yml to declare extra control file for UI package 2026-01-14 20:29:58 +01:00
.gitignore gitignore: add more docs build artifcats and sort 2025-12-03 22:26:09 +01:00
.gitmodules cargo: switch pve-api-types from git submodule to debian package 2025-09-15 20:20:26 +02:00
Cargo.toml bump proxmox-installer-types to 0.2 2026-08-04 15:26:55 +02:00
defines.mk create initial documentation 2025-12-02 07:56:17 +01:00
LICENSE add explicit LICENSE file 2024-12-19 17:15:26 +01:00
Makefile make: fix-up upload target for UI package 2026-05-26 04:47:42 +02:00
README.md docs: adjust to trademark policies and fix a typo 2025-12-02 18:18:25 +01:00
rustfmt.toml tree-wide re-format source code with style edition 2024 2026-05-28 15:56:16 +02:00

Proxmox Datacenter Manager

A stand-alone API + GUI product with the following main features for multiple instances of Proxmox VE and Proxmox Backup Server in one central place.

Feature Overview

  • Connect & display an arbitrary amount of independent nodes or clusters ("Remotes")

  • View the status and load of all resources, which includes nodes, virtual guests, storages, datastores and so on. Proxmox Datacenter Manager provides a dashboard that tries to present information such that potential problematic outliers can be found easily.

  • Customizable dashboards ("views") showing a configurable subset of resources

  • Basic management of the guest resources

    • Resource graphs
    • Basic power management (start, reboot, shutdown)
  • Remote shell for Proxmox VE and Proxmox Backup Server remotes

  • Global overview over available system updates for managed remotes

  • Firewall overview for all managed remotes

  • Basic SDN overview for all managed remotes

  • Remote migration of virtual guests between different datacenters Advertising use of ZFS & Ceph backed replication for quicker transfer on actual migration

  • View configuration health state (subscription, APT repositories, pending updates, ...)

  • User management / access control

    • Users/API token
    • Support for LDAP and Active Directory
    • Support for OpenID Connect
    • Support for complex Two-Factor Authentication
  • ACME/Let's Encrypt

  • A non-exhaustive list of features planned for future releases is:

    • Management of more configuration (e.g. backup jobs, notification policies, package repos, HA)
    • Active-standby architecture for standby instances of PDM to avoid single point of failure.
    • Integration of other projects, like Proxmox Mail Gateway, and potentially also Proxmox Offline Mirror.
    • Off-site replication copies of guest for manual recovery on DC failure (not HA!)
    • ... to be determined from user feedback and feature requests.

Technology Overview

Backend

  • Implemented in the Rust programming language, reusing code from Proxmox Backup Server where possible
  • A for Proxmox projects standard dual-stack of API daemons. One as main API daemon running as unprivileged users and one privileged daemon running as root. Contrary to other projects the privileged daemon exclusively listens on a file based UNIX socket, thus restricting attack surface even further.
  • The backend listens on port 8443 (TLS only)
  • The code for the backend server is located in the server/ directory.

Frontend

  • The Web UI communicates with the backend server via a JSON-based REST API.
  • The UI is implemented in Rust, using Yew and the proxmox-yew-widget-toolkit. The Rust code is compiled to WebAssembly.
  • The code for the UI is located in the ui/ directory.

CLI tools

There are two CLI tools to manage Proxmox Datacenter Manager.

  • proxmox-datacenter-manager-client: client using the PDM API, can be used to control local or remote PDM instances
  • proxmox-datacenter-manager-admin: root-only, local administration tool

Their implementation can be found in cli/admin and cli/client, respectively.

Documentation

Documentation (user-facing as well as developer-facing) can be found in docs/.