Deployment Types
Choose the right deployment type for your use case - Docker Compose, Kubernetes, or standalone CLI.
Deployment Options
1. Docker Compose
Best for: Small teams, single-server deployments, evaluation
Components:
-
Backend server (Governor)
-
PostgreSQL metadata database
-
Platform agents (workers)
-
Web UI (served by backend)
Pros:
-
Easy setup (one command)
-
All-in-one deployment
-
Good for development/testing
-
Scales vertically (more CPU/RAM)
Cons:
-
Single server (no HA)
-
Limited horizontal scaling
-
Manual backup/recovery
Setup: Docker Compose Guide
2. Kubernetes (Helm)
Best for: Enterprise, cloud-native, high availability
Components:
-
Backend deployment
-
Worker deployment (scalable)
-
PostgreSQL StatefulSet
-
Ingress for web UI
Pros:
-
Horizontal scaling
-
High availability
-
Auto-recovery
-
Cloud-native
-
Production-ready
Cons:
-
More complex setup
-
Requires Kubernetes knowledge
-
Higher resource overhead
Setup: Kubernetes Guide
3. Standalone CLI
Best for: CI/CD automation, simple workflows, no UI needed
Components:
-
Single TDK CLI binary/container
-
No backend server
-
No metadata database
Pros:
-
Simplest deployment
-
No infrastructure needed
-
Perfect for automation
-
Fast startup
Cons:
-
No web UI
-
No workflow history
-
No user management
-
No scheduling
Setup: CLI Guide
Comparison Matrix
| Feature | Docker Compose | Kubernetes | CLI |
|---|---|---|---|
Setup Complexity |
Low |
Medium |
Very Low |
Web UI |
✓ Yes |
✓ Yes |
✗ No |
Horizontal Scaling |
Limited |
✓ Yes |
✗ No |
High Availability |
✗ No |
✓ Yes |
N/A |
User Management |
✓ Yes |
✓ Yes |
✗ No |
Workflow History |
✓ Yes |
✓ Yes |
✗ No |
Scheduling |
✓ Yes |
✓ Yes |
External (cron, etc.) |
Resource Requirements |
Medium |
High |
Low |
Best Use Case |
Dev/Test, Small Teams |
Production, Enterprise |
CI/CD, Automation |
Choosing a Deployment Type
Use Docker Compose if:
-
Team size < 20 users
-
Single server is sufficient
-
Need web UI for occasional use
-
Want easy setup and maintenance
-
Not requiring high availability
Hybrid Deployments
You can combine deployment types:
Example: Kubernetes backend + CLI for automation * Backend/UI on Kubernetes for interactive use * CLI in GitHub Actions for automated refreshes
Example: Docker Compose + external scheduling * Docker Compose for backend * Cron jobs trigger workflows via API
What’s Next
-
Deployment Modes - Worker vs CLI mode