apt: add support for Ceph Squid repositories

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2024-11-10 18:48:03 +01:00
parent 6158d53697
commit 272953d72d
2 changed files with 34 additions and 2 deletions

View File

@ -120,7 +120,7 @@ zstd = { version = "0.12", features = [ "bindgen" ] }
# workspace dependencies
proxmox-acme = { version = "0.5.3", path = "proxmox-acme", default-features = false }
proxmox-api-macro = { version = "1.2.0", path = "proxmox-api-macro" }
proxmox-apt-api-types = { version = "1.0.1", path = "proxmox-apt-api-types" }
proxmox-apt-api-types = { version = "1.0.2", path = "proxmox-apt-api-types" }
proxmox-auth-api = { version = "0.4.0", path = "proxmox-auth-api" }
proxmox-async = { version = "0.4.1", path = "proxmox-async" }
proxmox-compression = { version = "0.2.4", path = "proxmox-compression" }

View File

@ -75,6 +75,17 @@ impl APTRepositoryHandleImpl for APTRepositoryHandle {
"This repository contains the Ceph Reef packages before they are moved to the \
main repository."
}
APTRepositoryHandle::CephSquidEnterprise => {
"This repository holds the production-ready Proxmox Ceph Squid packages."
}
APTRepositoryHandle::CephSquidNoSubscription => {
"This repository holds the Proxmox Ceph Squid packages intended for \
non-production use."
}
APTRepositoryHandle::CephSquidTest => {
"This repository contains the Ceph Squid packages before they are moved to the \
main repository."
}
}
.to_string()
}
@ -90,6 +101,9 @@ impl APTRepositoryHandleImpl for APTRepositoryHandle {
APTRepositoryHandle::CephReefEnterprise => "Ceph Reef Enterprise",
APTRepositoryHandle::CephReefNoSubscription => "Ceph Reef No-Subscription",
APTRepositoryHandle::CephReefTest => "Ceph Reef Test",
APTRepositoryHandle::CephSquidEnterprise => "Ceph Squid Enterprise",
APTRepositoryHandle::CephSquidNoSubscription => "Ceph Squid No-Subscription",
APTRepositoryHandle::CephSquidTest => "Ceph Squid Test",
}
.to_string()
}
@ -106,7 +120,10 @@ impl APTRepositoryHandleImpl for APTRepositoryHandle {
| APTRepositoryHandle::CephQuincyTest
| APTRepositoryHandle::CephReefEnterprise
| APTRepositoryHandle::CephReefNoSubscription
| APTRepositoryHandle::CephReefTest => "/etc/apt/sources.list.d/ceph.list".to_string(),
| APTRepositoryHandle::CephReefTest
| APTRepositoryHandle::CephSquidEnterprise
| APTRepositoryHandle::CephSquidNoSubscription
| APTRepositoryHandle::CephSquidTest => "/etc/apt/sources.list.d/ceph.list".to_string(),
}
}
@ -175,6 +192,21 @@ impl APTRepositoryHandleImpl for APTRepositoryHandle {
vec!["http://download.proxmox.com/debian/ceph-reef".to_string()],
"test".to_string(),
),
APTRepositoryHandle::CephSquidEnterprise => (
APTRepositoryPackageType::Deb,
vec!["https://enterprise.proxmox.com/debian/ceph-squid".to_string()],
"enterprise".to_string(),
),
APTRepositoryHandle::CephSquidNoSubscription => (
APTRepositoryPackageType::Deb,
vec!["http://download.proxmox.com/debian/ceph-squid".to_string()],
"no-subscription".to_string(),
),
APTRepositoryHandle::CephSquidTest => (
APTRepositoryPackageType::Deb,
vec!["http://download.proxmox.com/debian/ceph-squid".to_string()],
"test".to_string(),
),
}
}