[GH-ISSUE #49] Single nodes question #8

Closed
opened 2026-02-26 18:43:10 +03:00 by kerem · 17 comments
Owner

Originally created by @tdtmusic2 on GitHub (Nov 21, 2025).
Original GitHub issue: https://github.com/devnullvoid/pvetui/issues/49

Originally assigned to: @devnullvoid on GitHub.

Hello. This is not an issue, rather a question or a feature request, if possible. Can your app have one conection profile with multiple SINGLE nodes? As in not a cluster? It would be so easy to have an overall look at all nodes without having to create a connection profile for each one, since they're not in clusters.

Thank you!

Originally created by @tdtmusic2 on GitHub (Nov 21, 2025). Original GitHub issue: https://github.com/devnullvoid/pvetui/issues/49 Originally assigned to: @devnullvoid on GitHub. Hello. This is not an issue, rather a question or a feature request, if possible. Can your app have one conection profile with multiple SINGLE nodes? As in not a cluster? It would be so easy to have an overall look at all nodes without having to create a connection profile for each one, since they're not in clusters. Thank you!
kerem 2026-02-26 18:43:10 +03:00
Author
Owner

@devnullvoid commented on GitHub (Nov 23, 2025):

Hey, thanks for the question/feature request. Implementing a "multi-node" profile would be a bit complex. We'd need to handle multiple API clients alive at the same time, merged inventories, error handling per node, etc.

Does Proxmox Datacenter Manager work for your use case? I imagine it does. It may be a useful for me to reference in implementing this feature.

<!-- gh-comment-id:3568219436 --> @devnullvoid commented on GitHub (Nov 23, 2025): Hey, thanks for the question/feature request. Implementing a "multi-node" profile would be a bit complex. We'd need to handle multiple API clients alive at the same time, merged inventories, error handling per node, etc. Does Proxmox Datacenter Manager work for your use case? I imagine it does. It may be a useful for me to reference in implementing this feature.
Author
Owner

@tdtmusic2 commented on GitHub (Nov 23, 2025):

Hey, thanks for the question/feature request. Implementing a "multi-node" profile would be a bit complex. We'd need to handle multiple API clients alive at the same time, merged inventories, error handling per node, etc.

Does Proxmox Datacenter Manager work for your use case? I imagine it does. It may be a useful for me to reference in implementing this feature.

Hello. Thank you for your answer. Yes, PDM works fine in my scenario, there are about 13 single nodes added in it and no issues yet. But I would love to use your terminal instead, with all the nodes into a single configuration. At first, from the screenshots, I thought that's how it works, I missed the Cluster label :)
As a separate question, does the terminal have some sort of "read-only" mode? Where you can just view nodes & guests info but you are not allowed to do any potential damage?

<!-- gh-comment-id:3568252662 --> @tdtmusic2 commented on GitHub (Nov 23, 2025): > Hey, thanks for the question/feature request. Implementing a "multi-node" profile would be a bit complex. We'd need to handle multiple API clients alive at the same time, merged inventories, error handling per node, etc. > > Does Proxmox Datacenter Manager work for your use case? I imagine it does. It may be a useful for me to reference in implementing this feature. Hello. Thank you for your answer. Yes, PDM works fine in my scenario, there are about 13 single nodes added in it and no issues yet. But I would love to use your terminal instead, with all the nodes into a single configuration. At first, from the screenshots, I thought that's how it works, I missed the Cluster label :) As a separate question, does the terminal have some sort of "read-only" mode? Where you can just view nodes & guests info but you are not allowed to do any potential damage?
Author
Owner

@devnullvoid commented on GitHub (Nov 23, 2025):

thanks for the details! For now, you can add multiple connection profiles and swap between as needed, but I will look into adding support for a multi-cluster/multi-node "overview" mode.

No "read-only" mode currently, but that is also a good idea. We should be able to use Proxmox's permissions/roles API to to do this -- enabling/disabling functionality depending on what permissions the user has.

<!-- gh-comment-id:3568447098 --> @devnullvoid commented on GitHub (Nov 23, 2025): thanks for the details! For now, you can add multiple connection profiles and swap between as needed, but I will look into adding support for a multi-cluster/multi-node "overview" mode. No "read-only" mode currently, but that is also a good idea. We should be able to use Proxmox's permissions/roles API to to do this -- enabling/disabling functionality depending on what permissions the user has.
Author
Owner

@ocafebabe commented on GitHub (Dec 1, 2025):

+1 for multiple single-node support.

<!-- gh-comment-id:3598460538 --> @ocafebabe commented on GitHub (Dec 1, 2025): +1 for multiple single-node support.
Author
Owner

@devnullvoid commented on GitHub (Dec 1, 2025):

Since the Proxmox API considers even a standalone node as a "cluster" I'm thinking I'll implement this by adding an aggregate field to the connection profile, which can be used to group them together. Then we will need an API client for each profile and state tracking/routing to each one.

I'm working on a full implementation plan. I'll also need to spin up some nested nodes for testing.

<!-- gh-comment-id:3598679467 --> @devnullvoid commented on GitHub (Dec 1, 2025): Since the Proxmox API considers even a standalone node as a "cluster" I'm thinking I'll implement this by adding an `aggregate` field to the connection profile, which can be used to group them together. Then we will need an API client for each profile and state tracking/routing to each one. I'm working on a full implementation plan. I'll also need to spin up some nested nodes for testing.
Author
Owner

@devnullvoid commented on GitHub (Dec 3, 2025):

@tdtmusic2 and @ocafebabe would you be willing to assist with testing this feature? I can have something ready for testing very soon.

<!-- gh-comment-id:3604986485 --> @devnullvoid commented on GitHub (Dec 3, 2025): @tdtmusic2 and @ocafebabe would you be willing to assist with testing this feature? I can have something ready for testing very soon.
Author
Owner

@tdtmusic2 commented on GitHub (Dec 3, 2025):

@tdtmusic2 and @ocafebabe would you be willing to assist with testing this feature? I can have something ready for testing very soon.

Sure, anytime. I can test on Windows and Alma 10 for now.

<!-- gh-comment-id:3605620154 --> @tdtmusic2 commented on GitHub (Dec 3, 2025): > [@tdtmusic2](https://github.com/tdtmusic2) and [@ocafebabe](https://github.com/ocafebabe) would you be willing to assist with testing this feature? I can have something ready for testing very soon. Sure, anytime. I can test on Windows and Alma 10 for now.
Author
Owner

@ocafebabe commented on GitHub (Dec 3, 2025):

@devnullvoid yes, of course. Very eager to test this!

<!-- gh-comment-id:3607511471 --> @ocafebabe commented on GitHub (Dec 3, 2025): @devnullvoid yes, of course. Very eager to test this!
Author
Owner

@devnullvoid commented on GitHub (Dec 3, 2025):

awesome! I've just pushed what I have so far to the develop branch. You can install with go install github.com/devnullvoid/pvetui/cmd/pvetui@develop

Then you should be able to add a group name in your config file to each profile you want to group together:

profiles:
    pve1:
        addr: https://192.168.99.201:8006
        user: root
        password: ""
        token_id: ""
        token_secret: ""
        realm: pam
        api_path: /api2/json
        insecure: true
        ssh_user: root
        vm_ssh_user: ""
        aggregate: test-group
    pve2:
        addr: https://192.168.99.202:8006
        user: root
        password: ""
        token_id: ""
        token_secret: ""
        realm: pam
        api_path: /api2/json
        insecure: true
        ssh_user: root
        vm_ssh_user: ""
        aggregate: test-group
<!-- gh-comment-id:3609217116 --> @devnullvoid commented on GitHub (Dec 3, 2025): awesome! I've just pushed what I have so far to the `develop` branch. You can install with `go install github.com/devnullvoid/pvetui/cmd/pvetui@develop` Then you should be able to add a group name in your config file to each profile you want to group together: ``` profiles: pve1: addr: https://192.168.99.201:8006 user: root password: "" token_id: "" token_secret: "" realm: pam api_path: /api2/json insecure: true ssh_user: root vm_ssh_user: "" aggregate: test-group pve2: addr: https://192.168.99.202:8006 user: root password: "" token_id: "" token_secret: "" realm: pam api_path: /api2/json insecure: true ssh_user: root vm_ssh_user: "" aggregate: test-group ```
Author
Owner

@ocafebabe commented on GitHub (Dec 4, 2025):

Hi,

I've tested the latest build, but I'm not sure the new behavior matches what was expected.

I'd prefer not to group my different PVE servers under a single “aggregate” name, as each belongs to its own group (or single-node cluster). My understanding was that the new version would allow us to select multiple clusters—whether they are single-node or multi-node.

Thanks!

<!-- gh-comment-id:3609551096 --> @ocafebabe commented on GitHub (Dec 4, 2025): Hi, I've tested the latest build, but I'm not sure the new behavior matches what was expected. I'd prefer not to group my different PVE servers under a single “aggregate” name, as each belongs to its own group (or single-node cluster). My understanding was that the new version would allow us to select multiple clusters—whether they are single-node or multi-node. Thanks!
Author
Owner

@devnullvoid commented on GitHub (Dec 4, 2025):

Hey, Thanks for the feedback. Can you help me understand so we're on the same page?

We currently have connection profiles that allow for connecting to either a single node or a single cluster at a time and switching between them. Incidentally, when a node is part of a cluster, the API combines all of their data so any single node's endpoint can be used to manage the entire cluster.

pvesh get /cluster/resources

If you run that on a standalone node or a clustered node, it returns all of the resources.

The new functionality allows for connecting to multiple nodes/clusters at a time to manage all of their assets at once.

Once that is working, I would add the ability to put each profile into multiple "aggregate" groups.

Ex:

Profile A - PVE Node A
Profile B - PVE Node B
Profile C - PVE Cluster 1 (PVE Nodes C, D, E)
Profile D - PVE Cluster 2 (PVE Nodes F, G, H)

Aggregate Profile A: A + C (A, C, D, E)
Aggregate Profile B: B + D (B, F, G, H)
Aggregate Profile C: A + B (A, B)
Aggregate Profile D: A + B + C (A, B, C, D, E)
etc...

<!-- gh-comment-id:3609709747 --> @devnullvoid commented on GitHub (Dec 4, 2025): Hey, Thanks for the feedback. Can you help me understand so we're on the same page? We currently have connection profiles that allow for connecting to either a single node or a single cluster at a time and switching between them. Incidentally, when a node is part of a cluster, the API combines all of their data so any single node's endpoint can be used to manage the entire cluster. `pvesh get /cluster/resources` If you run that on a standalone node or a clustered node, it returns all of the resources. The new functionality allows for connecting to multiple nodes/clusters at a time to manage all of their assets at once. Once that is working, I would add the ability to put each profile into multiple "aggregate" groups. Ex: Profile A - PVE Node A Profile B - PVE Node B Profile C - PVE Cluster 1 (PVE Nodes C, D, E) Profile D - PVE Cluster 2 (PVE Nodes F, G, H) Aggregate Profile A: A + C (A, C, D, E) Aggregate Profile B: B + D (B, F, G, H) Aggregate Profile C: A + B (A, B) Aggregate Profile D: A + B + C (A, B, C, D, E) etc...
Author
Owner

@ocafebabe commented on GitHub (Dec 4, 2025):

My bad — I expected the new version to include a “Cluster” selector for both single and multi-node setups.

Right now, I can press g then p and choose the connection profile I want (which corresponds to a single-node cluster).

Is this the intended new behaviour?

<!-- gh-comment-id:3609756242 --> @ocafebabe commented on GitHub (Dec 4, 2025): My bad — I expected the new version to include a “Cluster” selector for both single and multi-node setups. Right now, I can press **g** then **p** and choose the connection profile I want (which corresponds to a single-node cluster). Is this the intended new behaviour?
Author
Owner

@devnullvoid commented on GitHub (Dec 4, 2025):

this is what you should see in the dev version:

Image

Admittedly, the UI for this could use some improvement while I'm at it -- suggestions welcome!

<!-- gh-comment-id:3609813040 --> @devnullvoid commented on GitHub (Dec 4, 2025): this is what you should see in the dev version: <img width="283" height="350" alt="Image" src="https://github.com/user-attachments/assets/333b1720-e1ef-4cc7-bb52-cd5811c99328" /> Admittedly, the UI for this could use some improvement while I'm at it -- suggestions welcome!
Author
Owner

@devnullvoid commented on GitHub (Dec 4, 2025):

are you asking for ad-hoc multi-select of existing profiles without the need to assign them to groups? that's also a possibility

<!-- gh-comment-id:3609970987 --> @devnullvoid commented on GitHub (Dec 4, 2025): are you asking for ad-hoc multi-select of existing profiles without the need to assign them to groups? that's also a possibility
Author
Owner

@ocafebabe commented on GitHub (Dec 4, 2025):

No the current functionality is great. Would it be possible to sort the aggregated groups alphabetically?

<!-- gh-comment-id:3609979467 --> @ocafebabe commented on GitHub (Dec 4, 2025): No the current functionality is great. Would it be possible to sort the aggregated groups alphabetically?
Author
Owner

@devnullvoid commented on GitHub (Dec 4, 2025):

yes, absolutely! Also, I'm going to move away from "aggregate" and use "groups" instead.

So in config.yml you'll have a profile with:

groups:
  - group-a
  - group-b
<!-- gh-comment-id:3609997110 --> @devnullvoid commented on GitHub (Dec 4, 2025): yes, absolutely! Also, I'm going to move away from "aggregate" and use "groups" instead. So in config.yml you'll have a profile with: ```yaml groups: - group-a - group-b ```
Author
Owner

@devnullvoid commented on GitHub (Dec 7, 2025):

released the new functionality. Let me know if there are any issues!

<!-- gh-comment-id:3623180504 --> @devnullvoid commented on GitHub (Dec 7, 2025): released the new functionality. Let me know if there are any issues!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pvetui#8
No description provided.