amduat-api/src/config.sh

56 lines
2.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
amduat_config_load() {
local root_dir
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
local override_sock="${SOCK:-}"
local override_base="${BASE:-}"
local override_space="${SPACE:-}"
local override_sync_limit="${SYNC_LIMIT:-}"
local override_sync_wait_ms="${SYNC_WAIT_MS:-}"
local override_cursor_file="${CURSOR_FILE:-}"
local override_retry_max_attempts="${RETRY_MAX_ATTEMPTS:-}"
local override_retry_initial_ms="${RETRY_INITIAL_MS:-}"
local override_retry_max_ms="${RETRY_MAX_MS:-}"
local override_connect_timeout="${CURL_CONNECT_TIMEOUT_SECONDS:-}"
local override_max_time="${CURL_MAX_TIME_SECONDS:-}"
local env_file="${root_dir}/config/env.local"
if [[ ! -f "${env_file}" ]]; then
env_file="${root_dir}/config/env.example"
fi
# shellcheck source=/dev/null
source "${env_file}"
if [[ -n "${override_sock}" ]]; then SOCK="${override_sock}"; fi
if [[ -n "${override_base}" ]]; then BASE="${override_base}"; fi
if [[ -n "${override_space}" ]]; then SPACE="${override_space}"; fi
if [[ -n "${override_sync_limit}" ]]; then SYNC_LIMIT="${override_sync_limit}"; fi
if [[ -n "${override_sync_wait_ms}" ]]; then SYNC_WAIT_MS="${override_sync_wait_ms}"; fi
if [[ -n "${override_cursor_file}" ]]; then CURSOR_FILE="${override_cursor_file}"; fi
if [[ -n "${override_retry_max_attempts}" ]]; then RETRY_MAX_ATTEMPTS="${override_retry_max_attempts}"; fi
if [[ -n "${override_retry_initial_ms}" ]]; then RETRY_INITIAL_MS="${override_retry_initial_ms}"; fi
if [[ -n "${override_retry_max_ms}" ]]; then RETRY_MAX_MS="${override_retry_max_ms}"; fi
if [[ -n "${override_connect_timeout}" ]]; then CURL_CONNECT_TIMEOUT_SECONDS="${override_connect_timeout}"; fi
if [[ -n "${override_max_time}" ]]; then CURL_MAX_TIME_SECONDS="${override_max_time}"; fi
SOCK="${SOCK:-../amduatd.sock}"
BASE="${BASE:-http://localhost}"
SPACE="${SPACE:-app1}"
SYNC_LIMIT="${SYNC_LIMIT:-200}"
SYNC_WAIT_MS="${SYNC_WAIT_MS:-15000}"
CURSOR_FILE="${CURSOR_FILE:-${root_dir}/.cursor}"
if [[ "${CURSOR_FILE}" != /* ]]; then
CURSOR_FILE="${root_dir}/${CURSOR_FILE}"
fi
RETRY_MAX_ATTEMPTS="${RETRY_MAX_ATTEMPTS:-4}"
RETRY_INITIAL_MS="${RETRY_INITIAL_MS:-200}"
RETRY_MAX_MS="${RETRY_MAX_MS:-2000}"
CURL_CONNECT_TIMEOUT_SECONDS="${CURL_CONNECT_TIMEOUT_SECONDS:-2}"
CURL_MAX_TIME_SECONDS="${CURL_MAX_TIME_SECONDS:-30}"
}