muyu-apiserver/deploy/entrypoint.sh

28 lines
698 B
Bash
Raw Normal View History

#!/bin/sh
# Substitute environment variables in YAML config templates before starting the service.
# Usage: entrypoint.sh <binary> -f <config.yaml>
#
# The YAML file is treated as a template with ${VAR} placeholders.
# envsubst replaces them with actual environment variable values at container start time.
set -e
BINARY="$1"
shift
CONFIG_FILE=""
for arg in "$@"; do
case "$prev" in
-f) CONFIG_FILE="$arg" ;;
esac
prev="$arg"
done
if [ -n "$CONFIG_FILE" ] && [ -f "$CONFIG_FILE" ]; then
# Replace ${VAR} placeholders with environment variable values
envsubst < "$CONFIG_FILE" > "${CONFIG_FILE}.tmp"
mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
fi
exec "$BINARY" "$@"