# Armature - Server Environment Variables
# Copy this file to .env and fill in the values

# ── Server ───────────────────────────────────
PORT=8080
ENVIRONMENT=development
BASE_PATH=                     # e.g. /chat for path-based routing

# ── Database (PostgreSQL) ────────────────────
DB_HOST=localhost
DB_PORT=5432
DB_USER=armature
DB_PASSWORD=your-secure-password-here
DB_NAME=armature
DB_SSL_MODE=disable
DB_MAX_CONNS=25

# ── Auth ─────────────────────────────────────
JWT_SECRET=your-super-secret-jwt-key-change-in-production
# JWT durations (hardcoded in handlers/auth.go — not configurable via env):
#   Access token:  15 minutes
#   Refresh token: 7 days
JWT_ISSUER=armature

# ── Bootstrap Admin ──────────────────────────
# Creates or updates admin account on every startup.
# Set via K8s secret or env. Leave blank to skip.
ARMATURE_ADMIN_USERNAME=
ARMATURE_ADMIN_PASSWORD=

# ── Seed Users (dev/test only) ──────────────
# Pre-create users on startup. Ignored in production.
# Format: user:pass:role,user2:pass2:role2 (role = admin|user, default: user)
# Idempotent: existing usernames are skipped.
# K8s: create secret "armature-seed-users" with key "users"
SEED_USERS=

# ── CORS ─────────────────────────────────────
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080

# ── Banner (optional) ───────────────────────
# Environment classification banner.
# BANNER_TEXT=DEVELOPMENT
# BANNER_COLOR=#007a33
# BANNER_POSITION=top

# ── Logging ──────────────────────────────────
# LOG_FORMAT: "text" (default, human-readable) or "json" (structured, machine-parseable)
LOG_FORMAT=text
LOG_LEVEL=info

# ── File Storage ─────────────────────────────
# Backend: "pvc" (local filesystem), "s3" (S3-compatible), or empty (auto-detect)
STORAGE_BACKEND=
STORAGE_PATH=/data/storage

# S3 settings (only when STORAGE_BACKEND=s3)
# Works with MinIO, Ceph RGW, AWS S3.
# S3_ENDPOINT=http://minio:9000
# S3_BUCKET=armature-storage
# S3_ACCESS_KEY=
# S3_SECRET_KEY=
# S3_REGION=us-east-1
# S3_PREFIX=                    # optional key prefix for shared buckets
# S3_FORCE_PATH_STYLE=true      # required for MinIO, Ceph RGW
