Got an idea? Nice! π‘ We love hearing what features would make PegaProx better for you.
A friendly reminder: PegaProx is built by volunteers in our spare time. We can't promise timelines or guarantee every feature will be implemented β but every suggestion helps shape the roadmap!
Want to help move things faster?
Describe the feature
I am sharing an early community preview of PegaProx Storage Assistant:
This is not a marketplace submission yet. I am publishing the architecture early to identify integration pitfalls before implementing remote storage operations.
The plugin deliberately separates two storage workflows:
- PVE / NFS β cluster-wide technical content only:
iso, vztmpl, snippets and import. VM disks and backups are explicitly excluded.
- PBS / iSCSI β one dedicated LUN assigned to one PBS, intended to be formatted with XFS/ext4 and registered as a PBS datastore.
The design is NAS-vendor-neutral and supports definitions for multiple NAS devices and network locations. It is not intended to duplicate vendor-specific storage lifecycle plugins such as the NetApp ONTAP integration described in #443.
Version 0.1.1 is definition-only:
- remote execution is hard-disabled;
- the plugin does not discover, connect, mount, format or register storage;
- NFS paths, iSCSI identities and ownership collisions are validated;
- one-LUN/one-PBS ownership is enforced in the registry;
- credentials and CHAP secrets are not stored;
- definition changes use PegaProx RBAC checks and audit logging;
- English and Polish catalogs are included;
- Modern, Corporate Dark/Light and Cloud Dark/Light layouts were verified;
- 29 automated tests pass in CI.
The plugin has been tested with PegaProx 1.0.2 using the official Docker deployment model.
Before implementing discovery and execution, I would appreciate guidance on the preferred PegaProx integration points:
- How should a plugin reuse PegaProx-managed PVE and PBS connections without copying credentials into plugin files?
- Is there a canonical background-task API for progress reporting, cancellation and post-operation status?
- Which RBAC permissions and audit interfaces should plugin-initiated host operations use?
- What is the preferred way to resolve and target one PVE node, an entire PVE cluster or one PBS instance?
- Is there a supported navigation/context model for a global plugin that also performs PBS-oriented operations?
- Are any relevant plugin APIs or conventions expected to change soon?
The planned execution model is explicit plan β apply β verify β rollback, with typed confirmation before formatting or signature removal and stable device matching by verified IQN, LUN and WWID rather than /dev/sdX.
Any warning about architectural dead ends at this stage would be especially valuable and could prevent significant rework later. There is no expectation of immediate review or marketplace inclusion.
Use Case
PVE clusters often need shared technical storage for ISO images, container templates, snippets and imports without filling local filesystems on individual hosts. NFS is appropriate here because the same technical resource can be available across the cluster.
PBS has a different storage model. A dedicated iSCSI LUN should have one unambiguous owner, be presented only to the selected PBS instance, use a verified filesystem and then be registered as a PBS datastore for VM backups.
The plugin is intended to guide administrators through these distinct workflows while preventing accidental role mixing, duplicate LUN ownership, unsafe device selection and premature destructive operations.
The main architectural requirement is to reuse connection and authorization mechanisms already managed by PegaProx rather than introducing another credential store inside the plugin.
Alternatives considered
- Manual configuration on NAS, PVE and PBS β works, but provides no shared validation, ownership registry, safety review or consistent audit trail.
- Custom SSH scripts β flexible, but difficult to integrate safely with PegaProx RBAC, background tasks, cancellation and auditing.
- Storing separate credentials in plugin configuration β rejected because it duplicates sensitive data and creates an unnecessary security boundary.
- Using iSCSI directly as general PVE storage β rejected for this project because the PVE workflow is intentionally limited to cluster-wide technical NFS content.
- Using one shared iSCSI LUN on multiple PBS/PVE systems β rejected because it creates ambiguous ownership and filesystem-corruption risk.
- Vendor-specific storage plugins β useful for storage lifecycle management, but they do not replace this NAS-vendor-neutral PVE/PBS consumption and safety workflow.
How important is this for you?
Would significantly improve my workflow and prevent architectural rework.
The current definition-only preview already covers validation and persistence. Guidance from the PegaProx maintainers before implementing discovery, background jobs and remote execution would help ensure that the next milestones use supported APIs and conventions.
This is not blocking my current use of PegaProx, and I am not requesting a delivery timeline from the core team.
Checklist
Describe the feature
I am sharing an early community preview of PegaProx Storage Assistant:
This is not a marketplace submission yet. I am publishing the architecture early to identify integration pitfalls before implementing remote storage operations.
The plugin deliberately separates two storage workflows:
iso,vztmpl,snippetsandimport. VM disks and backups are explicitly excluded.The design is NAS-vendor-neutral and supports definitions for multiple NAS devices and network locations. It is not intended to duplicate vendor-specific storage lifecycle plugins such as the NetApp ONTAP integration described in #443.
Version 0.1.1 is definition-only:
The plugin has been tested with PegaProx 1.0.2 using the official Docker deployment model.
Before implementing discovery and execution, I would appreciate guidance on the preferred PegaProx integration points:
The planned execution model is explicit
plan β apply β verify β rollback, with typed confirmation before formatting or signature removal and stable device matching by verified IQN, LUN and WWID rather than/dev/sdX.Any warning about architectural dead ends at this stage would be especially valuable and could prevent significant rework later. There is no expectation of immediate review or marketplace inclusion.
Use Case
PVE clusters often need shared technical storage for ISO images, container templates, snippets and imports without filling local filesystems on individual hosts. NFS is appropriate here because the same technical resource can be available across the cluster.
PBS has a different storage model. A dedicated iSCSI LUN should have one unambiguous owner, be presented only to the selected PBS instance, use a verified filesystem and then be registered as a PBS datastore for VM backups.
The plugin is intended to guide administrators through these distinct workflows while preventing accidental role mixing, duplicate LUN ownership, unsafe device selection and premature destructive operations.
The main architectural requirement is to reuse connection and authorization mechanisms already managed by PegaProx rather than introducing another credential store inside the plugin.
Alternatives considered
How important is this for you?
Would significantly improve my workflow and prevent architectural rework.
The current definition-only preview already covers validation and persistence. Guidance from the PegaProx maintainers before implementing discovery, background jobs and remote execution would help ensure that the next milestones use supported APIs and conventions.
This is not blocking my current use of PegaProx, and I am not requesting a delivery timeline from the core team.
Checklist