feat: inject cli state values (--state-values-set) into environment templating context (#1917)

* feat: inject cli state values (--state-values-set) into environment templating context

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* test: added envvals_loader unit test for environment values

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* test: added 'state values set cli args in environments' integration test

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* fix: merge environments before loadValuesEntries

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

* fix: 'state values set cli args in environments' integration test

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>

---------

Signed-off-by: Vincent Chenal <vincent.chenal@protonmail.com>
This commit is contained in:
Vince-Chenal
2025-02-14 20:49:07 +08:00
committed by GitHub
parent 0d863b3c05
commit e33b4725ea
10 changed files with 69 additions and 2 deletions
@@ -0,0 +1,14 @@
state_values_set_cli_args_in_environments_input_dir="${cases_dir}/state-values-set-cli-args-in-environments/input"
state_values_set_cli_args_in_environments_output_dir="${cases_dir}/state-values-set-cli-args-in-environments/output"
state_values_set_cli_args_in_environments_tmp=$(mktemp -d)
state_values_set_cli_args_in_environments_reverse=${state_values_set_cli_args_in_environments_tmp}/state.values.set.cli.args.build.yaml
test_start "state values set cli args in environments"
info "Comparing state values set cli args environments output ${state_values_set_cli_args_in_environments_reverse} with ${state_values_set_cli_args_in_environments_output_dir}/output.yaml"
${helmfile} -f ${state_values_set_cli_args_in_environments_input_dir}/helmfile.yaml.gotmpl template $(cat "$state_values_set_cli_args_in_environments_input_dir/helmfile-extra-args") --skip-deps > "${state_values_set_cli_args_in_environments_reverse}" || fail "\"helmfile template\" shouldn't fail"
./dyff between -bs "${state_values_set_cli_args_in_environments_output_dir}/output.yaml" "${state_values_set_cli_args_in_environments_reverse}" || fail "\"helmfile template\" should be consistent"
echo code=$?
test_pass "state values set cli args in environments"