[pve-devel] [PATCH proxmox-offline-mirror 8/8] wizard: deduplicate Proxmox key path mapping
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Sep 8 15:16:49 CEST 2025
Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
src/bin/proxmox-offline-mirror.rs | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/src/bin/proxmox-offline-mirror.rs b/src/bin/proxmox-offline-mirror.rs
index 89bd0bb..8fd8415 100644
--- a/src/bin/proxmox-offline-mirror.rs
+++ b/src/bin/proxmox-offline-mirror.rs
@@ -52,6 +52,16 @@ enum Release {
Bullseye = 11,
}
+impl Release {
+ fn proxmox_key_path(&self) -> String {
+ if self >= &Release::Trixie {
+ format!("/usr/share/keyrings/proxmox-release-{self}.gpg")
+ } else {
+ "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg".to_string()
+ }
+ }
+}
+
impl Display for Release {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
@@ -301,11 +311,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
)
};
- let key = match release {
- Release::Trixie => "/usr/share/keyrings/proxmox-release-trixie.gpg",
- Release::Bookworm => "/usr/share/keyrings/proxmox-release-bookworm.gpg",
- Release::Bullseye => "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
- };
+ let key = release.proxmox_key_path();
let ceph_release = match ceph_release {
CephRelease::Octopus => "octopus",
@@ -318,7 +324,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
let url = format!("{base_url}-{ceph_release} {release} {components}");
let suggested_id = format!("ceph_{ceph_release}_{release}");
- (url, key.to_string(), suggested_id, SkipConfig::default())
+ (url, key, suggested_id, SkipConfig::default())
}
product => {
let variants = &[
@@ -358,11 +364,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
_ => None,
};
- let key = match release {
- Release::Trixie => "/usr/share/keyrings/proxmox-release-trixie.gpg",
- Release::Bookworm => "/usr/share/keyrings/proxmox-release-bookworm.gpg",
- Release::Bullseye => "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
- };
+ let key = release.proxmox_key_path();
let suggested_id = format!("{product}_{release}_{variant}");
@@ -371,7 +373,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
Some(true),
)?;
- (url, key.to_string(), suggested_id, SkipConfig::default())
+ (url, key, suggested_id, SkipConfig::default())
}
};
--
2.47.3
More information about the pve-devel
mailing list