Skip to main content

Kubernetes Deployment

Deploy Obot on Kubernetes for production-grade reliability, scalability, and high availability.

Prerequisites

  • Helm
  • PostgreSQL 17+ with pgvector extension
  • S3-compatible storage (for production)
  • Encryption provider (AWS KMS, GCP KMS, or Azure Key Vault recommended)

Minimum Cluster Requirements

  • Nodes: 1+ nodes
  • CPU: 2 cores
  • Memory: 4GB
  • HA Cluster
  • CPU: 4 cores for Obot
  • Memory: 8GB for Obot

Helm Installation

Obot provides a Helm chart for easy deployment here.

The chart has sane defaults for a test cluster.

Production Installation

Create a values.yaml file with your production configuration:

# Enable ingress or use a service of type loadbalancer to expose Obot
ingress:
enabled: true
hosts:
- <your obot hostname>

# This can be turned off because we are persisting data externally in postgres and S3
persistence:
enabled: false

# In this example, we will be using S3 and AWS KMS for encryption
config:
# this should have IAM permissions for S3 and KMS
AWS_ACCESS_KEY_ID: <access key>
AWS_SECRET_ACCESS_KEY: <secret key>
AWS_REGION: <aws region>

# This should be set to avoid ratelimiting certain actions that interact with github, such as catalogs
GITHUB_AUTH_TOKEN: <PAT from github>

# Enable encryption
OBOT_SERVER_ENCRYPTION_PROVIDER: aws
OBOT_AWS_KMS_KEY_ARN: <your kms arn>

# Enable S3 workspace provider
OBOT_WORKSPACE_PROVIDER_TYPE: s3
WORKSPACE_PROVIDER_S3_BUCKET: <s3 bucket name>

# optional - this will be generated automatically if you do not set it
OBOT_BOOTSTRAP_TOKEN: <some random value>

# Point this to your postgres database
OBOT_SERVER_DSN: postgres://<user>:<pass>@<host>/<db>

OBOT_SERVER_HOSTNAME: <your obot hostname>
# Setting these is optional, but you'll need to setup a model provider from the Admin UI before using chat.
# You can set either, neither or both.
OPENAI_API_KEY: <openai api key>
ANTHROPIC_API_KEY: <anthropic api key>

For detailed configuration options, see:

Cloud-Specific Guides

For detailed cloud-specific deployment instructions:

Next Steps

  1. Configure Authentication: Set up auth providers
  2. Add Model Providers: Configure model providers
  3. Set Up MCP Servers: Deploy MCP tools
  4. Configure Monitoring: Set up logging and metrics
  5. Review Security: Enable authentication and encryption