@terascope/scripts 2.0.0-dev.9 → 2.0.0
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.
- package/dist/src/cmds/k8s-env.d.ts.map +1 -1
- package/dist/src/cmds/k8s-env.js +9 -3
- package/dist/src/cmds/k8s-env.js.map +1 -1
- package/dist/src/cmds/publish.js +2 -2
- package/dist/src/cmds/publish.js.map +1 -1
- package/dist/src/cmds/test.d.ts +1 -0
- package/dist/src/cmds/test.d.ts.map +1 -1
- package/dist/src/cmds/test.js +9 -2
- package/dist/src/cmds/test.js.map +1 -1
- package/dist/src/helpers/config.d.ts +3 -128
- package/dist/src/helpers/config.d.ts.map +1 -1
- package/dist/src/helpers/config.js +666 -147
- package/dist/src/helpers/config.js.map +1 -1
- package/dist/src/helpers/images/index.d.ts.map +1 -1
- package/dist/src/helpers/images/index.js +9 -12
- package/dist/src/helpers/images/index.js.map +1 -1
- package/dist/src/helpers/k8s-env/index.d.ts.map +1 -1
- package/dist/src/helpers/k8s-env/index.js +15 -39
- package/dist/src/helpers/k8s-env/index.js.map +1 -1
- package/dist/src/helpers/k8s-env/interfaces.d.ts +2 -1
- package/dist/src/helpers/k8s-env/interfaces.d.ts.map +1 -1
- package/dist/src/helpers/k8s-env/k8s.d.ts +2 -2
- package/dist/src/helpers/k8s-env/k8s.js +1 -1
- package/dist/src/helpers/k8s-env/k8s.js.map +1 -1
- package/dist/src/helpers/kind.d.ts +1 -1
- package/dist/src/helpers/kind.d.ts.map +1 -1
- package/dist/src/helpers/kind.js +13 -12
- package/dist/src/helpers/kind.js.map +1 -1
- package/dist/src/helpers/misc.d.ts.map +1 -1
- package/dist/src/helpers/misc.js +2 -1
- package/dist/src/helpers/misc.js.map +1 -1
- package/dist/src/helpers/scripts.d.ts +10 -16
- package/dist/src/helpers/scripts.d.ts.map +1 -1
- package/dist/src/helpers/scripts.js +35 -71
- package/dist/src/helpers/scripts.js.map +1 -1
- package/dist/src/helpers/test-runner/index.d.ts.map +1 -1
- package/dist/src/helpers/test-runner/index.js +19 -18
- package/dist/src/helpers/test-runner/index.js.map +1 -1
- package/dist/src/helpers/test-runner/interfaces.d.ts +1 -0
- package/dist/src/helpers/test-runner/interfaces.d.ts.map +1 -1
- package/dist/src/helpers/test-runner/services.d.ts.map +1 -1
- package/dist/src/helpers/test-runner/services.js +35 -17
- package/dist/src/helpers/test-runner/services.js.map +1 -1
- package/dist/src/helpers/test-runner/utils.d.ts +3 -2
- package/dist/src/helpers/test-runner/utils.d.ts.map +1 -1
- package/dist/src/helpers/test-runner/utils.js +34 -24
- package/dist/src/helpers/test-runner/utils.js.map +1 -1
- package/package.json +5 -2
|
@@ -1,175 +1,694 @@
|
|
|
1
1
|
import ipPkg from 'ip';
|
|
2
|
-
import
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { toSafeString, isCI, toIntegerOrThrow, SchemaValidator, toBoolean } from '@terascope/core-utils';
|
|
3
6
|
import { Service } from './interfaces.js';
|
|
4
|
-
const { address } = ipPkg;
|
|
5
|
-
const forceColor = process.env.FORCE_COLOR || '1';
|
|
6
|
-
export const FORCE_COLOR = toBoolean(forceColor)
|
|
7
|
-
? '1'
|
|
8
|
-
: '0';
|
|
9
|
-
/** The timeout for how long a service has to stand up */
|
|
10
|
-
export const SERVICE_UP_TIMEOUT = process.env.SERVICE_UP_TIMEOUT ?? '2m';
|
|
11
7
|
/** Default elasticsearch7 version used to populate the CI cache */
|
|
12
|
-
|
|
8
|
+
const __DEFAULT_ELASTICSEARCH7_VERSION = '7.9.3';
|
|
13
9
|
/** Default opensearch1 version used to populate the CI cache */
|
|
14
|
-
|
|
10
|
+
const __DEFAULT_OPENSEARCH1_VERSION = '1.3.11';
|
|
15
11
|
/** Default opensearch2 version used to populate the CI cache */
|
|
16
|
-
|
|
12
|
+
const __DEFAULT_OPENSEARCH2_VERSION = '2.15.0';
|
|
17
13
|
/** Default opensearch3 version used to populate the CI cache */
|
|
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
|
-
|
|
14
|
+
const __DEFAULT_OPENSEARCH3_VERSION = '3.1.0';
|
|
15
|
+
const __DEFAULT_NODE_VERSION = '22';
|
|
16
|
+
const { address } = ipPkg;
|
|
17
|
+
const config = {};
|
|
18
|
+
let validatedConfig;
|
|
19
|
+
// Any var computed by config or used by config to compute another var should not set
|
|
20
|
+
// an env value within 'configSchema' and should set the default to undefined
|
|
21
|
+
const configSchema = {
|
|
22
|
+
// Services
|
|
23
|
+
DEFAULT_ELASTICSEARCH7_VERSION: {
|
|
24
|
+
default: __DEFAULT_ELASTICSEARCH7_VERSION,
|
|
25
|
+
format: String,
|
|
26
|
+
},
|
|
27
|
+
DEFAULT_OPENSEARCH1_VERSION: {
|
|
28
|
+
default: __DEFAULT_OPENSEARCH1_VERSION,
|
|
29
|
+
format: String,
|
|
30
|
+
},
|
|
31
|
+
DEFAULT_OPENSEARCH2_VERSION: {
|
|
32
|
+
default: __DEFAULT_OPENSEARCH2_VERSION,
|
|
33
|
+
format: String,
|
|
34
|
+
},
|
|
35
|
+
DEFAULT_OPENSEARCH3_VERSION: {
|
|
36
|
+
default: __DEFAULT_OPENSEARCH3_VERSION,
|
|
37
|
+
format: String,
|
|
38
|
+
},
|
|
39
|
+
ENABLE_UTILITY_SVC: {
|
|
40
|
+
default: false,
|
|
41
|
+
format: Boolean,
|
|
42
|
+
env: 'ENABLE_UTILITY_SVC'
|
|
43
|
+
},
|
|
44
|
+
ENV_SERVICES: {
|
|
45
|
+
default: undefined,
|
|
46
|
+
format(val) {
|
|
47
|
+
if (Array.isArray(val)) {
|
|
48
|
+
for (const name of val) {
|
|
49
|
+
const servicesArr = Object.values(Service);
|
|
50
|
+
if (!servicesArr.includes(name)) {
|
|
51
|
+
throw new Error(`Invalid ENV_SERVICES value. Must be one of ${servicesArr}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new Error('ENV_SERVICES must be an array');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
TEST_TERASLICE: {
|
|
61
|
+
default: false,
|
|
62
|
+
format: Boolean,
|
|
63
|
+
env: 'TEST_TERASLICE'
|
|
64
|
+
},
|
|
65
|
+
TEST_OPENSEARCH: {
|
|
66
|
+
default: false,
|
|
67
|
+
format: Boolean,
|
|
68
|
+
env: 'TEST_OPENSEARCH'
|
|
69
|
+
},
|
|
70
|
+
TEST_ELASTICSEARCH: {
|
|
71
|
+
default: false,
|
|
72
|
+
format: Boolean,
|
|
73
|
+
env: 'TEST_ELASTICSEARCH'
|
|
74
|
+
},
|
|
75
|
+
TEST_KAFKA: {
|
|
76
|
+
default: false,
|
|
77
|
+
format: Boolean,
|
|
78
|
+
env: 'TEST_KAFKA'
|
|
79
|
+
},
|
|
80
|
+
TEST_MINIO: {
|
|
81
|
+
default: false,
|
|
82
|
+
format: Boolean,
|
|
83
|
+
env: 'TEST_MINIO'
|
|
84
|
+
},
|
|
85
|
+
TEST_RESTRAINED_OPENSEARCH: {
|
|
86
|
+
default: false,
|
|
87
|
+
format: Boolean,
|
|
88
|
+
env: 'TEST_RESTRAINED_OPENSEARCH'
|
|
89
|
+
},
|
|
90
|
+
TEST_RESTRAINED_ELASTICSEARCH: {
|
|
91
|
+
default: false,
|
|
92
|
+
format: Boolean,
|
|
93
|
+
env: 'TEST_RESTRAINED_ELASTICSEARCH'
|
|
94
|
+
},
|
|
95
|
+
TEST_RABBITMQ: {
|
|
96
|
+
default: false,
|
|
97
|
+
format: Boolean,
|
|
98
|
+
env: 'TEST_RABBITMQ'
|
|
99
|
+
},
|
|
100
|
+
// General config
|
|
101
|
+
ATTACH_JEST_DEBUGGER: {
|
|
102
|
+
default: false,
|
|
103
|
+
format: Boolean,
|
|
104
|
+
env: 'ATTACH_JEST_DEBUGGER'
|
|
105
|
+
},
|
|
106
|
+
CERT_PATH: {
|
|
107
|
+
default: undefined,
|
|
108
|
+
format: String,
|
|
109
|
+
},
|
|
110
|
+
CI_COMMIT_REF_SLUG: {
|
|
111
|
+
default: null,
|
|
112
|
+
format: 'optional_string',
|
|
113
|
+
env: 'CI_COMMIT_REF_SLUG'
|
|
114
|
+
},
|
|
115
|
+
DEV_DOCKER_IMAGE: {
|
|
116
|
+
doc: 'Use this to override the default dev docker image tag, if this is set, using DEV_TAG is no longer needed',
|
|
117
|
+
default: null,
|
|
118
|
+
format: 'optional_string',
|
|
119
|
+
env: 'DEV_DOCKER_IMAGE'
|
|
120
|
+
},
|
|
121
|
+
DEV_TAG: {
|
|
122
|
+
default: null,
|
|
123
|
+
format: 'optional_string',
|
|
124
|
+
},
|
|
125
|
+
DOCKER_CACHE_PATH: {
|
|
126
|
+
default: '/tmp/docker_cache',
|
|
127
|
+
format: String,
|
|
128
|
+
env: 'DOCKER_CACHE_PATH'
|
|
129
|
+
},
|
|
130
|
+
DOCKER_IMAGES_PATH: {
|
|
131
|
+
default: undefined,
|
|
132
|
+
format: String,
|
|
133
|
+
},
|
|
134
|
+
DOCKER_IMAGE_LIST_PATH: {
|
|
135
|
+
default: undefined,
|
|
136
|
+
format: String,
|
|
137
|
+
},
|
|
138
|
+
DOCKER_NETWORK_NAME: {
|
|
139
|
+
default: null,
|
|
140
|
+
format: 'optional_string',
|
|
141
|
+
env: 'DOCKER_NETWORK_NAME'
|
|
142
|
+
},
|
|
143
|
+
ENCRYPTION_ENABLED: {
|
|
144
|
+
default: undefined,
|
|
145
|
+
format: Boolean,
|
|
146
|
+
},
|
|
147
|
+
FORCE_COLOR: {
|
|
148
|
+
default: undefined,
|
|
149
|
+
format: ['0', '1'],
|
|
150
|
+
},
|
|
151
|
+
HOST_IP: {
|
|
152
|
+
default: undefined,
|
|
153
|
+
format: String,
|
|
154
|
+
},
|
|
155
|
+
JEST_MAX_WORKERS: {
|
|
156
|
+
default: null,
|
|
157
|
+
format: 'optional_int',
|
|
158
|
+
env: 'JEST_MAX_WORKERS'
|
|
159
|
+
},
|
|
160
|
+
K8S_VERSION: {
|
|
161
|
+
default: null,
|
|
162
|
+
format: 'optional_string',
|
|
163
|
+
env: 'K8S_VERSION'
|
|
164
|
+
},
|
|
165
|
+
MAX_PROJECTS_PER_BATCH: {
|
|
166
|
+
default: undefined,
|
|
167
|
+
format: 'int',
|
|
168
|
+
},
|
|
169
|
+
NODE_VERSION: {
|
|
170
|
+
doc: 'Node version to use. This overrides the value in the Dockerfile',
|
|
171
|
+
default: __DEFAULT_NODE_VERSION,
|
|
172
|
+
format: String,
|
|
173
|
+
env: 'NODE_VERSION'
|
|
174
|
+
},
|
|
175
|
+
NPM_DEFAULT_REGISTRY: {
|
|
176
|
+
default: 'https://registry.npmjs.org/',
|
|
177
|
+
format: String,
|
|
178
|
+
},
|
|
179
|
+
REPORT_COVERAGE: {
|
|
180
|
+
default: false,
|
|
181
|
+
format: Boolean,
|
|
182
|
+
env: 'REPORT_COVERAGE'
|
|
183
|
+
},
|
|
184
|
+
SERVICE_HEAP_OPTS: {
|
|
185
|
+
default: '-Xms512m -Xmx512m',
|
|
186
|
+
format: String,
|
|
187
|
+
env: 'SERVICE_HEAP_OPTS'
|
|
188
|
+
},
|
|
189
|
+
SERVICE_UP_TIMEOUT: {
|
|
190
|
+
doc: 'The timeout for how long a service has to stand up',
|
|
191
|
+
default: '2m',
|
|
192
|
+
format: String,
|
|
193
|
+
env: 'SERVICE_UP_TIMEOUT'
|
|
194
|
+
},
|
|
195
|
+
SERVICES_USE_TMPFS: {
|
|
196
|
+
default: true,
|
|
197
|
+
format: Boolean,
|
|
198
|
+
env: 'SERVICES_USE_TMPFS'
|
|
199
|
+
},
|
|
200
|
+
SKIP_DOCKER_BUILD_IN_E2E: {
|
|
201
|
+
doc: 'Use this to skip the docker build command in e2e tests, this might be '
|
|
202
|
+
+ 'useful if you pull down a cache image outside of this and you know it '
|
|
203
|
+
+ 'is up-to-date',
|
|
204
|
+
default: false,
|
|
205
|
+
format: Boolean,
|
|
206
|
+
env: 'SKIP_DOCKER_BUILD_IN_E2E'
|
|
207
|
+
},
|
|
208
|
+
SKIP_DOCKER_BUILD_IN_K8S: {
|
|
209
|
+
default: false,
|
|
210
|
+
format: Boolean,
|
|
211
|
+
env: 'SKIP_DOCKER_BUILD_IN_K8S'
|
|
212
|
+
},
|
|
213
|
+
SKIP_E2E_OUTPUT_LOGS: {
|
|
214
|
+
default: undefined,
|
|
215
|
+
format: Boolean,
|
|
216
|
+
},
|
|
217
|
+
SKIP_GIT_COMMANDS: {
|
|
218
|
+
doc: 'When set this will skip git commands. This is useful for Dockerfile when git is not available or does not work',
|
|
219
|
+
default: false,
|
|
220
|
+
format: Boolean,
|
|
221
|
+
env: 'SKIP_GIT_COMMANDS'
|
|
222
|
+
},
|
|
223
|
+
SKIP_IMAGE_DELETION: {
|
|
224
|
+
default: false,
|
|
225
|
+
format: Boolean,
|
|
226
|
+
env: 'SKIP_IMAGE_DELETION'
|
|
227
|
+
},
|
|
228
|
+
TERASLICE_IMAGE: {
|
|
229
|
+
default: null,
|
|
230
|
+
format: 'optional_string',
|
|
231
|
+
env: 'TERASLICE_IMAGE'
|
|
232
|
+
},
|
|
233
|
+
TEST_NAMESPACE: {
|
|
234
|
+
default: 'ts_test',
|
|
235
|
+
format: String,
|
|
236
|
+
env: 'TEST_NAMESPACE'
|
|
237
|
+
},
|
|
238
|
+
USE_EXISTING_SERVICES: {
|
|
239
|
+
default: false,
|
|
240
|
+
format: Boolean,
|
|
241
|
+
env: 'USE_EXISTING_SERVICES'
|
|
242
|
+
},
|
|
243
|
+
USE_HELMFILE: {
|
|
244
|
+
default: false,
|
|
245
|
+
format: Boolean,
|
|
246
|
+
env: 'USE_HELMFILE'
|
|
247
|
+
},
|
|
248
|
+
// Elasticsearch config
|
|
249
|
+
ELASTICSEARCH_DOCKER_IMAGE: {
|
|
250
|
+
default: 'elasticsearch',
|
|
251
|
+
format: String,
|
|
252
|
+
env: 'ELASTICSEARCH_DOCKER_IMAGE'
|
|
253
|
+
},
|
|
254
|
+
ELASTICSEARCH_HOST: {
|
|
255
|
+
default: undefined,
|
|
256
|
+
format: String,
|
|
257
|
+
},
|
|
258
|
+
ELASTICSEARCH_HOSTNAME: {
|
|
259
|
+
default: undefined,
|
|
260
|
+
format: String,
|
|
261
|
+
},
|
|
262
|
+
ELASTICSEARCH_NAME: {
|
|
263
|
+
default: 'elasticsearch',
|
|
264
|
+
format: String,
|
|
265
|
+
env: 'ELASTICSEARCH_NAME'
|
|
266
|
+
},
|
|
267
|
+
ELASTICSEARCH_PORT: {
|
|
268
|
+
default: undefined,
|
|
269
|
+
format: Number,
|
|
270
|
+
},
|
|
271
|
+
ELASTICSEARCH_VERSION: {
|
|
272
|
+
default: __DEFAULT_ELASTICSEARCH7_VERSION,
|
|
273
|
+
format: String,
|
|
274
|
+
env: 'ELASTICSEARCH_VERSION'
|
|
275
|
+
},
|
|
276
|
+
RESTRAINED_ELASTICSEARCH_HOST: {
|
|
277
|
+
default: undefined,
|
|
278
|
+
format: String,
|
|
279
|
+
},
|
|
280
|
+
RESTRAINED_ELASTICSEARCH_PORT: {
|
|
281
|
+
default: undefined,
|
|
282
|
+
format: Number,
|
|
283
|
+
},
|
|
284
|
+
// Kafka config
|
|
285
|
+
ENCRYPT_KAFKA: {
|
|
286
|
+
default: undefined,
|
|
287
|
+
format: Boolean,
|
|
288
|
+
},
|
|
289
|
+
KAFKA_ADVERTISED_LISTENERS: {
|
|
290
|
+
default: undefined,
|
|
291
|
+
format: String,
|
|
292
|
+
},
|
|
293
|
+
KAFKA_BROKER: {
|
|
294
|
+
default: undefined,
|
|
295
|
+
format: String,
|
|
296
|
+
},
|
|
297
|
+
KAFKA_CONTROLLER_LISTENER_NAMES: {
|
|
298
|
+
default: 'CONTROLLER',
|
|
299
|
+
format: String,
|
|
300
|
+
env: 'KAFKA_CONTROLLER_LISTENER_NAMES'
|
|
301
|
+
},
|
|
302
|
+
KAFKA_CONTROLLER_QUORUM_VOTERS: {
|
|
303
|
+
default: '1@0.0.0.0:9093',
|
|
304
|
+
format: String,
|
|
305
|
+
env: 'KAFKA_CONTROLLER_QUORUM_VOTERS'
|
|
306
|
+
},
|
|
307
|
+
KAFKA_DOCKER_IMAGE: {
|
|
308
|
+
default: 'apache/kafka',
|
|
309
|
+
format: String,
|
|
310
|
+
env: 'KAFKA_DOCKER_IMAGE'
|
|
311
|
+
},
|
|
312
|
+
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: {
|
|
313
|
+
default: '0',
|
|
314
|
+
format: String,
|
|
315
|
+
env: 'KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS'
|
|
316
|
+
},
|
|
317
|
+
KAFKA_HOSTNAME: {
|
|
318
|
+
default: undefined,
|
|
319
|
+
format: String,
|
|
320
|
+
},
|
|
321
|
+
KAFKA_INTER_BROKER_LISTENER_NAME: {
|
|
322
|
+
default: 'INTERNAL',
|
|
323
|
+
format: String,
|
|
324
|
+
env: 'KAFKA_INTER_BROKER_LISTENER_NAME'
|
|
325
|
+
},
|
|
326
|
+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: {
|
|
327
|
+
default: undefined,
|
|
328
|
+
format: String,
|
|
329
|
+
},
|
|
330
|
+
KAFKA_LISTENERS: {
|
|
331
|
+
default: undefined,
|
|
332
|
+
format: String,
|
|
333
|
+
},
|
|
334
|
+
KAFKA_NAME: {
|
|
335
|
+
default: 'kafka',
|
|
336
|
+
format: String,
|
|
337
|
+
env: 'KAFKA_NAME'
|
|
338
|
+
},
|
|
339
|
+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: {
|
|
340
|
+
default: '1',
|
|
341
|
+
format: String,
|
|
342
|
+
env: 'KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR'
|
|
343
|
+
},
|
|
344
|
+
KAFKA_NODE_ID: {
|
|
345
|
+
default: '1',
|
|
346
|
+
format: String,
|
|
347
|
+
env: 'KAFKA_NODE_ID'
|
|
348
|
+
},
|
|
349
|
+
KAFKA_PORT: {
|
|
350
|
+
default: undefined,
|
|
351
|
+
format: Number,
|
|
352
|
+
},
|
|
353
|
+
KAFKA_PROCESS_ROLES: {
|
|
354
|
+
default: 'broker,controller',
|
|
355
|
+
format: String,
|
|
356
|
+
env: 'KAFKA_PROCESS_ROLES'
|
|
357
|
+
},
|
|
358
|
+
KAFKA_SECRETS_DIR: {
|
|
359
|
+
default: '/etc/kafka/secrets',
|
|
360
|
+
format: String,
|
|
361
|
+
env: 'KAFKA_SECRETS_DIR'
|
|
362
|
+
},
|
|
363
|
+
KAFKA_SECURITY_PROTOCOL: {
|
|
364
|
+
default: undefined,
|
|
365
|
+
format: String,
|
|
366
|
+
},
|
|
367
|
+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: {
|
|
368
|
+
default: '1',
|
|
369
|
+
format: String,
|
|
370
|
+
env: 'KAFKA_TRANSACTION_STATE_LOG_MIN_ISR'
|
|
371
|
+
},
|
|
372
|
+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: {
|
|
373
|
+
default: '1',
|
|
374
|
+
format: String,
|
|
375
|
+
env: 'KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR'
|
|
376
|
+
},
|
|
377
|
+
KAFKA_VERSION: {
|
|
378
|
+
default: '3.7.2',
|
|
379
|
+
format: String,
|
|
380
|
+
env: 'KAFKA_VERSION'
|
|
381
|
+
},
|
|
382
|
+
// Kind config
|
|
383
|
+
KIND_DOCKER_IMAGE: {
|
|
384
|
+
default: 'kindest/node',
|
|
385
|
+
format: String,
|
|
386
|
+
env: 'KIND_DOCKER_IMAGE'
|
|
387
|
+
},
|
|
388
|
+
KIND_VERSION: {
|
|
389
|
+
default: 'v1.30.0',
|
|
390
|
+
format: String,
|
|
391
|
+
env: 'KIND_VERSION'
|
|
392
|
+
},
|
|
393
|
+
// Minio config
|
|
394
|
+
ENCRYPT_MINIO: {
|
|
395
|
+
default: undefined,
|
|
396
|
+
format: Boolean,
|
|
397
|
+
},
|
|
398
|
+
MINIO_ACCESS_KEY: {
|
|
399
|
+
default: 'minioadmin',
|
|
400
|
+
format: String,
|
|
401
|
+
env: 'MINIO_ACCESS_KEY'
|
|
402
|
+
},
|
|
403
|
+
MINIO_DOCKER_IMAGE: {
|
|
404
|
+
default: 'minio/minio',
|
|
405
|
+
format: String,
|
|
406
|
+
env: 'MINIO_DOCKER_IMAGE'
|
|
407
|
+
},
|
|
408
|
+
MINIO_HOST: {
|
|
409
|
+
default: undefined,
|
|
410
|
+
format: String,
|
|
411
|
+
},
|
|
412
|
+
MINIO_HOSTNAME: {
|
|
413
|
+
default: undefined,
|
|
414
|
+
format: String,
|
|
415
|
+
},
|
|
416
|
+
MINIO_NAME: {
|
|
417
|
+
default: 'minio',
|
|
418
|
+
format: String,
|
|
419
|
+
env: 'MINIO_NAME'
|
|
420
|
+
},
|
|
421
|
+
MINIO_PORT: {
|
|
422
|
+
default: undefined,
|
|
423
|
+
format: Number,
|
|
424
|
+
},
|
|
425
|
+
MINIO_PROTOCOL: {
|
|
426
|
+
default: undefined,
|
|
427
|
+
format: ['http', 'https'],
|
|
428
|
+
},
|
|
429
|
+
MINIO_SECRET_KEY: {
|
|
430
|
+
default: 'minioadmin',
|
|
431
|
+
format: String,
|
|
432
|
+
env: 'MINIO_SECRET_KEY'
|
|
433
|
+
},
|
|
434
|
+
MINIO_UI_PORT: {
|
|
435
|
+
default: 49001,
|
|
436
|
+
format: Number,
|
|
437
|
+
env: 'MINIO_UI_PORT'
|
|
438
|
+
},
|
|
439
|
+
MINIO_VERSION: {
|
|
440
|
+
default: 'RELEASE.2024-08-29T01-40-52Z',
|
|
441
|
+
format: String,
|
|
442
|
+
env: 'MINIO_VERSION'
|
|
443
|
+
},
|
|
444
|
+
// OpenSearch config
|
|
445
|
+
ENCRYPT_OPENSEARCH: {
|
|
446
|
+
default: undefined,
|
|
447
|
+
format: Boolean,
|
|
448
|
+
},
|
|
449
|
+
OPENSEARCH_DOCKER_IMAGE: {
|
|
450
|
+
default: 'opensearchproject/opensearch',
|
|
451
|
+
format: String,
|
|
452
|
+
env: 'OPENSEARCH_DOCKER_IMAGE'
|
|
453
|
+
},
|
|
454
|
+
OPENSEARCH_HOST: {
|
|
455
|
+
default: undefined,
|
|
456
|
+
format: String,
|
|
457
|
+
},
|
|
458
|
+
OPENSEARCH_HOSTNAME: {
|
|
459
|
+
default: undefined,
|
|
460
|
+
format: String,
|
|
461
|
+
},
|
|
462
|
+
OPENSEARCH_NAME: {
|
|
463
|
+
default: 'opensearch',
|
|
464
|
+
format: String,
|
|
465
|
+
env: 'OPENSEARCH_NAME'
|
|
466
|
+
},
|
|
467
|
+
OPENSEARCH_PASSWORD: {
|
|
468
|
+
default: undefined,
|
|
469
|
+
format: String,
|
|
470
|
+
},
|
|
471
|
+
OPENSEARCH_PORT: {
|
|
472
|
+
default: undefined,
|
|
473
|
+
format: Number,
|
|
474
|
+
},
|
|
475
|
+
OPENSEARCH_PROTOCOL: {
|
|
476
|
+
default: undefined,
|
|
477
|
+
format: ['http', 'https'],
|
|
478
|
+
},
|
|
479
|
+
OPENSEARCH_SSL_HOST: {
|
|
480
|
+
default: undefined,
|
|
481
|
+
format: String,
|
|
482
|
+
},
|
|
483
|
+
OPENSEARCH_USER: {
|
|
484
|
+
default: undefined,
|
|
485
|
+
format: String,
|
|
486
|
+
},
|
|
487
|
+
OPENSEARCH_VERSION: {
|
|
488
|
+
default: __DEFAULT_OPENSEARCH2_VERSION,
|
|
489
|
+
format: String,
|
|
490
|
+
env: 'OPENSEARCH_VERSION'
|
|
491
|
+
},
|
|
492
|
+
RESTRAINED_OPENSEARCH_HOST: {
|
|
493
|
+
default: undefined,
|
|
494
|
+
format: String,
|
|
495
|
+
},
|
|
496
|
+
RESTRAINED_OPENSEARCH_PORT: {
|
|
497
|
+
default: undefined,
|
|
498
|
+
format: Number,
|
|
499
|
+
},
|
|
500
|
+
// RabbitMQ config
|
|
501
|
+
RABBITMQ_DOCKER_IMAGE: {
|
|
502
|
+
default: 'rabbitmq',
|
|
503
|
+
format: String,
|
|
504
|
+
env: 'RABBITMQ_DOCKER_IMAGE'
|
|
505
|
+
},
|
|
506
|
+
RABBITMQ_HOST: {
|
|
507
|
+
default: undefined,
|
|
508
|
+
format: String,
|
|
509
|
+
},
|
|
510
|
+
RABBITMQ_HOSTNAME: {
|
|
511
|
+
default: undefined,
|
|
512
|
+
format: String,
|
|
513
|
+
},
|
|
514
|
+
RABBITMQ_MANAGEMENT: {
|
|
515
|
+
default: undefined,
|
|
516
|
+
format: String,
|
|
517
|
+
},
|
|
518
|
+
RABBITMQ_MANAGEMENT_PORT: {
|
|
519
|
+
default: undefined,
|
|
520
|
+
format: Number,
|
|
521
|
+
},
|
|
522
|
+
RABBITMQ_NAME: {
|
|
523
|
+
default: 'rabbitmq',
|
|
524
|
+
format: String,
|
|
525
|
+
env: 'RABBITMQ_NAME'
|
|
526
|
+
},
|
|
527
|
+
RABBITMQ_PASSWORD: {
|
|
528
|
+
default: 'guest',
|
|
529
|
+
format: String,
|
|
530
|
+
env: 'RABBITMQ_PASSWORD'
|
|
531
|
+
},
|
|
532
|
+
RABBITMQ_PORT: {
|
|
533
|
+
default: undefined,
|
|
534
|
+
format: Number,
|
|
535
|
+
},
|
|
536
|
+
RABBITMQ_USER: {
|
|
537
|
+
default: 'guest',
|
|
538
|
+
format: String,
|
|
539
|
+
env: 'RABBITMQ_USER'
|
|
540
|
+
},
|
|
541
|
+
RABBITMQ_VERSION: {
|
|
542
|
+
default: '3.13.7-management',
|
|
543
|
+
format: String,
|
|
544
|
+
env: 'RABBITMQ_VERSION'
|
|
545
|
+
},
|
|
546
|
+
// Teraslice Config
|
|
547
|
+
ASSET_STORAGE_CONNECTION: {
|
|
548
|
+
default: 'default',
|
|
549
|
+
format: String,
|
|
550
|
+
env: 'ASSET_STORAGE_CONNECTION'
|
|
551
|
+
},
|
|
552
|
+
ASSET_STORAGE_CONNECTION_TYPE: {
|
|
553
|
+
default: 'elasticsearch-next',
|
|
554
|
+
format: String,
|
|
555
|
+
env: 'ASSET_STORAGE_CONNECTION_TYPE'
|
|
556
|
+
},
|
|
557
|
+
CLUSTERING_TYPE: {
|
|
558
|
+
default: 'kubernetesV2',
|
|
559
|
+
format: ['kubernetesV2'],
|
|
560
|
+
env: 'CLUSTERING_TYPE'
|
|
561
|
+
},
|
|
562
|
+
SEARCH_TEST_HOST: {
|
|
563
|
+
default: undefined,
|
|
564
|
+
format: String,
|
|
565
|
+
},
|
|
566
|
+
TERASLICE_PORT: {
|
|
567
|
+
default: 45678,
|
|
568
|
+
format: Number,
|
|
569
|
+
env: 'TERASLICE_PORT'
|
|
570
|
+
},
|
|
571
|
+
TEST_PLATFORM: {
|
|
572
|
+
default: 'native',
|
|
573
|
+
format: ['native', 'kubernetesV2'],
|
|
574
|
+
env: 'TEST_PLATFORM'
|
|
575
|
+
},
|
|
576
|
+
// Utility service config
|
|
577
|
+
UTILITY_SVC_DOCKER_IMAGE: {
|
|
578
|
+
default: 'teraslice-utility',
|
|
579
|
+
format: String,
|
|
580
|
+
env: 'UTILITY_SVC_DOCKER_IMAGE'
|
|
581
|
+
},
|
|
582
|
+
UTILITY_SVC_DOCKER_PROJECT_PATH: {
|
|
583
|
+
default: 'e2e/helm/utility',
|
|
584
|
+
format: String,
|
|
585
|
+
env: 'UTILITY_SVC_DOCKER_PROJECT_PATH'
|
|
586
|
+
},
|
|
587
|
+
UTILITY_SVC_NAME: {
|
|
588
|
+
default: 'utility-svc',
|
|
589
|
+
format: String,
|
|
590
|
+
env: 'UTILITY_SVC_NAME'
|
|
591
|
+
},
|
|
592
|
+
UTILITY_SVC_VERSION: {
|
|
593
|
+
default: '0.0.1',
|
|
594
|
+
format: String,
|
|
595
|
+
env: 'UTILITY_SVC_VERSION'
|
|
596
|
+
},
|
|
597
|
+
};
|
|
598
|
+
const forceColor = process.env.FORCE_COLOR || '1';
|
|
599
|
+
config.FORCE_COLOR = toBoolean(forceColor)
|
|
600
|
+
? '1'
|
|
601
|
+
: '0';
|
|
602
|
+
config.HOST_IP = process.env.HOST_IP || address();
|
|
603
|
+
config.ELASTICSEARCH_HOSTNAME = process.env.ELASTICSEARCH_HOSTNAME || config.HOST_IP;
|
|
604
|
+
config.ELASTICSEARCH_PORT = Number(process.env.ELASTICSEARCH_PORT) || 49200;
|
|
605
|
+
config.ELASTICSEARCH_HOST = `http://${config.ELASTICSEARCH_HOSTNAME}:${config.ELASTICSEARCH_PORT}`;
|
|
606
|
+
config.RESTRAINED_ELASTICSEARCH_PORT = Number(process.env.RESTRAINED_ELASTICSEARCH_PORT) || 49202;
|
|
607
|
+
config.RESTRAINED_ELASTICSEARCH_HOST = `http://${config.ELASTICSEARCH_HOSTNAME}:${config.RESTRAINED_ELASTICSEARCH_PORT}`;
|
|
608
|
+
config.ENCRYPT_KAFKA = toBoolean(process.env.ENCRYPT_KAFKA) || false;
|
|
609
|
+
config.KAFKA_HOSTNAME = process.env.KAFKA_HOSTNAME || config.HOST_IP;
|
|
610
|
+
config.KAFKA_PORT = Number(process.env.KAFKA_PORT) || 49094;
|
|
611
|
+
config.KAFKA_BROKER = `${config.KAFKA_HOSTNAME}:${config.KAFKA_PORT}`;
|
|
612
|
+
config.KAFKA_ADVERTISED_LISTENERS = process.env.KAFKA_ADVERTISED_LISTENERS || `INTERNAL://${config.KAFKA_HOSTNAME}:${config.KAFKA_PORT}`;
|
|
613
|
+
config.KAFKA_SECURITY_PROTOCOL = process.env.KAFKA_SECURITY_PROTOCOL || (config.ENCRYPT_KAFKA ? 'SSL' : 'PLAINTEXT');
|
|
614
|
+
config.KAFKA_LISTENER_SECURITY_PROTOCOL_MAP = process.env.KAFKA_LISTENER_SECURITY_PROTOCOL_MAP || `INTERNAL:${config.KAFKA_SECURITY_PROTOCOL}, CONTROLLER:PLAINTEXT`;
|
|
615
|
+
config.KAFKA_LISTENERS = process.env.KAFKA_LISTENERS || `INTERNAL://0.0.0.0:${config.KAFKA_PORT}, CONTROLLER://:9093`;
|
|
616
|
+
config.ENCRYPT_MINIO = toBoolean(process.env.ENCRYPT_MINIO) || false;
|
|
617
|
+
config.MINIO_HOSTNAME = process.env.MINIO_HOSTNAME || config.HOST_IP;
|
|
618
|
+
config.MINIO_PORT = Number(process.env.MINIO_PORT) || 49000;
|
|
619
|
+
config.MINIO_PROTOCOL = config.ENCRYPT_MINIO ? 'https' : 'http';
|
|
620
|
+
config.MINIO_HOST = `${config.MINIO_PROTOCOL}://${config.MINIO_HOSTNAME}:${config.MINIO_PORT}`;
|
|
621
|
+
config.RABBITMQ_PORT = Number(process.env.RABBITMQ_PORT) || 45672;
|
|
622
|
+
config.RABBITMQ_MANAGEMENT_PORT = Number(process.env.RABBITMQ_MANAGEMENT_PORT) || 55672;
|
|
623
|
+
config.RABBITMQ_HOSTNAME = process.env.RABBITMQ_HOSTNAME || config.HOST_IP;
|
|
624
|
+
config.RABBITMQ_HOST = `http://${config.RABBITMQ_HOSTNAME}:${config.RABBITMQ_PORT}`;
|
|
625
|
+
config.RABBITMQ_MANAGEMENT = `http://${config.RABBITMQ_HOSTNAME}:${config.RABBITMQ_MANAGEMENT_PORT}`;
|
|
626
|
+
config.ENCRYPT_OPENSEARCH = toBoolean(process.env.ENCRYPT_OPENSEARCH) || false;
|
|
627
|
+
config.OPENSEARCH_PROTOCOL = config.ENCRYPT_OPENSEARCH ? 'https' : 'http';
|
|
628
|
+
config.OPENSEARCH_HOSTNAME = process.env.OPENSEARCH_HOSTNAME || config.HOST_IP;
|
|
629
|
+
config.OPENSEARCH_PORT = Number(process.env.OPENSEARCH_PORT) || 49210;
|
|
630
|
+
config.OPENSEARCH_USER = process.env.OPENSEARCH_USER || 'admin';
|
|
631
|
+
config.OPENSEARCH_PASSWORD = process.env.OPENSEARCH_PASSWORD || 'admin';
|
|
632
|
+
config.OPENSEARCH_HOST = `${config.OPENSEARCH_PROTOCOL}://${config.OPENSEARCH_USER}:${config.OPENSEARCH_PASSWORD}@${config.OPENSEARCH_HOSTNAME}:${config.OPENSEARCH_PORT}`;
|
|
633
|
+
config.OPENSEARCH_SSL_HOST = `https://${config.OPENSEARCH_HOSTNAME}:${config.OPENSEARCH_PORT}`;
|
|
634
|
+
config.RESTRAINED_OPENSEARCH_PORT = Number(process.env.RESTRAINED_OPENSEARCH_PORT) || 49206;
|
|
635
|
+
config.RESTRAINED_OPENSEARCH_HOST = `http://${config.OPENSEARCH_USER}:${config.OPENSEARCH_PASSWORD}@${config.OPENSEARCH_HOSTNAME}:${config.RESTRAINED_OPENSEARCH_PORT}`;
|
|
103
636
|
// make sure the string doesn't contain unwanted characters
|
|
104
|
-
|
|
105
|
-
|| process.env.TRAVIS_PULL_REQUEST_BRANCH
|
|
106
|
-
|| process.env.TRAVIS_BRANCH
|
|
637
|
+
config.DEV_TAG = toSafeString((process.env.DEV_TAG
|
|
107
638
|
|| process.env.CI_COMMIT_REF_SLUG
|
|
108
639
|
|| 'local'
|
|
109
640
|
// convert dependabot/npm_and_yarn/dep-x.x.x to dependabot
|
|
110
641
|
).split('/', 1)[0]);
|
|
111
|
-
|
|
112
|
-
* Use this to override the default dev docker image tag, if this
|
|
113
|
-
* is set, using DEV_TAG is no longer needed
|
|
114
|
-
*/
|
|
115
|
-
export const DEV_DOCKER_IMAGE = process.env.DEV_DOCKER_IMAGE || undefined;
|
|
116
|
-
/**
|
|
117
|
-
* Use this to skip the docker build command in e2e tests, this might be
|
|
118
|
-
* useful if you pull down a cache image outside of this and you know it
|
|
119
|
-
* is up-to-date
|
|
120
|
-
*/
|
|
121
|
-
export const SKIP_DOCKER_BUILD_IN_E2E = toBoolean(process.env.SKIP_DOCKER_BUILD_IN_E2E ?? false);
|
|
122
|
-
export const SKIP_DOCKER_BUILD_IN_K8S = toBoolean(process.env.SKIP_DOCKER_BUILD_IN_K8S ?? false);
|
|
123
|
-
export const SKIP_E2E_OUTPUT_LOGS = toBoolean(process.env.SKIP_E2E_OUTPUT_LOGS ?? !isCI);
|
|
642
|
+
config.SKIP_E2E_OUTPUT_LOGS = toBoolean(process.env.SKIP_E2E_OUTPUT_LOGS) ?? (!isCI ? true : false);
|
|
124
643
|
/**
|
|
125
644
|
* jest or our tests have a memory leak, limiting this seems to help
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const testOpensearch = toBoolean(TEST_OPENSEARCH);
|
|
136
|
-
const testElasticsearch = toBoolean(TEST_ELASTICSEARCH);
|
|
137
|
-
const testRestrainedOpensearch = toBoolean(TEST_RESTRAINED_OPENSEARCH);
|
|
138
|
-
const testRestrainedElasticsearch = toBoolean(TEST_RESTRAINED_ELASTICSEARCH);
|
|
139
|
-
|
|
645
|
+
*/
|
|
646
|
+
config.MAX_PROJECTS_PER_BATCH = toIntegerOrThrow(process.env.MAX_PROJECTS_PER_BATCH ?? 5);
|
|
647
|
+
config.ENCRYPTION_ENABLED = toBoolean(process.env.ENCRYPT_KAFKA)
|
|
648
|
+
|| toBoolean(process.env.ENCRYPT_MINIO)
|
|
649
|
+
|| toBoolean(process.env.ENCRYPT_OPENSEARCH);
|
|
650
|
+
config.CERT_PATH = process.env.CERT_PATH
|
|
651
|
+
|| (config.ENCRYPTION_ENABLED
|
|
652
|
+
? fs.mkdtempSync(path.join(os.tmpdir(), 'ts-CAs'))
|
|
653
|
+
: 'tmp/ts-certs');
|
|
654
|
+
const testOpensearch = toBoolean(process.env.TEST_OPENSEARCH);
|
|
655
|
+
const testElasticsearch = toBoolean(process.env.TEST_ELASTICSEARCH);
|
|
656
|
+
const testRestrainedOpensearch = toBoolean(process.env.TEST_RESTRAINED_OPENSEARCH);
|
|
657
|
+
const testRestrainedElasticsearch = toBoolean(process.env.TEST_RESTRAINED_ELASTICSEARCH);
|
|
658
|
+
config.ENV_SERVICES = [
|
|
140
659
|
testOpensearch ? Service.Opensearch : undefined,
|
|
141
660
|
testElasticsearch ? Service.Elasticsearch : undefined,
|
|
142
|
-
toBoolean(TEST_KAFKA) ? Service.Kafka : undefined,
|
|
143
|
-
toBoolean(TEST_MINIO) ? Service.Minio : undefined,
|
|
661
|
+
toBoolean(process.env.TEST_KAFKA) ? Service.Kafka : undefined,
|
|
662
|
+
toBoolean(process.env.TEST_MINIO) ? Service.Minio : undefined,
|
|
144
663
|
testRestrainedOpensearch ? Service.RestrainedOpensearch : undefined,
|
|
145
664
|
testRestrainedElasticsearch ? Service.RestrainedElasticsearch : undefined,
|
|
146
|
-
toBoolean(TEST_RABBITMQ) ? Service.RabbitMQ : undefined,
|
|
147
|
-
toBoolean(ENABLE_UTILITY_SVC) ? Service.Utility : undefined,
|
|
665
|
+
toBoolean(process.env.TEST_RABBITMQ) ? Service.RabbitMQ : undefined,
|
|
666
|
+
toBoolean(process.env.ENABLE_UTILITY_SVC) ? Service.Utility : undefined,
|
|
148
667
|
]
|
|
149
668
|
.filter(Boolean);
|
|
150
|
-
|
|
669
|
+
const __DEFAULT_TEST_HOST = config.OPENSEARCH_HOST;
|
|
670
|
+
let testHost = __DEFAULT_TEST_HOST;
|
|
151
671
|
if (testElasticsearch) {
|
|
152
|
-
testHost = ELASTICSEARCH_HOST;
|
|
672
|
+
testHost = config.ELASTICSEARCH_HOST;
|
|
153
673
|
}
|
|
154
674
|
else if (testOpensearch) {
|
|
155
|
-
testHost = OPENSEARCH_HOST;
|
|
675
|
+
testHost = config.OPENSEARCH_HOST;
|
|
156
676
|
}
|
|
157
677
|
else if (testRestrainedOpensearch) {
|
|
158
|
-
testHost = RESTRAINED_OPENSEARCH_HOST;
|
|
678
|
+
testHost = config.RESTRAINED_OPENSEARCH_HOST;
|
|
159
679
|
}
|
|
160
680
|
else if (testRestrainedElasticsearch) {
|
|
161
|
-
testHost = RESTRAINED_ELASTICSEARCH_HOST;
|
|
681
|
+
testHost = config.RESTRAINED_ELASTICSEARCH_HOST;
|
|
682
|
+
}
|
|
683
|
+
config.SEARCH_TEST_HOST = process.env.SEARCH_TEST_HOST || testHost;
|
|
684
|
+
config.DOCKER_IMAGES_PATH = process.env.DOCKER_IMAGES_PATH || './images';
|
|
685
|
+
config.DOCKER_IMAGE_LIST_PATH = process.env.DOCKER_IMAGE_LIST_PATH || `${config.DOCKER_IMAGES_PATH}/image-list.txt`;
|
|
686
|
+
try {
|
|
687
|
+
const configValidator = new SchemaValidator(configSchema, 'scriptsConfigSchema');
|
|
688
|
+
validatedConfig = configValidator.validate(config);
|
|
689
|
+
}
|
|
690
|
+
catch (err) {
|
|
691
|
+
throw new Error(`ts-scripts config validation failed: ${err}`);
|
|
162
692
|
}
|
|
163
|
-
export
|
|
164
|
-
export const TEST_NODE_VERSIONS = ['22', '24'];
|
|
165
|
-
export const DEFAULT_NODE_VERSION = '22';
|
|
166
|
-
// This overrides the value in the Dockerfile
|
|
167
|
-
export const NODE_VERSION = process.env.NODE_VERSION || DEFAULT_NODE_VERSION;
|
|
168
|
-
export const { CLUSTERING_TYPE = 'kubernetesV2', TEST_PLATFORM = 'native', K8S_VERSION = undefined, TERASLICE_IMAGE = undefined } = process.env;
|
|
169
|
-
export const DOCKER_IMAGES_PATH = process.env.DOCKER_IMAGES_PATH || './images';
|
|
170
|
-
export const DOCKER_IMAGE_LIST_PATH = process.env.DOCKER_IMAGE_LIST_PATH || `${DOCKER_IMAGES_PATH}/image-list.txt`;
|
|
171
|
-
export const DOCKER_CACHE_PATH = process.env.DOCKER_CACHE_PATH || '/tmp/docker_cache';
|
|
172
|
-
export const SKIP_IMAGE_DELETION = toBoolean(process.env.SKIP_IMAGE_DELETION) || false;
|
|
173
|
-
export const USE_HELMFILE = toBoolean(process.env.USE_HELMFILE) || false;
|
|
174
|
-
export const ATTACH_JEST_DEBUGGER = toBoolean(process.env.ATTACH_JEST_DEBUGGER) || false;
|
|
693
|
+
export default validatedConfig;
|
|
175
694
|
//# sourceMappingURL=config.js.map
|