refactor: Create SigningDriver and CiDriver (#197)
This also includes a new `login` command. The signing and CI logic is now using the Driver trait system along with a new experimental sigstore signing driver. New static macros have also been created to make implementation management easier for `Command` usage and `Driver` trait implementation calls. --------- Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
This commit is contained in:
parent
3ecb0d3d93
commit
8ce83ba7ff
63 changed files with 6468 additions and 2083 deletions
43
process/drivers/local_driver.rs
Normal file
43
process/drivers/local_driver.rs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
use log::trace;
|
||||
use miette::bail;
|
||||
|
||||
use super::{CiDriver, Driver};
|
||||
|
||||
pub struct LocalDriver;
|
||||
|
||||
impl CiDriver for LocalDriver {
|
||||
fn on_default_branch() -> bool {
|
||||
trace!("LocalDriver::on_default_branch()");
|
||||
false
|
||||
}
|
||||
|
||||
fn keyless_cert_identity() -> miette::Result<String> {
|
||||
trace!("LocalDriver::keyless_cert_identity()");
|
||||
bail!("Keyless not supported");
|
||||
}
|
||||
|
||||
fn oidc_provider() -> miette::Result<String> {
|
||||
trace!("LocalDriver::oidc_provider()");
|
||||
bail!("Keyless not supported");
|
||||
}
|
||||
|
||||
fn generate_tags(recipe: &blue_build_recipe::Recipe) -> miette::Result<Vec<String>> {
|
||||
trace!("LocalDriver::generate_tags({recipe:?})");
|
||||
Ok(vec![format!("local-{}", Driver::get_os_version(recipe)?)])
|
||||
}
|
||||
|
||||
fn generate_image_name(recipe: &blue_build_recipe::Recipe) -> miette::Result<String> {
|
||||
trace!("LocalDriver::generate_image_name({recipe:?})");
|
||||
Ok(recipe.name.trim().to_lowercase())
|
||||
}
|
||||
|
||||
fn get_repo_url() -> miette::Result<String> {
|
||||
trace!("LocalDriver::get_repo_url()");
|
||||
Ok(String::new())
|
||||
}
|
||||
|
||||
fn get_registry() -> miette::Result<String> {
|
||||
trace!("LocalDriver::get_registry()");
|
||||
Ok(String::new())
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue