public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH 0/2] POM support bookworm releases and ceph enterprise repo
@ 2023-06-09 10:50 Stefan Sterz
  2023-06-09 10:50 ` [pbs-devel] [PATCH 1/2] add bookworm to the list of releases Stefan Sterz
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stefan Sterz @ 2023-06-09 10:50 UTC (permalink / raw)
  To: pbs-devel

these two patches add support for the debian bookworm based releases,
as well as the new ceph enterprise repo. note that the debian bookworm
repos are not yet signed with the debian bookworm archive signing
keys. debian will start using them shortly after the release of
bookworm [1]. so the setup that the wizard creates won't work until
then. to have a working setup, you'd currently need to configure the
buster keys (/usr/share/keyrings/debian-archive-buster-automatic.gpg,
and /usr/share/keyrings/debian-archive-buster-security-automatic.gpg).

[1]: https://lists.debian.org/debian-devel-announce/2023/03/msg00001.html

Stefan Sterz (2):
  add bookworm to the list of releases
  add support for bookworm enterprise ceph repo

 src/bin/proxmox-offline-mirror.rs | 68 ++++++++++++++++++++++++++++---
 1 file changed, 62 insertions(+), 6 deletions(-)

-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pbs-devel] [PATCH 1/2] add bookworm to the list of releases
  2023-06-09 10:50 [pbs-devel] [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Stefan Sterz
@ 2023-06-09 10:50 ` Stefan Sterz
  2023-06-09 10:50 ` [pbs-devel] [PATCH 2/2] add support for bookworm enterprise ceph repo Stefan Sterz
  2023-06-25 15:01 ` [pbs-devel] applied-series: [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Sterz @ 2023-06-09 10:50 UTC (permalink / raw)
  To: pbs-devel

add support for bookworm based proxmox products and debian
repositories/
---
 src/bin/proxmox-offline-mirror.rs | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/src/bin/proxmox-offline-mirror.rs b/src/bin/proxmox-offline-mirror.rs
index 8398db4..9dfde91 100644
--- a/src/bin/proxmox-offline-mirror.rs
+++ b/src/bin/proxmox-offline-mirror.rs
@@ -44,6 +44,7 @@ impl Display for Distro {
 }
 
 enum Release {
+    Bookworm,
     Bullseye,
     Buster,
 }
@@ -51,6 +52,7 @@ enum Release {
 impl Display for Release {
     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         match self {
+            Release::Bookworm => write!(f, "bookworm"),
             Release::Bullseye => write!(f, "bullseye"),
             Release::Buster => write!(f, "buster"),
         }
@@ -131,6 +133,19 @@ fn derive_debian_repo(
         skip_sections,
     };
     let url = match (release, variant) {
+        (Release::Bookworm, DebianVariant::Main) => "http://deb.debian.org/debian bookworm",
+        (Release::Bookworm, DebianVariant::Security) => {
+            "http://deb.debian.org/debian-security bookworm-security"
+        }
+        (Release::Bookworm, DebianVariant::Updates) => {
+            "http://deb.debian.org/debian bookworm-updates"
+        }
+        (Release::Bookworm, DebianVariant::Backports) => {
+            "http://deb.debian.org/debian bookworm-backports"
+        }
+        (Release::Bookworm, DebianVariant::Debug) => {
+            "http://deb.debian.org/debian-debug bookworm-debug"
+        }
         (Release::Bullseye, DebianVariant::Main) => "http://deb.debian.org/debian bullseye",
         (Release::Bullseye, DebianVariant::Security) => {
             "http://deb.debian.org/debian-security bullseye-security"
@@ -159,6 +174,10 @@ fn derive_debian_repo(
 
     let url = format!("{url} {components}");
     let key = match (release, variant) {
+        (Release::Bookworm, DebianVariant::Security) => {
+            "/usr/share/keyrings/debian-archive-bookworm-security-automatic.gpg"
+        }
+        (Release::Bookworm, _) => "/usr/share/keyrings/debian-archive-bookworm-automatic.gpg",
         (Release::Bullseye, DebianVariant::Security) => {
             "/usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg"
         }
@@ -191,7 +210,11 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
         ];
         let dist = read_selection_from_tty("Select distro to mirror", distros, None)?;
 
-        let releases = &[(Release::Bullseye, "Bullseye"), (Release::Buster, "Buster")];
+        let releases = &[
+            (Release::Bookworm, "Bookworm"),
+            (Release::Bullseye, "Bullseye"),
+            (Release::Buster, "Buster"),
+        ];
         let release = read_selection_from_tty("Select release", releases, Some(0))?;
 
         let mut add_debian_repo = false;
@@ -224,6 +247,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
                 }
 
                 let releases = match release {
+                    &Release::Bookworm => vec![(CephRelease::Quincy, "Quincy (17.x)")],
                     Release::Bullseye => {
                         vec![
                             (CephRelease::Octopus, "Octopus (15.x)"),
@@ -250,6 +274,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
                     read_string_from_tty("Enter repository components", Some("main test"))?;
 
                 let key = match release {
+                    Release::Bookworm => "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg",
                     Release::Bullseye => "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
                     Release::Buster => "/etc/apt/trusted.gpg.d/proxmox-release-buster.gpg",
                 };
@@ -281,6 +306,9 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
 
                 // TODO enterprise query for key!
                 let url = match (release, variant) {
+                    (Release::Bookworm, ProxmoxVariant::Enterprise) => format!("https://enterprise.proxmox.com/debian/{product} bookworm {product}-enterprise"),
+                    (Release::Bookworm, ProxmoxVariant::NoSubscription) => format!("http://download.proxmox.com/debian/{product} bookworm {product}-no-subscription"),
+                    (Release::Bookworm, ProxmoxVariant::Test) => format!("http://download.proxmox.com/debian/{product} bookworm {product}test"),
                     (Release::Bullseye, ProxmoxVariant::Enterprise) => format!("https://enterprise.proxmox.com/debian/{product} bullseye {product}-enterprise"),
                     (Release::Bullseye, ProxmoxVariant::NoSubscription) => format!("http://download.proxmox.com/debian/{product} bullseye {product}-no-subscription"),
                     (Release::Bullseye, ProxmoxVariant::Test) => format!("http://download.proxmox.com/debian/{product} bullseye {product}test"),
@@ -297,6 +325,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
                 };
 
                 let key = match release {
+                    Release::Bookworm => "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg",
                     Release::Bullseye => "/etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg",
                     Release::Buster => "/etc/apt/trusted.gpg.d/proxmox-release-buster.gpg",
                 };
-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pbs-devel] [PATCH 2/2] add support for bookworm enterprise ceph repo
  2023-06-09 10:50 [pbs-devel] [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Stefan Sterz
  2023-06-09 10:50 ` [pbs-devel] [PATCH 1/2] add bookworm to the list of releases Stefan Sterz
@ 2023-06-09 10:50 ` Stefan Sterz
  2023-06-25 15:01 ` [pbs-devel] applied-series: [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Sterz @ 2023-06-09 10:50 UTC (permalink / raw)
  To: pbs-devel

the bookworm release of proxmox ve comes along with a new ceph
enterprise repo. this commit adds support for this new repo for
bookworm-based releases.
---
 src/bin/proxmox-offline-mirror.rs | 37 ++++++++++++++++++++++++++-----
 1 file changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/bin/proxmox-offline-mirror.rs b/src/bin/proxmox-offline-mirror.rs
index 9dfde91..ab2e535 100644
--- a/src/bin/proxmox-offline-mirror.rs
+++ b/src/bin/proxmox-offline-mirror.rs
@@ -1,4 +1,5 @@
 use std::fmt::Display;
+use std::matches;
 use std::path::Path;
 
 use anyhow::{bail, format_err, Error};
@@ -270,8 +271,36 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
                     Some(releases.len() - 1),
                 )?;
 
-                let components =
-                    read_string_from_tty("Enter repository components", Some("main test"))?;
+                let (base_url, components) = if matches!(release, Release::Bookworm) {
+                    let variants = &[
+                        (ProxmoxVariant::Enterprise, "Enterprise repository"),
+                        (ProxmoxVariant::NoSubscription, "No-Subscription repository"),
+                        (ProxmoxVariant::Test, "Test repository"),
+                    ];
+
+                    let variant =
+                        read_selection_from_tty("Select repository variant", variants, Some(0))?;
+
+                    match variant {
+                        ProxmoxVariant::Enterprise => (
+                            "https://enterprise.proxmox.com/debian/ceph",
+                            "enterprise".to_string(),
+                        ),
+                        ProxmoxVariant::NoSubscription => (
+                            "http://download.proxmox.com/debian/ceph",
+                            "no-subscription".to_string(),
+                        ),
+                        ProxmoxVariant::Test => (
+                            "http://download.proxmox.com/debian/ceph",
+                            "test".to_string(),
+                        ),
+                    }
+                } else {
+                    (
+                        "http://download.proxmox.com/debian/ceph",
+                        read_string_from_tty("Enter repository components", Some("main test"))?,
+                    )
+                };
 
                 let key = match release {
                     Release::Bookworm => "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg",
@@ -287,9 +316,7 @@ fn action_add_mirror(config: &SectionConfigData) -> Result<Vec<MirrorConfig>, Er
                     CephRelease::Quincy => "quincy",
                 };
 
-                let url = format!(
-                    "http://download.proxmox.com/debian/ceph-{ceph_release} {release} {components}"
-                );
+                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())
-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pbs-devel] applied-series: [PATCH 0/2] POM support bookworm releases and ceph enterprise repo
  2023-06-09 10:50 [pbs-devel] [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Stefan Sterz
  2023-06-09 10:50 ` [pbs-devel] [PATCH 1/2] add bookworm to the list of releases Stefan Sterz
  2023-06-09 10:50 ` [pbs-devel] [PATCH 2/2] add support for bookworm enterprise ceph repo Stefan Sterz
@ 2023-06-25 15:01 ` Thomas Lamprecht
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2023-06-25 15:01 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Stefan Sterz

Am 09/06/2023 um 12:50 schrieb Stefan Sterz:
> these two patches add support for the debian bookworm based releases,
> as well as the new ceph enterprise repo. note that the debian bookworm
> repos are not yet signed with the debian bookworm archive signing
> keys. debian will start using them shortly after the release of
> bookworm [1]. so the setup that the wizard creates won't work until
> then. to have a working setup, you'd currently need to configure the
> buster keys (/usr/share/keyrings/debian-archive-buster-automatic.gpg,
> and /usr/share/keyrings/debian-archive-buster-security-automatic.gpg).
> 
> [1]: https://lists.debian.org/debian-devel-announce/2023/03/msg00001.html
> 
> Stefan Sterz (2):
>   add bookworm to the list of releases
>   add support for bookworm enterprise ceph repo
> 
>  src/bin/proxmox-offline-mirror.rs | 68 ++++++++++++++++++++++++++++---
>  1 file changed, 62 insertions(+), 6 deletions(-)
> 


applied series (already last week), thanks!




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-06-25 15:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09 10:50 [pbs-devel] [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Stefan Sterz
2023-06-09 10:50 ` [pbs-devel] [PATCH 1/2] add bookworm to the list of releases Stefan Sterz
2023-06-09 10:50 ` [pbs-devel] [PATCH 2/2] add support for bookworm enterprise ceph repo Stefan Sterz
2023-06-25 15:01 ` [pbs-devel] applied-series: [PATCH 0/2] POM support bookworm releases and ceph enterprise repo Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal