-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy path.env.example
More file actions
289 lines (227 loc) · 8.47 KB
/
.env.example
File metadata and controls
289 lines (227 loc) · 8.47 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
# =============================================================================
# AI PLATFORM ENGINEERING - DEPLOYMENT CONFIGURATION
# =============================================================================
# =============================================================================
# AGENT DEPLOYMENT FLAGS (true=deploy, false=skip)
# =============================================================================
ENABLE_GITHUB=false
ENABLE_BACKSTAGE=false
ENABLE_ARGOCD=false
ENABLE_CONFLUENCE=false
ENABLE_JIRA=false
ENABLE_KOMODOR=false
ENABLE_PAGERDUTY=false
ENABLE_SLACK=false
ENABLE_SPLUNK=false
ENABLE_VICTOROPS=false
ENABLE_WEBEX=false
ENABLE_AWS=false
ENABLE_RAG=false
ENABLE_WEATHER=false
ENABLE_PETSTORE=false
# UI Deployment
ENABLE_CAIPE_UI=true
ENABLE_AGENT_FORGE=false
# Tracing
ENABLE_TRACING=false
#RAG
ENABLE_GRAPH_RAG=false
# =============================================================================
# AGENT-TO-AGENT COMMUNICATION
# =============================================================================
# A2A transport <p2p|slim>
A2A_TRANSPORT=p2p
SLIM_ENDPOINT=http://slim-dataplane:46357
# =============================================================================
# LLM PROVIDER CONFIGURATION
# =============================================================================
# LLM provider <aws-bedrock|azure-openai|openai>
LLM_PROVIDER='azure-openai'
# --- AWS Bedrock details ---
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
AWS_BEDROCK_MODEL_ID="us.amazon.nova-pro-v1:0"
AWS_BEDROCK_PROVIDER="amazon"
# --- Azure OpenAI details ---
AZURE_OPENAI_API_KEY=
AZURE_OPENAI_API_VERSION='2025-03-01-preview'
AZURE_OPENAI_DEPLOYMENT='gpt-4o'
AZURE_OPENAI_ENDPOINT='https://resource_group_name.openai.azure.com'
# --- OpenAI details ---
OPENAI_API_KEY=
OPENAI_ENDPOINT=https://api.openai.com/v1
OPENAI_MODEL_NAME=gpt-4o
# =============================================================================
# AGENT CREDENTIALS & ENDPOINTS
# =============================================================================
# GitHub - Option 1: GitHub App (recommended - auto-refreshing tokens, no manual rotation)
# Create a GitHub App at https://github.com/settings/apps with needed permissions,
# install it on your org, then set these three values:
# GITHUB_APP_ID=
# GITHUB_APP_PRIVATE_KEY= # PEM key contents (or base64-encoded)
# GITHUB_APP_PRIVATE_KEY_PATH= # Alternative: path to PEM file
# GITHUB_APP_INSTALLATION_ID=
# GitHub - Option 2: Personal Access Token (fallback - requires manual rotation)
GITHUB_PERSONAL_ACCESS_TOKEN=
# ArgoCD
ARGOCD_TOKEN=
ARGOCD_API_URL=
ARGOCD_VERIFY_SSL=true
# Atlassian (Jira/Confluence)
ATLASSIAN_TOKEN=
ATLASSIAN_EMAIL=
ATLASSIAN_API_URL=
ATLASSIAN_VERIFY_SSL=true
# Backstage
BACKSTAGE_API_TOKEN=
BACKSTAGE_URL=
# Confluence (standalone)
CONFLUENCE_API_URL=
CONFLUENCE_URL=
CONFLUENCE_USERNAME=
CONFLUENCE_API_TOKEN=
# PagerDuty
PAGERDUTY_API_KEY=
PAGERDUTY_API_URL=https://api.pagerduty.com
# VictorOps
VICTOROPS_API_URL=
X_VO_API_KEY=
X_VO_API_ID=
# Slack
SLACK_BOT_TOKEN=
SLACK_APP_TOKEN=
SLACK_SIGNING_SECRET=
SLACK_CLIENT_SECRET=
SLACK_TEAM_ID=
# Webex
WEBEX_TOKEN=<your-bot-webex-token>
# AgentForge
AGENT_FORGE_BASE_URL=http://localhost:8000
# Caipe UI
CAIPE_URL=http://localhost:8000
# Petstore API key
PETSTORE_API_KEY=
# =============================================================================
# MULTI-AGENT CONNECTIVITY SETTINGS
# =============================================================================
# Initial Connectivity Check
SKIP_AGENT_CONNECTIVITY_CHECK=false
AGENT_CONNECTIVITY_TIMEOUT=5.0
AGENT_CONNECTIVITY_MAX_RETRIES=3
AGENT_CONNECTIVITY_RETRY_DELAY=2.0
AGENT_CONNECTIVITY_STARTUP_DELAY=0.0
# Background Monitoring
AGENT_CONNECTIVITY_ENABLE_BACKGROUND=false
AGENT_CONNECTIVITY_REFRESH_INTERVAL=300
AGENT_CONNECTIVITY_FAST_CHECK_TIMEOUT=2.0
# =============================================================================
# CAIPE UI CONFIGURATION
# =============================================================================
# CAIPE Supervisor A2A endpoint URL
NEXT_PUBLIC_A2A_BASE_URL=http://localhost:8000
# RAG Server URLs
RAG_SERVER_URL=http://rag_server:9446
NEXT_PUBLIC_RAG_URL=http://localhost:9446
NEXT_PUBLIC_RAG_WEBUI_URL=http://localhost:9447
# RAG RBAC Configuration
# Map OIDC groups to RAG server roles (comma-separated)
RBAC_ADMIN_GROUPS=
RBAC_READONLY_GROUPS=
RBAC_INGESTONLY_GROUPS=
RBAC_DEFAULT_AUTHENTICATED_ROLE=readonly # Role when no group matches: admin|readonly|ingestonly
RBAC_CLIENT_CREDENTIALS_ROLE=ingestonly # Role for client-credentials (M2M) tokens
# RAG Trusted Network Configuration
# Enable trusted network access (bypasses JWT authentication for specific IPs/networks)
ALLOW_TRUSTED_NETWORK=true
TRUSTED_NETWORK_CIDRS=127.0.0.0/8,192.168.0.0/16,172.16.0.0/12
TRUSTED_NETWORK_DEFAULT_ROLE=admin
# Feature Flags
NEXT_PUBLIC_SSO_ENABLED=false
NEXT_PUBLIC_RAG_ENABLED=true # Set to false to disable RAG Knowledge Bases
NEXT_PUBLIC_ENABLE_SUBAGENT_CARDS=true
NEXT_PUBLIC_MONGODB_ENABLED=false
# NextAuth Configuration
NEXTAUTH_SECRET= # Generate with: openssl rand -base64 32
NEXTAUTH_URL=http://localhost:3000
# OIDC Provider Configuration (for SSO)
OIDC_ISSUER=
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_REQUIRED_GROUP=
OIDC_REQUIRED_ADMIN_GROUP=
OIDC_ENABLE_REFRESH_TOKEN=true
# MongoDB Configuration (for persistent chat history)
MONGODB_URI=mongodb://admin:changeme@mongodb:27017
MONGODB_DATABASE=caipe
MONGODB_ROOT_USERNAME=admin
MONGODB_ROOT_PASSWORD=changeme
# =============================================================================
# LANGGRAPH STORE (Cross-Thread Memory)
# =============================================================================
# Store type: memory (default, in-process) | redis | postgres
LANGGRAPH_STORE_TYPE=memory
# Redis store URL (falls back to REDIS_URL if not set)
# LANGGRAPH_STORE_REDIS_URL=redis://localhost:6379/1
# Postgres store DSN (falls back to POSTGRES_DSN if not set)
# LANGGRAPH_STORE_POSTGRES_DSN=postgresql://user:pass@localhost:5432/caipe_store
# TTL for stored memories/summaries in minutes (default: 10080 = 7 days)
LANGGRAPH_STORE_TTL_MINUTES=10080
# Automatic fact extraction from conversations (default: false)
# When enabled, extracts facts/preferences from each conversation turn
# and persists them to the cross-thread store for future recall.
# Adds one LLM call per turn; recommended with redis/postgres store backends.
ENABLE_FACT_EXTRACTION=false
# Model for fact extraction (empty = use default LLM)
# Use a smaller/cheaper model for cost efficiency, e.g.: gpt-4o-mini
# FACT_EXTRACTION_MODEL=
# =============================================================================
# OBSERVABILITY & TRACING
# =============================================================================
# Langfuse Tracing
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_HOST=
# =============================================================================
# ADDITIONAL API KEYS
# =============================================================================
# Anthropic (for evaluation webhook)
ANTHROPIC_API_KEY=
# OpenAI (for evaluation webhook - only if not already defined)
#OPENAI_API_KEY=
# =============================================================================
# SLACK BOT INTEGRATION (profile: slack-bot)
# =============================================================================
SLACK_INTEGRATION_APP_NAME=CAIPE
SLACK_INTEGRATION_BOT_TOKEN= # xoxb-...
SLACK_INTEGRATION_APP_TOKEN= # xapp-...
SLACK_INTEGRATION_SIGNING_SECRET= # Only needed for HTTP mode
SLACK_INTEGRATION_BOT_MODE=socket # socket or http
# OAuth2 Client Credentials auth for A2A requests (works with any OIDC provider)
SLACK_INTEGRATION_ENABLE_AUTH=false
SLACK_INTEGRATION_AUTH_TOKEN_URL= # e.g. https://your-idp.example.com/oauth2/v1/token
SLACK_INTEGRATION_AUTH_CLIENT_ID=
SLACK_INTEGRATION_AUTH_CLIENT_SECRET=
SLACK_INTEGRATION_AUTH_SCOPE= # Optional
SLACK_INTEGRATION_AUTH_AUDIENCE= # Optional
# CAIPE UI base URL (for generating links in Slack messages)
CAIPE_UI_BASE_URL=http://localhost:3000
# Slack workspace URL for Langfuse feedback permalinks (optional)
SLACK_WORKSPACE_URL= # e.g. https://mycompany.slack.com
# Channel configuration (YAML format)
SLACK_INTEGRATION_BOT_CONFIG='
C0EXAMPLE01:
name: "#my-channel"
ai_enabled: "true"
qanda:
enabled: "true"
overthink: "true"
ai_alerts:
enabled: "false"
default:
project_key: MYPROJ
issue_type: Bug
additional_fields:
labels:
- my_label
'