@@ -30,7 +30,6 @@ function pre_config_init {
30
30
}
31
31
32
32
function post_config_init {
33
- # Overrides from config.sh
34
33
KAYOBE_CONFIG_SECRET_PATHS_DEFAULT=(
35
34
" etc/kayobe/kolla/passwords.yml"
36
35
" etc/kayobe/secrets.yml"
@@ -39,25 +38,34 @@ function post_config_init {
39
38
${KAYOBE_CONFIG_SECRET_PATHS_EXTRA[@]}
40
39
)
41
40
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"
53
43
54
44
# Some values are currently determined dynamically from container versions
55
45
export KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY:- td-agent} "
56
46
export KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_VERSION=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_FLUENTD_BINARY:- 0.14} "
57
47
58
48
export KAYOBE_AUTOMATION_CONFIG_DIFF_INJECT_FACTS=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_INJECT_FACTS=-0} "
59
49
export KAYOBE_AUTOMATION_CONFIG_DIFF_AUTO_UNSET_ENVIRONMENT=" ${KAYOBE_AUTOMATION_CONFIG_DIFF_AUTO_UNSET_ENVIRONMENT=-0} "
50
+ }
60
51
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[*]}
61
69
}
62
70
63
71
function redact_file {
@@ -254,6 +262,7 @@ function main {
254
262
# Perform same steps as above, but for the source branch
255
263
# Merge in the target branch so that we don't see changes that were added since we branched.
256
264
merge " $source_kayobe_config_dir " $1
265
+ find_redacted_files " $source_kayobe_config_dir /etc/kayobe"
257
266
create_kayobe_environment " $environment_path " " $source_kayobe_config_dir "
258
267
# Supplying a reference kayobe-config will do a diff on the secrets
259
268
redact_config_dir " $environment_path " " $target_kayobe_config_dir "
0 commit comments