* [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard
@ 2025-12-29 13:44 Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 1/7] pbs-client: add `list_domains` Lukas Wagner
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
This fixes #7192 [1] by adding the needed API functions to enumerate
remotes from PBS remotes. The the realm selector component is changed
to support a realm-type property, based on which it selects the URL
from which it requests the realms.
This series also contains some minor renames in the UI code, as
the old name `PveRealmSelector` did not make sense any more.
[1]: https://bugzilla.proxmox.com/show_bug.cgi?id=7192
proxmox-datacenter-manager:
Lukas Wagner (7):
pbs-client: add `list_domains`
api: pbs: add /pbs/realms endpoint
ui: rename pve_realm_selector module to remote_realm_selector
ui: widgets: rename PveRealmSelector to RemoteRealmSelector
ui: widgets: make RemoteRealmSelectorComp private
ui: widget: remote realm selector: add missing docstrings
ui: widgets: remote realm selector: support PBS remotes
server/src/api/pbs/mod.rs | 55 +++++++++++++++++++
server/src/pbs_client.rs | 8 ++-
ui/src/remotes/wizard_page_info.rs | 4 +-
ui/src/widget/mod.rs | 4 +-
...m_selector.rs => remote_realm_selector.rs} | 25 ++++++---
5 files changed, 84 insertions(+), 12 deletions(-)
rename ui/src/widget/{pve_realm_selector.rs => remote_realm_selector.rs} (84%)
Summary over all repositories:
5 files changed, 84 insertions(+), 12 deletions(-)
--
Generated by murpp 0.9.0
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 1/7] pbs-client: add `list_domains`
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 2/7] api: pbs: add /pbs/realms endpoint Lukas Wagner
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
This one allows us to enumerate available authentication realms.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
server/src/pbs_client.rs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/server/src/pbs_client.rs b/server/src/pbs_client.rs
index f4f1f820..52cdcfd9 100644
--- a/server/src/pbs_client.rs
+++ b/server/src/pbs_client.rs
@@ -13,7 +13,7 @@ use proxmox_router::stream::JsonRecords;
use proxmox_schema::api;
use proxmox_section_config::typed::SectionConfigData;
-use pbs_api_types::{Authid, Tokenname, Userid};
+use pbs_api_types::{Authid, BasicRealmInfo, Tokenname, Userid};
use pdm_api_types::remotes::{Remote, RemoteType};
@@ -159,6 +159,12 @@ impl PbsClient {
Ok(self.0.get("/api2/extjs/version").await?.expect_json()?.data)
}
+ /// List available authentication realms (domains).
+ pub async fn list_domains(&self) -> Result<Vec<BasicRealmInfo>, Error> {
+ let url = "/api2/extjs/access/domains";
+ Ok(self.0.get(url).await?.expect_json()?.data)
+ }
+
/// List the datastores.
pub async fn list_datastores(&self) -> Result<Vec<pbs_api_types::DataStoreConfig>, Error> {
let path = "/api2/extjs/config/datastore";
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 2/7] api: pbs: add /pbs/realms endpoint
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 1/7] pbs-client: add `list_domains` Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 3/7] ui: rename pve_realm_selector module to remote_realm_selector Lukas Wagner
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
This one allows us to enumerate available authentication realms for PBS
remotes.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
server/src/api/pbs/mod.rs | 55 +++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/server/src/api/pbs/mod.rs b/server/src/api/pbs/mod.rs
index badefc39..73f8fdd8 100644
--- a/server/src/api/pbs/mod.rs
+++ b/server/src/api/pbs/mod.rs
@@ -33,6 +33,10 @@ const SUBDIRS: SubdirMap = &sorted!([
("remotes", &REMOTES_ROUTER),
("scan", &Router::new().post(&API_METHOD_SCAN_REMOTE_PBS)),
("probe-tls", &Router::new().post(&API_METHOD_PROBE_TLS)),
+ (
+ "realms",
+ &Router::new().get(&API_METHOD_LIST_REALM_REMOTE_PBS)
+ )
]);
const REMOTES_ROUTER: Router = Router::new()
@@ -290,6 +294,57 @@ pub async fn scan_remote_pbs(
Ok(remote)
}
+#[api(
+ input: {
+ properties: {
+ hostname: {
+ type: String,
+ format: &HOST_OPTIONAL_PORT_FORMAT,
+ description: "Hostname (with optional port) of the target remote",
+ },
+ fingerprint: {
+ type: String,
+ description: "Fingerprint of the target remote.",
+ optional: true,
+ },
+ },
+ },
+ access: {
+ permission:
+ &Permission::Privilege(&["/"], PRIV_SYS_MODIFY, false),
+ },
+ returns: {
+ type: Array,
+ description: "A list of realms of a PBS remote.",
+ items: {
+ type: pbs_api_types::BasicRealmInfo,
+ }
+ },
+)]
+/// List available authentication realms of a PBS remote.
+pub async fn list_realm_remote_pbs(
+ hostname: String,
+ fingerprint: Option<String>,
+) -> Result<Vec<pbs_api_types::BasicRealmInfo>, Error> {
+ // dummy remote to connect
+ let remote = Remote {
+ ty: RemoteType::Pbs,
+ id: String::new(),
+ nodes: vec![PropertyString::new(NodeUrl {
+ hostname,
+ fingerprint,
+ })],
+ authid: "root@pam".parse()?,
+ token: String::new(),
+ web_url: None,
+ };
+
+ let client = connection::make_pbs_client(&remote)?;
+ let list = client.list_domains().await?;
+
+ Ok(list)
+}
+
#[api(
input: {
properties: {
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 3/7] ui: rename pve_realm_selector module to remote_realm_selector
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 1/7] pbs-client: add `list_domains` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 2/7] api: pbs: add /pbs/realms endpoint Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 4/7] ui: widgets: rename PveRealmSelector to RemoteRealmSelector Lukas Wagner
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
ui/src/widget/mod.rs | 4 ++--
.../{pve_realm_selector.rs => remote_realm_selector.rs} | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename ui/src/widget/{pve_realm_selector.rs => remote_realm_selector.rs} (100%)
diff --git a/ui/src/widget/mod.rs b/ui/src/widget/mod.rs
index 7d789c39..e0aa029a 100644
--- a/ui/src/widget/mod.rs
+++ b/ui/src/widget/mod.rs
@@ -13,8 +13,8 @@ pub use pve_storage_selector::PveStorageSelector;
mod pve_migrate_mapping;
pub use pve_migrate_mapping::PveMigrateMap;
-mod pve_realm_selector;
-pub use pve_realm_selector::PveRealmSelector;
+mod remote_realm_selector;
+pub use remote_realm_selector::PveRealmSelector;
mod resource_tree;
pub use resource_tree::{RedrawController, ResourceTree};
diff --git a/ui/src/widget/pve_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
similarity index 100%
rename from ui/src/widget/pve_realm_selector.rs
rename to ui/src/widget/remote_realm_selector.rs
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 4/7] ui: widgets: rename PveRealmSelector to RemoteRealmSelector
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
` (2 preceding siblings ...)
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 3/7] ui: rename pve_realm_selector module to remote_realm_selector Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 5/7] ui: widgets: make RemoteRealmSelectorComp private Lukas Wagner
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
As this component will be changed to be usable for both, PVE and PBS.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
ui/src/remotes/wizard_page_info.rs | 4 ++--
ui/src/widget/mod.rs | 2 +-
ui/src/widget/remote_realm_selector.rs | 12 ++++++------
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/ui/src/remotes/wizard_page_info.rs b/ui/src/remotes/wizard_page_info.rs
index fbe57d63..8a115b4a 100644
--- a/ui/src/remotes/wizard_page_info.rs
+++ b/ui/src/remotes/wizard_page_info.rs
@@ -25,7 +25,7 @@ use pdm_api_types::remotes::{NodeUrl, Remote, RemoteType, REMOTE_ID_SCHEMA};
use pwt_macros::builder;
use super::wizard_page_connect::ConnectParams;
-use crate::widget::PveRealmSelector;
+use crate::widget::RemoteRealmSelector;
#[derive(Clone, PartialEq, Properties)]
#[builder]
@@ -331,7 +331,7 @@ impl Component for PdmWizardPageInfo {
)
.with_field(
tr!("Realm"),
- PveRealmSelector::new(hostname, fingerprint)
+ RemoteRealmSelector::new(hostname, fingerprint)
.name("realm")
.disabled(!self.user_mode)
.required(self.user_mode),
diff --git a/ui/src/widget/mod.rs b/ui/src/widget/mod.rs
index e0aa029a..cd66756a 100644
--- a/ui/src/widget/mod.rs
+++ b/ui/src/widget/mod.rs
@@ -14,7 +14,7 @@ mod pve_migrate_mapping;
pub use pve_migrate_mapping::PveMigrateMap;
mod remote_realm_selector;
-pub use remote_realm_selector::PveRealmSelector;
+pub use remote_realm_selector::RemoteRealmSelector;
mod resource_tree;
pub use resource_tree::{RedrawController, ResourceTree};
diff --git a/ui/src/widget/remote_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
index bcf60a11..d484dc1c 100644
--- a/ui/src/widget/remote_realm_selector.rs
+++ b/ui/src/widget/remote_realm_selector.rs
@@ -16,10 +16,10 @@ use proxmox_yew_comp::percent_encoding::percent_encode_component;
use pwt::props::{FieldBuilder, WidgetBuilder};
use pwt_macros::{builder, widget};
-#[widget(comp=PdmPveRealmSelector, @input)]
+#[widget(comp=RemoteRealmSelectorComp, @input)]
#[derive(Clone, Properties, PartialEq)]
#[builder]
-pub struct PveRealmSelector {
+pub struct RemoteRealmSelector {
/// The default value.
#[builder(IntoPropValue, into_prop_value)]
#[prop_or_default]
@@ -30,7 +30,7 @@ pub struct PveRealmSelector {
pub fingerprint: Option<AttrValue>,
}
-impl PveRealmSelector {
+impl RemoteRealmSelector {
pub fn new(
hostname: impl IntoPropValue<AttrValue>,
fingerprint: impl IntoPropValue<Option<AttrValue>>,
@@ -42,15 +42,15 @@ impl PveRealmSelector {
}
}
-pub struct PdmPveRealmSelector {
+pub struct RemoteRealmSelectorComp {
store: Store<BasicRealmInfo>,
validate: ValidateFn<(String, Store<BasicRealmInfo>)>,
picker: RenderFn<SelectorRenderArgs<Store<BasicRealmInfo>>>,
}
-impl Component for PdmPveRealmSelector {
+impl Component for RemoteRealmSelectorComp {
type Message = ();
- type Properties = PveRealmSelector;
+ type Properties = RemoteRealmSelector;
fn create(ctx: &Context<Self>) -> Self {
let store = Store::new().on_change(ctx.link().callback(|_| ())); // trigger redraw
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 5/7] ui: widgets: make RemoteRealmSelectorComp private
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
` (3 preceding siblings ...)
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 4/7] ui: widgets: rename PveRealmSelector to RemoteRealmSelector Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 6/7] ui: widget: remote realm selector: add missing docstrings Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 7/7] ui: widgets: remote realm selector: support PBS remotes Lukas Wagner
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
It's only ever reference by the RemoteRealmSelector struct in the same
module, hence we can make it private.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
ui/src/widget/remote_realm_selector.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/src/widget/remote_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
index d484dc1c..3ee8b2d2 100644
--- a/ui/src/widget/remote_realm_selector.rs
+++ b/ui/src/widget/remote_realm_selector.rs
@@ -42,7 +42,7 @@ impl RemoteRealmSelector {
}
}
-pub struct RemoteRealmSelectorComp {
+struct RemoteRealmSelectorComp {
store: Store<BasicRealmInfo>,
validate: ValidateFn<(String, Store<BasicRealmInfo>)>,
picker: RenderFn<SelectorRenderArgs<Store<BasicRealmInfo>>>,
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 6/7] ui: widget: remote realm selector: add missing docstrings
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
` (4 preceding siblings ...)
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 5/7] ui: widgets: make RemoteRealmSelectorComp private Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 7/7] ui: widgets: remote realm selector: support PBS remotes Lukas Wagner
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
ui/src/widget/remote_realm_selector.rs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ui/src/widget/remote_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
index 3ee8b2d2..7ba8c633 100644
--- a/ui/src/widget/remote_realm_selector.rs
+++ b/ui/src/widget/remote_realm_selector.rs
@@ -25,12 +25,15 @@ pub struct RemoteRealmSelector {
#[prop_or_default]
pub default: Option<AttrValue>,
+ /// Hostname/IP of the remote that should be queried for its realms.
pub hostname: AttrValue,
+ /// Optional fingerprint of the remote.
pub fingerprint: Option<AttrValue>,
}
impl RemoteRealmSelector {
+ /// Create a new instance of this component.
pub fn new(
hostname: impl IntoPropValue<AttrValue>,
fingerprint: impl IntoPropValue<Option<AttrValue>>,
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [pdm-devel] [PATCH datacenter-manager 7/7] ui: widgets: remote realm selector: support PBS remotes
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
` (5 preceding siblings ...)
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 6/7] ui: widget: remote realm selector: add missing docstrings Lukas Wagner
@ 2025-12-29 13:44 ` Lukas Wagner
6 siblings, 0 replies; 8+ messages in thread
From: Lukas Wagner @ 2025-12-29 13:44 UTC (permalink / raw)
To: pdm-devel
This is achieved by adding a new 'remote_type' property.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
---
ui/src/remotes/wizard_page_info.rs | 2 +-
ui/src/widget/remote_realm_selector.rs | 10 +++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ui/src/remotes/wizard_page_info.rs b/ui/src/remotes/wizard_page_info.rs
index 8a115b4a..fc9bfb01 100644
--- a/ui/src/remotes/wizard_page_info.rs
+++ b/ui/src/remotes/wizard_page_info.rs
@@ -331,7 +331,7 @@ impl Component for PdmWizardPageInfo {
)
.with_field(
tr!("Realm"),
- RemoteRealmSelector::new(hostname, fingerprint)
+ RemoteRealmSelector::new(hostname, fingerprint, props.remote_type)
.name("realm")
.disabled(!self.user_mode)
.required(self.user_mode),
diff --git a/ui/src/widget/remote_realm_selector.rs b/ui/src/widget/remote_realm_selector.rs
index 7ba8c633..3de95568 100644
--- a/ui/src/widget/remote_realm_selector.rs
+++ b/ui/src/widget/remote_realm_selector.rs
@@ -16,6 +16,8 @@ use proxmox_yew_comp::percent_encoding::percent_encode_component;
use pwt::props::{FieldBuilder, WidgetBuilder};
use pwt_macros::{builder, widget};
+use pdm_api_types::remotes::RemoteType;
+
#[widget(comp=RemoteRealmSelectorComp, @input)]
#[derive(Clone, Properties, PartialEq)]
#[builder]
@@ -30,6 +32,9 @@ pub struct RemoteRealmSelector {
/// Optional fingerprint of the remote.
pub fingerprint: Option<AttrValue>,
+
+ /// Type of the remote.
+ pub remote_type: RemoteType,
}
impl RemoteRealmSelector {
@@ -37,10 +42,12 @@ impl RemoteRealmSelector {
pub fn new(
hostname: impl IntoPropValue<AttrValue>,
fingerprint: impl IntoPropValue<Option<AttrValue>>,
+ remote_type: RemoteType,
) -> Self {
yew::props!(Self {
hostname: hostname.into_prop_value(),
fingerprint: fingerprint.into_prop_value(),
+ remote_type,
})
}
}
@@ -89,7 +96,8 @@ impl Component for RemoteRealmSelectorComp {
let props = ctx.props();
let mut url = format!(
- "/pve/realms?hostname={}",
+ "/{}/realms?hostname={}",
+ props.remote_type,
percent_encode_component(&props.hostname)
);
if let Some(fp) = &props.fingerprint {
--
2.47.3
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-12-29 13:44 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-29 13:44 [pdm-devel] [PATCH datacenter-manager 0/7] fix #7192: properly enumerate PBS realms in 'Add Remote' wizard Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 1/7] pbs-client: add `list_domains` Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 2/7] api: pbs: add /pbs/realms endpoint Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 3/7] ui: rename pve_realm_selector module to remote_realm_selector Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 4/7] ui: widgets: rename PveRealmSelector to RemoteRealmSelector Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 5/7] ui: widgets: make RemoteRealmSelectorComp private Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 6/7] ui: widget: remote realm selector: add missing docstrings Lukas Wagner
2025-12-29 13:44 ` [pdm-devel] [PATCH datacenter-manager 7/7] ui: widgets: remote realm selector: support PBS remotes Lukas Wagner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox