-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathcompose.sandbox.yaml
More file actions
80 lines (80 loc) · 3.46 KB
/
compose.sandbox.yaml
File metadata and controls
80 lines (80 loc) · 3.46 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
---
# Docker Compose for sandboxed workers (task-manager + JavaScript sandbox worker)
# Used for e2e testing plugins/integrations in sandbox mode
x-environment: &environment
SUPERBLOCKS_AGENT_KEY: dev-agent-key
SUPERBLOCKS_AGENT_REDIS_TOKEN: koala
SUPERBLOCKS_AGENT_REDIS_KVSTORE_TOKEN: koala
SUPERBLOCKS_AGENT_TLS_INSECURE: 'true'
SUPERBLOCKS_AGENT_REDIS_HOST: redis
SUPERBLOCKS_AGENT_REDIS_KVSTORE_HOST: redis
x-task-manager-environment: &task-manager-environment
!!merge <<: *environment
# Task-manager uses SUPERBLOCKS_WORKER_SANDBOX prefix for viper
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_REDIS_HOST: redis
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_REDIS_PORT: "6379"
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_REDIS_PASSWORD: koala
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_REDIS_TLS: "false"
SUPERBLOCKS_WORKER_SANDBOX_STORE_REDIS_HOST: redis
SUPERBLOCKS_WORKER_SANDBOX_STORE_REDIS_PORT: "6379"
SUPERBLOCKS_WORKER_SANDBOX_STORE_REDIS_PASSWORD: koala
SUPERBLOCKS_WORKER_SANDBOX_STORE_REDIS_TLS: "false"
# The non-language execution workers are persistent
SUPERBLOCKS_WORKER_SANDBOX_WORKER_EPHEMERAL: "false"
# Disable IP filtering in compose (static sandbox mode) since sandbox IPs are not dynamically configured
SUPERBLOCKS_WORKER_SANDBOX_IP_FILTER_DISABLED: "true"
x-task-manager-base: &task-manager-base
image: ghcr.io/superblocksteam/task-manager:${SANDBOX_IMAGE_TAG:-latest}
build:
context: .
dockerfile: Dockerfile.worker.task-manager
depends_on:
- redis
environment:
!!merge <<: *task-manager-environment
networks:
- default
x-javascript-sandbox-base: &javascript-sandbox-base
image: ghcr.io/superblocksteam/javascript-sandbox:${SANDBOX_IMAGE_TAG:-latest}
build:
context: .
dockerfile: Dockerfile.sandbox.javascript
networks:
- default
services:
# Redis is shared with compose.ephemeral.yaml
redis:
image: ghcr.io/superblocksteam/docker.io/valkey/valkey:8.1.5-alpine
ports:
- 6379:6379
command: --requirepass koala
pull_policy: always
# ============================================================================
# JavaScript Sandbox
# ============================================================================
javascript-sandbox:
!!merge <<: *javascript-sandbox-base
container_name: javascript-sandbox
environment:
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_VARIABLE_STORE_ADDRESS: javascript-sandbox-manager:50050
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_VARIABLE_STORE_HTTP_ADDRESS: javascript-sandbox-manager:8080
SUPERBLOCKS_WORKER_SANDBOX_TRANSPORT_STREAMING_PROXY_ADDRESS: javascript-sandbox-manager:50052
javascript-sandbox-manager:
!!merge <<: *task-manager-base
container_name: javascript-sandbox-manager
environment:
!!merge <<: *task-manager-environment
SUPERBLOCKS_WORKER_SANDBOX_WORKER_PLUGINS: -javascript -javascriptsdkapi -python * # All plugins except JavaScript (SDK API) and Python
SUPERBLOCKS_WORKER_SANDBOX_WORKER_EVENTS: execute metadata test pre_delete
SUPERBLOCKS_WORKER_SANDBOX_WORKER_BUCKETS: BA BE B1 B2
SUPERBLOCKS_WORKER_SANDBOX_SANDBOX_ADDRESS: javascript-sandbox:50051
SUPERBLOCKS_WORKER_SANDBOX_VARIABLE_STORE_GRPC_ADDRESS: javascript-sandbox-manager:50050
SUPERBLOCKS_WORKER_SANDBOX_VARIABLE_STORE_HTTP_PORT: 8080
SUPERBLOCKS_WORKER_SANDBOX_STREAMING_PROXY_GRPC_PORT: 50052
depends_on:
- redis
- javascript-sandbox
networks:
default:
name: orchestrator_default
external: true