From: Chiranth J S <Chiranth.JS@datacore.com>
To: "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>
Cc: Vikash Ray <Vikash.Ray@datacore.com>,
Prajwal Shetty <prajwal.shetty@datacore.com>
Subject: Supported way to extend the PVE web UI for a third-party package?
Date: Mon, 13 Jul 2026 10:26:16 +0000 [thread overview]
Message-ID: <CH3PR11MB849513C3D52AC9211EA54B828AFA2@CH3PR11MB8495.namprd11.prod.outlook.com> (raw)
Hello,
I work at DataCore SANsymphony team. We ship a SANsymphony storage backend for PVE on the supported PVE::Storage::Plugin contract, presenting vDisks over iSCSI. That side has worked well and is in production with customers.
We also have a prototype that adds a native-feeling UI on top of it (a tab with vDisk aliases, snapshot/rollback, resize and performance). Since we couldn't find an official UI-extension hook, it currently works by patching two pve-manager files at install time — adding a <script> tag to index.html.tpl and a register_method for a /nodes/<node>/datacore/... route in PVE/API2/Nodes.pm — with a dpkg trigger to re-apply after upgrades.
We understand the long-standing guidance that features should be added "directly, no plugin," and we're weighing whether to productize this. Before we decide, two questions:
1.
Is there any supported or planned mechanism to extend the PVE web UI (add a view/tab) or register a nodes/<node>/... API2 route from a third-party package — anything analogous to the storage plugin contract, but for the frontend?
2.
If not, is in-place patching of index.html.tpl / Nodes.pm considered an acceptable approach (several community projects do this), or does it put a node in an unsupported state from your perspective? Is there a pattern you'd recommend instead?
A clear "there's no supported hook, don't patch core files" is just as useful to us as a yes.
Thanks for your time, and for the storage plugin API.
Best regards,
Chiranth JS
next reply other threads:[~2026-07-13 11:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 10:26 Chiranth J S [this message]
2026-07-13 13:01 ` Supported way to extend the PVE web UI for a third-party package? Dominik Csapak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CH3PR11MB849513C3D52AC9211EA54B828AFA2@CH3PR11MB8495.namprd11.prod.outlook.com \
--to=chiranth.js@datacore.com \
--cc=Vikash.Ray@datacore.com \
--cc=prajwal.shetty@datacore.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox