# ============================================================================
# OKE architecture/load validation overlay
# This file provides DEFAULTS for keys absent from templates/agent_template_backend/.env.
# It does NOT override backend values. Use .env.loadtest for explicit overrides.
# ============================================================================
APP_ENV=oke-load-test
LOG_LEVEL=INFO

# OCI/OKE
K8S_NAMESPACE=agent-load-test
OKE_CLUSTER_OCID=ocid1.cluster.oc1..replace-me
OCI_CLI_PROFILE=DEFAULT
OCI_REGION=sa-saopaulo-1
OCI_REGION_KEY=gru
OCI_TENANCY_NAMESPACE=replace-me
OCIR_REPOSITORY_PREFIX=agent-framework-loadtest
IMAGE_TAG=loadtest
OCIR_USERNAME=<tenancy-namespace>/<usuario>
OCIR_AUTH_TOKEN=<auth-token>
OCIR_EMAIL=<email>
OCIR_PULL_SECRET_NAME=ocir-secret


# Existing OCI Load Balancer reuse. The Kubernetes service is NodePort; no new LB is created.
EXISTING_LB_OCID=ocid1.loadbalancer.oc1..replace-me
BACKEND_SET_NAME=agent-framework-loadtest
BACKEND_LISTENER_NAME=agent-framework-loadtest
BACKEND_LISTENER_PORT=8000
BACKEND_LISTENER_PROTOCOL=HTTP
BACKEND_HEALTH_PATH=/health
BACKEND_NODE_PORT=32116
LOADTEST_TARGET_MODE=external
# Optional: set this to bypass OCI CLI IP discovery.
# LOADTEST_EXTERNAL_URL=http://203.0.113.10:8000

# OCI GenAI. For OKE prefer workload identity or instance principal when available.
# Keep oci_sdk for the real end-to-end profile.
LLM_PROVIDER=oci_sdk
OCI_AUTH_MODE=oke_workload_identity

# Shared persistence: required for horizontal-scale validation.
SESSION_REPOSITORY_PROVIDER=autonomous
MEMORY_REPOSITORY_PROVIDER=autonomous
CHECKPOINT_REPOSITORY_PROVIDER=autonomous
USAGE_REPOSITORY_PROVIDER=autonomous
VECTOR_STORE_PROVIDER=autonomous
GRAPH_STORE_PROVIDER=autonomous

# Wallet is mounted by Kubernetes Secret at this fixed in-container path.
ADB_WALLET_LOCATION=/app/wallet

# Mongo-compatible endpoint / sequence store. Use the private VCN endpoint.
# IMPORTANT: standard port restored to 27017 (not 37017).
# Example only; replace host/user/password with the Autonomous/Mongo endpoint used in OCI.
MONGODB_URI=mongodb://user:password@autonomous-private-endpoint:27017/?tls=true
MONGODB_DATABASE=agent_platform
PUBSUB_SEQUENCE_PROVIDER=mongodb
PUBSUB_SEQUENCE_MONGODB_URI=mongodb://user:password@autonomous-private-endpoint:27017/?tls=true
PUBSUB_SEQUENCE_MONGODB_DATABASE=agent_platform
PUBSUB_SEQUENCE_MEMORY_FALLBACK=false

# Langfuse is installed in the same OKE cluster by deploy_langfuse.sh.
ENABLE_LANGFUSE=true
LANGFUSE_HOST=http://langfuse-web.langfuse.svc.cluster.local:3000
LANGFUSE_TRACE_MODE=compact
LANGFUSE_IGNORE_HEALTHCHECKS=true
LANGFUSE_IGNORED_PATHS=/health,/ready,/metrics

# Keep analytics disabled unless Pub/Sub is part of the test objective.
ENABLE_ANALYTICS=false

# MCP can be enabled in a second pass if you also deploy mcp-gateway.
ENABLE_MCP_TOOLS=false
MCP_GATEWAY_ENABLED=false

# Load-test deployment sizing
LOADTEST_MIN_REPLICAS=4
LOADTEST_MAX_REPLICAS=30
LOADTEST_CPU_REQUEST=500m
LOADTEST_CPU_LIMIT=2000m
LOADTEST_MEMORY_REQUEST=768Mi
LOADTEST_MEMORY_LIMIT=2Gi

# Load generator defaults
LOADTEST_TARGET=http://agent-template-backend-lb.agent-load-test.svc.cluster.local:8000
LOADTEST_AGENT_ID=telecom_contas
LOADTEST_TENANT_ID=loadtest
LOADTEST_DURATION=10m
LOADTEST_VUS=250
LOADTEST_MAX_VUS=1000
LOADTEST_RPS=100
LOADTEST_SCENARIO=unique_sessions
LOADTEST_MESSAGE=Explique em uma frase o que é uma fatura de telecom.
