
Overview
All OpenSail configuration is environment-driven. The canonical reader isorchestrator/app/config.py (Pydantic settings). Feature flags live in orchestrator/app/config_features.py. Frontend runtime config reads window._env_.*; build-time config reads VITE_*.
Use this page together with:
- Repo-root
.env.exampleand.env.prod.example docs/guides/environment-variables.md(the exhaustive reference)- Kustomize overlays under
k8s/overlays/*/backend-patch.yaml
After changing a variable, restart the affected service. In Docker:
docker compose restart orchestrator. In Kubernetes: kubectl rollout restart deploy/orchestrator -n tesslate.Required core
JWT signing and general crypto fallback. Never reuse across environments. Generate with
python3 -c "import secrets; print(secrets.token_urlsafe(32))".docker, kubernetes, or desktop. Selects orchestrator backend, DB driver, task queue, and pub/sub.SQLAlchemy async URL. Docker default points at the
postgres service. Desktop mode resolves to SQLite automatically.Shared secret for cluster-internal callers (Volume Hub GC, btrfs CSI) hitting
/api/internal/*. Desktop mode ignores.Database
- Postgres (cloud)
- SQLite (desktop)
Redis, pub/sub, task queue
Desktop mode uses
LocalTaskQueue (asyncio + apscheduler) and LocalPubSub (in-process). No Redis required.
LiteLLM and agent
Auth and cookies
JWT signing algorithm.
Access token TTL.
Refresh token TTL.
Separate key for CSRF tokens. Falls back to
SECRET_KEY.CSRF token TTL seconds.
Set true in production.
lax, strict, or none.Scope cookies to apex, e.g.
.tesslate.com, for subdomain access.Comma-separated allowed origins.
Host header allowlist.
OAuth providers
All optional. Absence of credentials disables the provider gracefully.- Login
- Deployment targets
- MCP platform apps
SMTP and 2FA
S3 and object storage
Kubernetes (user-project runtime)
Volume Hub and btrfs CSI
Web search
Messaging channels and gateway
MCP (Model Context Protocol)
Stripe and billing
Frontend
Domain, ports, Traefik
Desktop
Observability
Feature flags (Tesslate Apps)
Apps features are gated byTSL_FEATURE_* booleans. Default is off except governance policies. The env variable is the dotted flag name upper-cased with dots replaced by underscores: apps.publish becomes TSL_FEATURE_APPS_PUBLISH.
Testing
CI sets
SECRET_KEY=test-secret-key-*, DEPLOYMENT_MODE=docker, LITELLM_API_BASE=http://localhost:4000/v1, LITELLM_MASTER_KEY=test-key, and points DATABASE_URL at Postgres on port 5433.
Environment comparison
Next steps
Deployment
Production paths: Docker, Kubernetes, AWS EKS.
Architecture
How the orchestrator, agent, and storage fit together.
Authentication
JWT, OAuth, email 2FA, API keys, and desktop pairing.
API reference
REST surface overview and OpenAPI spec pointer.