From 6daed23b62813f91fd7d86a2941e83aa37f20e18 Mon Sep 17 00:00:00 2001 From: Andrew Kenworthy Date: Fri, 21 Jun 2024 11:39:36 +0200 Subject: [PATCH] refactored duplicate code --- rust/operator-binary/src/env_vars.rs | 62 +++++++++++----------------- 1 file changed, 24 insertions(+), 38 deletions(-) diff --git a/rust/operator-binary/src/env_vars.rs b/rust/operator-binary/src/env_vars.rs index 0ae51d31..1a4318ab 100644 --- a/rust/operator-binary/src/env_vars.rs +++ b/rust/operator-binary/src/env_vars.rs @@ -303,25 +303,7 @@ pub fn build_gitsync_statefulset_envs( if let Some(git_env) = rolegroup_config.get(&PropertyNameKind::Env) { for (k, v) in git_env.iter() { - if k.eq_ignore_ascii_case(AirflowConfig::GIT_CREDENTIALS_SECRET_PROPERTY) { - env.insert( - GITSYNC_USERNAME.to_string(), - env_var_from_secret(GITSYNC_USERNAME, k, "user"), - ); - env.insert( - GITSYNC_PASSWORD.to_string(), - env_var_from_secret(GITSYNC_PASSWORD, k, "password"), - ); - } else { - env.insert( - k.to_string(), - EnvVar { - name: k.to_string(), - value: Some(v.to_string()), - ..Default::default() - }, - ); - } + gitsync_vars_map(k, &mut env, v); } } @@ -423,31 +405,35 @@ pub fn build_gitsync_template(env_overrides: &HashMap) -> Vec = BTreeMap::new(); for (k, v) in env_overrides.iter().collect::>() { - if k.eq_ignore_ascii_case(AirflowConfig::GIT_CREDENTIALS_SECRET_PROPERTY) { - env.insert( - GITSYNC_USERNAME.to_string(), - env_var_from_secret(GITSYNC_USERNAME, k, "user"), - ); - env.insert( - GITSYNC_PASSWORD.to_string(), - env_var_from_secret(GITSYNC_PASSWORD, k, "password"), - ); - } else { - env.insert( - k.to_string(), - EnvVar { - name: k.to_string(), - value: Some(v.to_string()), - ..Default::default() - }, - ); - } + gitsync_vars_map(k, &mut env, v); } tracing::debug!("Env-var set [{:?}]", env); transform_map_to_vec(env) } +fn gitsync_vars_map(k: &String, env: &mut BTreeMap, v: &String) { + if k.eq_ignore_ascii_case(AirflowConfig::GIT_CREDENTIALS_SECRET_PROPERTY) { + env.insert( + GITSYNC_USERNAME.to_string(), + env_var_from_secret(GITSYNC_USERNAME, k, "user"), + ); + env.insert( + GITSYNC_PASSWORD.to_string(), + env_var_from_secret(GITSYNC_PASSWORD, k, "password"), + ); + } else { + env.insert( + k.to_string(), + EnvVar { + name: k.to_string(), + value: Some(v.to_string()), + ..Default::default() + }, + ); + } +} + // Internally the environment variable collection uses a map so that overrides can actually // override existing keys. The returned collection will be a vector. fn transform_map_to_vec(env_map: BTreeMap) -> Vec {