Skip to content
Snippets Groups Projects
Select Git revision
  • 7856b94a074bc6687ed04c33bd6d178f0967c101
  • master default
  • M12
3 results

entrypoint.sh

Blame
  • entrypoint.sh 1.19 KiB
    #!/bin/bash
    
    echo "The application will start in ${JHIPSTER_SLEEP}s..." && sleep ${JHIPSTER_SLEEP}
    
    # usage: file_env VAR [DEFAULT]
    #    ie: file_env 'XYZ_DB_PASSWORD' 'example'
    # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
    #  "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
    file_env() {
        local var="$1"
        local fileVar="${var}_FILE"
        local def="${2:-}"
        if [[ ${!var:-} && ${!fileVar:-} ]]; then
            echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
            exit 1
        fi
        local val="$def"
        if [[ ${!var:-} ]]; then
            val="${!var}"
        elif [[ ${!fileVar:-} ]]; then
            val="$(< "${!fileVar}")"
        fi
    
        if [[ -n $val ]]; then
            export "$var"="$val"
        fi
    
        unset "$fileVar"
    }
    
    file_env 'SPRING_DATASOURCE_URL'
    file_env 'SPRING_DATASOURCE_USERNAME'
    file_env 'SPRING_DATASOURCE_PASSWORD'
    file_env 'SPRING_LIQUIBASE_URL'
    file_env 'SPRING_LIQUIBASE_USER'
    file_env 'SPRING_LIQUIBASE_PASSWORD'
    file_env 'JHIPSTER_REGISTRY_PASSWORD'
    
    exec java ${JAVA_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -cp /app/resources/:/app/classes/:/app/libs/* "com.emerald.rcm.backend.RcmBackendApp"  "$@"