Skip to content
This repository has been archived by the owner on Sep 7, 2018. It is now read-only.

Commit

Permalink
Merge pull request #166 from efrecon/master
Browse files Browse the repository at this point in the history
Support for env variables ending with _FILE

Closes #149
  • Loading branch information
xlson authored Jun 1, 2018
2 parents 113978c + 88c6d2f commit 89b7c50
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,20 @@ if [ ! -z ${GF_AWS_PROFILES+x} ]; then
chmod 600 "$GF_PATHS_HOME/.aws/credentials"
fi

# Convert all environment variables with names ending in _FILE into the content of
# the file that they point at and use the name without the trailing _FILE.
# This can be used to carry in Docker secrets.
for VAR_NAME in $(env | grep '^GF_[^=]\+_FILE=.\+' | sed -r "s/([^=]*)_FILE=.*/\1/g"); do
VAR_NAME_FILE="$VAR_NAME"_FILE
if [ "${!VAR_NAME}" ]; then
echo >&2 "ERROR: Both $VAR_NAME and $VAR_NAME_FILE are set (but are exclusive)"
exit 1
fi
echo "Getting secret $VAR_NAME from ${!VAR_NAME_FILE}"
export "$VAR_NAME"="$(< "${!VAR_NAME_FILE}")"
unset "$VAR_NAME_FILE"
done

export HOME="$GF_PATHS_HOME"

if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then
Expand All @@ -65,4 +79,4 @@ exec grafana-server \
cfg:default.paths.data="$GF_PATHS_DATA" \
cfg:default.paths.logs="$GF_PATHS_LOGS" \
cfg:default.paths.plugins="$GF_PATHS_PLUGINS" \
cfg:default.paths.provisioning="$GF_PATHS_PROVISIONING"
cfg:default.paths.provisioning="$GF_PATHS_PROVISIONING"

0 comments on commit 89b7c50

Please sign in to comment.