@terascope/scripts 2.20.0 → 2.20.1

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. package/dist/src/helpers/bump/index.js +1 -1
  2. package/dist/src/helpers/bump/index.js.map +1 -1
  3. package/dist/src/helpers/certs.d.ts +28 -0
  4. package/dist/src/helpers/certs.d.ts.map +1 -0
  5. package/dist/src/helpers/certs.js +267 -0
  6. package/dist/src/helpers/certs.js.map +1 -0
  7. package/dist/src/helpers/doc-builder/index.js +1 -1
  8. package/dist/src/helpers/doc-builder/index.js.map +1 -1
  9. package/dist/src/helpers/docker.d.ts +78 -0
  10. package/dist/src/helpers/docker.d.ts.map +1 -0
  11. package/dist/src/helpers/docker.js +395 -0
  12. package/dist/src/helpers/docker.js.map +1 -0
  13. package/dist/src/helpers/exec.d.ts +19 -0
  14. package/dist/src/helpers/exec.d.ts.map +1 -0
  15. package/dist/src/helpers/exec.js +81 -0
  16. package/dist/src/helpers/exec.js.map +1 -0
  17. package/dist/src/helpers/git.d.ts +4 -0
  18. package/dist/src/helpers/git.d.ts.map +1 -0
  19. package/dist/src/helpers/git.js +47 -0
  20. package/dist/src/helpers/git.js.map +1 -0
  21. package/dist/src/helpers/helm.d.ts +25 -0
  22. package/dist/src/helpers/helm.d.ts.map +1 -0
  23. package/dist/src/helpers/helm.js +297 -0
  24. package/dist/src/helpers/helm.js.map +1 -0
  25. package/dist/src/helpers/images/index.js +1 -1
  26. package/dist/src/helpers/images/index.js.map +1 -1
  27. package/dist/src/helpers/k8s-env/index.d.ts.map +1 -1
  28. package/dist/src/helpers/k8s-env/index.js +5 -2
  29. package/dist/src/helpers/k8s-env/index.js.map +1 -1
  30. package/dist/src/helpers/kubernetes.d.ts +10 -0
  31. package/dist/src/helpers/kubernetes.d.ts.map +1 -0
  32. package/dist/src/helpers/kubernetes.js +160 -0
  33. package/dist/src/helpers/kubernetes.js.map +1 -0
  34. package/dist/src/helpers/misc.d.ts +9 -5
  35. package/dist/src/helpers/misc.d.ts.map +1 -1
  36. package/dist/src/helpers/misc.js +66 -9
  37. package/dist/src/helpers/misc.js.map +1 -1
  38. package/dist/src/helpers/package-manager.d.ts +18 -0
  39. package/dist/src/helpers/package-manager.d.ts.map +1 -0
  40. package/dist/src/helpers/package-manager.js +152 -0
  41. package/dist/src/helpers/package-manager.js.map +1 -0
  42. package/dist/src/helpers/packages.js +1 -1
  43. package/dist/src/helpers/packages.js.map +1 -1
  44. package/dist/src/helpers/publish/index.d.ts.map +1 -1
  45. package/dist/src/helpers/publish/index.js +2 -1
  46. package/dist/src/helpers/publish/index.js.map +1 -1
  47. package/dist/src/helpers/publish/utils.d.ts.map +1 -1
  48. package/dist/src/helpers/publish/utils.js +2 -1
  49. package/dist/src/helpers/publish/utils.js.map +1 -1
  50. package/dist/src/helpers/sync/utils.js +1 -1
  51. package/dist/src/helpers/sync/utils.js.map +1 -1
  52. package/dist/src/helpers/test-runner/index.d.ts.map +1 -1
  53. package/dist/src/helpers/test-runner/index.js +5 -1
  54. package/dist/src/helpers/test-runner/index.js.map +1 -1
  55. package/dist/src/helpers/test-runner/services.d.ts.map +1 -1
  56. package/dist/src/helpers/test-runner/services.js +11 -5
  57. package/dist/src/helpers/test-runner/services.js.map +1 -1
  58. package/dist/src/helpers/test-runner/utils.d.ts +1 -1
  59. package/dist/src/helpers/test-runner/utils.d.ts.map +1 -1
  60. package/dist/src/helpers/test-runner/utils.js +3 -2
  61. package/dist/src/helpers/test-runner/utils.js.map +1 -1
  62. package/dist/src/index.d.ts +7 -1
  63. package/dist/src/index.d.ts.map +1 -1
  64. package/dist/src/index.js +7 -1
  65. package/dist/src/index.js.map +1 -1
  66. package/package.json +1 -1
  67. package/dist/src/helpers/scripts.d.ts +0 -174
  68. package/dist/src/helpers/scripts.d.ts.map +0 -1
  69. package/dist/src/helpers/scripts.js +0 -1404
  70. package/dist/src/helpers/scripts.js.map +0 -1
@@ -0,0 +1,297 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { execaCommand } from 'execa';
5
+ import { load } from 'js-yaml';
6
+ import { parseDocument } from 'yaml';
7
+ import { debugLogger, isCI, TSError } from '@terascope/core-utils';
8
+ import { Service } from '@terascope/types';
9
+ import config from './config.js';
10
+ import signale from './signale.js';
11
+ import { getRootDir, getRootInfo } from './misc.js';
12
+ import { getVolumesFromDockerfile } from './kind.js';
13
+ import { readCertFromPath, getAdminDnFromCert } from './certs.js';
14
+ import { waitForKafkaRunning } from './kubernetes.js';
15
+ import { grabCurrentTSNodeVersion } from './docker.js';
16
+ const logger = debugLogger('ts-scripts:cmd');
17
+ export async function helmfileDestroy(selector) {
18
+ const helmfilePath = path.join(getRootDir(), 'packages/scripts/helm/helmfile.yaml.gotmpl');
19
+ try {
20
+ const subprocess = await execaCommand(`helmfile destroy -f ${helmfilePath} --selector app=${selector}`);
21
+ logger.debug(`helmfile destroy:\n${subprocess.stdout}`);
22
+ }
23
+ catch (err) {
24
+ logger.info(err);
25
+ }
26
+ }
27
+ export async function helmfileCommand(command, clusteringType, devMode = false, logs = false, e2e = true) {
28
+ const helmfilePath = path.join(getRootDir(), 'packages/scripts/helm/helmfile.yaml.gotmpl');
29
+ const { valuesPath, valuesDir } = generateHelmValuesFromServices(clusteringType, devMode, logs, e2e);
30
+ let subprocess;
31
+ try {
32
+ subprocess = await execaCommand(`helmfile --state-values-file ${valuesPath} ${command} -f ${helmfilePath}`);
33
+ }
34
+ catch (err) {
35
+ // TSError truncates to 3000 characters which is an issue here
36
+ throw new Error(`Helmfile ${command} command failed:\n${err}`);
37
+ }
38
+ finally {
39
+ fs.rmSync(valuesDir, { recursive: true, force: true });
40
+ }
41
+ logger.debug(`helmfile ${command}:\n${subprocess.stdout}`);
42
+ }
43
+ export async function launchTerasliceWithHelmfile(clusteringType, devMode = false, logs = false, debug = false, e2e = true) {
44
+ if (debug && !isCI) {
45
+ await helmfileCommand('diff', clusteringType, devMode, logs, e2e);
46
+ }
47
+ await helmfileCommand('sync', clusteringType, devMode, logs, e2e);
48
+ if (config.ENV_SERVICES.includes(Service.Kafka)) {
49
+ await waitForKafkaRunning('kafka');
50
+ }
51
+ }
52
+ export async function launchTerasliceWithCustomHelmfile(configFilePath, debug = false, selector) {
53
+ let diffProcess;
54
+ let syncProcess;
55
+ const diffSelector = selector && selector.diff ? `-l group!=skipDiff,${selector.diff}` : '-l group!=skipDiff';
56
+ const syncSelector = selector && selector.sync ? `-l ${selector.sync}` : '';
57
+ const helmfilePath = path.join(getRootDir(), 'packages/scripts/helm/helmfile.yaml.gotmpl');
58
+ try {
59
+ if (debug && !isCI) {
60
+ // We want to exclude certain charts from the diff command because
61
+ // they may require crds that aren't installed
62
+ diffProcess = await execaCommand(`helmfile ${diffSelector} --state-values-file ${configFilePath} diff -f ${helmfilePath}`);
63
+ logger.debug(`helmfile diff:\n${diffProcess.stdout}`);
64
+ }
65
+ syncProcess = await execaCommand(`helmfile ${syncSelector} --state-values-file ${configFilePath} sync -f ${helmfilePath}`);
66
+ logger.debug(`helmfile sync:\n${syncProcess.stdout}`);
67
+ }
68
+ catch (err) {
69
+ // TSError truncates to 3000 characters which is an issue here
70
+ throw new Error(`Helmfile command failed:\n${err}`);
71
+ }
72
+ }
73
+ /**
74
+ * Gets the current version of the Teraslice Helm chart from `Chart.yaml`.
75
+ *
76
+ * @throws {Error} If the `Chart.yaml` file cannot be read
77
+ * @returns {Promise<string>} Resolves with the Helm chart version as a string
78
+ */
79
+ export async function getCurrentHelmChartVersion() {
80
+ const chartYamlPath = path.join(getRootDir(), '/helm/teraslice/Chart.yaml');
81
+ const chartYAML = await load(fs.readFileSync(chartYamlPath, 'utf8'));
82
+ return chartYAML.version;
83
+ }
84
+ // Move to misc.ts if this is ever needed outside of helm.ts
85
+ function getTerasliceVersion() {
86
+ const rootPackageInfo = getRootInfo();
87
+ return rootPackageInfo.version;
88
+ }
89
+ /**
90
+ * Updates the Teraslice Helm chart YAML files (`Chart.yaml` and `values.yaml`)
91
+ * with the new chart version
92
+ *
93
+ * @param {string | null} newChartVersion - The new version to set in `Chart.yaml`.
94
+ * - If `null`, the function does not update the chart version.
95
+ * @throws {TSError} If the function fails to read or write YAML files.
96
+ * @returns {Promise<void>} Resolves when the Helm chart files have been successfully updated
97
+ */
98
+ export async function updateHelmChart(newChartVersion) {
99
+ const currentNodeVersion = await grabCurrentTSNodeVersion();
100
+ const rootDir = getRootDir();
101
+ const chartYamlPath = path.join(rootDir, 'helm/teraslice/Chart.yaml');
102
+ const valuesYamlPath = path.join(rootDir, 'helm/teraslice/values.yaml');
103
+ try {
104
+ // Read YAML files and parse them into objects
105
+ const chartFileContent = fs.readFileSync(chartYamlPath, 'utf8');
106
+ const valuesFileContent = fs.readFileSync(valuesYamlPath, 'utf8');
107
+ const chartDoc = parseDocument(chartFileContent);
108
+ const valuesDoc = parseDocument(valuesFileContent);
109
+ // Update specific values for the chart
110
+ if (newChartVersion) {
111
+ chartDoc.set('version', newChartVersion);
112
+ }
113
+ chartDoc.set('appVersion', `v${getTerasliceVersion()}`);
114
+ valuesDoc.setIn(['image', 'nodeVersion'], `v${currentNodeVersion}`);
115
+ // Write the updated YAML back to the files
116
+ fs.writeFileSync(chartYamlPath, chartDoc.toString(), 'utf8');
117
+ fs.writeFileSync(valuesYamlPath, valuesDoc.toString(), 'utf8');
118
+ }
119
+ catch (err) {
120
+ throw new TSError(`Unable to read or write Helm chart YAML files:\n${err}`);
121
+ }
122
+ }
123
+ /**
124
+ * Generates a temporary `values.yaml` file based on the ts-scripts command configuration.
125
+ * This file is used to configure Helmfile when launching the k8sEnv or test environment.
126
+ *
127
+ * The function:
128
+ * - Loads a base `values.yaml` template from `packages/scripts/helm/values.yaml`.
129
+ * - Enables services specified in `ENV_SERVICES`, setting their versions when needed
130
+ * - Configures OpenSearch to align with versioning conventions.
131
+ * - Handles OpenSearch, Minio and Kafka SSL settings if encryption is enabled.
132
+ * - Adds extraVolumes, extraVolumeMounts and env values if running in dev mode.
133
+ * - Generates a temporary directory to store the modified `values.yaml`.
134
+ *
135
+ * @param { 'kubernetesV2' } clusteringType - backend cluster manager type
136
+ * @param { boolean } devMode - Mount local teraslice to k8s resources for faster development.
137
+ * @param { boolean } logs - Copy teraslice and service logs from k8s pods to local filesystem.
138
+ * @param { boolean } e2e - Specify e2e tests or k8s env mode.
139
+ * @returns An object containing:
140
+ * - `valuesPath` - Path to the generated `values.yaml` file.
141
+ * - `valuesDir` - Path to the temporary directory containing the file.
142
+ */
143
+ function generateHelmValuesFromServices(clusteringType, devMode, logs, e2e) {
144
+ // Grab default values from the packages/scripts/helm/values.yaml
145
+ const helmfileValuesPath = path.join(getRootDir(), 'packages/scripts/helm/values.yaml');
146
+ const values = parseDocument(fs.readFileSync(helmfileValuesPath, 'utf8'));
147
+ // Map services to versions used for the image tag
148
+ const versionMap = {
149
+ [Service.Opensearch]: config.OPENSEARCH_VERSION,
150
+ [Service.Kafka]: config.KAFKA_VERSION,
151
+ [Service.Minio]: config.MINIO_VERSION,
152
+ [Service.RabbitMQ]: config.RABBITMQ_VERSION,
153
+ [Service.RestrainedOpensearch]: config.OPENSEARCH_VERSION,
154
+ [Service.Utility]: config.UTILITY_SVC_VERSION,
155
+ [Service.Valkey]: config.VALKEY_VERSION,
156
+ [Service.Teraslice]: config.TERASLICE_DOCKER_IMAGE,
157
+ };
158
+ let stateCluster;
159
+ let caCert;
160
+ // disable chart's OS2 default
161
+ values.setIn(['opensearch2', 'enabled'], false);
162
+ // Iterate over each service we want to start and enable them in the
163
+ // helmfile.
164
+ config.ENV_SERVICES.forEach((service) => {
165
+ // "serviceString" represents the literal service name string
166
+ // in the "values.yaml"
167
+ let serviceString = service;
168
+ const version = versionMap[service];
169
+ if (service === Service.Opensearch) {
170
+ const major = config.OPENSEARCH_VERSION.charAt(0);
171
+ serviceString += major;
172
+ // This assumes there is only one search service enabled. If both ES and OS services
173
+ // are present the state cluster will be set to elasticsearch below.
174
+ stateCluster = serviceString;
175
+ if (config.ENCRYPT_OPENSEARCH) {
176
+ if (major === '1') {
177
+ throw new TSError('Encrypted Opensearch version 1 is not enabled. Please use OS2 or OS3.');
178
+ }
179
+ if (!caCert) {
180
+ caCert = readCertFromPath(path.join(config.CERT_PATH, 'CAs/rootCA.pem')).replace(/\n/g, '\\n');
181
+ }
182
+ const admin_dn = getAdminDnFromCert();
183
+ values.setIn([serviceString, 'ssl', 'enabled'], true);
184
+ values.setIn([serviceString, 'ssl', 'caCert'], caCert);
185
+ values.setIn([serviceString, 'ssl', 'admin_dn'], admin_dn);
186
+ }
187
+ }
188
+ if (service === Service.Kafka) {
189
+ if (config.ENCRYPT_KAFKA) {
190
+ if (!caCert) {
191
+ caCert = readCertFromPath(path.join(config.CERT_PATH, 'CAs/rootCA.pem')).replace(/\n/g, '\\n');
192
+ }
193
+ values.setIn(['kafka', 'ssl', 'enabled'], true);
194
+ values.setIn(['kafka', 'ssl', 'caCert'], caCert);
195
+ }
196
+ // Listener settings go into configurationOverrides (dotted Kafka key format) so the
197
+ // chart's brokerConfigs helper merges them with internal defaults without creating
198
+ // duplicate env vars. Values come from config.ts which sets k8s-appropriate defaults
199
+ // based on TEST_PLATFORM and ENCRYPT_KAFKA. If you add new listener settings, add
200
+ // them to config.ts and include them in this object.
201
+ const kafkaK8sConfigOverrides = {
202
+ 'advertised.listeners': config.KAFKA_ADVERTISED_LISTENERS,
203
+ 'listener.security.protocol.map': config.KAFKA_LISTENER_SECURITY_PROTOCOL_MAP,
204
+ listeners: config.KAFKA_LISTENERS,
205
+ };
206
+ if (config.ENCRYPT_KAFKA) {
207
+ // PLAINTEXT is the inter-broker listener in the SSL setup: brokers talk to each
208
+ // other on the internal PLAINTEXT listener while clients connect via TLS.
209
+ kafkaK8sConfigOverrides['inter.broker.listener.name'] = 'PLAINTEXT';
210
+ kafkaK8sConfigOverrides['security.protocol'] = config.KAFKA_SECURITY_PROTOCOL.toLowerCase();
211
+ }
212
+ values.setIn(['kafka', 'configurationOverrides'], kafkaK8sConfigOverrides);
213
+ // Only behavioral vars belong in envOverrides — the chart does not generate these
214
+ // internally so there is no duplicate risk.
215
+ // If you add a new Kafka env var to config.ts and services.ts, add it here too.
216
+ values.setIn(['kafka', 'envOverrides', 'KAFKA_AUTO_CREATE_TOPICS_ENABLE'], config.KAFKA_AUTO_CREATE_TOPICS_ENABLE);
217
+ values.setIn(['kafka', 'envOverrides', 'KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR'], config.KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR);
218
+ values.setIn(['kafka', 'envOverrides', 'KAFKA_TRANSACTION_STATE_LOG_MIN_ISR'], config.KAFKA_TRANSACTION_STATE_LOG_MIN_ISR);
219
+ values.setIn(['kafka', 'envOverrides', 'KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS'], config.KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS);
220
+ }
221
+ if (service === Service.Minio) {
222
+ if (config.ENCRYPT_MINIO) {
223
+ if (!caCert) {
224
+ caCert = readCertFromPath(path.join(config.CERT_PATH, 'CAs/rootCA.pem')).replace(/\n/g, '\\n');
225
+ }
226
+ const publicCert = readCertFromPath(path.join(config.CERT_PATH, 'public.crt')).replace(/\n/g, '\\n');
227
+ const privateKey = readCertFromPath(path.join(config.CERT_PATH, 'private.key')).replace(/\n/g, '\\n');
228
+ values.setIn(['minio', 'tls', 'enabled'], true);
229
+ values.setIn(['minio', 'tls', 'caCert'], caCert);
230
+ values.setIn(['minio', 'tls', 'publicCert'], publicCert);
231
+ values.setIn(['minio', 'tls', 'privateKey'], privateKey);
232
+ values.setIn(['minio', 'tls', 'certSecret'], 'tls-ssl-minio');
233
+ }
234
+ }
235
+ if (service === Service.Valkey) {
236
+ if (config.ENCRYPT_VALKEY) {
237
+ throw new Error('Valkey encryption not supported');
238
+ }
239
+ }
240
+ values.setIn([serviceString, 'enabled'], true);
241
+ values.setIn([serviceString, 'version'], version);
242
+ });
243
+ // If no search service specified then default to OS2
244
+ if (!stateCluster) {
245
+ stateCluster = 'opensearch2';
246
+ values.setIn(['opensearch2', 'enabled'], true);
247
+ }
248
+ values.setIn(['teraslice', 'stateCluster'], stateCluster);
249
+ values.setIn(['teraslice', 'image', 'tag'], `e2e-nodev${config.NODE_VERSION}`);
250
+ values.setIn(['teraslice', 'asset_storage_connection_type'], config.ASSET_STORAGE_CONNECTION_TYPE);
251
+ values.setIn(['teraslice', 'asset_storage_connection'], config.ASSET_STORAGE_CONNECTION);
252
+ values.setIn(['teraslice', 'cluster_manager_type'], clusteringType);
253
+ values.setIn(['teraslice', 'name'], config.CLUSTER_NAME);
254
+ values.setIn(['teraslice', 'assets_directory'], e2e ? '/app/e2e-assets' : '/app/assets');
255
+ values.setIn(['teraslice', 'e2e'], e2e);
256
+ if (devMode) {
257
+ // Dev image runs as root and writes/compiles into the bind-mounted source at
258
+ // runtime, so the chart's hardened securityContext won't work. Override the
259
+ // blocking fields back to permissive (explicit values, since Helm deep-merges
260
+ // and an empty {} would leave the hardened defaults in place).
261
+ values.setIn(['teraslice', 'securityContext'], {
262
+ runAsUser: 0,
263
+ runAsNonRoot: false,
264
+ readOnlyRootFilesystem: false
265
+ });
266
+ const dockerfileMounts = getVolumesFromDockerfile(false, logger);
267
+ // Shared node_modules volume: lives on the Kind node
268
+ // mounted into all pods so only the master runs pnpm install once.
269
+ dockerfileMounts.volumes.push({
270
+ name: 'dev-node-modules',
271
+ hostPath: { path: '/dev-node-modules', type: 'DirectoryOrCreate' }
272
+ });
273
+ dockerfileMounts.volumeMounts.push({
274
+ name: 'dev-node-modules',
275
+ mountPath: '/app/source/node_modules'
276
+ });
277
+ values.setIn(['teraslice', 'extraVolumeMounts'], dockerfileMounts.volumeMounts);
278
+ values.setIn(['teraslice', 'extraVolumes'], dockerfileMounts.volumes);
279
+ /// Pass in env so master passes volumes to ex's and workers
280
+ values.setIn(['teraslice', 'env'], {
281
+ MOUNT_LOCAL_TERASLICE: Buffer.from(JSON.stringify(dockerfileMounts)).toString('base64')
282
+ });
283
+ }
284
+ if (logs) {
285
+ values.setIn(['stern', 'enabled'], true);
286
+ const arch = os.arch() === 'x64' ? 'amd64' : 'arm64';
287
+ const sternVersion = '1.30.0';
288
+ values.setIn(['stern', 'downloadUrl'], `https://github.com/stern/stern/releases/download/v${sternVersion}/stern_${sternVersion}_linux_${arch}.tar.gz`);
289
+ }
290
+ signale.debug('helmfile command values: ', JSON.stringify(values));
291
+ // Write the values to a temporary file
292
+ const valuesDir = fs.mkdtempSync(path.join(os.tmpdir(), 'generated-yaml'));
293
+ const valuesPath = path.join(valuesDir, 'values.yaml');
294
+ fs.writeFileSync(valuesPath, values.toString(), 'utf8');
295
+ return { valuesPath, valuesDir };
296
+ }
297
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../src/helpers/helm.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import fse from 'fs-extra';
2
2
  import config from '../config.js';
3
3
  import { ImagesAction } from './interfaces.js';
4
4
  import signale from '../signale.js';
5
- import { dockerPull, saveAndZip } from '../scripts.js';
5
+ import { dockerPull, saveAndZip } from '../docker.js';
6
6
  import { getRootInfo } from '../misc.js';
7
7
  import { getKindDockerImage } from '../github.js';
8
8
  export async function images(action, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/images/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAoB,EAAE,OAAsB;IACrE,IAAI,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,UAAU,EAAE,CAAC;IACxB,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAsB;IACxD,OAAO,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;IAChC,IAAI,IAAI,CAAC;IACT,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QACxC,IAAI,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC5E,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC3E,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,EAAE,CAAC;IACpF,CAAC;SAAM,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,IAAI;cACzD,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI,CAAC;IACtF,CAAC;SAAM,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,IAAI;cACzD,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI,CAAC;IACtF,CAAC;SAAM,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC3C,IAAI,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC5E,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC;SAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACxC,IAAI,GAAG,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IAClE,CAAC;SAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACxC,IAAI,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC5E,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC3E,GAAG,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,2BAA2B,IAAI;cAC3E,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,IAAI;cACxD,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,IAAI;cACxD,MAAM,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC5B,IAAI,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACrD,OAAO,CAAC,IAAI,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;YACnD,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,OAAO,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,OAAO,CAAC,GAAG,CAAC;oBACd,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;oBACpD,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;iBAC3D,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/images/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/k8s-env/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWhD,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,iBAkJxD;AAwED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,iBAqE5D;AAwCD,wBAAgB,sBAAsB,SAWrC;AAED,wBAAgB,YAAY,SAE3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/k8s-env/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,iBAkJxD;AAwED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,iBAqE5D;AAwCD,wBAAgB,sBAAsB,SAWrC;AAED,wBAAgB,YAAY,SAE3B"}
@@ -1,10 +1,13 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs';
3
3
  import { isCI, pRetry } from '@terascope/core-utils';
4
- import { dockerTag, isHelmInstalled, isHelmfileInstalled, isKindInstalled, isKubectlInstalled, launchTerasliceWithHelmfile, helmfileDestroy, determineSearchHost, deletePersistentVolumeClaim, generateTestCaCerts, dockerBuild, getConfigValueFromCustomYaml, launchTerasliceWithCustomHelmfile, setConfigValuesForCustomYaml } from '../scripts.js';
4
+ import { dockerTag, dockerBuild } from '../docker.js';
5
+ import { isHelmInstalled, isHelmfileInstalled, isKindInstalled, isKubectlInstalled, determineSearchHost, deletePersistentVolumeClaim } from '../kubernetes.js';
6
+ import { launchTerasliceWithHelmfile, helmfileDestroy, launchTerasliceWithCustomHelmfile } from '../helm.js';
7
+ import { generateTestCaCerts } from '../certs.js';
5
8
  import { Kind } from '../kind.js';
6
9
  import signale from '../signale.js';
7
- import { getDevDockerImage, getRootDir, getRootInfo } from '../misc.js';
10
+ import { getDevDockerImage, getRootDir, getRootInfo, getConfigValueFromCustomYaml, setConfigValuesForCustomYaml } from '../misc.js';
8
11
  import { buildDevDockerImage } from '../publish/utils.js';
9
12
  import { PublishType } from '../publish/interfaces.js';
10
13
  import config from '../config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/k8s-env/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/k8s-env/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function isKindInstalled(): Promise<boolean>;
2
+ export declare function isKubectlInstalled(): Promise<boolean>;
3
+ export declare function isHelmInstalled(): Promise<boolean>;
4
+ export declare function isHelmfileInstalled(): Promise<boolean>;
5
+ export declare function waitForKafkaRunning(name: string, timeoutMs?: number): Promise<void>;
6
+ export declare function setAlias(tsPort: number): Promise<void>;
7
+ export declare function showState(tsPort: number, isTeardown?: boolean): Promise<void>;
8
+ export declare function deletePersistentVolumeClaim(searchHost: string): Promise<void>;
9
+ export declare function determineSearchHost(): Promise<string>;
10
+ //# sourceMappingURL=kubernetes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubernetes.d.ts","sourceRoot":"","sources":["../../../src/helpers/kubernetes.ts"],"names":[],"mappings":"AAQA,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO5D;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCxF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,iBAgB5C;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,iBA0B1E;AAgBD,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,iBASnE;AAED,wBAAsB,mBAAmB,oBAiBxC"}
@@ -0,0 +1,160 @@
1
+ import { execaCommand } from 'execa';
2
+ import { debugLogger, TSError, pDelay } from '@terascope/core-utils';
3
+ import config from './config.js';
4
+ import signale from './signale.js';
5
+ const logger = debugLogger('ts-scripts:cmd');
6
+ export async function isKindInstalled() {
7
+ try {
8
+ const subprocess = await execaCommand('command -v kind');
9
+ return !!subprocess.stdout;
10
+ }
11
+ catch (err) {
12
+ return false;
13
+ }
14
+ }
15
+ export async function isKubectlInstalled() {
16
+ try {
17
+ const subprocess = await execaCommand('command -v kubectl');
18
+ return !!subprocess.stdout;
19
+ }
20
+ catch (err) {
21
+ return false;
22
+ }
23
+ }
24
+ export async function isHelmInstalled() {
25
+ try {
26
+ const subprocess = await execaCommand('command -v helm');
27
+ return !!subprocess.stdout;
28
+ }
29
+ catch (err) {
30
+ return false;
31
+ }
32
+ }
33
+ export async function isHelmfileInstalled() {
34
+ try {
35
+ const subprocess = await execaCommand('command -v helmfile');
36
+ return !!subprocess.stdout;
37
+ }
38
+ catch (err) {
39
+ return false;
40
+ }
41
+ }
42
+ export async function waitForKafkaRunning(name, timeoutMs = 12000) {
43
+ const endAt = Date.now() + timeoutMs;
44
+ const _waitForKafkaRunning = async () => {
45
+ if (Date.now() > endAt) {
46
+ if (logger.level() <= 20) {
47
+ try {
48
+ const errorSearchCommand = await execaCommand(`kubectl -n services-dev1 logs -l app.kubernetes.io/name=${name}`);
49
+ logger.debug('Kafka pod logs:');
50
+ logger.debug(errorSearchCommand.stdout);
51
+ }
52
+ catch (err) {
53
+ logger.error(err, 'Failure to retrieve kafka pod logs');
54
+ const describePodCommand = await execaCommand(`kubectl -n services-dev1 describe pods -l app.kubernetes.io/name=${name}`);
55
+ logger.debug('Describe kafka pod:');
56
+ logger.debug(describePodCommand.stdout);
57
+ }
58
+ }
59
+ throw new Error(`Failure to communicate with kafka after ${timeoutMs}ms`);
60
+ }
61
+ let kafkaRunning = false;
62
+ try {
63
+ const kubectlResponse = await execaCommand(`kubectl -n services-dev1 get pods -l app.kubernetes.io/name=${name} -o=jsonpath="{.items[?(@.status.containerStatuses)].status.containerStatuses[0].ready}"`);
64
+ const kafkaReady = kubectlResponse.stdout;
65
+ logger.debug('Kafka ready: ', kafkaReady);
66
+ if (kafkaReady === '"true"') {
67
+ kafkaRunning = true;
68
+ }
69
+ }
70
+ catch (err) {
71
+ await pDelay(3000);
72
+ return _waitForKafkaRunning();
73
+ }
74
+ if (kafkaRunning) {
75
+ return;
76
+ }
77
+ await pDelay(3000);
78
+ return _waitForKafkaRunning();
79
+ };
80
+ return _waitForKafkaRunning();
81
+ }
82
+ export async function setAlias(tsPort) {
83
+ try {
84
+ const subprocess1 = await execaCommand('earl aliases remove k8s-e2e 2> /dev/null || true', { shell: true });
85
+ logger.debug(subprocess1.stdout);
86
+ if (subprocess1.stderr) {
87
+ throw new Error(subprocess1.stderr);
88
+ }
89
+ const subprocess2 = await execaCommand(`earl aliases add k8s-e2e http://${config.HOST_IP}:${tsPort}`);
90
+ logger.debug(subprocess2.stdout);
91
+ if (subprocess2.stderr) {
92
+ throw new Error(subprocess2.stderr);
93
+ }
94
+ }
95
+ catch (err) {
96
+ throw new Error(`Failed to set alias: ${err}`);
97
+ }
98
+ }
99
+ export async function showState(tsPort, isTeardown = false) {
100
+ try {
101
+ if (isTeardown) {
102
+ logger.debug('=== k8s cluster state ===');
103
+ const clusterState = await execaCommand('kubectl get deployments,po,svc --all-namespaces --show-labels -o wide');
104
+ logger.debug(clusterState.stdout);
105
+ logger.debug('=== docker stats ===');
106
+ const dockerStats = await execaCommand('docker stats --no-stream');
107
+ logger.debug(dockerStats.stdout);
108
+ logger.debug('=== opensearch2 pod description ===');
109
+ const searchHost = await determineSearchHost();
110
+ const os2Desc = await execaCommand(`kubectl -n services-dev1 describe pod ${searchHost}-cluster-master-0`);
111
+ logger.debug(os2Desc.stdout);
112
+ // TODO: consider adding describe for kafka and minio pods
113
+ }
114
+ const subprocess = await execaCommand('kubectl get deployments,po,svc --all-namespaces --show-labels -o wide');
115
+ logger.debug(subprocess.stdout);
116
+ logger.debug(await showESIndices());
117
+ logger.debug(await showAssets(tsPort));
118
+ }
119
+ catch (err) {
120
+ signale.error(`Failed to get k8s resources: ${err}`);
121
+ }
122
+ }
123
+ async function showESIndices() {
124
+ const subprocess = await execaCommand(`curl -k ${config.SEARCH_TEST_HOST}/_cat/indices?v`);
125
+ return subprocess.stdout;
126
+ }
127
+ async function showAssets(tsPort) {
128
+ try {
129
+ const subprocess = await execaCommand(`curl ${config.HOST_IP}:${tsPort}/v1/assets`);
130
+ return subprocess.stdout;
131
+ }
132
+ catch (err) {
133
+ return err;
134
+ }
135
+ }
136
+ export async function deletePersistentVolumeClaim(searchHost) {
137
+ try {
138
+ const label = searchHost.includes('opensearch') ? `app.kubernetes.io/instance=${searchHost}` : `app=${searchHost}-master`;
139
+ const subprocess = await execaCommand(`kubectl delete -n services-dev1 pvc -l ${label}`);
140
+ logger.debug(`kubectl delete pvc: ${subprocess.stdout}`);
141
+ }
142
+ catch (err) {
143
+ throw new TSError(`Failed to delete persistent volume claim:\n${err}`);
144
+ }
145
+ }
146
+ export async function determineSearchHost() {
147
+ const possible = ['opensearch1', 'opensearch2', 'opensearch3'];
148
+ const subprocess = await execaCommand('helm list -n services-dev1 -o json');
149
+ logger.debug(`helmfile list:\n${subprocess.stdout}`);
150
+ const serviceList = JSON.parse(subprocess.stdout);
151
+ const filtered = serviceList.filter((svc) => possible.includes(svc.name));
152
+ if (filtered.length > 1) {
153
+ throw new TSError('Multiple Possible Search Hosts Detected. Cannot reset store.');
154
+ }
155
+ if (filtered.length === 0) {
156
+ throw new TSError('No Search Host Detected. Cannot reset store.');
157
+ }
158
+ return filtered[0].name;
159
+ }
160
+ //# sourceMappingURL=kubernetes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubernetes.js","sourceRoot":"","sources":["../../../src/helpers/kubernetes.ts"],"names":[],"mappings":"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"}