ibm-watsonx-orchestrate 1.6.0b0__py3-none-any.whl → 1.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ibm_watsonx_orchestrate/__init__.py +1 -1
- ibm_watsonx_orchestrate/agent_builder/agents/agent.py +1 -0
- ibm_watsonx_orchestrate/agent_builder/agents/types.py +5 -1
- ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/__init__.py +2 -0
- ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/prompts.py +34 -0
- ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/welcome_content.py +20 -0
- ibm_watsonx_orchestrate/agent_builder/connections/__init__.py +2 -2
- ibm_watsonx_orchestrate/agent_builder/connections/connections.py +21 -7
- ibm_watsonx_orchestrate/agent_builder/connections/types.py +39 -36
- ibm_watsonx_orchestrate/agent_builder/tools/flow_tool.py +83 -0
- ibm_watsonx_orchestrate/agent_builder/tools/types.py +7 -1
- ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py +56 -18
- ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_controller.py +104 -21
- ibm_watsonx_orchestrate/cli/commands/chat/chat_command.py +2 -0
- ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py +26 -18
- ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py +61 -61
- ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py +1 -1
- ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py +118 -30
- ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py +22 -9
- ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py +2 -2
- ibm_watsonx_orchestrate/cli/commands/server/server_command.py +123 -5
- ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py +9 -3
- ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py +107 -22
- ibm_watsonx_orchestrate/client/agents/agent_client.py +74 -6
- ibm_watsonx_orchestrate/client/base_api_client.py +2 -1
- ibm_watsonx_orchestrate/client/connections/connections_client.py +18 -9
- ibm_watsonx_orchestrate/client/connections/utils.py +4 -2
- ibm_watsonx_orchestrate/client/local_service_instance.py +1 -1
- ibm_watsonx_orchestrate/client/service_instance.py +3 -3
- ibm_watsonx_orchestrate/client/tools/tempus_client.py +8 -3
- ibm_watsonx_orchestrate/client/utils.py +10 -0
- ibm_watsonx_orchestrate/docker/compose-lite.yml +228 -67
- ibm_watsonx_orchestrate/docker/default.env +32 -13
- ibm_watsonx_orchestrate/docker/proxy-config-single.yaml +12 -0
- ibm_watsonx_orchestrate/flow_builder/flows/flow.py +15 -5
- ibm_watsonx_orchestrate/flow_builder/utils.py +78 -48
- ibm_watsonx_orchestrate/run/connections.py +4 -4
- {ibm_watsonx_orchestrate-1.6.0b0.dist-info → ibm_watsonx_orchestrate-1.6.1.dist-info}/METADATA +2 -2
- {ibm_watsonx_orchestrate-1.6.0b0.dist-info → ibm_watsonx_orchestrate-1.6.1.dist-info}/RECORD +42 -37
- {ibm_watsonx_orchestrate-1.6.0b0.dist-info → ibm_watsonx_orchestrate-1.6.1.dist-info}/WHEEL +0 -0
- {ibm_watsonx_orchestrate-1.6.0b0.dist-info → ibm_watsonx_orchestrate-1.6.1.dist-info}/entry_points.txt +0 -0
- {ibm_watsonx_orchestrate-1.6.0b0.dist-info → ibm_watsonx_orchestrate-1.6.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
services:
|
2
|
-
########################
|
3
|
-
# Orchestrate Lite dependencies
|
4
|
-
########################
|
2
|
+
########################
|
3
|
+
# Orchestrate Lite dependencies
|
4
|
+
########################
|
5
5
|
wxo-server-redis:
|
6
6
|
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/redis:7.2
|
7
7
|
platform: linux/amd64
|
@@ -56,7 +56,7 @@ services:
|
|
56
56
|
restart: unless-stopped
|
57
57
|
ports:
|
58
58
|
- "8787:8787"
|
59
|
-
environment:
|
59
|
+
environment:
|
60
60
|
WATSONX_API_KEY: ${WATSONX_APIKEY}
|
61
61
|
WATSONX_URL: ${WATSONX_URL}
|
62
62
|
WATSONX_SPACE_ID: ${WATSONX_SPACE_ID}
|
@@ -87,7 +87,7 @@ services:
|
|
87
87
|
NODE_LOG_LEVEL: debug
|
88
88
|
RABBITMQ_EXCHANGE: verdi_events_affinity
|
89
89
|
SOCKET_PING_TIMEOUT: 20000
|
90
|
-
WXO_DOMAIN_URL: http://localhost:4321
|
90
|
+
WXO_DOMAIN_URL: http://localhost:4321/api/v1
|
91
91
|
IS_WXA_WEBCHAT: "true"
|
92
92
|
NODE_OPTIONS: --max-http-header-size 32768
|
93
93
|
PATH: /opt/app-root/src/node_modules/.bin/:/opt/app-root/src/.npm-global/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
@@ -115,13 +115,17 @@ services:
|
|
115
115
|
platform: linux/amd64
|
116
116
|
restart: unless-stopped
|
117
117
|
environment:
|
118
|
-
WXO_DEPLOYMENT_TYPE:
|
118
|
+
WXO_DEPLOYMENT_TYPE: "laptop"
|
119
119
|
AGENT_RUNTIME_ENDPOINT: http://wxo-server:4321
|
120
120
|
TEMPUS_RUNTIME_ENDPOINT: http://wxo-tempus-runtime:9044
|
121
121
|
CONNECTIONS_MANAGER_ENDPOINT: http://wxo-server-connection-manager:3001
|
122
|
+
AGENT_OPS_API_KEY: ${AGENTOPS_API_KEY}
|
123
|
+
AGENTS_OPS_RUNTIME_ENDPOINT: https://frontend-server:443
|
124
|
+
IS_OBSERVABILITY_FEATURE_ENABLED: "true"
|
125
|
+
ALLOW_INSECURE_TLS: "true"
|
122
126
|
command: 'npm start'
|
123
127
|
ports:
|
124
|
-
-
|
128
|
+
- "4025:4025"
|
125
129
|
healthcheck:
|
126
130
|
test: curl -k http://localhost:4025/api/health --fail
|
127
131
|
interval: 5s
|
@@ -130,10 +134,9 @@ services:
|
|
130
134
|
|
131
135
|
wxo-server-minio:
|
132
136
|
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/minio/minio:latest
|
133
|
-
platform: linux/amd64
|
134
137
|
ports:
|
135
|
-
-
|
136
|
-
-
|
138
|
+
- "9000:9000"
|
139
|
+
- "9001:9001"
|
137
140
|
healthcheck:
|
138
141
|
test: timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1
|
139
142
|
interval: 5s
|
@@ -148,7 +151,6 @@ services:
|
|
148
151
|
|
149
152
|
wxo-server-minio-setup:
|
150
153
|
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/minio/mc:latest
|
151
|
-
platform: linux/amd64
|
152
154
|
depends_on:
|
153
155
|
wxo-server-minio:
|
154
156
|
condition: service_healthy
|
@@ -157,14 +159,15 @@ services:
|
|
157
159
|
/usr/bin/mc alias set wxo-server-minio http://wxo-server-minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-watsonxorchestrate};
|
158
160
|
/usr/bin/mc mb wxo-server-minio/wxo-server-storage-bucket;
|
159
161
|
/usr/bin/mc mb wxo-server-minio/langfuse;
|
162
|
+
/usr/bin/mc anonymous set download wxo-server-minio/wxo-server-storage-bucket;
|
160
163
|
exit 0;
|
161
164
|
"
|
162
|
-
|
165
|
+
|
163
166
|
wxo-milvus-standalone:
|
164
167
|
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/milvusdb/milvus:v2.5.6
|
165
168
|
command: ["milvus", "run", "standalone"]
|
166
169
|
security_opt:
|
167
|
-
|
170
|
+
- seccomp:unconfined
|
168
171
|
environment:
|
169
172
|
ETCD_ENDPOINTS: wxo-milvus-etcd:2379
|
170
173
|
MINIO_ADDRESS: wxo-server-minio:9000
|
@@ -200,7 +203,7 @@ services:
|
|
200
203
|
interval: 30s
|
201
204
|
timeout: 20s
|
202
205
|
retries: 3
|
203
|
-
|
206
|
+
|
204
207
|
socket-handler:
|
205
208
|
image: ${SOCKET_HANDLER_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-socket-handler:${SOCKET_HANDLER_TAG:-latest}
|
206
209
|
platform: linux/amd64
|
@@ -223,31 +226,33 @@ services:
|
|
223
226
|
volumes:
|
224
227
|
- ./sdk:/packages
|
225
228
|
- tools:/tools
|
226
|
-
|
227
229
|
command: >
|
228
|
-
|
229
|
-
|
230
|
-
|
230
|
+
bash -c '
|
231
|
+
export PYTHONPATH="/tmp/monkey:$PYTHONPATH"
|
232
|
+
mkdir -p /tmp/monkey &&
|
231
233
|
|
232
|
-
|
234
|
+
echo -e "from uvicorn.supervisors.multiprocess import Process\n_original_is_alive = Process.is_alive\ndef patched_is_alive(self, timeout: float = 30):\n return _original_is_alive(self, timeout=30)\nProcess.is_alive = patched_is_alive" > /tmp/monkey/sitecustomize.py &&
|
233
235
|
|
234
|
-
|
236
|
+
uvicorn --host 0.0.0.0 --port 4321 --log-config /app/config/logs/log_conf.yaml --log-level debug --workers 5 wo_archer.api.main:app &
|
235
237
|
|
236
|
-
|
237
|
-
|
238
|
+
for i in {1..40}; do curl --silent --fail http://127.0.0.1:4321/health/alive && echo "[INFO] HTTP Service ready" && break || echo "[INFO] Waiting for HTTP service..." && sleep 10; done;
|
239
|
+
curl --silent --fail http://127.0.0.1:4321/health/alive || (echo "[ERROR] HTTP service failed to start" && exit 1);
|
238
240
|
|
239
|
-
|
240
|
-
|
241
|
+
wait
|
242
|
+
'
|
241
243
|
depends_on:
|
242
244
|
wxo-server-redis:
|
243
|
-
|
245
|
+
condition: service_started
|
244
246
|
wxo-server-db:
|
245
|
-
|
247
|
+
condition: service_started
|
246
248
|
wxo-server-worker:
|
247
|
-
|
249
|
+
condition: service_started
|
248
250
|
langfuse-worker:
|
249
|
-
|
250
|
-
|
251
|
+
condition: service_started
|
252
|
+
required: False
|
253
|
+
networks:
|
254
|
+
- default
|
255
|
+
- jaeger-network
|
251
256
|
environment:
|
252
257
|
RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
|
253
258
|
PIP_NO_CACHE_DIR:
|
@@ -260,9 +265,9 @@ services:
|
|
260
265
|
CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
|
261
266
|
FLOWER_URL: http://wxo-server-flower:5555
|
262
267
|
DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
|
263
|
-
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
268
|
+
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
|
264
269
|
STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
|
265
|
-
STORAGE_S3_FORCE_PATH_STYLE:
|
270
|
+
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
266
271
|
STORAGE_S3_REGION: us-east-1
|
267
272
|
EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
|
268
273
|
AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
|
@@ -270,13 +275,13 @@ services:
|
|
270
275
|
ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
|
271
276
|
ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
|
272
277
|
ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
273
|
-
ASSISTANT_LLM_SPACE_ID
|
278
|
+
ASSISTANT_LLM_SPACE_ID: ${ASSISTANT_LLM_SPACE_ID}
|
274
279
|
BAM_API_KEY: ${BAM_API_KEY}
|
275
280
|
WXAI_API_KEY: ${WXAI_API_KEY}
|
276
281
|
ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
|
277
282
|
ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
|
278
283
|
ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
279
|
-
ROUTING_LLM_SPACE_ID
|
284
|
+
ROUTING_LLM_SPACE_ID: ${ROUTING_LLM_SPACE_ID}
|
280
285
|
ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
|
281
286
|
ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
|
282
287
|
ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
@@ -305,7 +310,7 @@ services:
|
|
305
310
|
CALLER_ID: 12345
|
306
311
|
AGENTIC_FLOW_ENABLED: ${AGENTIC_FLOW_ENABLED}
|
307
312
|
CELERY_WORKER_POOL: ${CELERY_WORKER_POOL}
|
308
|
-
IS_WXO_LITE:
|
313
|
+
IS_WXO_LITE: "TRUE"
|
309
314
|
OAUTH_REDIRECT_URL: https://localhost:4322/api/v1/connections/callback
|
310
315
|
ENABLE_WEBHOOKS: false
|
311
316
|
DISABLE_JSON_LOG_CELERY: true
|
@@ -324,8 +329,13 @@ services:
|
|
324
329
|
AUTHORIZATION_URL: ${AUTHORIZATION_URL}
|
325
330
|
WO_AUTH_TYPE: ${WO_AUTH_TYPE}
|
326
331
|
AI_GATEWAY_BASE_URL: ${AI_GATEWAY_BASE_URL}
|
327
|
-
AI_GATEWAY_ENABLED
|
328
|
-
|
332
|
+
AI_GATEWAY_ENABLED: ${AI_GATEWAY_ENABLED}
|
333
|
+
IBM_TELEMETRY_EXPORTER_TYPE: http
|
334
|
+
IBM_TELEMETRY_TRACER_ENDPOINT: http://jaeger:4318/v1/traces
|
335
|
+
USE_IBM_TELEMETRY: ${USE_IBM_TELEMETRY:-false}
|
336
|
+
AGENTOPS_API_KEY_AUTH_ENABLED: ${AGENTOPS_API_KEY_AUTH_ENABLED:-false}
|
337
|
+
AGENTOPS_API_KEY: ${AGENTOPS_API_KEY}
|
338
|
+
ES_HOST: http://elasticsearch:9200
|
329
339
|
|
330
340
|
wxo-server-worker:
|
331
341
|
image: ${WORKER_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-server-conversation_controller:${WORKER_TAG:-latest}
|
@@ -333,20 +343,23 @@ services:
|
|
333
343
|
restart: unless-stopped
|
334
344
|
depends_on:
|
335
345
|
wxo-server-redis:
|
336
|
-
|
346
|
+
condition: service_started
|
337
347
|
wxo-server-db:
|
338
|
-
|
348
|
+
condition: service_started
|
339
349
|
langfuse-worker:
|
340
|
-
|
341
|
-
|
350
|
+
condition: service_started
|
351
|
+
required: False
|
342
352
|
volumes:
|
343
353
|
- ./sdk:/packages
|
344
354
|
- tools:/tools
|
355
|
+
networks:
|
356
|
+
- default
|
357
|
+
- jaeger-network
|
345
358
|
environment:
|
346
359
|
RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
|
347
360
|
AI_GATEWAY_ENABLED : ${AI_GATEWAY_ENABLED}
|
348
361
|
AI_GATEWAY_BASE_URL: ${AI_GATEWAY_BASE_URL}
|
349
|
-
IS_WXO_LITE:
|
362
|
+
IS_WXO_LITE: "TRUE"
|
350
363
|
TRM_BASE_URL: http://tools-runtime-manager:8080
|
351
364
|
AGENT_STEP_DETAILS: redis://wxo-server-redis:6379/0
|
352
365
|
AGENT_GATEWAY_URI: http://wxo-agent-gateway:8989
|
@@ -354,9 +367,9 @@ services:
|
|
354
367
|
POSTGRES_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
|
355
368
|
CELERY_BROKER_URL: redis://wxo-server-redis:6379/0
|
356
369
|
CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
|
357
|
-
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
370
|
+
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
|
358
371
|
STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
|
359
|
-
STORAGE_S3_FORCE_PATH_STYLE:
|
372
|
+
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
360
373
|
STORAGE_S3_REGION: us-east-1
|
361
374
|
EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
|
362
375
|
DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
|
@@ -365,11 +378,11 @@ services:
|
|
365
378
|
ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
|
366
379
|
ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
|
367
380
|
ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
368
|
-
ASSISTANT_LLM_SPACE_ID
|
381
|
+
ASSISTANT_LLM_SPACE_ID: ${ASSISTANT_LLM_SPACE_ID}
|
369
382
|
ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
|
370
383
|
ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
|
371
384
|
ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
372
|
-
ROUTING_LLM_SPACE_ID
|
385
|
+
ROUTING_LLM_SPACE_ID: ${ROUTING_LLM_SPACE_ID}
|
373
386
|
ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
|
374
387
|
ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
|
375
388
|
ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
|
@@ -415,8 +428,11 @@ services:
|
|
415
428
|
USE_SAAS_ML_TOOLS_RUNTIME: ${USE_SAAS_ML_TOOLS_RUNTIME}
|
416
429
|
AUTHORIZATION_URL: ${AUTHORIZATION_URL}
|
417
430
|
WO_AUTH_TYPE: ${WO_AUTH_TYPE}
|
431
|
+
IBM_TELEMETRY_EXPORTER_TYPE: http
|
432
|
+
IBM_TELEMETRY_TRACER_ENDPOINT: http://jaeger:4318/v1/traces
|
433
|
+
USE_IBM_TELEMETRY: ${USE_IBM_TELEMETRY:-false}
|
418
434
|
WXO_DEPLOYMENT_PLATFORM: saas
|
419
|
-
CALLBACK_HOST_URL: http://wxo-server:4321
|
435
|
+
CALLBACK_HOST_URL: ${CALLBACK_HOST_URL:-http://wxo-server:4321}
|
420
436
|
|
421
437
|
tools-runtime-manager:
|
422
438
|
image: ${TRM_REGISTRY:-us.icr.io/watson-orchestrate-private}/tools-runtime-manager:${TRM_TAG:-latest}
|
@@ -426,20 +442,20 @@ services:
|
|
426
442
|
- "8080:8080"
|
427
443
|
depends_on:
|
428
444
|
wxo-server-db:
|
429
|
-
condition: service_healthy
|
445
|
+
condition: service_healthy # Ensures DB is ready before starting
|
430
446
|
volumes:
|
431
447
|
- $HOME/.kube/config:/root/.kube/config
|
432
448
|
- tools-runtime-data:/shared-data
|
433
449
|
environment:
|
434
450
|
RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
|
435
451
|
KUBECONFIG: /root/.kube/config
|
436
|
-
K8S_SERVER: "https://lima-rancher-desktop:6443"
|
452
|
+
K8S_SERVER: "https://lima-rancher-desktop:6443" # Kubernetes API on host
|
437
453
|
DB_HOST: wxo-server-db
|
438
|
-
DB_PORT: ${DB_PORT:-5432}
|
454
|
+
DB_PORT: ${DB_PORT:-5432} # Ensure default port
|
439
455
|
DB_USER: ${DB_USER:-postgres}
|
440
456
|
DB_PASSWORD: ${DB_PASSWORD:-postgres}
|
441
457
|
DB_NAME: ${DB_NAME:-postgres}
|
442
|
-
DB_SSLMODE: ${DB_SSLMODE:-disable}
|
458
|
+
DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
|
443
459
|
DB_CONN_LIFE: ${DB_CONN_LIFE}
|
444
460
|
DB_MAX_IDLE_CONN: ${DB_MAX_IDLE_CONN}
|
445
461
|
DB_MAX_CONN: ${DB_MAX_CONN}
|
@@ -452,9 +468,9 @@ services:
|
|
452
468
|
VOLUME_MOUNT_PATH: "/shared-data"
|
453
469
|
TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
|
454
470
|
CONNECTION_SERVICE_BASE_URL: http://wxo-server-connection-manager:3001
|
455
|
-
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
471
|
+
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
456
472
|
STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
|
457
|
-
STORAGE_S3_FORCE_PATH_STYLE:
|
473
|
+
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
458
474
|
STORAGE_S3_REGION: us-east-1
|
459
475
|
AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
|
460
476
|
AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
|
@@ -479,21 +495,163 @@ services:
|
|
479
495
|
RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
|
480
496
|
TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
|
481
497
|
DB_HOST: wxo-server-db
|
482
|
-
DB_PORT: ${DB_PORT:-5432}
|
498
|
+
DB_PORT: ${DB_PORT:-5432} # Ensure default port
|
483
499
|
DB_USER: ${DB_USER:-postgres}
|
484
500
|
DB_PASSWORD: ${DB_PASSWORD:-postgres}
|
485
501
|
DB_NAME: ${DB_NAME:-postgres}
|
486
|
-
DB_SSLMODE: ${DB_SSLMODE:-disable}
|
487
|
-
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
502
|
+
DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
|
503
|
+
STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
|
488
504
|
STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
|
489
|
-
STORAGE_S3_FORCE_PATH_STYLE:
|
505
|
+
STORAGE_S3_FORCE_PATH_STYLE: "true"
|
490
506
|
STORAGE_S3_REGION: us-east-1
|
491
507
|
AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
|
492
508
|
AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
|
493
509
|
|
494
|
-
########################
|
495
|
-
#
|
496
|
-
########################
|
510
|
+
########################
|
511
|
+
# IBM AGENT-OPS
|
512
|
+
########################
|
513
|
+
elasticsearch:
|
514
|
+
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.5
|
515
|
+
profiles: [ibm-telemetry]
|
516
|
+
environment:
|
517
|
+
- discovery.type=single-node
|
518
|
+
- xpack.security.enabled=true
|
519
|
+
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
520
|
+
- ELASTIC_USERNAME=elastic
|
521
|
+
- ELASTIC_PASSWORD=changeme
|
522
|
+
# Turn off disk threshold warnings
|
523
|
+
- cluster.routing.allocation.disk.threshold_enabled=false
|
524
|
+
ports:
|
525
|
+
- "9200:9200"
|
526
|
+
networks:
|
527
|
+
- jaeger-network
|
528
|
+
volumes:
|
529
|
+
- es_data:/usr/share/elasticsearch/data
|
530
|
+
healthcheck:
|
531
|
+
test:
|
532
|
+
[
|
533
|
+
"CMD-SHELL",
|
534
|
+
"curl -s -u elastic:changeme http://localhost:9200/_cluster/health | grep -q '\"status\":\"green\"\\|\"status\":\"yellow\"'",
|
535
|
+
]
|
536
|
+
interval: 10s
|
537
|
+
timeout: 10s
|
538
|
+
retries: 20
|
539
|
+
start_period: 40s
|
540
|
+
|
541
|
+
jaeger-proxy:
|
542
|
+
image: ${JAEGER_PROXY_REGISTRY:-us.icr.io/watson-orchestrate-private}/jaeger-proxy:${JAEGER_PROXY_TAG:-latest} # temporay registry
|
543
|
+
profiles: [ibm-telemetry]
|
544
|
+
environment:
|
545
|
+
- TENANT_API_KEY=${AGENTOPS_API_KEY}
|
546
|
+
- TENANT_CONFIG_URL=http://wxo-server:4321
|
547
|
+
- TENANT_DEFAULT_USERNAME=${ES_USERNAME}
|
548
|
+
- TENANT_DEFAULT_PASSWORD=${ES_PASSWORD}
|
549
|
+
- TENANT_DEFAULT_HOSTNAME=http://elasticsearch:9200
|
550
|
+
- DEFAULT_TENANT_ID=${DEFAULT_TENANT_ID}
|
551
|
+
ports:
|
552
|
+
- "9202:9201" # Expose proxy on host port 9202
|
553
|
+
networks:
|
554
|
+
- jaeger-network
|
555
|
+
- default
|
556
|
+
volumes:
|
557
|
+
- ./proxy-config-single.yaml:/app/config/proxy-config.yaml:ro
|
558
|
+
depends_on:
|
559
|
+
elasticsearch:
|
560
|
+
condition: service_healthy
|
561
|
+
healthcheck:
|
562
|
+
test: ["CMD", "python", "-c", "import requests; requests.get('http://localhost:9201/health').raise_for_status()"]
|
563
|
+
interval: 10s
|
564
|
+
timeout: 5s
|
565
|
+
retries: 5
|
566
|
+
start_period: 10s
|
567
|
+
|
568
|
+
jaeger:
|
569
|
+
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/jaegertracing/all-in-one:1.69.0
|
570
|
+
profiles: [ibm-telemetry]
|
571
|
+
command:
|
572
|
+
- "--es.max-span-age=720h"
|
573
|
+
- "--log-level=debug"
|
574
|
+
# - "--sampling.default-sampling-probability=1.0" # Changed from default 0.001
|
575
|
+
environment:
|
576
|
+
- SPAN_STORAGE_TYPE=elasticsearch
|
577
|
+
- ES_SERVER_URLS=http://jaeger-proxy:9201
|
578
|
+
- ES_USERNAME=elastic
|
579
|
+
- ES_PASSWORD=changeme
|
580
|
+
- JAEGER_SAMPLER_TYPE=const
|
581
|
+
- JAEGER_SAMPLER_PARAM=1
|
582
|
+
ports:
|
583
|
+
- "6831:6831/udp"
|
584
|
+
- "6832:6832/udp"
|
585
|
+
- "5778:5778"
|
586
|
+
- "16686:16686"
|
587
|
+
- "4317:4317"
|
588
|
+
- "4318:4318"
|
589
|
+
- "14250:14250"
|
590
|
+
- "14268:14268"
|
591
|
+
- "14269:14269"
|
592
|
+
healthcheck:
|
593
|
+
test: ["CMD", "wget", "--spider", "-q", "http://localhost:14269"]
|
594
|
+
interval: 1s
|
595
|
+
timeout: 3s
|
596
|
+
retries: 30
|
597
|
+
start_period: 5s
|
598
|
+
depends_on:
|
599
|
+
elasticsearch:
|
600
|
+
condition: service_healthy
|
601
|
+
jaeger-proxy:
|
602
|
+
condition: service_healthy
|
603
|
+
networks:
|
604
|
+
- jaeger-network
|
605
|
+
|
606
|
+
frontend-server:
|
607
|
+
image: ${AGENT_ANALYTICS_REGISTRY:-us.icr.io/watson-orchestrate-private}/agentops-backend:${AGENT_ANALYTICS_TAG:-latest}
|
608
|
+
profiles: [ibm-telemetry]
|
609
|
+
restart: always
|
610
|
+
healthcheck:
|
611
|
+
test:
|
612
|
+
[
|
613
|
+
"CMD",
|
614
|
+
"python",
|
615
|
+
"-c",
|
616
|
+
"import urllib.request, ssl; context = ssl._create_unverified_context(); urllib.request.urlopen('https://localhost:443', context=context)",
|
617
|
+
]
|
618
|
+
interval: 30s
|
619
|
+
timeout: 10s
|
620
|
+
retries: 5
|
621
|
+
start_period: 20s
|
622
|
+
depends_on:
|
623
|
+
jaeger:
|
624
|
+
condition: service_healthy
|
625
|
+
environment:
|
626
|
+
- TEST=true
|
627
|
+
- ES_USERNAME=elastic
|
628
|
+
- ES_PASSWORD=changeme
|
629
|
+
- ES_HOST=http://elasticsearch:9200
|
630
|
+
- JWT_SECRET_KEY=${JWT_SECRET}
|
631
|
+
- JAEGER_URL=http://jaeger:16686
|
632
|
+
- JAEGER_COLLECT_URL=http://jaeger
|
633
|
+
- WATSONX_APIKEY=${WATSONX_APIKEY}
|
634
|
+
- WATSONX_SPACE_ID=${WATSONX_SPACE_ID}
|
635
|
+
- WATSONX_URL=${WATSONX_URL}
|
636
|
+
- PROXY_SERVER_URL=http://jaeger-proxy:9201
|
637
|
+
- WXO_DEPLOYMENT_PLATFORM=saas
|
638
|
+
- TENANT_API_KEY=${AGENTOPS_API_KEY}
|
639
|
+
- TENANT_CONFIG_URL=http://wxo-server:4321
|
640
|
+
- TENANT_DEFAULT_USERNAME=${ES_USERNAME}
|
641
|
+
- TENANT_DEFAULT_PASSWORD=${ES_PASSWORD}
|
642
|
+
- API_KEY_AUTH_ENABLED=${AGENTOPS_API_KEY_AUTH_ENABLED}
|
643
|
+
- INBOUND_API_KEY=${AGENTOPS_API_KEY}
|
644
|
+
- DEFAULT_TENANT_ID=${DEFAULT_TENANT_ID}
|
645
|
+
- TENANT_DEFAULT_HOSTNAME=http://elasticsearch:9200
|
646
|
+
ports:
|
647
|
+
- "8765:443"
|
648
|
+
networks:
|
649
|
+
- jaeger-network
|
650
|
+
- default
|
651
|
+
|
652
|
+
########################
|
653
|
+
# LANGFUSE dependencies
|
654
|
+
########################
|
497
655
|
langfuse-worker:
|
498
656
|
image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/langfuse/langfuse-worker:3
|
499
657
|
restart: unless-stopped
|
@@ -583,9 +741,6 @@ services:
|
|
583
741
|
retries: 10
|
584
742
|
start_period: 1s
|
585
743
|
|
586
|
-
|
587
|
-
|
588
|
-
|
589
744
|
wxo-tempus-runtime:
|
590
745
|
image: ${FLOW_RUMTIME_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-tempus-runtime:${FLOW_RUNTIME_TAG:-latest}
|
591
746
|
restart: unless-stopped
|
@@ -622,10 +777,13 @@ services:
|
|
622
777
|
REDIS_TLS: false
|
623
778
|
LANGFUSE_ENABLED: ${LANGFUSE_ENABLED:-false}
|
624
779
|
LANGFUSE_HOST: ${LANGFUSE_HOST:-http://langfuse-web:3000}
|
625
|
-
LANGFUSE_PUBLIC_KEY:
|
626
|
-
LANGFUSE_SECRET_KEY:
|
780
|
+
LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:-pk-lf-7417757e-d6df-421b-957e-683b76acb5df}
|
781
|
+
LANGFUSE_SECRET_KEY: ${LANGFUSE_PRIVATE_KEY:-sk-lf-7bc4da63-7b2b-40c0-b5eb-1e0cf64f9af2}
|
627
782
|
LOG_LEVEL: info
|
628
|
-
|
783
|
+
WO_API_KEY: ${WO_API_KEY}
|
784
|
+
WO_INSTANCE: ${WO_INSTANCE}
|
785
|
+
AUTHORIZATION_URL: ${AUTHORIZATION_URL}
|
786
|
+
WO_AUTH_TYPE: ${WO_AUTH_TYPE}
|
629
787
|
healthcheck:
|
630
788
|
test: curl -k http://localhost:9044/readiness --fail
|
631
789
|
interval: 5s
|
@@ -635,7 +793,7 @@ services:
|
|
635
793
|
- 9044:9044
|
636
794
|
depends_on:
|
637
795
|
- wxo-server-db
|
638
|
-
|
796
|
+
|
639
797
|
volumes:
|
640
798
|
tools:
|
641
799
|
driver: local
|
@@ -659,7 +817,10 @@ volumes:
|
|
659
817
|
driver: local
|
660
818
|
langfuse_clickhouse_logs:
|
661
819
|
driver: local
|
820
|
+
es_data:
|
821
|
+
|
662
822
|
networks:
|
663
823
|
default:
|
664
824
|
name: wxo-server
|
665
|
-
|
825
|
+
jaeger-network:
|
826
|
+
driver: bridge
|
@@ -52,47 +52,55 @@ EVENT_BROKER_TTL="-1"
|
|
52
52
|
# See get_default_registry_env_vars_by_dev_edition_source() in src/ibm_watsonx_orchestrate/cli/commands/server/server_command.py for more details.
|
53
53
|
REGISTRY_URL=
|
54
54
|
|
55
|
-
SERVER_TAG=19-06-2025-v2
|
56
55
|
|
56
|
+
SERVER_TAG=02-07-2025
|
57
57
|
SERVER_REGISTRY=
|
58
58
|
|
59
|
-
WORKER_TAG=
|
59
|
+
WORKER_TAG=02-07-2025
|
60
60
|
WORKER_REGISTRY=
|
61
61
|
|
62
|
-
AI_GATEWAY_TAG=
|
62
|
+
AI_GATEWAY_TAG=01-07-2025
|
63
63
|
AI_GATEWAY_REGISTRY=
|
64
64
|
|
65
|
-
AGENT_GATEWAY_TAG=
|
65
|
+
AGENT_GATEWAY_TAG=23-06-2025
|
66
66
|
AGENT_GATEWAY_REGISTRY=
|
67
67
|
|
68
68
|
DB_REGISTRY=
|
69
69
|
# If you build multiarch set all three of these to the same, we have a pr against main
|
70
70
|
# to not have this separation, but we can merge it later
|
71
|
-
DBTAG=
|
72
|
-
AMDDBTAG=
|
73
|
-
ARM64DBTAG=
|
71
|
+
DBTAG=24-06-2025-v1
|
72
|
+
AMDDBTAG=24-06-2025-v1
|
73
|
+
ARM64DBTAG=24-06-2025-v1
|
74
74
|
|
75
75
|
UI_REGISTRY=
|
76
|
-
UITAG=
|
76
|
+
UITAG=27-06-2025
|
77
77
|
|
78
78
|
CM_REGISTRY=
|
79
|
-
CM_TAG=
|
79
|
+
CM_TAG=27-06-2025
|
80
80
|
|
81
|
-
TRM_TAG=
|
81
|
+
TRM_TAG=26-06-2025
|
82
82
|
TRM_REGISTRY=
|
83
83
|
|
84
|
-
TR_TAG=
|
84
|
+
TR_TAG=26-06-2025
|
85
85
|
TR_REGISTRY=
|
86
86
|
|
87
|
-
BUILDER_TAG=
|
87
|
+
BUILDER_TAG=02-07-2025
|
88
88
|
BUILDER_REGISTRY=
|
89
89
|
|
90
|
-
FLOW_RUNTIME_TAG=
|
90
|
+
FLOW_RUNTIME_TAG=23-06-2025
|
91
91
|
FLOW_RUMTIME_REGISTRY=
|
92
92
|
|
93
|
+
|
94
|
+
AGENT_ANALYTICS_TAG=02-07-2025-v1
|
95
|
+
AGENT_ANALYTICS_REGISTRY=
|
96
|
+
|
97
|
+
JAEGER_PROXY_TAG=01-07-2025
|
98
|
+
JAEGER_PROXY_REGISTRY=
|
99
|
+
|
93
100
|
SOCKET_HANDLER_TAG=29-05-2025
|
94
101
|
SOCKET_HANDLER_REGISTRY=
|
95
102
|
|
103
|
+
|
96
104
|
# END -- IMAGE REGISTRIES AND TAGS
|
97
105
|
|
98
106
|
TAVILY_API_KEY=dummy_tavily_api_key
|
@@ -126,6 +134,9 @@ CONNECTION_SERVICE_BASE_URL="http://wxo-server-connection-manager:3001"
|
|
126
134
|
AI_GATEWAY_BASE_URL="http://ai-gateway:8787/v1"
|
127
135
|
AI_GATEWAY_ENABLED=True
|
128
136
|
AGENT_GATEWAY_URI="http://wxo-agent-gateway:8989"
|
137
|
+
DEFAULT_TENANT_ID=10000000-0000-0000-0000-000000000000
|
138
|
+
ES_USERNAME=elastic
|
139
|
+
ES_PASSWORD=changeme
|
129
140
|
#To Prevent warnings
|
130
141
|
VECTOR_STORE_PROVIDER=
|
131
142
|
MILVUS_URI=
|
@@ -141,3 +152,11 @@ DB_CONN_LIFE=
|
|
141
152
|
DB_MAX_IDLE_CONN=
|
142
153
|
DB_MAX_CONN=
|
143
154
|
SERVER_HOST=
|
155
|
+
|
156
|
+
# Use your machine's local IP address for external async tool communication.
|
157
|
+
CALLBACK_HOST_URL=
|
158
|
+
|
159
|
+
AGENTOPS_API_KEY_AUTH_ENABLED=true
|
160
|
+
AGENTOPS_API_KEY=qwertyuiop
|
161
|
+
|
162
|
+
RUNTIME_MANAGER_API_KEY=example
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Default tenant to use when tenant_id is not found
|
2
|
+
default_tenant: "default"
|
3
|
+
|
4
|
+
# Tenant configurations
|
5
|
+
tenants:
|
6
|
+
# Default tenant on ES instance 1
|
7
|
+
default:
|
8
|
+
store_type: elasticsearch
|
9
|
+
hostname: "http://elasticsearch:9200"
|
10
|
+
username: "elastic"
|
11
|
+
password: "changeme"
|
12
|
+
index_prefix: "default"
|