Added initial debian support

This commit is contained in:
robojerk 2025-08-27 15:21:27 -07:00
parent 1e49de4997
commit 55318ad876
10 changed files with 255 additions and 266 deletions

View file

@ -38,9 +38,9 @@ use uuid::Uuid;
use crate::logging::Logger;
pub use self::{
buildah_driver::BuildahDriver, cosign_driver::CosignDriver, docker_driver::DockerDriver,
github_driver::GithubDriver, gitlab_driver::GitlabDriver, local_driver::LocalDriver,
podman_driver::PodmanDriver, rpm_ostree_driver::RpmOstreeDriver,
buildah_driver::BuildahDriver, cosign_driver::CosignDriver,
docker_driver::DockerDriver, github_driver::GithubDriver, gitlab_driver::GitlabDriver,
local_driver::LocalDriver, podman_driver::PodmanDriver, rpm_ostree_driver::RpmOstreeDriver,
sigstore_driver::SigstoreDriver, skopeo_driver::SkopeoDriver, traits::*,
};
@ -51,6 +51,7 @@ pub use bootc_driver::BootcDriver;
mod bootc_driver;
mod buildah_driver;
mod cosign_driver;
mod docker_driver;
mod functions;
mod github_driver;
@ -325,8 +326,9 @@ macro_rules! impl_build_driver {
($func:ident($($args:expr),*)) => {
match Self::get_build_driver() {
BuildDriverType::Buildah => BuildahDriver::$func($($args,)*),
BuildDriverType::Podman => PodmanDriver::$func($($args,)*),
BuildDriverType::Docker => DockerDriver::$func($($args,)*),
BuildDriverType::Podman => PodmanDriver::$func($($args,)*),
}
};
}

View file

@ -41,6 +41,7 @@ macro_rules! impl_private_driver {
impl_private_driver!(
super::Driver,
super::docker_driver::DockerDriver,
super::podman_driver::PodmanDriver,
super::buildah_driver::BuildahDriver,

View file

@ -6,8 +6,8 @@ use clap::ValueEnum;
use log::trace;
use crate::drivers::{
DetermineDriver, DriverVersion, buildah_driver::BuildahDriver, docker_driver::DockerDriver,
podman_driver::PodmanDriver,
DetermineDriver, DriverVersion, buildah_driver::BuildahDriver,
docker_driver::DockerDriver, podman_driver::PodmanDriver,
};
#[derive(Debug, Clone, Copy, ValueEnum)]
@ -41,8 +41,8 @@ impl DetermineDriver<InspectDriverType> for Option<InspectDriverType> {
#[derive(Debug, Clone, Copy, ValueEnum)]
pub enum BuildDriverType {
Buildah,
Podman,
Docker,
Podman,
}
impl DetermineDriver<BuildDriverType> for Option<BuildDriverType> {
@ -52,6 +52,7 @@ impl DetermineDriver<BuildDriverType> for Option<BuildDriverType> {
blue_build_utils::check_command_exists("docker"),
blue_build_utils::check_command_exists("podman"),
blue_build_utils::check_command_exists("buildah"),
) {
(Ok(_docker), _, _)
if DockerDriver::is_supported_version() && DockerDriver::has_buildx() =>
@ -64,6 +65,7 @@ impl DetermineDriver<BuildDriverType> for Option<BuildDriverType> {
(_, _, Ok(_buildah)) if BuildahDriver::is_supported_version() => {
BuildDriverType::Buildah
}
_ => panic!(
"{}{}{}{}",
"Could not determine strategy, ",
@ -76,6 +78,7 @@ impl DetermineDriver<BuildDriverType> for Option<BuildDriverType> {
"or buildah version {} to continue",
BuildahDriver::VERSION_REQ,
),
),
},
)