ibm-watsonx-orchestrate 1.5.1__py3-none-any.whl → 1.7.0a0__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.
Files changed (70) hide show
  1. ibm_watsonx_orchestrate/__init__.py +1 -1
  2. ibm_watsonx_orchestrate/agent_builder/agents/__init__.py +1 -1
  3. ibm_watsonx_orchestrate/agent_builder/agents/agent.py +1 -0
  4. ibm_watsonx_orchestrate/agent_builder/agents/types.py +58 -4
  5. ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/__init__.py +2 -0
  6. ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/prompts.py +33 -0
  7. ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/welcome_content.py +20 -0
  8. ibm_watsonx_orchestrate/agent_builder/connections/__init__.py +2 -2
  9. ibm_watsonx_orchestrate/agent_builder/connections/types.py +38 -31
  10. ibm_watsonx_orchestrate/agent_builder/model_policies/types.py +1 -1
  11. ibm_watsonx_orchestrate/agent_builder/models/types.py +0 -1
  12. ibm_watsonx_orchestrate/agent_builder/tools/flow_tool.py +83 -0
  13. ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py +41 -3
  14. ibm_watsonx_orchestrate/agent_builder/tools/python_tool.py +2 -1
  15. ibm_watsonx_orchestrate/agent_builder/tools/types.py +14 -1
  16. ibm_watsonx_orchestrate/cli/commands/agents/agents_command.py +18 -1
  17. ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py +122 -17
  18. ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_controller.py +104 -22
  19. ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py +26 -18
  20. ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py +56 -58
  21. ibm_watsonx_orchestrate/cli/commands/environment/environment_command.py +29 -4
  22. ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py +74 -8
  23. ibm_watsonx_orchestrate/cli/commands/environment/types.py +1 -0
  24. ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py +224 -0
  25. ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py +158 -0
  26. ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_command.py +2 -2
  27. ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py +2 -2
  28. ibm_watsonx_orchestrate/cli/commands/models/model_provider_mapper.py +31 -25
  29. ibm_watsonx_orchestrate/cli/commands/models/models_command.py +6 -6
  30. ibm_watsonx_orchestrate/cli/commands/models/models_controller.py +17 -8
  31. ibm_watsonx_orchestrate/cli/commands/server/server_command.py +162 -27
  32. ibm_watsonx_orchestrate/cli/commands/server/types.py +2 -1
  33. ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py +9 -6
  34. ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py +37 -22
  35. ibm_watsonx_orchestrate/cli/config.py +2 -0
  36. ibm_watsonx_orchestrate/cli/main.py +6 -0
  37. ibm_watsonx_orchestrate/client/agents/agent_client.py +83 -9
  38. ibm_watsonx_orchestrate/client/agents/assistant_agent_client.py +3 -3
  39. ibm_watsonx_orchestrate/client/agents/external_agent_client.py +2 -2
  40. ibm_watsonx_orchestrate/client/base_api_client.py +11 -10
  41. ibm_watsonx_orchestrate/client/connections/connections_client.py +49 -14
  42. ibm_watsonx_orchestrate/client/connections/utils.py +4 -2
  43. ibm_watsonx_orchestrate/client/credentials.py +4 -0
  44. ibm_watsonx_orchestrate/client/local_service_instance.py +1 -1
  45. ibm_watsonx_orchestrate/client/model_policies/model_policies_client.py +2 -2
  46. ibm_watsonx_orchestrate/client/service_instance.py +42 -1
  47. ibm_watsonx_orchestrate/client/tools/tempus_client.py +8 -3
  48. ibm_watsonx_orchestrate/client/utils.py +37 -2
  49. ibm_watsonx_orchestrate/docker/compose-lite.yml +425 -81
  50. ibm_watsonx_orchestrate/docker/default.env +53 -15
  51. ibm_watsonx_orchestrate/docker/proxy-config-single.yaml +12 -0
  52. ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/flows/__init__.py +3 -2
  53. ibm_watsonx_orchestrate/flow_builder/flows/decorators.py +77 -0
  54. ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/flows/events.py +6 -1
  55. ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/flows/flow.py +85 -92
  56. ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/types.py +15 -6
  57. ibm_watsonx_orchestrate/flow_builder/utils.py +215 -0
  58. ibm_watsonx_orchestrate/run/connections.py +4 -4
  59. {ibm_watsonx_orchestrate-1.5.1.dist-info → ibm_watsonx_orchestrate-1.7.0a0.dist-info}/METADATA +2 -1
  60. {ibm_watsonx_orchestrate-1.5.1.dist-info → ibm_watsonx_orchestrate-1.7.0a0.dist-info}/RECORD +68 -61
  61. ibm_watsonx_orchestrate/experimental/flow_builder/flows/decorators.py +0 -144
  62. ibm_watsonx_orchestrate/experimental/flow_builder/utils.py +0 -115
  63. /ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/__init__.py +0 -0
  64. /ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/data_map.py +0 -0
  65. /ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/flows/constants.py +0 -0
  66. /ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/node.py +0 -0
  67. /ibm_watsonx_orchestrate/{experimental/flow_builder → flow_builder}/resources/flow_status.openapi.yml +0 -0
  68. {ibm_watsonx_orchestrate-1.5.1.dist-info → ibm_watsonx_orchestrate-1.7.0a0.dist-info}/WHEEL +0 -0
  69. {ibm_watsonx_orchestrate-1.5.1.dist-info → ibm_watsonx_orchestrate-1.7.0a0.dist-info}/entry_points.txt +0 -0
  70. {ibm_watsonx_orchestrate-1.5.1.dist-info → ibm_watsonx_orchestrate-1.7.0a0.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
@@ -46,6 +46,7 @@ services:
46
46
  WXO_SERVER_URL: http://wxo-server:4321
47
47
  MAX_POOL: 60
48
48
  DEPLOYMENT_MODE: laptop
49
+ SUFFIXLIST: '["global_05d7ba72", "ibm_184bdbd3"]'
49
50
  ports:
50
51
  - 3001:3001
51
52
 
@@ -55,11 +56,21 @@ services:
55
56
  restart: unless-stopped
56
57
  ports:
57
58
  - "8787:8787"
58
- environment:
59
+ environment:
59
60
  WATSONX_API_KEY: ${WATSONX_APIKEY}
60
61
  WATSONX_URL: ${WATSONX_URL}
61
62
  WATSONX_SPACE_ID: ${WATSONX_SPACE_ID}
62
63
 
64
+ wxo-agent-gateway:
65
+ image: ${AGENT_GATEWAY_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-agent-gateway:${AGENT_GATEWAY_TAG:-latest}
66
+ platform: linux/amd64
67
+ restart: unless-stopped
68
+ ports:
69
+ - "8989:8989"
70
+ environment:
71
+ JWT_SECRET: ${JWT_SECRET}
72
+ DEPLOYMENT_PLATFORM: laptop-lite
73
+
63
74
  ui:
64
75
  image: ${UI_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-chat:${UITAG:-latest}
65
76
  platform: linux/amd64
@@ -76,7 +87,7 @@ services:
76
87
  NODE_LOG_LEVEL: debug
77
88
  RABBITMQ_EXCHANGE: verdi_events_affinity
78
89
  SOCKET_PING_TIMEOUT: 20000
79
- WXO_DOMAIN_URL: http://localhost:4321
90
+ WXO_DOMAIN_URL: http://localhost:4321/api/v1
80
91
  IS_WXA_WEBCHAT: "true"
81
92
  NODE_OPTIONS: --max-http-header-size 32768
82
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
@@ -104,12 +115,17 @@ services:
104
115
  platform: linux/amd64
105
116
  restart: unless-stopped
106
117
  environment:
107
- WXO_DEPLOYMENT_TYPE: 'laptop'
118
+ WXO_DEPLOYMENT_TYPE: "laptop"
108
119
  AGENT_RUNTIME_ENDPOINT: http://wxo-server:4321
109
120
  TEMPUS_RUNTIME_ENDPOINT: http://wxo-tempus-runtime:9044
121
+ CONNECTIONS_MANAGER_ENDPOINT: http://wxo-server-connection-manager:3001
122
+ AGENT_OPS_API_KEY: ${AGENTOPS_API_KEY}
123
+ AGENTS_OPS_RUNTIME_ENDPOINT: https://host.docker.internal:8765
124
+ IS_OBSERVABILITY_FEATURE_ENABLED: "true"
125
+ ALLOW_INSECURE_TLS: "true"
110
126
  command: 'npm start'
111
127
  ports:
112
- - '4025:4025'
128
+ - "4025:4025"
113
129
  healthcheck:
114
130
  test: curl -k http://localhost:4025/api/health --fail
115
131
  interval: 5s
@@ -118,10 +134,9 @@ services:
118
134
 
119
135
  wxo-server-minio:
120
136
  image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/minio/minio:latest
121
- platform: linux/amd64
122
137
  ports:
123
- - '9000:9000'
124
- - '9001:9001'
138
+ - "9000:9000"
139
+ - "9001:9001"
125
140
  healthcheck:
126
141
  test: timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1
127
142
  interval: 5s
@@ -136,7 +151,6 @@ services:
136
151
 
137
152
  wxo-server-minio-setup:
138
153
  image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/minio/mc:latest
139
- platform: linux/amd64
140
154
  depends_on:
141
155
  wxo-server-minio:
142
156
  condition: service_healthy
@@ -145,14 +159,15 @@ services:
145
159
  /usr/bin/mc alias set wxo-server-minio http://wxo-server-minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-watsonxorchestrate};
146
160
  /usr/bin/mc mb wxo-server-minio/wxo-server-storage-bucket;
147
161
  /usr/bin/mc mb wxo-server-minio/langfuse;
162
+ /usr/bin/mc anonymous set download wxo-server-minio/wxo-server-storage-bucket;
148
163
  exit 0;
149
164
  "
150
-
165
+
151
166
  wxo-milvus-standalone:
152
167
  image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/milvusdb/milvus:v2.5.6
153
168
  command: ["milvus", "run", "standalone"]
154
169
  security_opt:
155
- - seccomp:unconfined
170
+ - seccomp:unconfined
156
171
  environment:
157
172
  ETCD_ENDPOINTS: wxo-milvus-etcd:2379
158
173
  MINIO_ADDRESS: wxo-server-minio:9000
@@ -188,21 +203,10 @@ services:
188
203
  interval: 30s
189
204
  timeout: 20s
190
205
  retries: 3
191
-
206
+
192
207
  socket-handler:
193
- container_name: socket-handler
194
- profiles:
195
- - webhooks
196
- - ui
197
- build:
198
- context: .
199
- dockerfile: ./socket_handler/Dockerfile
200
- target: socket-handler
201
- args:
202
- GIT_BRANCH: "main"
203
- ssh:
204
- - default
205
- image: docker.io/library/socket-handler:latest
208
+ image: ${SOCKET_HANDLER_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-socket-handler:${SOCKET_HANDLER_TAG:-latest}
209
+ platform: linux/amd64
206
210
  command: "npm start"
207
211
  ports:
208
212
  - 4001:4001
@@ -222,44 +226,48 @@ services:
222
226
  volumes:
223
227
  - ./sdk:/packages
224
228
  - tools:/tools
225
-
226
229
  command: >
227
- bash -c '
228
- export PYTHONPATH="/tmp/monkey:$PYTHONPATH"
229
- mkdir -p /tmp/monkey &&
230
+ bash -c '
231
+ export PYTHONPATH="/tmp/monkey:$PYTHONPATH"
232
+ mkdir -p /tmp/monkey &&
230
233
 
231
- 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 &&
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 &&
232
235
 
233
- 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 &
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 &
234
237
 
235
- 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;
236
- curl --silent --fail http://127.0.0.1:4321/health/alive || (echo "[ERROR] HTTP service failed to start" && exit 1);
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);
237
240
 
238
- wait
239
- '
241
+ wait
242
+ '
240
243
  depends_on:
241
244
  wxo-server-redis:
242
- condition: service_started
245
+ condition: service_started
243
246
  wxo-server-db:
244
- condition: service_started
247
+ condition: service_started
245
248
  wxo-server-worker:
246
- condition: service_started
249
+ condition: service_started
247
250
  langfuse-worker:
248
- condition: service_started
249
- required: False
251
+ condition: service_started
252
+ required: False
253
+ networks:
254
+ - default
255
+ - jaeger-network
250
256
  environment:
257
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
251
258
  PIP_NO_CACHE_DIR:
252
259
  JWT_SECRET: ${JWT_SECRET}
253
260
  TRM_BASE_URL: http://tools-runtime-manager:8080
254
261
  POSTGRES_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
255
262
  # POSTGRES_POOL_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:6432/postgres
256
263
  CELERY_BROKER_URL: redis://wxo-server-redis:6379/0
264
+ AGENT_GATEWAY_URI: http://wxo-agent-gateway:8989
257
265
  CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
258
266
  FLOWER_URL: http://wxo-server-flower:5555
259
267
  DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
260
- STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
268
+ STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
261
269
  STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
262
- STORAGE_S3_FORCE_PATH_STYLE: 'true'
270
+ STORAGE_S3_FORCE_PATH_STYLE: "true"
263
271
  STORAGE_S3_REGION: us-east-1
264
272
  EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
265
273
  AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
@@ -267,13 +275,13 @@ services:
267
275
  ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
268
276
  ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
269
277
  ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
270
- ASSISTANT_LLM_SPACE_ID : ${ASSISTANT_LLM_SPACE_ID}
278
+ ASSISTANT_LLM_SPACE_ID: ${ASSISTANT_LLM_SPACE_ID}
271
279
  BAM_API_KEY: ${BAM_API_KEY}
272
280
  WXAI_API_KEY: ${WXAI_API_KEY}
273
281
  ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
274
282
  ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
275
283
  ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
276
- ROUTING_LLM_SPACE_ID : ${ROUTING_LLM_SPACE_ID}
284
+ ROUTING_LLM_SPACE_ID: ${ROUTING_LLM_SPACE_ID}
277
285
  ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
278
286
  ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
279
287
  ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
@@ -302,7 +310,7 @@ services:
302
310
  CALLER_ID: 12345
303
311
  AGENTIC_FLOW_ENABLED: ${AGENTIC_FLOW_ENABLED}
304
312
  CELERY_WORKER_POOL: ${CELERY_WORKER_POOL}
305
- IS_WXO_LITE: 'TRUE'
313
+ IS_WXO_LITE: "TRUE"
306
314
  OAUTH_REDIRECT_URL: https://localhost:4322/api/v1/connections/callback
307
315
  ENABLE_WEBHOOKS: false
308
316
  DISABLE_JSON_LOG_CELERY: true
@@ -321,8 +329,13 @@ services:
321
329
  AUTHORIZATION_URL: ${AUTHORIZATION_URL}
322
330
  WO_AUTH_TYPE: ${WO_AUTH_TYPE}
323
331
  AI_GATEWAY_BASE_URL: ${AI_GATEWAY_BASE_URL}
324
- AI_GATEWAY_ENABLED : ${AI_GATEWAY_ENABLED}
325
-
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
326
339
 
327
340
  wxo-server-worker:
328
341
  image: ${WORKER_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-server-conversation_controller:${WORKER_TAG:-latest}
@@ -330,28 +343,33 @@ services:
330
343
  restart: unless-stopped
331
344
  depends_on:
332
345
  wxo-server-redis:
333
- condition: service_started
346
+ condition: service_started
334
347
  wxo-server-db:
335
- condition: service_started
348
+ condition: service_started
336
349
  langfuse-worker:
337
- condition: service_started
338
- required: False
350
+ condition: service_started
351
+ required: False
339
352
  volumes:
340
353
  - ./sdk:/packages
341
354
  - tools:/tools
355
+ networks:
356
+ - default
357
+ - jaeger-network
342
358
  environment:
359
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
343
360
  AI_GATEWAY_ENABLED : ${AI_GATEWAY_ENABLED}
344
361
  AI_GATEWAY_BASE_URL: ${AI_GATEWAY_BASE_URL}
345
- IS_WXO_LITE: 'TRUE'
362
+ IS_WXO_LITE: "TRUE"
346
363
  TRM_BASE_URL: http://tools-runtime-manager:8080
347
364
  AGENT_STEP_DETAILS: redis://wxo-server-redis:6379/0
365
+ AGENT_GATEWAY_URI: http://wxo-agent-gateway:8989
348
366
  JWT_SECRET: ${JWT_SECRET}
349
367
  POSTGRES_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@wxo-server-db:5432/postgres
350
368
  CELERY_BROKER_URL: redis://wxo-server-redis:6379/0
351
369
  CELERY_RESULT_BACKEND: redis://wxo-server-redis:6379/0
352
- STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
370
+ STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket} # name of s3 bucket where you want to store objects
353
371
  STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
354
- STORAGE_S3_FORCE_PATH_STYLE: 'true'
372
+ STORAGE_S3_FORCE_PATH_STYLE: "true"
355
373
  STORAGE_S3_REGION: us-east-1
356
374
  EVENT_BROKER_URL: redis://wxo-server-redis:6379/0
357
375
  DB_ENCRYPTION_KEY: thisisthedbencryptionkeyforlocaltestingonly
@@ -360,11 +378,11 @@ services:
360
378
  ASSISTANT_LLM_MODEL_ID: ${ASSISTANT_LLM_MODEL_ID:-watsonx/ibm/granite-3-8b-instruct}
361
379
  ASSISTANT_LLM_API_KEY: ${ASSISTANT_LLM_API_KEY}
362
380
  ASSISTANT_LLM_API_BASE: ${ASSISTANT_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
363
- ASSISTANT_LLM_SPACE_ID : ${ASSISTANT_LLM_SPACE_ID}
381
+ ASSISTANT_LLM_SPACE_ID: ${ASSISTANT_LLM_SPACE_ID}
364
382
  ROUTING_LLM_MODEL_ID: ${ROUTING_LLM_MODEL_ID:-watsonx/ibm/granite-8b-unified-api-model-v2}
365
383
  ROUTING_LLM_API_KEY: ${ROUTING_LLM_API_KEY}
366
384
  ROUTING_LLM_API_BASE: ${ROUTING_LLM_API_BASE:-https://us-south.ml.cloud.ibm.com}
367
- ROUTING_LLM_SPACE_ID : ${ROUTING_LLM_SPACE_ID}
385
+ ROUTING_LLM_SPACE_ID: ${ROUTING_LLM_SPACE_ID}
368
386
  ASSISTANT_EMBEDDINGS_MODEL_ID: ${ASSISTANT_EMBEDDINGS_MODEL_ID:-watsonx/ibm/slate-125m-english-rtrvr-v2}
369
387
  ASSISTANT_EMBEDDINGS_API_KEY: ${ASSISTANT_EMBEDDINGS_API_KEY}
370
388
  ASSISTANT_EMBEDDINGS_API_BASE: ${ASSISTANT_EMBEDDINGS_API_BASE:-https://us-south.ml.cloud.ibm.com}
@@ -410,6 +428,11 @@ services:
410
428
  USE_SAAS_ML_TOOLS_RUNTIME: ${USE_SAAS_ML_TOOLS_RUNTIME}
411
429
  AUTHORIZATION_URL: ${AUTHORIZATION_URL}
412
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}
434
+ WXO_DEPLOYMENT_PLATFORM: saas
435
+ CALLBACK_HOST_URL: ${CALLBACK_HOST_URL:-http://wxo-server:4321}
413
436
 
414
437
  tools-runtime-manager:
415
438
  image: ${TRM_REGISTRY:-us.icr.io/watson-orchestrate-private}/tools-runtime-manager:${TRM_TAG:-latest}
@@ -419,19 +442,20 @@ services:
419
442
  - "8080:8080"
420
443
  depends_on:
421
444
  wxo-server-db:
422
- condition: service_healthy # Ensures DB is ready before starting
445
+ condition: service_healthy # Ensures DB is ready before starting
423
446
  volumes:
424
447
  - $HOME/.kube/config:/root/.kube/config
425
448
  - tools-runtime-data:/shared-data
426
449
  environment:
450
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
427
451
  KUBECONFIG: /root/.kube/config
428
- K8S_SERVER: "https://lima-rancher-desktop:6443" # Kubernetes API on host
452
+ K8S_SERVER: "https://lima-rancher-desktop:6443" # Kubernetes API on host
429
453
  DB_HOST: wxo-server-db
430
- DB_PORT: ${DB_PORT:-5432} # Ensure default port
454
+ DB_PORT: ${DB_PORT:-5432} # Ensure default port
431
455
  DB_USER: ${DB_USER:-postgres}
432
456
  DB_PASSWORD: ${DB_PASSWORD:-postgres}
433
457
  DB_NAME: ${DB_NAME:-postgres}
434
- DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
458
+ DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
435
459
  DB_CONN_LIFE: ${DB_CONN_LIFE}
436
460
  DB_MAX_IDLE_CONN: ${DB_MAX_IDLE_CONN}
437
461
  DB_MAX_CONN: ${DB_MAX_CONN}
@@ -439,15 +463,14 @@ services:
439
463
  SERVER_HOST: ${SERVER_HOST}
440
464
  SCHEMA_FILE_PATH: ${SCHEMA_FILE_PATH}
441
465
  WXO_BASE_URL: ${WXO_BASE_URL}
442
- RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY}
443
466
  NAMESPACE: ${NAMESPACE}
444
467
  DEPLOYMENT_PLATFORM: ${DEPLOYMENT_PLATFORM}
445
468
  VOLUME_MOUNT_PATH: "/shared-data"
446
469
  TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
447
470
  CONNECTION_SERVICE_BASE_URL: http://wxo-server-connection-manager:3001
448
- STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
471
+ STORAGE_S3_BUCKET: ${STORAGE_S3_BUCKET:-wxo-server-storage-bucket}
449
472
  STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
450
- STORAGE_S3_FORCE_PATH_STYLE: 'true'
473
+ STORAGE_S3_FORCE_PATH_STYLE: "true"
451
474
  STORAGE_S3_REGION: us-east-1
452
475
  AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
453
476
  AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
@@ -469,24 +492,166 @@ services:
469
492
  environment:
470
493
  DEPLOYMENT_PLATFORM: ${DEPLOYMENT_PLATFORM}
471
494
  VOLUME_MOUNT_PATH: "/shared-data"
472
- RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY}
495
+ RUNTIME_MANAGER_API_KEY: ${RUNTIME_MANAGER_API_KEY:-testapikey}
473
496
  TOOLS_RUNTIME_MANAGER_BASE_URL: ${TOOLS_RUNTIME_MANAGER_BASE_URL}
474
497
  DB_HOST: wxo-server-db
475
- DB_PORT: ${DB_PORT:-5432} # Ensure default port
498
+ DB_PORT: ${DB_PORT:-5432} # Ensure default port
476
499
  DB_USER: ${DB_USER:-postgres}
477
500
  DB_PASSWORD: ${DB_PASSWORD:-postgres}
478
501
  DB_NAME: ${DB_NAME:-postgres}
479
- DB_SSLMODE: ${DB_SSLMODE:-disable} # Disable SSL if not configured
480
- 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}
481
504
  STORAGE_S3_ENDPOINT: http://wxo-server-minio:9000
482
- STORAGE_S3_FORCE_PATH_STYLE: 'true'
505
+ STORAGE_S3_FORCE_PATH_STYLE: "true"
483
506
  STORAGE_S3_REGION: us-east-1
484
507
  AWS_ACCESS_KEY_ID: ${MINIO_ROOT_USER:-minioadmin}
485
508
  AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
486
509
 
487
- ########################
488
- # LANGFUSE dependencies
489
- ########################
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
+ ########################
490
655
  langfuse-worker:
491
656
  image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/langfuse/langfuse-worker:3
492
657
  restart: unless-stopped
@@ -576,9 +741,6 @@ services:
576
741
  retries: 10
577
742
  start_period: 1s
578
743
 
579
-
580
-
581
-
582
744
  wxo-tempus-runtime:
583
745
  image: ${FLOW_RUMTIME_REGISTRY:-us.icr.io/watson-orchestrate-private}/wxo-tempus-runtime:${FLOW_RUNTIME_TAG:-latest}
584
746
  restart: unless-stopped
@@ -589,7 +751,8 @@ services:
589
751
  SERVER_HTTP_PORT: "9044"
590
752
  SERVER_CONTEXT_PATH:
591
753
  SERVER_JWK_URL: https://wo-ibm-dev.verify.ibm.com/v1.0/endpoint/default/jwks
592
- SERVER_CALLBACK_URL: http://wxo-tempus-runtime:9044/task/callback/{thread_id}/{requestId}
754
+ SERVER_STANDALONE_TASK_CALLBACK_URL: http://localhost:9044/task/callback/{thread_id}/{requestId}
755
+ SERVER_FLOW_CALLBACK_URL: http://localhost:9044/v1/flows/{flow_instance_id}/{task_instance_id}/resume/async
593
756
  JWT_SECRET: ${JWT_SECRET}
594
757
  SERVER_INTERNAL_PROTOCOL: http
595
758
  SERVER_INTERNAL_HOSTNAME: wxo-tempus-runtime
@@ -598,6 +761,7 @@ services:
598
761
  WATSONX_AI_PROJECT_ID: ""
599
762
  WATSONX_AI_SPACE_ID: ${WATSONX_SPACE_ID}
600
763
  WATSONX_AI_APIKEY: ${WATSONX_APIKEY}
764
+ WATSONX_AI_SERVICE_URL: ${WATSONX_URL}
601
765
  PG_HOST: wxo-server-db
602
766
  PG_PORT: "5432"
603
767
  PG_USER: ${POSTGRES_USER:-postgres}
@@ -613,9 +777,15 @@ services:
613
777
  REDIS_TLS: false
614
778
  LANGFUSE_ENABLED: ${LANGFUSE_ENABLED:-false}
615
779
  LANGFUSE_HOST: ${LANGFUSE_HOST:-http://langfuse-web:3000}
616
- LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY:-pk-lf-7417757e-d6df-421b-957e-683b76acb5df}
617
- LANGFUSE_SECRET_KEY: ${LANGFUSE_PRIVATE_KEY:-sk-lf-7bc4da63-7b2b-40c0-b5eb-1e0cf64f9af2}
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}
618
782
  LOG_LEVEL: info
783
+ DISABLE_FLOW_BINDING: true
784
+ DOCPROC_ENABLED: ${DOCPROC_ENABLED:-false}
785
+ WO_API_KEY: ${WO_API_KEY}
786
+ WO_INSTANCE: ${WO_INSTANCE}
787
+ AUTHORIZATION_URL: ${AUTHORIZATION_URL}
788
+ WO_AUTH_TYPE: ${WO_AUTH_TYPE}
619
789
  healthcheck:
620
790
  test: curl -k http://localhost:9044/readiness --fail
621
791
  interval: 5s
@@ -625,7 +795,170 @@ services:
625
795
  - 9044:9044
626
796
  depends_on:
627
797
  - wxo-server-db
628
-
798
+
799
+ ########################
800
+ # DOCPROC dependencies
801
+ # DPS - 18081
802
+ # DPI - 19080 / 19443
803
+ # WDU - 18082
804
+ # WDU (Prometheus) - 18086
805
+ # DPS Cache - 18083
806
+ # LLM Service - 18084
807
+ ########################
808
+
809
+ wxo-doc-processing-service:
810
+ image: ${DOCPROC_REGISTRY:-us.icr.io/watson-orchestrate-private}/document-processing/wo_doc_processing_service:${DOCPROC_DPS_TAG:-20250606-172035-246-4191121}
811
+ platform: linux/amd64
812
+ restart: unless-stopped
813
+ environment:
814
+ SERVICE_NAME: wxo-doc-processing-service
815
+ LOG_LEVEL: info
816
+ VERIFY_CLIENT_CERT: 0
817
+ SERVICE_URL: ${SERVICE_URL:-https://wxo-doc-processing-cache:8080}
818
+ RATE_LIMITING_ENABLED: "false"
819
+ SHOULD_CACHE_IMAGES: "false"
820
+ HANDWRITING_ENABLED: "true"
821
+ WDU_RUNTIME_URL: wdu-runtime:8080
822
+ WDU_TIMEOUT_SECS: "180"
823
+ IBM_DPS_CACHE_SERVICE: https://wxo-doc-processing-cache:8080
824
+ profiles:
825
+ - docproc
826
+ # depends_on:
827
+ # wxo-doc-processing-cache:
828
+ # condition: service_healthy
829
+ ports:
830
+ - "18081:8080"
831
+ healthcheck:
832
+ test: ["CMD-SHELL", "curl -fk https://localhost:8080/ping"]
833
+ interval: 30s
834
+ timeout: 30s
835
+ retries: 10
836
+
837
+ wdu-runtime:
838
+ image: ${WDU_REGISTRY:-us.icr.io/watson-orchestrate-private}/document-processing/wdu-runtime:${WDU_TAG:-2.4.0}
839
+ platform: linux/amd64
840
+ restart: unless-stopped
841
+ environment:
842
+ MEMORY_MINIMAL: "true"
843
+ PREFLIGHT_MAX_SIZE: 10Mb
844
+ PREFLIGHT_MAX_PAGES: 600
845
+ RUNTIME_LIBRARY: "watson_doc_understanding"
846
+ profiles:
847
+ - docproc
848
+ ports:
849
+ - "18082:8080"
850
+ - "18086:8086"
851
+ volumes:
852
+ - "wdu-models:/models"
853
+ - "wdu-prometheus-files:/prometheus/"
854
+ tmpfs:
855
+ - "/dev/shm"
856
+ healthcheck:
857
+ test: ["CMD-SHELL", "/app/check_heartbeat.sh /tmp/heartbeat.txt 120"]
858
+ interval: 30s
859
+ timeout: 30s
860
+ retries: 10
861
+ depends_on:
862
+ wdu-model-copy:
863
+ condition: service_completed_successfully
864
+
865
+ wdu-model-copy:
866
+ image: ${WDU_REGISTRY:-us.icr.io/watson-orchestrate-private}/document-processing/wdu-runtime:${WDU_TAG:-2.4.0}
867
+ platform: linux/amd64
868
+ user: root
869
+ profiles:
870
+ - docproc
871
+ environment:
872
+ DEST_FOLDER: "/app/models"
873
+ volumes:
874
+ - "wdu-models:/app/models"
875
+ - "wdu-prometheus-files:/prometheus/"
876
+ tmpfs:
877
+ - "/dev/shm"
878
+
879
+ wxo-doc-processing-infra-standalone:
880
+ image: ${DOCPROC_REGISTRY:-us.icr.io/watson-orchestrate-private}/document-processing/wo-doc-processing-infra-standalone:${DOCPROC_DPI_TAG:-2025-06-13-dev-1}
881
+ platform: linux/amd64
882
+ profiles:
883
+ - docproc
884
+ environment:
885
+ PGHOST: wxo-server-db
886
+ PGPORT: "5432"
887
+ PGUSER: ${POSTGRES_USER:-postgres}
888
+ PGPASSWORD: ${POSTGRES_PASSWORD:-postgres}
889
+ PGDATABASE: wxo-document-processing-dpi
890
+ PGURL: "jdbc:postgresql://localhost:5432/wxo-document-processing-dpi?user=${POSTGRES_USER:-postgres}&password=${POSTGRES_PASSWORD:-postgres}"
891
+ USE_PGBOUNCER: "false"
892
+ S3_ACCESS_KEY: ${MINIO_ROOT_USER:-minioadmin}
893
+ S3_SECRET_KEY: ${MINIO_ROOT_PASSWORD:-watsonxorchestrate}
894
+ S3_ENDPOINT_URL: http://wxo-server-minio:9000
895
+ BUCKET_NAME_DEFAULT: wxo-document-processing-dpi-common
896
+ S3_FILERESOURCE_BUCKET: ${BUCKET_NAME_DEFAULT:-wxo-document-processing-dpi}
897
+ # S3_TLS_ENABLED: "true"
898
+ ENRICHMENT_BATCH_SIZE: "1000"
899
+ CIPHER_AES_REALM_KEY: "dGVzdHRlc3R0ZXN0dGVzdA=="
900
+ SIDECAR_METERED_ENABLED: "false"
901
+ DPI_DEBUG: true
902
+ DPI_WO_WDU_SERVER_ENDPOINT: https://wxo-doc-processing-service:8080
903
+ # DPI_RAG_SERVER_ENDPOINT: https://wxo-doc-processing-llm-service:8083
904
+ DISABLE_TLS: true
905
+ depends_on:
906
+ wxo-doc-processing-dpi-minio-init:
907
+ condition: service_completed_successfully
908
+ wxo-doc-processing-infra-pg-init:
909
+ condition: service_completed_successfully
910
+ wxo-doc-processing-service:
911
+ condition: service_healthy
912
+ # wxo-doc-processing-llm-service:
913
+ # condition: service_healthy
914
+ ports:
915
+ - 19080:9080
916
+ - 19443:9443
917
+ healthcheck:
918
+ test: ["CMD-SHELL", "HEALTHCHECK_URL=http://localhost:9080/dps/v1/health /healthcheck-all.sh all"]
919
+ interval: 30s
920
+ timeout: 30s
921
+ retries: 10
922
+
923
+ wxo-doc-processing-infra-pg-init:
924
+ image: ${DOCPROC_REGISTRY:-us.icr.io/watson-orchestrate-private}/document-processing/wo-doc-processing-infra-pg-init:${DOCPROC_DPI_TAG:-2025-06-13-dev-1}
925
+ platform: linux/amd64
926
+ environment:
927
+ PGHOST: wxo-server-db
928
+ PGPORT: "5432"
929
+ PGUSER: ${POSTGRES_USER:-postgres}
930
+ PGPASSWORD: ${POSTGRES_PASSWORD:-postgres}
931
+ PGDATABASE: wxo-document-processing-dpi
932
+ PGURL: "jdbc:postgresql://localhost:5432/wxo-document-processing-dpi?user=${POSTGRES_USER:-postgres}&password=${POSTGRES_PASSWORD:-postgres}"
933
+ USE_PGBOUNCER: "false"
934
+ entrypoint: /liquibase-init.sh
935
+ - pgbouncer
936
+ profiles:
937
+ - docproc
938
+ depends_on:
939
+ wxo-server-db:
940
+ condition: service_started
941
+ healthcheck:
942
+ test: ["CMD-SHELL", "psql -h localhost -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_PASSWORD:-postgres}"]
943
+ interval: 1s
944
+ timeout: 5s
945
+ retries: 50
946
+
947
+ wxo-doc-processing-dpi-minio-init:
948
+ image: ${OPENSOURCE_REGISTRY_PROXY:-docker.io}/minio/mc:latest
949
+ platform: linux/amd64
950
+ profiles:
951
+ - docproc
952
+ depends_on:
953
+ wxo-server-minio:
954
+ condition: service_healthy
955
+ entrypoint: >
956
+ /bin/sh -c "
957
+ /usr/bin/mc alias set wxo-server-minio http://wxo-server-minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-watsonxorchestrate};
958
+ /usr/bin/mc mb wxo-server-minio/wxo-document-processing-dpi;
959
+ exit 0;
960
+ "
961
+
629
962
  volumes:
630
963
  tools:
631
964
  driver: local
@@ -649,7 +982,18 @@ volumes:
649
982
  driver: local
650
983
  langfuse_clickhouse_logs:
651
984
  driver: local
985
+ wdu-prometheus-files:
986
+ driver: local
987
+ driver_opts:
988
+ type: tmpfs
989
+ device: tmpfs
990
+ o: "uid=1000,gid=1000,mode=1777"
991
+ wdu-models:
992
+ driver: local
993
+ es_data:
994
+
652
995
  networks:
653
996
  default:
654
997
  name: wxo-server
655
-
998
+ jaeger-network:
999
+ driver: bridge