Skip to content

Several config.ts environment variables are missing from .env.example (TX retry tuning, DB pool, cron/shutdown timing) #427

Description

@abayomicornelius

Where: .env.example vs. src/config.ts.

What's wrong: .env.example is otherwise quite thorough (it documents
Stellar/HTTP/rate-limit/IP-whitelist/request-signing/APM/circuit-breaker/
logging/CSRF/secrets-management vars in detail), but several fields
config.ts actually resolves from the environment have no corresponding
entry:

TX_MAX_RETRIES: numEnv("TX_MAX_RETRIES", 4),
TX_RETRY_BASE_DELAY_MS: numEnv("TX_RETRY_BASE_DELAY_MS", 200),
TX_RETRY_MAX_DELAY_MS: numEnv("TX_RETRY_MAX_DELAY_MS", 10000),
DB_POOL_MIN: numEnv("DB_POOL_MIN", 2),
DB_POOL_MAX: numEnv("DB_POOL_MAX", 10),
DB_POOL_ACQUIRE_TIMEOUT_MS: numEnv("DB_POOL_ACQUIRE_TIMEOUT_MS", 5000),
DB_POOL_HEALTH_CHECK_INTERVAL_MS: numEnv("DB_POOL_HEALTH_CHECK_INTERVAL_MS", 30000),
CRON_TIMEZONE: optionalEnv("CRON_TIMEZONE", "UTC"),
CRON_FAILURE_THRESHOLD: floatEnv("CRON_FAILURE_THRESHOLD", 0.5),
SHUTDOWN_TIMEOUT_MS: numEnv("SHUTDOWN_TIMEOUT_MS", 30000),

None of TX_MAX_RETRIES, TX_RETRY_BASE_DELAY_MS, TX_RETRY_MAX_DELAY_MS,
DB_POOL_MIN, DB_POOL_MAX, DB_POOL_ACQUIRE_TIMEOUT_MS,
DB_POOL_HEALTH_CHECK_INTERVAL_MS, CRON_TIMEZONE, or
CRON_FAILURE_THRESHOLD/SHUTDOWN_TIMEOUT_MS appear in .env.example
(these are separate from the DB_HOST/DB_PORT/DB_NAME/DB_USER/
DB_PASSWORD knexfile.ts variables already filed separately — these are
config.ts-resolved pool-sizing knobs for the Stellar RPC connection
pool in lib/db-pool.ts, not the Postgres migration connection). An
operator tuning transaction retry behavior, RPC pool sizing, cron
timezone, or graceful-shutdown timeout has no documented starting point or
default value visible without reading config.ts source directly.

Suggested fix: add these to .env.example with their real defaults,
matching the documentation style already used for every other section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationlowCosmetic, minor improvement, code quality, documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions