2
0

Make secret key generation idempotent (#390)

Only generate secret key if not set
This commit is contained in:
Rob Nieuwenhuizen 2020-02-25 14:08:13 +01:00 committed by GitHub
parent 9dfc5c99de
commit 3e0ca482c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -90,14 +90,16 @@ ensure_file_from_example $SENTRY_CONFIG_PY
ensure_file_from_example $SENTRY_CONFIG_YML ensure_file_from_example $SENTRY_CONFIG_YML
ensure_file_from_example $SENTRY_EXTRA_REQUIREMENTS ensure_file_from_example $SENTRY_EXTRA_REQUIREMENTS
echo "" if grep -xq "system.secret-key: '!!changeme!!'" $SENTRY_CONFIG_YML ; then
echo "Generating secret key..." echo ""
# This is to escape the secret key to be used in sed below echo "Generating secret key..."
# Note the need to set LC_ALL=C due to BSD tr and sed always trying to decode # This is to escape the secret key to be used in sed below
# whatever is passed to them. Kudos to https://stackoverflow.com/a/23584470/90297 # Note the need to set LC_ALL=C due to BSD tr and sed always trying to decode
SECRET_KEY=$(export LC_ALL=C; head /dev/urandom | tr -dc "a-z0-9@#%^&*(-_=+)" | head -c 50 | sed -e 's/[\/&]/\\&/g') # whatever is passed to them. Kudos to https://stackoverflow.com/a/23584470/90297
sed -i -e 's/^system.secret-key:.*$/system.secret-key: '"'$SECRET_KEY'"'/' $SENTRY_CONFIG_YML SECRET_KEY=$(export LC_ALL=C; head /dev/urandom | tr -dc "a-z0-9@#%^&*(-_=+)" | head -c 50 | sed -e 's/[\/&]/\\&/g')
echo "Secret key written to $SENTRY_CONFIG_YML" sed -i -e 's/^system.secret-key:.*$/system.secret-key: '"'$SECRET_KEY'"'/' $SENTRY_CONFIG_YML
echo "Secret key written to $SENTRY_CONFIG_YML"
fi
echo "" echo ""
echo "Building and tagging Docker images..." echo "Building and tagging Docker images..."