Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
114 lines (93 loc) · 4.71 KB
/
Copy path.env.example
File metadata and controls
114 lines (93 loc) · 4.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# =============================================================================
# Evenfire — Environment Variables (first-run setup)
# =============================================================================
#
# Copy this file to .env and fill in your credentials:
# cp .env.example .env
#
# At minimum, set ADMIN_PASSWORD and ONE LLM key below, then run
# `make minikube-setup`. Setup creates the K8s secrets for you; the remaining
# MCP/channel credentials are optional and only needed for those integrations.
#
# See docs/get-started/minikube.md for the full walkthrough.
# =============================================================================
# -----------------------------------------------------------------------------
# LLM API Keys
# K8s Secret: mcp-host-keys (namespace: mcp-host)
# Used by: mcp-host via Host CRD secretRef
# -----------------------------------------------------------------------------
# OpenAI — https://platform.openai.com/api-keys
OPENAI_API_KEY=
# Anthropic Claude — https://console.anthropic.com/
CLAUDE_API_KEY=
# ZAI (z.ai) — https://z.ai
ZAI_API_KEY=
# Alibaba Cloud Model Studio (Bailian) — https://modelstudio.console.alibabacloud.com/
# Coding Plan API key: https://modelstudio.console.alibabacloud.com/ap-southeast-1/?tab=globalset#/efm/coding_plan
BAILIAN_API_KEY=
# -----------------------------------------------------------------------------
# Platform admin password (REQUIRED for `make minikube-setup`)
# -----------------------------------------------------------------------------
# One value, two logins:
# - Control UI → username `admin`
# - Desktop App → the seeded user
# No default ships. Setup aborts in Step 1 if this is unset.
ADMIN_PASSWORD=
# -----------------------------------------------------------------------------
# MCP Server Credentials
# -----------------------------------------------------------------------------
# MongoDB Atlas connection string
# K8s Secret: mcp-mongodb-credentials (namespace: mcp-server), key: connection-string
# Used by: MongoDB MCP server pod via envSecret
# How to get: https://www.mongodb.com/cloud/atlas/register (free M0 cluster)
# Format: mongodb+srv://user:password@cluster.mongodb.net/clerum-test
MONGODB_CONNECTION_STRING=
# Airtable Personal Access Token
# K8s Secret: mcp-airtable-credentials (namespace: mcp-server), key: api-key
# Used by: Airtable MCP server pod via envSecret
# How to get: https://airtable.com/create/tokens
# Scopes: data.records:read, data.records:write, schema.bases:read
AIRTABLE_API_KEY=
# Airtable Base ID (for seed scripts only — not injected into K8s)
# Found in the Airtable URL: https://airtable.com/appXXXXXXXX/...
AIRTABLE_BASE_ID=
# -----------------------------------------------------------------------------
# Channel Credentials
# K8s Secret: clerum-channel-reader-credentials (namespace: channels)
# Used by: channel-reader deployment via secretKeyRef
# -----------------------------------------------------------------------------
# Telegram Bot Token — https://t.me/BotFather → /newbot
# K8s key: telegram-bot-token
CLERUM_TELEGRAM_BOT_TOKEN=
# Telegram User ID (for CommunicationChannel CRD, not a K8s secret)
# How to get: send /start to your bot, then:
# curl -s "https://api.telegram.org/bot${CLERUM_TELEGRAM_BOT_TOKEN}/getUpdates" | jq '.result[0].message.from.id'
CLERUM_TELEGRAM_USER_ID=
# Slack Bot Token — https://api.slack.com/apps → OAuth Bot Token (xoxb-...)
# Required scopes: chat:write, channels:history, channels:read, users:read
# K8s key: slack-bot-token
CLERUM_SLACK_BOT_TOKEN=
# Slack Channel ID (for CommunicationChannel CRD, not a K8s secret)
# How to get: right-click channel in Slack → "View channel details" → scroll to bottom
CLERUM_SLACK_CHANNEL_ID=
# Slack Username (for CommunicationChannel CRD, not a K8s secret)
CLERUM_SLACK_USERNAME=
# Email (optional — Mailpit runs in-cluster with no credentials needed)
# Only fill these if testing against a real IMAP/SMTP server (e.g. Gmail)
# K8s keys: email-username, email-password
CLERUM_EMAIL_USERNAME=
CLERUM_EMAIL_PASSWORD=
CLERUM_EMAIL_IMAP_HOST=imap.gmail.com
CLERUM_EMAIL_IMAP_PORT=993
CLERUM_EMAIL_SMTP_HOST=smtp.gmail.com
CLERUM_EMAIL_SMTP_PORT=587
# -----------------------------------------------------------------------------
# Model Configuration (optional overrides)
# These go into mcp-host ConfigMap, not secrets
# -----------------------------------------------------------------------------
# LLM provider: "openai", "claude", "zai", or "bailian" (default: openai)
# CLERUM_MODEL_PROVIDER=openai
# Specific model name (default varies by provider: gpt-4o, claude-3-5-sonnet, glm-5, qwen3-coder-plus)
# CLERUM_MODEL_NAME=gpt-4o
# Feature flag for new agent loop (default: false)
# CLERUM_USE_NEW_AGENT_LOOP=false