Skip to content

Commit

Permalink
refactored duplicate code
Browse files Browse the repository at this point in the history
  • Loading branch information
adwk67 committed Jun 21, 2024
1 parent 048d888 commit 6daed23
Showing 1 changed file with 24 additions and 38 deletions.
62 changes: 24 additions & 38 deletions rust/operator-binary/src/env_vars.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}

Expand Down Expand Up @@ -423,31 +405,35 @@ pub fn build_gitsync_template(env_overrides: &HashMap<String, String>) -> Vec<En
let mut env: BTreeMap<String, EnvVar> = BTreeMap::new();

for (k, v) in env_overrides.iter().collect::<BTreeMap<_, _>>() {
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<String, EnvVar>, 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<String, EnvVar>) -> Vec<EnvVar> {
Expand Down

0 comments on commit 6daed23

Please sign in to comment.