@@ -30,7 +30,6 @@ function pre_config_init {
3030}
3131
3232function post_config_init {
33- # Overrides from config.sh
3433 KAYOBE_CONFIG_SECRET_PATHS_DEFAULT=(
3534 " etc/kayobe/kolla/passwords.yml"
3635 " etc/kayobe/secrets.yml"
@@ -39,25 +38,34 @@ function post_config_init {
3938 ${KAYOBE_CONFIG_SECRET_PATHS_EXTRA[@]}
4039 )
4140 KAYOBE_CONFIG_SECRET_PATHS=(" ${KAYOBE_CONFIG_SECRET_PATHS[@]:- ${KAYOBE_CONFIG_SECRET_PATHS_DEFAULT[@]} } " )
42- # TODO: could auto detect which files? e.g. "grep -irl "ANSIBLE_VAULT;1" etc/kayobe/kolla/config"
43- KAYOBE_CONFIG_VAULTED_FILES_PATHS_DEFAULT=(
44- " etc/kayobe/kolla/config/octavia/server_ca.key.pem"
45- " etc/kayobe/kolla/config/octavia/client.cert-and-key.pem"
46- " etc/kayobe/kolla/config/octavia/client_ca.key.pem"
47- " etc/kayobe/environments/$KAYOBE_ENVIRONMENT /kolla/config/octavia/client_ca.key.pem"
48- " etc/kayobe/environments/$KAYOBE_ENVIRONMENT /kolla/config/octavia/server_ca.key.pem"
49- " etc/kayobe/environments/$KAYOBE_ENVIRONMENT /kolla/config/octavia/client.cert-and-key.pem"
50- ${KAYOBE_CONFIG_VAULTED_FILES_PATHS_EXTRA[@]}
51- )
52- KAYOBE_CONFIG_VAULTED_FILES_PATHS=(" ${KAYOBE_CONFIG_VAULTED_FILES_PATHS[@]:- ${KAYOBE_CONFIG_VAULTED_FILES_PATHS_DEFAULT[@]} } " )
41+
42+ find_redacted_files " /stack/kayobe-automation-env/src/kayobe-config/etc/kayobe"
5343
5444 # Some values are currently determined dynamically from container versions
5545 export KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY:- td-agent} "
5646 export KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_VERSION=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY:- 0.14} "
5747
5848 export KAYOBE_AUTOMATION_CONFIG_DIFF_INJECT_FACTS=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_INJECT_FACTS=-0} "
5949 export KAYOBE_AUTOMATION_CONFIG_DIFF_AUTO_UNSET_ENVIRONMENT=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_AUTO_UNSET_ENVIRONMENT=-0} "
50+ }
6051
52+ function find_redacted_files {
53+ KAYOBE_CONFIG_VAULTED_FILES_PATHS=()
54+ local directory=" $1 "
55+
56+ echo $directory
57+
58+ # Search for vaulted files recursively in the directory
59+ while IFS= read -r -d ' ' file; do
60+ if grep -q " ANSIBLE_VAULT;1" " $file " ; then
61+ truncated_path=" ${file# " $directory /" } "
62+ vaulted_file=" etc/kayobe/$truncated_path "
63+ if ! [[ " ${KAYOBE_CONFIG_SECRET_PATHS_DEFAULT[*]} " =~ " $vaulted_file " ]]; then
64+ KAYOBE_CONFIG_VAULTED_FILES_PATHS+=(" etc/kayobe/$truncated_path " )
65+ fi
66+ fi
67+ done < <( find " $directory " -type f -print0)
68+ echo ${KAYOBE_CONFIG_VAULTED_FILES_PATHS[*]}
6169}
6270
6371function redact_file {
@@ -254,6 +262,7 @@ function main {
254262 # Perform same steps as above, but for the source branch
255263 # Merge in the target branch so that we don't see changes that were added since we branched.
256264 merge " $source_kayobe_config_dir " $1
265+ find_redacted_files " $source_kayobe_config_dir /etc/kayobe"
257266 create_kayobe_environment " $environment_path " " $source_kayobe_config_dir "
258267 # Supplying a reference kayobe-config will do a diff on the secrets
259268 redact_config_dir " $environment_path " " $target_kayobe_config_dir "
0 commit comments