Skip to content

Install Helm Chart

Deploy HolmesGPT as a service in your Kubernetes cluster with an HTTP API access.

When to use the Helm chart?

Most users should use the CLI or UI/TUI instead. Using the Helm chart is only recommended if you're building a custom integration over an HTTP API.

Prerequisites

  • Kubernetes cluster
  • Helm
  • kubectl configured to access your cluster
  • Supported AI Provider API key.

Installation

Add the Helm Repository

helm repo add holmesgpt https://robusta-dev.github.io/holmesgpt
helm repo update

Install HolmesGPT

helm install holmesgpt holmesgpt/holmes

Create a values.yaml file

# values.yaml
config:
  aiProvider: "openai"
  apiKey: "your-api-key"  # Or use secret
  model: "gpt-4"

# Use existing secret for API key
secret:
  create: false
  name: "holmes-secrets"
  key: "api-key"

Install with custom values

helm install holmesgpt holmesgpt/holmes -f values.yaml

Using Secrets for API Keys

Create a secret for your AI provider API key:

kubectl create secret generic holmes-secrets \
  --from-literal=api-key="your-api-key"

Reference it in your values.yaml:

secret:
  create: false
  name: "holmes-secrets"
  key: "api-key"

HTTP API Usage

Access the Service

Port Forward (Development)

kubectl port-forward svc/holmesgpt 8080:80

API Endpoints

Ask Questions

curl -X POST http://localhost:8080/ask \
  -H "Content-Type: application/json" \
  -d '{
    "question": "what pods are failing in the default namespace?"
  }'

Investigate Alerts

curl -X POST http://localhost:8080/investigate \
  -H "Content-Type: application/json" \
  -d '{
    "alert": {
      "name": "HighMemoryUsage",
      "namespace": "production",
      "pod": "web-app-123"
    }
  }'

Health Check

curl http://localhost:8080/health

Response Format

{
  "status": "success",
  "result": "Analysis of your Kubernetes cluster shows...",
  "investigation_id": "inv_123456",
  "timestamp": "2024-01-15T10:30:00Z",
  "toolsets_used": ["kubernetes", "prometheus"],
  "recommendations": [
    "Scale up the deployment",
    "Check resource limits"
  ]
}

Upgrading

helm repo update
helm upgrade holmesgpt holmesgpt/holmes -f values.yaml

Uninstalling

helm uninstall holmesgpt

Need Help?