I’m looking for a practical way to enforce tenant-level resource limits in Proxmox.
My current approach is to use Pools + RBAC to isolate tenant resources and delegate operations to a pool admin (create/delete VMs, start/stop, snapshots, backups, etc.) only within their own pool.
However, the obvious problem is that a pool admin can still consume as much CPU / RAM / disk as they want, which can impact other tenants.
What I’m trying to achieve is something like:
How do you manage tenant-level capacity in practice? For example:
Note: I’m not posting the full build steps here because it becomes quite long.
If anyone needs context on the exact setup, I documented the manual build process in my repo (I’m the author):
https://github.com/zelogx/proxmox-msl-setup-basic
The step-by-step instructions are in `build-instruction.md`.
Thanks in advance — this feels like a common multi-tenant pain point, so shared approaches would likely help others as well.
My current approach is to use Pools + RBAC to isolate tenant resources and delegate operations to a pool admin (create/delete VMs, start/stop, snapshots, backups, etc.) only within their own pool.
However, the obvious problem is that a pool admin can still consume as much CPU / RAM / disk as they want, which can impact other tenants.
What I’m trying to achieve is something like:
- Enforce hard limits per pool (CPU / RAM / disk), or
- Prevent VM creation (or require approval) once a pool exceeds its allocated capacity, or
- Hook into the event before a pool admin spins up VMs (e.g., a pre-create / pre-start guardrail) to enforce policy, or
- If Proxmox can’t do this natively, what’s the common “real-world” way people handle this?
How do you manage tenant-level capacity in practice? For example:
- separate clusters per tenant,
- external guardrails (API / IaC) that check quotas before creating VMs,
- monitoring + policy / chargeback,
- any other proven pattern.
Note: I’m not posting the full build steps here because it becomes quite long.
If anyone needs context on the exact setup, I documented the manual build process in my repo (I’m the author):
https://github.com/zelogx/proxmox-msl-setup-basic
The step-by-step instructions are in `build-instruction.md`.
Thanks in advance — this feels like a common multi-tenant pain point, so shared approaches would likely help others as well.