From e17388869274e364c4f43285aabdc60b51f00c1e Mon Sep 17 00:00:00 2001 From: Timo Schneider Date: Thu, 13 Jun 2024 22:36:57 +0200 Subject: [PATCH] more tests --- entrypoint.sh | 62 +++++++++++++++++++++++++++++++++++++++----- src/config/config.js | 2 +- src/index.js | 1 - 3 files changed, 56 insertions(+), 9 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5fad3d2..546271b 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,12 +1,60 @@ #!/bin/sh +# vim:sw=4:ts=4:et -# Generate the config.js file -cat < /usr/share/nginx/html/config.js -window._env_ = { - REACT_APP_API_HOSTNAME: "${REACT_APP_API_HOSTNAME}" - REACT_APP_KC_HOSTNAME: "${REACT_APP_KC_HOSTNAME}" -}; -EOF +set -e + +if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then + exec 3>&1 +else + exec 3>/dev/null +fi + +if [ "$1" = "nginx" -o "$1" = "nginx-debug" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then + echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration" + + echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/" + find "/docker-entrypoint.d/" -follow -type f -print | sort -n | while read -r f; do + case "$f" in + *.sh) + if [ -x "$f" ]; then + echo >&3 "$0: Launching $f"; + "$f" + else + # warn on shell scripts without exec bit + echo >&3 "$0: Ignoring $f, not executable"; + fi + ;; + *) echo >&3 "$0: Ignoring $f";; + esac + done + + echo >&3 "$0: Configuration complete; ready for start up" + else + echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration" + fi +fi + +# Set up endpoint for env retrieval +echo "window._env_ = {" > /usr/share/nginx/html/env_config.js + +# Collect enviroment variables for react +eval enviroment_variables="$(env | grep REACT_APP.*=)" + +# Loop over variables +env | grep REACT_APP.*= | while read -r line; +do + printf "%s',\n" $line | sed "s/=/:'/" >> /usr/share/nginx/html/env_config.js + + # Notify the user + printf "Env variable %s' was injected into React App. \n" $line | sed "0,/=/{s//:'/}" + +done + +# End the object creation +echo "}" >> /usr/share/nginx/html/env_config.js + +echo "Enviroment Variable Injection Complete." # Start Nginx nginx -g "daemon off;" \ No newline at end of file diff --git a/src/config/config.js b/src/config/config.js index d33b293..954df94 100644 --- a/src/config/config.js +++ b/src/config/config.js @@ -1,5 +1,5 @@ const getConfig = () => { - console.log(window._env_) + console.log(window._env_); return window._env_ || {}; } diff --git a/src/index.js b/src/index.js index bbd46b4..12cfaef 100644 --- a/src/index.js +++ b/src/index.js @@ -21,7 +21,6 @@ axios.interceptors.request.use( const root = ReactDOM.createRoot(document.getElementById('root')); root.render( - );