48 lines
1.9 KiB
Bash
Executable File
48 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Construct DATABASE_URL from individual vars if not set directly
|
|
if [[ -z "${DATABASE_URL}" ]]; then
|
|
if [[ -z "${PG_USER}" || -z "${PG_PASSWORD}" || -z "${PG_HOST}" || -z "${PG_DBNAME}" ]]; then
|
|
echo "ERROR: DATABASE_URL not set and one of PG_USER/PG_PASSWORD/PG_HOST/PG_DBNAME missing"
|
|
exit 1
|
|
fi
|
|
export DATABASE_URL="postgresql://${PG_USER}:${PG_PASSWORD}@${PG_HOST}:${PG_PORT:-5432}/${PG_DBNAME}?sslmode=${PG_SSLMODE:-disable}"
|
|
echo "Constructed DATABASE_URL: ${DATABASE_URL}"
|
|
fi
|
|
|
|
# Strip single quotes from defaults (Alpine bash keeps them)
|
|
adapter_send_timeout=$(echo "${adapter_send_timeout:-'30s'}" | tr -d "'")
|
|
web_listen_address=$(echo "${web_listen_address:-':9201'}" | tr -d "'")
|
|
web_telemetry_path=$(echo "${web_telemetry_path:-'/metrics'}" | tr -d "'")
|
|
log_level=$(echo "${log_level:-'info'}" | tr -d "'")
|
|
log_format=$(echo "${log_format:-'logfmt'}" | tr -d "'")
|
|
pg_partition=$(echo "${pg_partition:-'hourly'}" | tr -d "'")
|
|
pg_commit_secs=${pg_commit_secs:-30}
|
|
pg_commit_rows=${pg_commit_rows:-20000}
|
|
pg_threads="${pg_threads:-1}"
|
|
parser_threads="${parser_threads:-5}"
|
|
|
|
echo "/usr/local/bin/postgresql-prometheus-adapter \
|
|
--adapter-send-timeout=${adapter_send_timeout} \
|
|
--web-listen-address=${web_listen_address} \
|
|
--web-telemetry-path=${web_telemetry_path} \
|
|
--log.level=${log_level} \
|
|
--log.format=${log_format} \
|
|
--pg-partition=${pg_partition} \
|
|
--pg-commit-secs=${pg_commit_secs} \
|
|
--pg-commit-rows=${pg_commit_rows} \
|
|
--pg-threads=${pg_threads} \
|
|
--parser-threads=${parser_threads}"
|
|
|
|
/usr/local/bin/postgresql-prometheus-adapter \
|
|
--adapter-send-timeout=${adapter_send_timeout} \
|
|
--web-listen-address=${web_listen_address} \
|
|
--web-telemetry-path=${web_telemetry_path} \
|
|
--log.level=${log_level} \
|
|
--log.format=${log_format} \
|
|
--pg-partition=${pg_partition} \
|
|
--pg-commit-secs=${pg_commit_secs} \
|
|
--pg-commit-rows=${pg_commit_rows} \
|
|
--pg-threads=${pg_threads} \
|
|
--parser-threads=${parser_threads} |