Environment Variables
Walsync reads configuration from environment variables and CLI options.
Required Variables
Section titled “Required Variables”| Variable | Description | Example |
|---|---|---|
AWS_ACCESS_KEY_ID | S3 access key | AKIA... or tid_... |
AWS_SECRET_ACCESS_KEY | S3 secret key | wJalr... or tsec_... |
Optional Variables
Section titled “Optional Variables”| Variable | Description | Default |
|---|---|---|
AWS_ENDPOINT_URL_S3 | Custom S3 endpoint for Tigris, R2, MinIO, etc. | AWS S3 |
AWS_REGION | AWS region | auto |
RUST_LOG | Log level and filtering | walsync=info |
Setting Variables
Section titled “Setting Variables”Shell (temporary)
Section titled “Shell (temporary)”export AWS_ACCESS_KEY_ID=tid_xxxxxexport AWS_SECRET_ACCESS_KEY=tsec_xxxxxexport AWS_ENDPOINT_URL_S3=https://fly.storage.tigris.dev.env file (development)
Section titled “.env file (development)”AWS_ACCESS_KEY_ID=tid_xxxxxAWS_SECRET_ACCESS_KEY=tsec_xxxxxAWS_ENDPOINT_URL_S3=https://fly.storage.tigris.devLoad with:
source .env# or use direnv, dotenv, etc.systemd (production)
Section titled “systemd (production)”[Service]Environment=AWS_ACCESS_KEY_ID=tid_xxxxxEnvironment=AWS_SECRET_ACCESS_KEY=tsec_xxxxxEnvironment=AWS_ENDPOINT_URL_S3=https://fly.storage.tigris.devDocker
Section titled “Docker”environment: AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_ENDPOINT_URL_S3: https://fly.storage.tigris.devFly.io
Section titled “Fly.io”fly secrets set AWS_ACCESS_KEY_ID=tid_xxxxxfly secrets set AWS_SECRET_ACCESS_KEY=tsec_xxxxxVariable Precedence
Section titled “Variable Precedence”CLI options override environment variables:
# Uses environment variableexport AWS_ENDPOINT_URL_S3=https://fly.storage.tigris.devwalsync list --bucket my-bucket
# CLI option overrides environmentwalsync list --bucket my-bucket --endpoint http://localhost:9000