# Single source of truth for local-infra ports, hosts, and credentials.
#
# Loaded by:
#   * docker compose (auto-loads .env from the project dir when invoked as
#     `docker compose -f infra/docker-compose.yml ...`).
#   * Python: `from infra._settings import MINIO_PORT, ...`.
#   * CI workflows: `set -a; . infra/.env; set +a` then use $VAR in -p flags.
#
# Container internal ports stay at upstream defaults (MinIO 9000/9001,
# Azurite 10000, SFTP 22, Toxiproxy 8474). Only host-side mappings live
# here.
#
# This file is NOT a secrets file. The credentials below are public defaults
# baked into the test containers (atmoz/sftp benchuser/benchpass, MinIO
# minioadmin). Real secrets live elsewhere (`.env.local`, environment
# variables, GitHub Actions secrets) and never enter this file.

# MinIO (host ports moved off 9000/9001 to clear the VSCode Jupyter scan
# band; container still serves on 9000/9001 internally).
MINIO_HOST=127.0.0.1
MINIO_HOST_PORT=19100
MINIO_CONSOLE_HOST_PORT=19101
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin

# Azurite (Azure Blob emulator)
AZURITE_HOST=127.0.0.1
AZURITE_HOST_PORT=10000

# SFTP (atmoz/sftp Docker image)
SFTP_HOST=127.0.0.1
SFTP_HOST_PORT=2222
SFTP_USER=benchuser
SFTP_PASS=benchpass

# Legacy SFTP (ssh-rsa-only, built from infra/legacy-sftp/)
LEGACY_SFTP_HOST=127.0.0.1
LEGACY_SFTP_HOST_PORT=2223
LEGACY_SFTP_USER=legacyuser
LEGACY_SFTP_PASS=legacypass

# Toxiproxy (proxied listeners in front of each backend for latency
# simulation)
TOXIPROXY_HOST=127.0.0.1
TOXIPROXY_API_PORT=8474
TOXIPROXY_MINIO_PORT=19000
TOXIPROXY_SFTP_PORT=12222
TOXIPROXY_AZURITE_PORT=10001
