From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <a.lauterer@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id C3D3A8A460
 for <pve-devel@lists.proxmox.com>; Tue,  2 Aug 2022 14:59:31 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id A2FDE1579
 for <pve-devel@lists.proxmox.com>; Tue,  2 Aug 2022 14:59:31 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS
 for <pve-devel@lists.proxmox.com>; Tue,  2 Aug 2022 14:59:29 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 782CA42D9F
 for <pve-devel@lists.proxmox.com>; Tue,  2 Aug 2022 14:59:29 +0200 (CEST)
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Tue,  2 Aug 2022 14:59:27 +0200
Message-Id: <20220802125927.2341276-1-a.lauterer@proxmox.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.021 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [proxmox.com, repositories.rs, mod.rs, standard.rs]
Subject: [pve-devel] [PATCH] add ceph quincy repositories
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Tue, 02 Aug 2022 12:59:31 -0000

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
 src/repositories/mod.rs      |  2 ++
 src/repositories/standard.rs | 29 +++++++++++++++++++++++++++++
 tests/repositories.rs        |  2 ++
 3 files changed, 33 insertions(+)

diff --git a/src/repositories/mod.rs b/src/repositories/mod.rs
index 88b515d..d8848b8 100644
--- a/src/repositories/mod.rs
+++ b/src/repositories/mod.rs
@@ -90,6 +90,8 @@ pub fn standard_repositories(
 
     if product == "pve" {
         result.append(&mut vec![
+            APTStandardRepository::from(APTRepositoryHandle::CephQuincy),
+            APTStandardRepository::from(APTRepositoryHandle::CephQuincyTest),
             APTStandardRepository::from(APTRepositoryHandle::CephPacific),
             APTStandardRepository::from(APTRepositoryHandle::CephPacificTest),
             APTStandardRepository::from(APTRepositoryHandle::CephOctopus),
diff --git a/src/repositories/standard.rs b/src/repositories/standard.rs
index 6b2cafd..17cfa8d 100644
--- a/src/repositories/standard.rs
+++ b/src/repositories/standard.rs
@@ -46,6 +46,10 @@ pub enum APTRepositoryHandle {
     NoSubscription,
     /// The test repository.
     Test,
+    /// Ceph Quincy repository.
+    CephQuincy,
+    /// Ceph Quincy test repository.
+    CephQuincyTest,
     /// Ceph Pacific repository.
     CephPacific,
     /// Ceph Pacific test repository.
@@ -75,6 +79,8 @@ impl TryFrom<&str> for APTRepositoryHandle {
             "enterprise" => Ok(APTRepositoryHandle::Enterprise),
             "no-subscription" => Ok(APTRepositoryHandle::NoSubscription),
             "test" => Ok(APTRepositoryHandle::Test),
+            "ceph-quincy" => Ok(APTRepositoryHandle::CephQuincy),
+            "ceph-quincy-test" => Ok(APTRepositoryHandle::CephQuincyTest),
             "ceph-pacific" => Ok(APTRepositoryHandle::CephPacific),
             "ceph-pacific-test" => Ok(APTRepositoryHandle::CephPacificTest),
             "ceph-octopus" => Ok(APTRepositoryHandle::CephOctopus),
@@ -90,6 +96,8 @@ impl Display for APTRepositoryHandle {
             APTRepositoryHandle::Enterprise => write!(f, "enterprise"),
             APTRepositoryHandle::NoSubscription => write!(f, "no-subscription"),
             APTRepositoryHandle::Test => write!(f, "test"),
+            APTRepositoryHandle::CephQuincy => write!(f, "ceph-quincy"),
+            APTRepositoryHandle::CephQuincyTest => write!(f, "ceph-quincy-test"),
             APTRepositoryHandle::CephPacific => write!(f, "ceph-pacific"),
             APTRepositoryHandle::CephPacificTest => write!(f, "ceph-pacific-test"),
             APTRepositoryHandle::CephOctopus => write!(f, "ceph-octopus"),
@@ -115,6 +123,13 @@ impl APTRepositoryHandle {
                 "This repository contains the latest packages and is primarily used for test labs \
                 and by developers to test new features."
             }
+            APTRepositoryHandle::CephQuincy => {
+                "This repository holds the main Proxmox Ceph Quincy packages."
+            }
+            APTRepositoryHandle::CephQuincyTest => {
+                "This repository contains the Ceph Quincy packages before they are moved to the \
+                main repository."
+            }
             APTRepositoryHandle::CephPacific => {
                 "This repository holds the main Proxmox Ceph Pacific packages."
             }
@@ -139,6 +154,8 @@ impl APTRepositoryHandle {
             APTRepositoryHandle::Enterprise => "Enterprise",
             APTRepositoryHandle::NoSubscription => "No-Subscription",
             APTRepositoryHandle::Test => "Test",
+            APTRepositoryHandle::CephQuincy => "Ceph Quincy",
+            APTRepositoryHandle::CephQuincyTest => "Ceph Quincy Test",
             APTRepositoryHandle::CephPacific => "Ceph Pacific",
             APTRepositoryHandle::CephPacificTest => "Ceph Pacific Test",
             APTRepositoryHandle::CephOctopus => "Ceph Octopus",
@@ -155,6 +172,8 @@ impl APTRepositoryHandle {
             }
             APTRepositoryHandle::NoSubscription => "/etc/apt/sources.list".to_string(),
             APTRepositoryHandle::Test => "/etc/apt/sources.list".to_string(),
+            APTRepositoryHandle::CephQuincy => "/etc/apt/sources.list.d/ceph.list".to_string(),
+            APTRepositoryHandle::CephQuincyTest => "/etc/apt/sources.list.d/ceph.list".to_string(),
             APTRepositoryHandle::CephPacific => "/etc/apt/sources.list.d/ceph.list".to_string(),
             APTRepositoryHandle::CephPacificTest => "/etc/apt/sources.list.d/ceph.list".to_string(),
             APTRepositoryHandle::CephOctopus => "/etc/apt/sources.list.d/ceph.list".to_string(),
@@ -200,6 +219,16 @@ impl APTRepositoryHandle {
                 },
                 format!("{}test", product),
             ),
+            APTRepositoryHandle::CephQuincy => (
+                APTRepositoryPackageType::Deb,
+                vec!["http://download.proxmox.com/debian/ceph-quincy".to_string()],
+                "main".to_string(),
+            ),
+            APTRepositoryHandle::CephQuincyTest => (
+                APTRepositoryPackageType::Deb,
+                vec!["http://download.proxmox.com/debian/ceph-quincy".to_string()],
+                "test".to_string(),
+            ),
             APTRepositoryHandle::CephPacific => (
                 APTRepositoryPackageType::Deb,
                 vec!["http://download.proxmox.com/debian/ceph-pacific".to_string()],
diff --git a/tests/repositories.rs b/tests/repositories.rs
index 70e0201..fd94e0d 100644
--- a/tests/repositories.rs
+++ b/tests/repositories.rs
@@ -362,6 +362,8 @@ fn test_standard_repositories() -> Result<(), Error> {
         APTStandardRepository::from(APTRepositoryHandle::Enterprise),
         APTStandardRepository::from(APTRepositoryHandle::NoSubscription),
         APTStandardRepository::from(APTRepositoryHandle::Test),
+        APTStandardRepository::from(APTRepositoryHandle::CephQuincy),
+        APTStandardRepository::from(APTRepositoryHandle::CephQuincyTest),
         APTStandardRepository::from(APTRepositoryHandle::CephPacific),
         APTStandardRepository::from(APTRepositoryHandle::CephPacificTest),
         APTStandardRepository::from(APTRepositoryHandle::CephOctopus),
-- 
2.30.2