diff --git a/.hadolint.yaml b/.hadolint.yaml new file mode 100644 index 00000000..e49005f3 --- /dev/null +++ b/.hadolint.yaml @@ -0,0 +1,3 @@ +ignored: + - DL3059 + - SC1091 diff --git a/Dockerfile b/Dockerfile index 871fd09d..79e6b8f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,4 +80,8 @@ RUN chmod 700 /usr/sbin/start_admin_session ENV PYTHONPATH="${PYTHON_DEPENDENCIES_DIR}:${PYTHONPATH}" ENV PATH="${PYTHON_DEPENDENCIES_DIR}/bin:${PATH}" +# Copy environment variables startup script +COPY setenv.sh /var/nebra/setenv.sh +RUN . /var/nebra/setenv.sh + ENTRYPOINT ["gunicorn", "--bind", "0.0.0.0:5000", "--timeout", "300", "hw_diag.wsgi:wsgi_app"] diff --git a/setenv.sh b/setenv.sh new file mode 100755 index 00000000..88aae968 --- /dev/null +++ b/setenv.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +freq_file_name="/var/nebra/envvars/FREQ" +variant_file_name="/var/nebra/envvars/VARIANT" + +# Create necessary folder if it doesn't exist +if [ ! -d "/var/nebra/envvars" ]; then + mkdir "/var/nebra/envvars" +fi + +#FREQ +if [ -z ${FREQ+x} ]; then + if [ -f ${freq_file_name} ]; then + FREQ=$(<${freq_file_name}); + export FREQ=${FREQ} + echo "FREQ is set as ${FREQ}"; + else + echo "Error: Cannot set FREQ variable."; + fi +else + echo "FREQ variable is already set as ${FREQ}."; + if [ ! -f ${freq_file_name} ]; then + echo "FREQ parameter file doesn't exist. Setting it as ${FREQ} now."; + echo "${FREQ}" > ${freq_file_name} + fi +fi + +#VARIANT +if [ -z ${VARIANT+x} ]; then + if [ -f ${variant_file_name} ]; then + VARIANT=$(<${variant_file_name}); + export VARIANT=${VARIANT} + echo "VARIANT is set as ${VARIANT}"; + else + echo "Error: Cannot set VARIANT variable."; + fi +else + echo "VARIANT variable is already set as ${VARIANT}."; + if [ ! -f ${variant_file_name} ]; then + echo "VARIANT parameter file doesn't exist. Setting it as ${VARIANT} now."; + echo "${VARIANT}" > ${variant_file_name} + fi +fi