diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-09-19 20:22:02 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-09-19 20:22:02 +0200 |
commit | 6a5aea9df9183ea7ee4c7900d7c6f856df2d47b4 (patch) | |
tree | 520a3fb093844c09e887691176b501d398c80d50 /src/runner/runc | |
parent | d644ecdcec86b6898ef6d9d8805652f204c63df1 (diff) | |
download | rebel-6a5aea9df9183ea7ee4c7900d7c6f856df2d47b4.tar rebel-6a5aea9df9183ea7ee4c7900d7c6f856df2d47b4.zip |
Switch back to static container environment
We have moved all variables to task arguments, so only the very basics
are left in the container environment.
Diffstat (limited to 'src/runner/runc')
-rw-r--r-- | src/runner/runc/run.rs | 2 | ||||
-rw-r--r-- | src/runner/runc/spec.rs | 13 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/runner/runc/run.rs b/src/runner/runc/run.rs index b81f8f1..7351849 100644 --- a/src/runner/runc/run.rs +++ b/src/runner/runc/run.rs @@ -218,7 +218,7 @@ pub fn handle_task(task: runner::Task) -> Result<HashMap<String, ArchiveHash>> { let task_tmp_dir = paths::task_tmp_dir(&task.input_hash); - spec::generate_spec(task.command.as_str(), &task.env) + spec::generate_spec(task.command.as_str()) .save(paths::join(&[&task_tmp_dir, "config.json"])) .map_err(Error::new) .context("Failed to save runtime config")?; diff --git a/src/runner/runc/spec.rs b/src/runner/runc/spec.rs index aa1d7d6..8afeaeb 100644 --- a/src/runner/runc/spec.rs +++ b/src/runner/runc/spec.rs @@ -1,14 +1,10 @@ -use std::collections::HashMap; - use oci_spec::runtime; -use serde::Deserialize; use serde_json::json; use crate::{paths, unshare}; -pub fn generate_spec(command: &str, env: &HashMap<String, String>) -> runtime::Spec { - let env_entries: Vec<String> = env.iter().map(|(k, v)| format!("{}={}", k, v)).collect(); - runtime::Spec::deserialize(json!({ +pub fn generate_spec(command: &str) -> runtime::Spec { + serde_json::from_value(json!({ "ociVersion": "1.0.2", "process": { "terminal": false, @@ -21,7 +17,10 @@ pub fn generate_spec(command: &str, env: &HashMap<String, String>) -> runtime::S "-ec", command ], - "env": env_entries, + "env": [ + "PATH=/usr/sbin:/usr/bin:/sbin:/bin", + "HOME=/build", + ], "cwd": paths::abs(paths::WORKDIR_PREFIX), "noNewPrivileges": true }, |