MATIH Platform is in active MVP development. Documentation reflects current implementation status.
20. Appendices & Reference
Environment Variables

Environment Variables

This section documents every environment variable used across the MATIH Enterprise Platform. Variables are organized by concern (database, cache, messaging, security, LLM, etc.) and then by service-specific variables. In production, all sensitive values are provided via Kubernetes Secrets, never hardcoded.


Secret Management Principle

Environment variables containing sensitive data (passwords, API keys, tokens) are never stored in values.yaml, values-dev.yaml, or any file committed to version control. They are injected into pods via Kubernetes secretKeyRef:

env:
  - name: DATABASE_PASSWORD
    valueFrom:
      secretKeyRef:
        name: ai-service-db-credentials
        key: password

In development, secrets are created by scripts/lib/k8s/dev-secrets.sh. In production, secrets are synced from cloud key vaults (Azure Key Vault, AWS Secrets Manager, GCP Secret Manager) via the External Secrets Operator (ESO).


Database Configuration

PostgreSQL Connection Variables

Every service that connects to PostgreSQL uses the following variables. The exact values differ per service and environment.

VariableTypeDefaultDescription
DATABASE_HOSTstringpostgresql.matih-data-plane.svc.cluster.localPostgreSQL server hostname (FQDN within Kubernetes)
DATABASE_PORTinteger5432PostgreSQL server port
DATABASE_NAMEstring(service-specific)Database name (e.g., ai_service, iam, tenant, catalog)
DATABASE_USERstring(service-specific)Database username
DATABASE_PASSWORDstring(from Secret)Database password; always injected via secretKeyRef
DATABASE_URLstring(constructed)Full connection string: postgresql://{user}:{password}@{host}:{port}/{name}
DATABASE_POOL_MIN_SIZEinteger5Minimum connections in the connection pool
DATABASE_POOL_MAX_SIZEinteger20Maximum connections in the connection pool
DATABASE_POOL_MAX_OVERFLOWinteger10Extra connections allowed beyond pool max (Python asyncpg)
DATABASE_SSL_MODEstringrequire (prod), prefer (dev)PostgreSQL SSL mode
DATABASE_CONNECT_TIMEOUTinteger10Connection timeout in seconds
DATABASE_STATEMENT_TIMEOUTinteger30000Statement timeout in milliseconds
DATABASE_IDLE_TIMEOUTinteger600000Idle connection timeout in milliseconds (Java HikariCP)

Per-Service Database Names

ServiceDatabase NameMigration Tool
iam-serviceiamFlyway
tenant-servicetenantFlyway
config-serviceconfigFlyway
audit-serviceauditFlyway
billing-servicebillingFlyway
notification-servicenotificationFlyway
infrastructure-serviceinfrastructureFlyway
platform-registryregistryFlyway
query-enginequeryFlyway
catalog-servicecatalogFlyway
semantic-layersemanticFlyway
bi-servicebiFlyway
pipeline-servicepipelineFlyway
ai-serviceai_serviceAlembic
ml-servicemlAlembic
data-quality-servicequalityAlembic
governance-servicegovernanceAlembic
ontology-serviceontologyAlembic
ops-agent-serviceops_agentAlembic

Cache Configuration

Redis Connection Variables

VariableTypeDefaultDescription
REDIS_HOSTstringredis-master.matih-data-plane.svc.cluster.localRedis server hostname
REDIS_PORTinteger6379Redis server port
REDIS_PASSWORDstring(from Secret)Redis password; injected via secretKeyRef from the redis secret
REDIS_DBinteger0Redis database number
REDIS_URLstring(constructed)Full Redis URL: redis://:{password}@{host}:{port}/{db}
REDIS_SSLbooleanfalse (dev), true (prod)Enable TLS for Redis connections
REDIS_TTL_SECONDSinteger3600Default cache TTL in seconds
REDIS_MAX_CONNECTIONSinteger50Maximum connections in the Redis pool
REDIS_CONNECT_TIMEOUTinteger5Connection timeout in seconds
REDIS_READ_TIMEOUTinteger3Read timeout in seconds

Messaging Configuration

Kafka Connection Variables

VariableTypeDefaultDescription
KAFKA_BOOTSTRAP_SERVERSstringstrimzi-kafka-kafka-bootstrap.matih-data-plane.svc.cluster.local:9093Kafka broker addresses (comma-separated for multiple brokers)
KAFKA_SECURITY_PROTOCOLstringSSLSecurity protocol (PLAINTEXT, SSL, SASL_SSL)
KAFKA_SSL_TRUSTSTORE_LOCATIONstring/etc/kafka/certs/ca.crtPath to the CA certificate for TLS
KAFKA_SSL_KEYSTORE_LOCATIONstring/etc/kafka/certs/user.p12Path to the user keystore for mTLS
KAFKA_SSL_KEYSTORE_PASSWORDstring(from Secret)Keystore password
KAFKA_GROUP_IDstring(service-specific)Consumer group ID
KAFKA_AUTO_OFFSET_RESETstringearliestConsumer offset reset behavior (earliest, latest)
KAFKA_MAX_POLL_RECORDSinteger500Maximum records per poll
KAFKA_SESSION_TIMEOUT_MSinteger30000Consumer session timeout
KAFKA_ENABLE_AUTO_COMMITbooleanfalseAuto-commit offsets (false for at-least-once semantics)

Kafka Topic Names

VariableDefault ValueDescription
KAFKA_TOPIC_STATE_CHANGESmatih.ai.state-changesAI agent state transition events
KAFKA_TOPIC_AGENT_TRACESmatih.ai.agent-tracesAgent execution trace events
KAFKA_TOPIC_EVALUATIONSmatih.ai.evaluationsModel evaluation results
KAFKA_TOPIC_LLM_OPSmatih.ai.llm-opsLLM operation metrics
KAFKA_TOPIC_FEEDBACKmatih.ai.feedbackUser feedback events
KAFKA_TOPIC_TENANT_EVENTSmatih.tenant.eventsTenant lifecycle events
KAFKA_TOPIC_AUDIT_EVENTSmatih.audit.eventsAudit trail events
KAFKA_TOPIC_BILLING_EVENTSmatih.billing.eventsBilling and metering events
KAFKA_TOPIC_QUERY_EVENTSmatih.query.eventsQuery execution events
KAFKA_TOPIC_PIPELINE_EVENTSmatih.pipeline.eventsPipeline run state changes

Authentication and Security

JWT Configuration

VariableTypeDefaultDescription
JWT_SECRET_KEYstring(from Secret)HMAC secret for JWT signing (dev only; prod uses RSA)
JWT_PRIVATE_KEYstring(from Secret)RSA private key for JWT signing (PEM format)
JWT_PUBLIC_KEYstring(from Secret)RSA public key for JWT verification (PEM format)
JWT_ISSUERstringmatih-iamJWT issuer claim
JWT_AUDIENCEstringmatih-platformJWT audience claim
JWT_ACCESS_TOKEN_TTLinteger3600Access token time-to-live in seconds
JWT_REFRESH_TOKEN_TTLinteger604800Refresh token time-to-live in seconds (7 days)
JWT_KEY_IDstringkey-2026-01Key ID for RSA key rotation (kid header in JWT)

OAuth2 / SSO Configuration

VariableTypeDefaultDescription
OAUTH2_GOOGLE_CLIENT_IDstring(from Secret)Google OAuth2 client ID
OAUTH2_GOOGLE_CLIENT_SECRETstring(from Secret)Google OAuth2 client secret
OAUTH2_AZURE_AD_CLIENT_IDstring(from Secret)Azure AD client ID
OAUTH2_AZURE_AD_CLIENT_SECRETstring(from Secret)Azure AD client secret
OAUTH2_AZURE_AD_TENANT_IDstring(from Secret)Azure AD tenant ID
OAUTH2_OKTA_CLIENT_IDstring(from Secret)Okta client ID
OAUTH2_OKTA_CLIENT_SECRETstring(from Secret)Okta client secret
OAUTH2_OKTA_ISSUER_URLstring(from Secret)Okta issuer URL
OAUTH2_REDIRECT_BASE_URLstringhttps://platform.matih.aiBase URL for OAuth2 callback redirects

LLM Provider Configuration

General LLM Variables

VariableTypeDefaultDescription
LLM_DEFAULT_PROVIDERstringazureDefault LLM provider (openai, anthropic, azure, vertexai, bedrock, vllm)
LLM_DEFAULT_MODELstringgpt-4oDefault model name for the chosen provider
LLM_TEMPERATUREfloat0.0Default temperature for LLM generation (0.0 = deterministic)
LLM_MAX_TOKENSinteger4096Maximum tokens for LLM response
LLM_TIMEOUTinteger60LLM request timeout in seconds

OpenAI Configuration

VariableTypeDefaultDescription
OPENAI_API_KEYstring(from Secret)OpenAI API key
OPENAI_ORG_IDstring(optional)OpenAI organization ID
OPENAI_DEFAULT_MODELstringgpt-4-turbo-previewDefault OpenAI model
OPENAI_BASE_URLstringhttps://api.openai.com/v1OpenAI API base URL

Anthropic Configuration

VariableTypeDefaultDescription
ANTHROPIC_API_KEYstring(from Secret)Anthropic API key
ANTHROPIC_DEFAULT_MODELstringclaude-3-5-sonnet-20241022Default Anthropic model

Azure OpenAI Configuration

VariableTypeDefaultDescription
AZURE_OPENAI_API_KEYstring(from Secret)Azure OpenAI API key
AZURE_OPENAI_ENDPOINTstring(from Secret)Azure OpenAI endpoint URL
AZURE_OPENAI_API_VERSIONstring2024-08-01-previewAzure OpenAI API version
AZURE_OPENAI_DEPLOYMENTstringgpt-4oPrimary deployment name
AZURE_OPENAI_DEPLOYMENT_MINIstringgpt-4o-miniFast/cheap deployment name
AZURE_OPENAI_DEPLOYMENT_EMBEDDINGstringtext-embedding-3-largeEmbedding deployment name

Google Vertex AI Configuration

VariableTypeDefaultDescription
VERTEXAI_PROJECT_IDstring(required)Google Cloud project ID
VERTEXAI_LOCATIONstringus-central1Google Cloud region
VERTEXAI_DEFAULT_MODELstringgemini-1.5-proDefault Vertex AI model
VERTEXAI_CREDENTIALS_JSONstring(from Secret or Workload Identity)Service account JSON credentials
VERTEXAI_USE_WORKLOAD_IDENTITYbooleantrueUse GKE Workload Identity (no static credentials)

AWS Bedrock Configuration

VariableTypeDefaultDescription
BEDROCK_REGIONstringus-east-1AWS region for Bedrock
BEDROCK_DEFAULT_MODELstringanthropic.claude-3-5-sonnet-20241022-v2:0Default Bedrock model ID
BEDROCK_ACCESS_KEY_IDstring(from Secret or IRSA)AWS access key ID
BEDROCK_SECRET_ACCESS_KEYstring(from Secret or IRSA)AWS secret access key
BEDROCK_USE_IRSAbooleantrueUse EKS IRSA (no static credentials)
BEDROCK_ROLE_ARNstring(optional)IAM role ARN for IRSA

vLLM (Self-Hosted) Configuration

VariableTypeDefaultDescription
VLLM_BASE_URLstringhttp://vllm:8000vLLM server URL
VLLM_API_KEYstring(from Secret)vLLM API key (if authentication is enabled)
VLLM_DEFAULT_MODELstringdefaultDefault model served by vLLM

Service Discovery Variables

VariableTypeDefaultDescription
QUERY_ENGINE_URLstringhttp://query-engine.matih-data-plane.svc.cluster.local:8080Query Engine service URL
SEMANTIC_LAYER_URLstringhttp://semantic-layer.matih-data-plane.svc.cluster.local:8086Semantic Layer service URL
CATALOG_SERVICE_URLstringhttp://catalog-service.matih-data-plane.svc.cluster.local:8086Catalog Service URL
IAM_SERVICE_URLstringhttp://iam-service.matih-control-plane.svc.cluster.local:8081IAM Service URL (cross-namespace)
BILLING_SERVICE_URLstringhttp://billing-service.matih-control-plane.svc.cluster.local:8087Billing Service URL
NOTIFICATION_SERVICE_URLstringhttp://notification-service.matih-control-plane.svc.cluster.local:8085Notification Service URL
OPENMETADATA_URLstringhttp://openmetadata.matih-data-plane.svc.cluster.local:8585OpenMetadata API URL
POLARIS_URLstringhttp://polaris.matih-data-plane.svc.cluster.local:8181Polaris Iceberg Catalog URL

Compute Engine Variables

Trino Configuration

VariableTypeDefaultDescription
TRINO_HOSTstringtrino.matih-data-plane.svc.cluster.localTrino coordinator hostname
TRINO_PORTinteger8080Trino coordinator port
TRINO_USERstringmatihTrino user name
TRINO_CATALOGstringicebergDefault Trino catalog
TRINO_SCHEMAstringdefaultDefault Trino schema
TRINO_SSLbooleanfalseEnable TLS for Trino connections

ClickHouse Configuration

VariableTypeDefaultDescription
CLICKHOUSE_HOSTstringclickhouse.matih-data-plane.svc.cluster.localClickHouse hostname
CLICKHOUSE_PORTinteger8123ClickHouse HTTP port
CLICKHOUSE_USERstringdefaultClickHouse user
CLICKHOUSE_PASSWORDstring(from Secret)ClickHouse password
CLICKHOUSE_DATABASEstringdefaultDefault ClickHouse database

Spark Connect Configuration

VariableTypeDefaultDescription
SPARK_CONNECT_HOSTstringspark-connect.matih-data-plane.svc.cluster.localSpark Connect server hostname
SPARK_CONNECT_PORTinteger15002Spark Connect server port
SPARK_CONNECT_TIMEOUT_MSinteger10000Connection timeout in milliseconds
SPARK_CONNECT_REQUEST_TIMEOUT_MSinteger300000Request timeout in milliseconds

Vector Store and Embedding Variables

VariableTypeDefaultDescription
QDRANT_HOSTstringqdrant.matih-data-plane.svc.cluster.localQdrant vector store hostname
QDRANT_PORTinteger6333Qdrant HTTP API port
QDRANT_COLLECTIONstringschema_embeddingsDefault collection name
QDRANT_VECTOR_SIZEinteger1536Embedding vector dimension
CHROMADB_HOSTstringchromadb.matih-system.svc.cluster.localChromaDB hostname
CHROMADB_PORTinteger8000ChromaDB HTTP API port

Application Configuration Variables

General Application Variables

VariableTypeDefaultDescription
ENVIRONMENTstringproductionEnvironment name (development, staging, production)
DEBUGbooleanfalseEnable debug mode (never true in production)
LOG_LEVELstringINFOLogging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
API_PREFIXstring/api/v1API path prefix for all endpoints
CORS_ORIGINSstringhttps://*.matih.aiAllowed CORS origins (comma-separated)
MAX_REQUEST_SIZEstring50mMaximum request body size
GRACEFUL_SHUTDOWN_TIMEOUTinteger30Seconds to wait for graceful shutdown

Module Feature Flags (AI Service)

VariableTypeDefaultDescription
MODULE_CORE_ENABLEDbooleantrueEnable core agents, LLM, guardrails, runtime
MODULE_BI_ENABLEDbooleantrueEnable BI analytics and semantic routes
MODULE_ML_ENABLEDbooleantrueEnable ML training and serving features
MODULE_DATA_ENABLEDbooleantrueEnable dbt, quality, pipeline, observability
MODULE_CONTEXT_GRAPH_ENABLEDbooleantrueEnable context graph, ontology, SHACL
MODULE_ENTERPRISE_ENABLEDbooleantrueEnable security, performance, multi-cloud
MODULE_SUPPLEMENTARY_ENABLEDbooleantrueEnable FDME, search, DNN builder

SQL Generation Variables

VariableTypeDefaultDescription
SQL_MAX_RETRIESinteger3Maximum SQL generation retry attempts
SQL_DEFAULT_DIALECTstringtrinoDefault SQL dialect
SQL_CACHE_ENABLEDbooleantrueEnable SQL generation caching
SQL_CACHE_TTL_SECONDSinteger3600SQL cache TTL in seconds

WebSocket Configuration (AI Service)

VariableTypeDefaultDescription
WS_ENABLEDbooleantrueEnable WebSocket endpoints
WS_PING_INTERVAL_SECONDSinteger30WebSocket keepalive ping interval
WS_CONNECTION_TIMEOUT_SECONDSinteger300WebSocket connection idle timeout
WS_MAX_CONNECTIONS_PER_USERinteger5Maximum concurrent WebSocket connections per user
WS_MAX_MESSAGE_SIZE_KBinteger1024Maximum WebSocket message size

DNN Builder Configuration (AI Service)

VariableTypeDefaultDescription
DNN_BUILDER_ENABLEDbooleantrueEnable DNN Builder feature
DNN_DEFAULT_FRAMEWORKstringpytorchDefault code generation framework
DNN_SESSION_TIMEOUT_SECONDSinteger1800Studio session timeout (30 min)
DNN_MAX_LAYERSinteger500Maximum layers per architecture
DNN_LANGGRAPH_ENABLEDbooleantrueUse LangGraph orchestrator
DNN_MAX_RECURSION_DEPTHinteger25LangGraph max recursion depth

Billing Configuration (AI Service)

VariableTypeDefaultDescription
BILLING_ENABLEDbooleantrueEnable billing integration
BILLING_DEFAULT_BUDGET_USDfloat1000.0Default monthly budget per tenant
BILLING_ALERT_THRESHOLD_PERCENTfloat80.0Budget alert threshold percentage

Store Backend Configuration

VariableTypeDefaultDescription
STORE_BACKENDstringmemoryStore backend type: memory (ephemeral) or postgres (durable)
RUN_MIGRATIONSbooleantrueRun database migrations on startup (Alembic for Python services)

Observability Variables

VariableTypeDefaultDescription
OTEL_EXPORTER_OTLP_ENDPOINTstringhttp://otel-collector.matih-monitoring.svc.cluster.local:4317OpenTelemetry collector gRPC endpoint
OTEL_EXPORTER_OTLP_PROTOCOLstringgrpcOTLP transport protocol
OTEL_SERVICE_NAMEstring(service-specific)Service name reported in traces and metrics
OTEL_RESOURCE_ATTRIBUTESstringservice.namespace=matih,deployment.environment=productionAdditional resource attributes
PROMETHEUS_PORTinteger(service port)Port for Prometheus metrics scraping
PROMETHEUS_PATHstring/metricsPath for Prometheus metrics endpoint

Environment-Specific Overrides

Development Environment

In development, the following variables typically differ from production:

VariableDevelopment ValueProduction Value
ENVIRONMENTdevelopmentproduction
DEBUGtruefalse
LOG_LEVELDEBUGINFO
DATABASE_SSL_MODEpreferrequire
REDIS_SSLfalsetrue
KAFKA_SECURITY_PROTOCOLPLAINTEXTSSL
CORS_ORIGINShttp://localhost:3000,http://localhost:3001,...https://*.matih.ai
STORE_BACKENDmemorypostgres
BILLING_ENABLEDfalsetrue
LLM_DEFAULT_PROVIDERopenai or azureazure
VERTEXAI_USE_WORKLOAD_IDENTITYfalsetrue
BEDROCK_USE_IRSAfalsetrue
WS_MAX_CONNECTIONS_PER_USER105

Staging Environment

Staging mirrors production configuration with the following exceptions:

VariableStaging ValueProduction Value
ENVIRONMENTstagingproduction
LOG_LEVELDEBUGINFO
BILLING_DEFAULT_BUDGET_USD100.01000.0
CORS_ORIGINShttps://*.staging.matih.aihttps://*.matih.ai

OpenLineage Configuration

VariableTypeDefaultDescription
OPENLINEAGE_ENABLEDbooleantrueEnable OpenLineage lineage tracking
OPENLINEAGE_BACKEND_URLstringhttp://openmetadata.matih-data-plane.svc.cluster.local:8585/api/v1/lineage/openlineageOpenLineage backend endpoint
OPENLINEAGE_NAMESPACEstringmatih-aiNamespace for lineage events
OPENLINEAGE_TRANSPORTstringhttpTransport type (http or kafka)
OPENLINEAGE_KAFKA_TOPICstringopenlineage.eventsKafka topic for lineage events (when transport is kafka)

Polaris Iceberg Catalog Configuration

VariableTypeDefaultDescription
POLARIS_ENABLEDbooleantrueEnable Polaris Iceberg catalog integration
POLARIS_HOSTstringpolaris.matih-data-plane.svc.cluster.localPolaris server hostname
POLARIS_PORTinteger8181Polaris server port
POLARIS_WAREHOUSEstringmatihDefault warehouse name
POLARIS_CREDENTIAL_VENDINGbooleantrueEnable credential vending for data access
POLARIS_CLIENT_IDstring(from Secret)OAuth2 client ID for Polaris authentication
POLARIS_CLIENT_SECRETstring(from Secret)OAuth2 client secret for Polaris authentication
POLARIS_TOKEN_ENDPOINTstringhttp://polaris:8181/api/catalog/v1/oauth/tokensOAuth2 token endpoint

Context Graph Configuration

VariableTypeDefaultDescription
CONTEXT_GRAPH_ENABLEDbooleantrueEnable the Context Graph module
DGRAPH_HOSTstringdgraph-alpha.matih-data-plane.svc.cluster.localDgraph Alpha server hostname
DGRAPH_GRPC_PORTinteger9080Dgraph gRPC port
DGRAPH_HTTP_PORTinteger8080Dgraph HTTP port
CONTEXT_GRAPH_CACHE_TTLinteger300Cache TTL for graph queries in seconds
THINKING_EMBEDDINGS_ENABLEDbooleantrueEnable agent thinking trace embeddings
THINKING_EMBEDDINGS_MODELstringtext-embedding-3-largeEmbedding model for thinking traces

Java Spring Boot Specific Variables

These variables are specific to Java Spring Boot services and follow Spring Boot conventions:

VariableTypeDefaultDescription
SPRING_PROFILES_ACTIVEstring(environment)Active Spring profile (dev, staging, prod)
SPRING_DATASOURCE_URLstring(constructed from DATABASE_* vars)JDBC connection URL
SPRING_DATASOURCE_USERNAMEstring(from DATABASE_USER)JDBC username
SPRING_DATASOURCE_PASSWORDstring(from Secret)JDBC password
SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZEinteger20HikariCP maximum pool size
SPRING_DATASOURCE_HIKARI_MINIMUM_IDLEinteger5HikariCP minimum idle connections
SPRING_REDIS_HOSTstring(from REDIS_HOST)Spring Redis host
SPRING_REDIS_PORTinteger6379Spring Redis port
SPRING_REDIS_PASSWORDstring(from Secret)Spring Redis password
SPRING_KAFKA_BOOTSTRAP_SERVERSstring(from KAFKA_BOOTSTRAP_SERVERS)Spring Kafka bootstrap servers
SPRING_FLYWAY_ENABLEDbooleantrueEnable Flyway migrations on startup
SPRING_FLYWAY_BASELINE_ON_MIGRATEbooleantrueBaseline database on first migration
SERVER_PORTinteger(service-specific)HTTP server port
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDEstringhealth,info,prometheusActuator endpoints to expose
MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILSstringwhen_authorizedHealth endpoint detail level

Python FastAPI Specific Variables

These variables are specific to Python FastAPI services:

VariableTypeDefaultDescription
UVICORN_HOSTstring0.0.0.0Uvicorn bind host
UVICORN_PORTinteger(service-specific)Uvicorn bind port
UVICORN_WORKERSinteger4Number of Uvicorn worker processes
UVICORN_LOG_LEVELstringinfoUvicorn log level
ASYNCPG_POOL_MIN_SIZEinteger5asyncpg minimum pool size
ASYNCPG_POOL_MAX_SIZEinteger20asyncpg maximum pool size
ALEMBIC_CONFIGstringalembic.iniAlembic configuration file path
ALEMBIC_AUTO_UPGRADEbooleantrueRun Alembic migrations on startup

Troubleshooting Environment Variables

Common Issues

IssueCauseSolution
Service fails to start with "connection refused"Incorrect DATABASE_HOST or service not runningVerify FQDN resolves within the cluster and target service is healthy
"SSL certificate verify failed"DATABASE_SSL_MODE=require but no valid certificateSet DATABASE_SSL_MODE=prefer in dev or provision proper certificates
"Kafka SASL authentication failed"Wrong KAFKA_SECURITY_PROTOCOLVerify protocol matches broker configuration (PLAINTEXT for dev, SSL for prod)
"Token validation failed"Mismatched JWT_SECRET_KEY between IAM and consuming serviceEnsure all services reference the same Kubernetes secret
"Redis AUTH required"REDIS_PASSWORD not set or incorrectVerify secret reference and key name in the Helm values
"LLM provider timeout"LLM_TIMEOUT too low for complex queriesIncrease to 120 seconds for complex analytical queries
"Rate limit exceeded"Default rate limits too restrictive for testingAdjust rate limit configuration in the API Gateway values

Verifying Environment Variables in a Running Pod

To verify that environment variables are correctly set in a running pod, use the platform status script:

./scripts/tools/platform-status.sh

This script checks all services for health, connectivity, and configuration consistency without requiring direct kubectl access.