| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/usr/bin/env bash
- shopt -s nullglob
- ###
- # Check if current user is root
- #
- ##
- function rootCheck() {
- # Root check
- if [ "$(/usr/bin/whoami)" != "root" ]; then
- echo "[ERROR] $* must be run as root"
- exit 1
- fi
- }
- ###
- # Create /docker.stdout and /docker.stderr
- #
- ##
- function createDockerStdoutStderr() {
- # link stdout from docker
- if [[ -n "$LOG_STDOUT" ]]; then
- echo "Log stdout redirected to $LOG_STDOUT"
- else
- LOG_STDOUT="/proc/$$/fd/1"
- fi
- if [[ -n "$LOG_STDERR" ]]; then
- echo "Log stderr redirected to $LOG_STDERR"
- else
- LOG_STDERR="/proc/$$/fd/2"
- fi
- ln -f -s "$LOG_STDOUT" /docker.stdout
- ln -f -s "$LOG_STDERR" /docker.stderr
- }
- ###
- # Include script directory text inside a file
- #
- # $1 -> path
- #
- ##
- function includeScriptDir() {
- if [[ -d "$1" ]]; then
- for FILE in "$1"/*.sh; do
- echo "-> Executing ${FILE}"
- # run custom scripts, only once
- . "$FILE"
- done
- fi
- }
- ###
- # Show deprecation notice
- #
- ##
- function deprecationNotice() {
- echo ""
- echo "###############################################################################"
- echo "### THIS CALL IS DEPRECATED AND WILL BE REMOVED IN THE FUTURE"
- echo "###"
- echo "### $*"
- echo "###"
- echo "###############################################################################"
- echo ""
- }
- ###
- # Run "entrypoint" scripts
- ##
- function runEntrypoints() {
- ###############
- # Try to find entrypoint
- ###############
- ENTRYPOINT_SCRIPT="/opt/docker/bin/entrypoint.d/${TASK}.sh"
- if [ -f "$ENTRYPOINT_SCRIPT" ]; then
- . "$ENTRYPOINT_SCRIPT"
- fi
- ###############
- # Run default
- ###############
- if [ -f "/opt/docker/bin/entrypoint.d/default.sh" ]; then
- . /opt/docker/bin/entrypoint.d/default.sh
- fi
- exit 1
- }
- # Run "entrypoint" provisioning
- ##
- function runProvisionEntrypoint() {
- includeScriptDir "/opt/docker/provision/entrypoint.d"
- includeScriptDir "/entrypoint.d"
- }
- ###
- # List environment variables (based on prefix)
- ##
- function envListVars() {
- if [[ $# -eq 1 ]]; then
- env | grep "^${1}" | cut -d= -f1
- else
- env | cut -d= -f1
- fi
- }
- ###
- # Get environment variable (even with dots in name)
- #
- ##
- function envGetValue() {
- awk "BEGIN {print ENVIRON[\"$1\"]}"
- }
|