From 640225be2d9b6ce533e6b273ea19aaafee356e1d Mon Sep 17 00:00:00 2001 From: wendrul Date: Thu, 24 Apr 2025 13:50:39 +0200 Subject: [PATCH] Rename variable --- backend/parsers/windmill-parser-yaml/src/lib.rs | 14 +++++++------- backend/windmill-worker/src/ansible_executor.rs | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/backend/parsers/windmill-parser-yaml/src/lib.rs b/backend/parsers/windmill-parser-yaml/src/lib.rs index 0a6d09947a..06adac1ee3 100644 --- a/backend/parsers/windmill-parser-yaml/src/lib.rs +++ b/backend/parsers/windmill-parser-yaml/src/lib.rs @@ -231,7 +231,7 @@ pub struct AnsibleRequirements { pub vault_password: Option, pub vault_id: Vec, pub git_repos: Vec, - pub git_ssh_identity_files: Vec, + pub git_ssh_identity: Vec, } impl Default for AnsibleRequirements { @@ -253,7 +253,7 @@ impl Default for AnsibleRequirements { vault_password: None, vault_id: vec![], git_repos: vec![], - git_ssh_identity_files: vec![], + git_ssh_identity: vec![], } } } @@ -407,20 +407,20 @@ pub fn parse_ansible_reqs( } } Yaml::String(key) if key == "git_ssh_identity" => { - let Yaml::Array(indentity_files) = &value else { + let Yaml::Array(indentities) = &value else { return Err(anyhow!( - "git_ssh_identity_files expects an array of windmill variables containing ssh IDs" + "git_ssh_identity expects an array of windmill variables (or secrets) containing ssh IDs" )); }; - for r in indentity_files { + for r in indentities { let Yaml::String(file_name) = r else { return Err(anyhow!( - "Git ssh identity file must be a string path to a Windmill variable" + "Git ssh identity file must be a string path to a Windmill variable/secret" )); }; - ret.git_ssh_identity_files.push(file_name.clone()); + ret.git_ssh_identity.push(file_name.clone()); } } Yaml::String(key) => logs.push_str(&format!("\nUnknown field `{}`. Ignoring", key)), diff --git a/backend/windmill-worker/src/ansible_executor.rs b/backend/windmill-worker/src/ansible_executor.rs index 41bbe24c3c..785d1fc868 100644 --- a/backend/windmill-worker/src/ansible_executor.rs +++ b/backend/windmill-worker/src/ansible_executor.rs @@ -727,16 +727,17 @@ pub async fn get_git_ssh_cmd( job_dir: &str, client: &AuthedClient, ) -> error::Result { - let ssh_id_files = try_join_all(reqs.git_ssh_identity_files.iter().enumerate().map( + let ssh_id_files = try_join_all(reqs.git_ssh_identity.iter().enumerate().map( async |(i, var_path)| -> error::Result { let id_file_name = format!(".ssh_id_priv_{}", i); let loc = is_allowed_file_location(job_dir, &id_file_name)?; - let content = client.get_variable_value(var_path).await.map_err(|e| { + let mut content = client.get_variable_value(var_path).await.map_err(|e| { error::Error::NotFound(format!( "Variable {var_path} not found for git ssh identity: {e:#}" )) })?; + content.push_str("\n"); let file = write_file(job_dir, &id_file_name, &content)?;