- stream file upload - remove base 64 encoding - dtpm grpc compression - increase retry attempts while app deployment - improve ux while deploying with progress update - new actix static server package - updated config with directory sample - updated Dtpm client connection - remove mr_signer from connetion - reuse dtpm client connection
37 lines
1.1 KiB
Rust
37 lines
1.1 KiB
Rust
use crate::config::Config;
|
|
use std::process::Command;
|
|
|
|
pub fn package_enclave(
|
|
items: Vec<String>,
|
|
package_type: &str,
|
|
) -> Result<i32, Box<dyn std::error::Error>> {
|
|
let package_items = items
|
|
.into_iter()
|
|
.map(|item| item.strip_prefix("./").unwrap_or(&item).to_owned())
|
|
.collect::<Vec<_>>()
|
|
.join(" ");
|
|
|
|
let signing_key_path = Config::mrsigner_key_path()?;
|
|
let hratls_key_path = Config::hratls_key_path()?;
|
|
|
|
let docker_package_str = if package_type == "public" {
|
|
format!(
|
|
r#"docker run --rm -it -v ./:/app/ \
|
|
-v {signing_key_path}:/keys/app_signing_key.pem:ro \
|
|
noormohammedb/enclave_packager_01:pub_v5 {package_items}"#
|
|
)
|
|
} else {
|
|
format!(
|
|
r#"docker run --rm -it -v ./:/app/ \
|
|
-v {signing_key_path}:/keys/app_signing_key.pem:ro \
|
|
-v {hratls_key_path}:/keys/hratls_private_key.pem:ro \
|
|
noormohammedb/enclave_packager_01:v1 {package_items}"#
|
|
)
|
|
};
|
|
|
|
let mut child = Command::new("sh").arg("-c").arg(docker_package_str).spawn()?;
|
|
|
|
let exit = child.wait()?;
|
|
Ok(exit.code().ok_or("Could not get exit code")?)
|
|
}
|