Environment variables

The library crates are configured through types and feature flags, not the environment; the environment variables below drive the test suite, the CLI’s colour handling, and the backend service discovery. Production configuration for brokers and stores is passed as constructor options (URLs, prefixes, credentials), not read from these.

Backend service discovery (tests and development)

Each backend test reads one variable, falling back to a localhost default; set XSM_REQUIRE_SERVICES=1 to make an unreachable service a panic instead of a skipped test (CI does this).

VariableDefaultServer
XSM_REDIS_URLredis://127.0.0.1:6379/Redis Streams broker and RedisStore tests
XSM_POSTGRES_URLpostgres://xsm:xsm@127.0.0.1:5432/xsmPostgresStore tests
XSM_NATS_URLnats://127.0.0.1:4222NATS (JetStream) broker tests
XSM_AMQP_URLamqp://guest:guest@127.0.0.1:5672/%2fRabbitMQ broker tests
XSM_SQS_ENDPOINThttp://127.0.0.1:9324SQS-compatible endpoint (e.g. ElasticMQ)
XSM_PYTHON(sibling checkout)Python interpreter with the library, for cross-language tests
XSM_REQUIRE_SERVICESunset1 forbids backend tests from skipping

CLI output

xsm writes plain text when piped; --no-color, NO_COLOR and XSM_NO_COLOR all disable colour, and TERM=dumb suppresses box-drawing characters.

See the feature flags page for the Cargo features that gate each backend.