DeploymentHelm Values Reference

Helm Values Reference

Full reference for the Skyflo Helm chart. Only engine.secrets.llmModel and the corresponding provider API key are required. Everything else has sensible defaults.

Global Settings

yaml
global:
  imageTag: ""           # Override image tag for all components
  nodeSelector: {}       # Placement defaults for all components
  tolerations: []
  affinity: {}
 
nameOverride: ""
fullnameOverride: ""
imagePullSecrets: []

Engine

The Engine is the core backend. It runs the LangGraph workflow, handles auth, and communicates with the MCP server.

yaml
engine:
  image:
    repository: skyfloaiagent/engine
    tag: ""
    pullPolicy: Always
  replicas: 1
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 1Gi

Engine Configuration

yaml
  config:
    appName: "Skyflo - Engine"
    appDescription: "Core engine for Skyflo"
    debug: "false"
    apiV1Str: "/api/v1"
    logLevel: "INFO"
    rateLimitingEnabled: "true"
    rateLimitPerMinute: "100"
    jwtAlgorithm: "HS256"
    jwtAccessTokenExpireMinutes: "15"
    jwtRefreshTokenExpireDays: "7"
    llmMaxIterations: "25"

Engine Secrets

These are the most important values. Set llmModel and the API key for your chosen provider.

yaml
  secrets:
    existingSecret: ""        # Use an existing Secret instead of creating one
    jwtSecret: ""             # Auto-generated if empty, preserved across upgrades
    llmModel: ""              # Required: e.g. "gemini/gemini-2.5-pro"
    llmHost: ""               # Optional: self-hosted LLM endpoint
    mcpServerUrl: ""          # Override auto-computed internal URL
    integrationsSecretNamespace: ""
 
    # Reasoning model settings (no-ops unless explicitly set)
    llmReasoningEffort: ""       # low, medium, high (default: high for reasoning models)
    llmThinkingBudgetTokens: "" # Anthropic-specific thinking budget (default: 10000)
    llmMaxTokens: ""            # Max tokens when thinking is enabled (default: 16384)
 
    # Set only the key for your chosen provider
    openaiApiKey: ""
    anthropicApiKey: ""
    geminiApiKey: ""
    groqApiKey: ""
    moonshotApiKey: ""
    deepseekApiKey: ""
    mistralApiKey: ""
    azureApiKey: ""
    ollamaApiKey: ""
    # ... 25+ additional provider keys supported

See Multi-LLM Support for the full list of supported providers.

MCP Server

The MCP server exposes typed infrastructure tools to the Engine.

yaml
mcp:
  image:
    repository: skyfloaiagent/mcp
    tag: ""
    pullPolicy: Always
  replicas: 1
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 1Gi
  config:
    appName: "Skyflo - MCP Server"
    appDescription: "MCP Server for Skyflo"
    debug: "false"
    logLevel: "INFO"
    maxRetryAttempts: "3"
    retryBaseDelay: "60"
    retryMaxDelay: "300"
    retryExponentialBase: "2.0"

UI (Command Center)

The Next.js operator interface with an Nginx reverse proxy.

yaml
ui:
  image:
    repository: skyfloaiagent/ui
    tag: ""
    pullPolicy: Always
  proxy:
    image:
      repository: skyfloaiagent/proxy
      tag: ""
      pullPolicy: Always
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 200m
        memory: 256Mi
  replicas: 1
  service:
    type: NodePort
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
      cpu: 500m
      memory: 512Mi
  config:
    appName: "Skyflo"
    nodeEnv: "production"
    enableAnalytics: "false"
    enableFeedback: "false"
    apiUrl: ""                # Override auto-computed engine URL
    publicApiUrl: "/api/v1"

Kubernetes Controller

The Go operator managing Skyflo's lifecycle via CRD.

yaml
controller:
  image:
    repository: skyfloaiagent/k8s-controller
    tag: ""
    pullPolicy: Always
  replicas: 1
  resources:
    requests:
      cpu: 100m
      memory: 64Mi
    limits:
      cpu: 500m
      memory: 128Mi

PostgreSQL

Built-in PostgreSQL. Disable to use an external instance.

yaml
postgresql:
  enabled: true
  image:
    repository: postgres
    tag: "15.15-alpine"
  auth:
    username: skyflo
    password: ""             # Auto-generated if empty
    database: skyflo
    port: 5432
    existingSecret: ""       # Use existing Secret with POSTGRES_USER, POSTGRES_PASSWORD, etc.
  persistence:
    enabled: true
    size: 5Gi
    storageClass: ""
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 1Gi
  external:
    host: ""
    port: 5432
    database: skyflo
    username: skyflo
    password: ""
    url: ""                  # Full connection URL (overrides individual fields)

Redis

Built-in Redis. Disable to use an external instance.

yaml
redis:
  enabled: true
  image:
    repository: redis
    tag: "7.4.7-alpine"
  persistence:
    enabled: true
    size: 1Gi
    storageClass: ""
  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
      cpu: 500m
      memory: 512Mi
  external:
    url: ""                  # Full Redis URL, e.g. redis://host:6379/0

Network Policy

Restricts MCP ingress to Engine pods only.

yaml
networkPolicy:
  enabled: true