@terascope/scripts 2.0.0-dev.13 → 2.0.0-dev.14
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.js +3 -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.js +1 -1
- package/dist/src/cmds/test.js.map +1 -1
- package/dist/src/helpers/config.d.ts +3 -130
- package/dist/src/helpers/config.d.ts.map +1 -1
- package/dist/src/helpers/config.js +661 -150
- 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.js +2 -2
- package/dist/src/helpers/k8s-env/index.js.map +1 -1
- package/dist/src/helpers/k8s-env/interfaces.d.ts +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 +11 -10
- 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 +8 -7
- package/dist/src/helpers/scripts.d.ts.map +1 -1
- package/dist/src/helpers/scripts.js +3 -4
- 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 +2 -5
- package/dist/src/helpers/test-runner/index.js.map +1 -1
- package/dist/src/helpers/test-runner/services.js +9 -9
- 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 +32 -25
- package/dist/src/helpers/test-runner/utils.js.map +1 -1
- package/package.json +3 -2
|
@@ -2,182 +2,693 @@ import ipPkg from 'ip';
|
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import os from 'node:os';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
-
import {
|
|
5
|
+
import { toSafeString, isCI, toIntegerOrThrow, SchemaValidator, toBoolean } from '@terascope/core-utils';
|
|
6
6
|
import { Service } from './interfaces.js';
|
|
7
|
-
const { address } = ipPkg;
|
|
8
|
-
const forceColor = process.env.FORCE_COLOR || '1';
|
|
9
|
-
export const FORCE_COLOR = toBoolean(forceColor)
|
|
10
|
-
? '1'
|
|
11
|
-
: '0';
|
|
12
|
-
/** The timeout for how long a service has to stand up */
|
|
13
|
-
export const SERVICE_UP_TIMEOUT = process.env.SERVICE_UP_TIMEOUT ?? '2m';
|
|
14
7
|
/** Default elasticsearch7 version used to populate the CI cache */
|
|
15
|
-
|
|
8
|
+
const __DEFAULT_ELASTICSEARCH7_VERSION = '7.9.3';
|
|
16
9
|
/** Default opensearch1 version used to populate the CI cache */
|
|
17
|
-
|
|
10
|
+
const __DEFAULT_OPENSEARCH1_VERSION = '1.3.11';
|
|
18
11
|
/** Default opensearch2 version used to populate the CI cache */
|
|
19
|
-
|
|
12
|
+
const __DEFAULT_OPENSEARCH2_VERSION = '2.15.0';
|
|
20
13
|
/** Default opensearch3 version used to populate the CI cache */
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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}`;
|
|
106
636
|
// make sure the string doesn't contain unwanted characters
|
|
107
|
-
|
|
108
|
-
|| process.env.TRAVIS_PULL_REQUEST_BRANCH
|
|
109
|
-
|| process.env.TRAVIS_BRANCH
|
|
637
|
+
config.DEV_TAG = toSafeString((process.env.DEV_TAG
|
|
110
638
|
|| process.env.CI_COMMIT_REF_SLUG
|
|
111
639
|
|| 'local'
|
|
112
640
|
// convert dependabot/npm_and_yarn/dep-x.x.x to dependabot
|
|
113
641
|
).split('/', 1)[0]);
|
|
114
|
-
|
|
115
|
-
* Use this to override the default dev docker image tag, if this
|
|
116
|
-
* is set, using DEV_TAG is no longer needed
|
|
117
|
-
*/
|
|
118
|
-
export const DEV_DOCKER_IMAGE = process.env.DEV_DOCKER_IMAGE || undefined;
|
|
119
|
-
/**
|
|
120
|
-
* Use this to skip the docker build command in e2e tests, this might be
|
|
121
|
-
* useful if you pull down a cache image outside of this and you know it
|
|
122
|
-
* is up-to-date
|
|
123
|
-
*/
|
|
124
|
-
export const SKIP_DOCKER_BUILD_IN_E2E = toBoolean(process.env.SKIP_DOCKER_BUILD_IN_E2E ?? false);
|
|
125
|
-
export const SKIP_DOCKER_BUILD_IN_K8S = toBoolean(process.env.SKIP_DOCKER_BUILD_IN_K8S ?? false);
|
|
126
|
-
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);
|
|
127
643
|
/**
|
|
128
644
|
* jest or our tests have a memory leak, limiting this seems to help
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
export const NPM_DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
|
|
137
|
-
export const ENCRYPTION_ENABLED = ENCRYPT_KAFKA || ENCRYPT_MINIO || ENCRYPT_OPENSEARCH;
|
|
138
|
-
export const CERT_PATH = process.env.CERT_PATH
|
|
139
|
-
|| (ENCRYPTION_ENABLED
|
|
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
|
|
140
652
|
? fs.mkdtempSync(path.join(os.tmpdir(), 'ts-CAs'))
|
|
141
653
|
: 'tmp/ts-certs');
|
|
142
|
-
const
|
|
143
|
-
const
|
|
144
|
-
const
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
export const ENV_SERVICES = [
|
|
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 = [
|
|
148
659
|
testOpensearch ? Service.Opensearch : undefined,
|
|
149
660
|
testElasticsearch ? Service.Elasticsearch : undefined,
|
|
150
|
-
toBoolean(TEST_KAFKA) ? Service.Kafka : undefined,
|
|
151
|
-
toBoolean(TEST_MINIO) ? Service.Minio : undefined,
|
|
661
|
+
toBoolean(process.env.TEST_KAFKA) ? Service.Kafka : undefined,
|
|
662
|
+
toBoolean(process.env.TEST_MINIO) ? Service.Minio : undefined,
|
|
152
663
|
testRestrainedOpensearch ? Service.RestrainedOpensearch : undefined,
|
|
153
664
|
testRestrainedElasticsearch ? Service.RestrainedElasticsearch : undefined,
|
|
154
|
-
toBoolean(TEST_RABBITMQ) ? Service.RabbitMQ : undefined,
|
|
155
|
-
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,
|
|
156
667
|
]
|
|
157
668
|
.filter(Boolean);
|
|
158
|
-
|
|
669
|
+
const __DEFAULT_TEST_HOST = config.OPENSEARCH_HOST;
|
|
670
|
+
let testHost = __DEFAULT_TEST_HOST;
|
|
159
671
|
if (testElasticsearch) {
|
|
160
|
-
testHost = ELASTICSEARCH_HOST;
|
|
672
|
+
testHost = config.ELASTICSEARCH_HOST;
|
|
161
673
|
}
|
|
162
674
|
else if (testOpensearch) {
|
|
163
|
-
testHost = OPENSEARCH_HOST;
|
|
675
|
+
testHost = config.OPENSEARCH_HOST;
|
|
164
676
|
}
|
|
165
677
|
else if (testRestrainedOpensearch) {
|
|
166
|
-
testHost = RESTRAINED_OPENSEARCH_HOST;
|
|
678
|
+
testHost = config.RESTRAINED_OPENSEARCH_HOST;
|
|
167
679
|
}
|
|
168
680
|
else if (testRestrainedElasticsearch) {
|
|
169
|
-
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}`);
|
|
170
692
|
}
|
|
171
|
-
export
|
|
172
|
-
export const TEST_NODE_VERSIONS = ['22', '24'];
|
|
173
|
-
export const DEFAULT_NODE_VERSION = '22';
|
|
174
|
-
// This overrides the value in the Dockerfile
|
|
175
|
-
export const NODE_VERSION = process.env.NODE_VERSION || DEFAULT_NODE_VERSION;
|
|
176
|
-
export const { CLUSTERING_TYPE = 'kubernetesV2', TEST_PLATFORM = 'native', K8S_VERSION = undefined, TERASLICE_IMAGE = undefined } = process.env;
|
|
177
|
-
export const DOCKER_IMAGES_PATH = process.env.DOCKER_IMAGES_PATH || './images';
|
|
178
|
-
export const DOCKER_IMAGE_LIST_PATH = process.env.DOCKER_IMAGE_LIST_PATH || `${DOCKER_IMAGES_PATH}/image-list.txt`;
|
|
179
|
-
export const DOCKER_CACHE_PATH = process.env.DOCKER_CACHE_PATH || '/tmp/docker_cache';
|
|
180
|
-
export const SKIP_IMAGE_DELETION = toBoolean(process.env.SKIP_IMAGE_DELETION) || false;
|
|
181
|
-
export const USE_HELMFILE = toBoolean(process.env.USE_HELMFILE) || false;
|
|
182
|
-
export const ATTACH_JEST_DEBUGGER = toBoolean(process.env.ATTACH_JEST_DEBUGGER) || false;
|
|
693
|
+
export default validatedConfig;
|
|
183
694
|
//# sourceMappingURL=config.js.map
|