summaryrefslogtreecommitdiffstats
path: root/src/runner/runc
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-09-19 20:22:02 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-09-19 20:22:02 +0200
commit6a5aea9df9183ea7ee4c7900d7c6f856df2d47b4 (patch)
tree520a3fb093844c09e887691176b501d398c80d50 /src/runner/runc
parentd644ecdcec86b6898ef6d9d8805652f204c63df1 (diff)
downloadrebel-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.rs2
-rw-r--r--src/runner/runc/spec.rs13
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
},