Page cover

Configuration

This guide covers configuring OpenClaw for Cloudeka, including channels, models, sessions, and security settings.

Configuration Overview

OpenClaw configuration is stored in openclaw.json and managed via Helm ConfigMap:

# charts/openclaw/values.yaml
app-template:
  configMaps:
    config:
      data:
        openclaw.json: |
          { ... }

Config Mode: Merge vs Overwrite

Mode
Behavior
Use Case

merge (default)

Helm values are deep-merged with existing config. Runtime changes (paired devices, UI settings) are preserved.

Development, manual testing

overwrite

Helm values completely replace existing config.

GitOps, strict infrastructure-as-code

app-template:
  configMode: merge  # or "overwrite"

Important: ArgoCD with Merge Mode

If using ArgoCD with configMode: merge, prevent ArgoCD from overwriting runtime changes:

Gateway Configuration

trustedProxies Explained

The trustedProxies setting controls which IPs are trusted for forwarding client connection information. This affects:

  • Rate limiting

  • Access control

  • IP-based routing

Common values for Cloudeka:

  • Ingress controller IP: 10.250.199.254

  • Gateway system IPs: Add each individually, no CIDR

Browser Configuration (Chromium Sidecar)

The Chromium sidecar enables browser automation via CDP (Chrome DevTools Protocol):

To disable browser automation, set "enabled": false and disable the sidecar in values.yaml:

Agent Configuration

Single Agent (Default)

Multi-Agent Configuration

For multiple agents with different personalities and permissions:

See Multi-Agent Guide for complete setup.

Model Providers

Cloudeka DEKALLM (Default)

Adding Anthropic (Optional)

Add ANTHROPIC_API_KEY to your secrets.

Session Management

Session Scopes

Scope
Behavior

per-sender

Each user gets their own isolated session history

global

All users share one conversation (not recommended for multi-user)

Channel Configuration

circle-exclamation

Telegram

Telegram Pairing Required:

After enabling Telegram, you must pair the bot with OpenClaw:

  1. Start a conversation with your Telegram bot

  2. Send /start or any message to get a pairing code

  3. Approve the pairing from within the pod:

Setup Steps:

  1. Create a Telegram bot via @BotFatherarrow-up-right

  2. Add TELEGRAM_BOT_TOKEN to your secrets

  3. Deploy OpenClaw

  4. Get pairing code from Telegram and approve it

Slack

Only enable Slack if you have configured the tokens. Delete/uncomment the entire slack block if using Telegram only.

Setting up Slack

  1. Enable Socket Mode

  2. Add OAuth Scopes: chat:write, channels:history, groups:history, im:history, mpim:history

  3. Add SLACK_BOT_TOKEN and SLACK_APP_TOKEN to secrets

  4. Install app to your workspace

Discord

Setting up Discord

  1. Create bot user

  2. Enable Privileged Intents: Server Members Intent, Message Content Intent

  3. Add bot token to secrets

  4. Invite bot with applications.commands and bot scopes

Example: Using Only Telegram

If you only want Telegram (not Slack), comment out the Slack section:

Logging Configuration

Tools Configuration

Tool Profiles

Profile
Available Tools

full

All tools enabled (exec, read, write, edit, browser, etc.)

minimal

Read-only tools, no execution or modification

Hooks Configuration

Enable webhooks for external integrations:

Example webhook call:

Network Policy (Optional)

Enable network policy to restrict OpenClaw's network access:

Default policy allows:

  • Ingress from gateway-system namespace

  • DNS (kube-dns)

  • Egress to public internet (blocks private RFC1918 ranges)

Resource Limits

Adjust based on your workload:

Environment Variables

Additional environment variables can be added:

Optional Persistence (Comment Out When Not Used)

Some persistence entries in values.yaml are commented out by default. Leave them commented unless you have created the required secrets/configmaps, otherwise OpenClaw will fail to start.

Kubeconfig (for kubectl access)

Custom Skills

MCP Server Config

circle-exclamation

Last updated