1
1
#! /usr/bin/env bash
2
2
3
-
3
+ export DRIVER_IMAGE= ${DRIVER_IMAGE :- " ghcr.io/restatedev/e2e-verification-runner:main " }
4
4
export RESTATE_CONTAINER_IMAGE=${RESTATE_CONTAINER_IMAGE:- " ghcr.io/restatedev/restate:main" }
5
- export SERVICES_CONTAINER_IMAGE=${SERVICES_CONTAINER_IMAGE:- " localhost /restatedev/test-services:latest " }
5
+ export SERVICES_CONTAINER_IMAGE=${SERVICES_CONTAINER_IMAGE:- " ghcr.io /restatedev/test-services:node140 " }
6
6
7
- export SERVICES=InterpreterDriverJob
8
- export NODE_ENV=production
9
- export NODE_OPTIONS=" --max-old-space-size=4096"
10
- export AWS_LAMBDA_FUNCTION_NAME=1
11
- export DEBUG=testcontainers:containers
12
7
13
8
SEED=$( date --iso-8601=seconds)
14
9
@@ -24,20 +19,131 @@ export INTERPRETER_DRIVER_CONF=$(cat <<-EOF
24
19
EOF
25
20
)
26
21
27
- echo $RESTATE_CONTAINER_IMAGE
28
22
29
- docker pull ghcr.io/restatedev/e2e-verification-runner:main
23
+ export UNIVERSE_ENV_JSON=$( cat << -EOF
24
+ {
25
+ "n1": {
26
+ "image": "${RESTATE_CONTAINER_IMAGE} ",
27
+ "ports": [8080, 9070, 5122],
28
+ "pull": "always",
29
+ "env": {
30
+ "RESTATE_LOG_FILTER": "restate=warn",
31
+ "RESTATE_LOG_FORMAT": "json",
32
+ "RESTATE_ROLES": "[worker,log-server,admin,metadata-store]",
33
+ "RESTATE_CLUSTER_NAME": "foobar",
34
+ "RESTATE_BIFROST__DEFAULT_PROVIDER": "replicated",
35
+ "RESTATE_BIFROST__REPLICATED_LOGLET__DEFAULT_REPLICATION_PROPERTY": "2",
36
+ "RESTATE_METADATA_STORE__TYPE": "embedded",
37
+ "RESTATE_ALLOW_BOOTSTRAP": "true",
38
+ "RESTATE_ADVERTISED_ADDRESS": "http://n1:5122",
39
+ "DO_NOT_TRACK": "true"
40
+ }
41
+ },
42
+ "n2": {
43
+ "image": "${RESTATE_CONTAINER_IMAGE} ",
44
+ "ports": [8080],
45
+ "pull": "always",
46
+ "env": {
47
+ "RESTATE_LOG_FILTER": "restate=warn",
48
+ "RESTATE_LOG_FORMAT": "json",
49
+ "RESTATE_ROLES": "[worker,admin,log-server, metadata-store]",
50
+ "RESTATE_CLUSTER_NAME": "foobar",
51
+ "RESTATE_BIFROST__DEFAULT_PROVIDER": "replicated",
52
+ "RESTATE_BIFROST__REPLICATED_LOGLET__DEFAULT_REPLICATION_PROPERTY": "2",
53
+ "RESTATE_METADATA_STORE_CLIENT__TYPE": "embedded",
54
+ "RESTATE_ALLOW_BOOTSTRAP": "false",
55
+ "RESTATE_METADATA_STORE_CLIENT__ADDRESSES": "[http://n1:5122]",
56
+ "RESTATE_ADVERTISED_ADDRESS": "http://n2:5122",
57
+ "DO_NOT_TRACK": "true"
58
+ }
59
+ },
60
+ "n3": {
61
+ "image": "${RESTATE_CONTAINER_IMAGE} ",
62
+ "ports": [8080],
63
+ "pull": "always",
64
+ "env": {
65
+ "RESTATE_LOG_FILTER": "restate=warn",
66
+ "RESTATE_LOG_FORMAT": "json",
67
+ "RESTATE_ROLES": "[worker,admin,log-server, metadata-store]",
68
+ "RESTATE_CLUSTER_NAME": "foobar",
69
+ "RESTATE_BIFROST__DEFAULT_PROVIDER": "replicated",
70
+ "RESTATE_BIFROST__REPLICATED_LOGLET__DEFAULT_REPLICATION_PROPERTY": "2",
71
+ "RESTATE_METADATA_STORE_CLIENT__TYPE": "embedded",
72
+ "RESTATE_ALLOW_BOOTSTRAP": "false",
73
+ "RESTATE_METADATA_STORE_CLIENT__ADDRESSES": "[http://n1:5122]",
74
+ "RESTATE_ADVERTISED_ADDRESS": "http://n2:5122",
75
+ "DO_NOT_TRACK": "true"
76
+ }
77
+ },
78
+ "interpreter_zero": {
79
+ "image": "${SERVICES_CONTAINER_IMAGE} ",
80
+ "ports": [9000],
81
+ "pull": "never",
82
+ "env": {
83
+ "PORT": "9000",
84
+ "RESTATE_LOGGING": "ERROR",
85
+ "NODE_ENV": "production",
86
+ "SERVICES": "ObjectInterpreterL0"
87
+ }
88
+ },
89
+ "interpreter_one": {
90
+ "image": "${SERVICES_CONTAINER_IMAGE} ",
91
+ "ports": [9001],
92
+ "pull": "never",
93
+ "env": {
94
+ "PORT": "9001",
95
+ "RESTATE_LOGGING": "ERROR",
96
+ "NODE_ENV": "production",
97
+ "SERVICES": "ObjectInterpreterL1"
98
+ }
99
+ },
100
+ "interpreter_two": {
101
+ "image": "${SERVICES_CONTAINER_IMAGE} ",
102
+ "ports": [9002],
103
+ "pull": "never",
104
+ "env": {
105
+ "PORT": "9002",
106
+ "RESTATE_LOGGING": "ERROR",
107
+ "NODE_ENV": "production",
108
+ "SERVICES": "ObjectInterpreterL2"
109
+ }
110
+ },
111
+ "services": {
112
+ "image": "${SERVICES_CONTAINER_IMAGE} ",
113
+ "ports": [9003],
114
+ "pull": "never",
115
+ "env": {
116
+ "PORT": "9003",
117
+ "RESTATE_LOGGING": "ERROR",
118
+ "NODE_ENV": "production",
119
+ "SERVICES": "ServiceInterpreterHelper"
120
+ }
121
+ }
122
+ }
123
+ EOF
124
+ )
125
+
126
+
127
+ docker pull ${DRIVER_IMAGE}
128
+
129
+ #
130
+ # The following ENV is needed for the driver program itself.
131
+ #
132
+ export SERVICES=InterpreterDriverJob
133
+ export NODE_ENV=production
134
+ export NODE_OPTIONS=" --max-old-space-size=4096"
135
+ export AWS_LAMBDA_FUNCTION_NAME=1
136
+ export DEBUG=testcontainers:containers
30
137
31
138
docker run \
32
139
--net host\
33
140
-v /var/run/docker.sock:/var/run/docker.sock \
34
- --env RESTATE_CONTAINER_IMAGE \
35
- --env SERVICES_CONTAINER_IMAGE \
36
141
--env SERVICES \
37
142
--env NODE_ENV \
38
143
--env NODE_OPTIONS \
39
144
--env AWS_LAMBDA_FUNCTION_NAME \
40
145
--env DEBUG \
41
146
--env INTERPRETER_DRIVER_CONF \
42
- ghcr.io/restatedev/e2e-verification-runner:main 2>&1 | grep -v " undefined is not a number, but it still has feelings"
147
+ --env UNIVERSE_ENV_JSON \
148
+ ${DRIVER_IMAGE}
43
149
0 commit comments