#!/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}" }