File tree Expand file tree Collapse file tree 1 file changed +17
-9
lines changed Expand file tree Collapse file tree 1 file changed +17
-9
lines changed Original file line number Diff line number Diff line change @@ -122,16 +122,24 @@ run_internal_process() {
122122
123123prepare_agent_conf () {
124124 AGENT_CONF_FILE=" /noobaa_storage/agent_conf.json"
125- if [ -z ${AGENT_CONFIG} ]
126- then
127- echo " AGENT_CONFIG is required ENV variable. AGENT_CONFIG is missing. Exit"
125+
126+ [ -f " $AGENT_CONF_FILE " ] && return 0
127+
128+ # get AGENT_CONFIG from env var or file
129+ AGENT_CONFIG_PATH=${AGENT_CONFIG_PATH:- " /etc/agent-config/agent_config" }
130+ AGENT_CONFIG=${AGENT_CONFIG:- $(cat " $AGENT_CONFIG_PATH " 2>/ dev/ null || echo " " )}
131+
132+ if [ -z " ${AGENT_CONFIG} " ]; then
133+ echo " AGENT_CONFIG is required. AGENT_CONFIG is not found in env or $AGENT_CONFIG_PATH . Exit"
128134 exit 1
129- else
130- echo " Got base64 agent_conf: ${AGENT_CONFIG} "
131- if [ ! -f $AGENT_CONF_FILE ]; then
132- openssl enc -base64 -d -A <<< ${AGENT_CONFIG} > ${AGENT_CONF_FILE}
133- fi
134- echo " Written agent_conf.json: $( cat ${AGENT_CONF_FILE} ) "
135+ fi
136+
137+ # write agent config - decode base64 if not a valid JSON format
138+ if ! echo " ${AGENT_CONFIG} " | jq . > " $AGENT_CONF_FILE " 2> /dev/null; then
139+ openssl enc -base64 -d -A <<< " ${AGENT_CONFIG}" > " $AGENT_CONF_FILE " || {
140+ echo " AGENT_CONFIG format is invalid. AGENT_CONFIG must be valid JSON or base64 encoded JSON. Exit"
141+ exit 1
142+ }
135143 fi
136144}
137145
You can’t perform that action at this time.
0 commit comments