@terascope/scripts 2.20.0 → 2.21.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.
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 +68 -13
  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 +3 -3
  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
@@ -4,7 +4,7 @@ import { listPackages, isMainPackage, updatePkgJSON, bumpHelmChart } from '../pa
4
4
  import { getRootInfo, writeIfChanged } from '../misc.js';
5
5
  import { bumpPackagesList, getPackagesToBump, getBumpCommitMessages, bumpVersion } from './utils.js';
6
6
  import signale from '../signale.js';
7
- import { setup } from '../scripts.js';
7
+ import { setup } from '../package-manager.js';
8
8
  export async function bumpPackages(options, isAsset) {
9
9
  const rootInfo = getRootInfo();
10
10
  const _packages = listPackages();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/bump/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/bump/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACH,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAC1D,WAAW,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA2B,EAAE,OAAgB;IAC5E,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,8FAA8F;IAC9F,MAAM,QAAQ,GAAkB,CAAC,GAAG,SAAS,EAAE,QAAe,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpE,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0EAA0E,QAAS,CAAC,OAAO,gBAAgB,CAAC,CAAC;QAC1H,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAS,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,wCAAwC,QAAQ,CAAC,OAAO,OAAO,QAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,QAAQ,CAAC,OAAO,GAAG,QAAS,CAAC,OAAO,CAAC;QACzC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,KAAK,EAAE,CAAC;IAEd,IAAI,UAAU,EAAE,CAAC;QACb,sDAAsD;QACtD,2DAA2D;QAC3D,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,OAAO,CAAC;;;;wBAII,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;CAChD,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,OAA6B,EAC7B,OAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,8FAA8F;IAC9F,MAAM,QAAQ,GAAkB,CAAC,GAAG,SAAS,EAAE,QAAe,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,OAAO,CAAC;;;;wBAII,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;CAChD,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,QAAuB,EACvB,OAAkD,EAClD,OAAgB;IAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAgC,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC;IACvC,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE7E,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5F,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC;QACzB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YACtB,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;SACX,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,WAAW,iBAAiB,UAAU,OAAO,UAAU,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACxE,MAAM,sBAAsB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAE1D,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,eAAuB,EACvB,UAAkB;IAElB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAkB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,aAAa,EAAE;QACtE,GAAG,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,IAAI,YAAY;QAAE,OAAO,CAAC,IAAI,CAAC,sCAAsC,UAAU,OAAO,UAAU,EAAE,CAAC,CAAC;AACxG,CAAC"}
@@ -0,0 +1,28 @@
1
+ export declare function readCertFromPath(certPath: string): string;
2
+ /**
3
+ * Extracts the admin distinguished name (DN) from a certificate.
4
+ *
5
+ * This function is designed specifically for mkcert generated certificates.
6
+ * It reads the certificate file (`opensearch-cert.pem`), extracts the `O`
7
+ * and `OU` fields from the subject, and formats them
8
+ * in the required order (`OU` first, `O` second) for OpenSearch authentication.
9
+ *
10
+ * @returns {string} The formatted (DN) string in the format:
11
+ * `"OU=example, O=example"`
12
+ * @throws {Error} If the certificate file is missing or invalid.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const adminDn = getAdminDnFromCert();
17
+ * console.log(adminDn);
18
+ * // Output: "OU=anon@anon-MBP (Anon User),O=mkcert development certificate"
19
+ * ```
20
+ */
21
+ export declare function getAdminDnFromCert(): string;
22
+ /**
23
+ * Generates CA certificates for encrypted services in the test environment if needed
24
+ *
25
+ * @throws {Error} If certificate generation fails.
26
+ */
27
+ export declare function generateTestCaCerts(): Promise<void>;
28
+ //# sourceMappingURL=certs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../../../src/helpers/certs.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAiC3C;AAsLD;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDzD"}
@@ -0,0 +1,267 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { X509Certificate } from 'node:crypto';
4
+ import { execa } from 'execa';
5
+ import fse from 'fs-extra';
6
+ import { TSError } from '@terascope/core-utils';
7
+ import config from './config.js';
8
+ import signale from './signale.js';
9
+ // Helper function for reading the contents of a certificate by providing its path
10
+ export function readCertFromPath(certPath) {
11
+ if (!fs.existsSync(certPath)) {
12
+ throw new TSError(`Unable to find cert at: ${certPath}`);
13
+ }
14
+ return fs.readFileSync(certPath, 'utf8');
15
+ }
16
+ /**
17
+ * Extracts the admin distinguished name (DN) from a certificate.
18
+ *
19
+ * This function is designed specifically for mkcert generated certificates.
20
+ * It reads the certificate file (`opensearch-cert.pem`), extracts the `O`
21
+ * and `OU` fields from the subject, and formats them
22
+ * in the required order (`OU` first, `O` second) for OpenSearch authentication.
23
+ *
24
+ * @returns {string} The formatted (DN) string in the format:
25
+ * `"OU=example, O=example"`
26
+ * @throws {Error} If the certificate file is missing or invalid.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const adminDn = getAdminDnFromCert();
31
+ * console.log(adminDn);
32
+ * // Output: "OU=anon@anon-MBP (Anon User),O=mkcert development certificate"
33
+ * ```
34
+ */
35
+ export function getAdminDnFromCert() {
36
+ let ca;
37
+ let organization;
38
+ let organizationalUnit;
39
+ try {
40
+ ca = readCertFromPath(path.join(config.CERT_PATH, 'opensearch-cert.pem'));
41
+ }
42
+ catch (err) {
43
+ throw new TSError(`Failed to read certificate file (opensearch-cert.pem).\n${err}`);
44
+ }
45
+ try {
46
+ const rootCA = new X509Certificate(ca);
47
+ // This splits the OU and O in two separate parts
48
+ const subjectParts = rootCA.subject.split('\n');
49
+ // Loop through the parts and assign based on prefix
50
+ // We don't want to assume the order that these are returned
51
+ for (const part of subjectParts) {
52
+ if (part.startsWith('OU=')) {
53
+ organizationalUnit = part;
54
+ }
55
+ else if (part.startsWith('O=')) {
56
+ organization = part;
57
+ }
58
+ }
59
+ }
60
+ catch (err) {
61
+ throw new TSError(`Failed to parse openSearch certificate. Make sure it's a valid X.509 certificate.\n${err}`);
62
+ }
63
+ if (!organizationalUnit || !organization) {
64
+ throw new TSError(`Certificate is missing required fields. Expected both 'OU' and 'O' fields.`);
65
+ }
66
+ // Return with specific format that opensearch expects
67
+ return `${organizationalUnit},${organization}`;
68
+ }
69
+ /**
70
+ * Writes the Opensearch internal_users.yml file with demo user credentials
71
+ * to the specified certificate directory. This file is required by Opensearch
72
+ * security configuration to define local user accounts.
73
+ *
74
+ * @param certDir - Absolute path to the directory where the file will be written
75
+ */
76
+ function createInternalUsersFile(certDir) {
77
+ const content = `# This is the internal user database
78
+ # The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
79
+
80
+ _meta:
81
+ type: "internalusers"
82
+ config_version: 2
83
+
84
+ # Define your internal users here
85
+
86
+ ## Demo users
87
+ # This hash password is passwordsufhbivbU123%$
88
+ admin:
89
+ hash: "$2y$12$Z234bambHnVJMAXiccuMluNgGhNNdOFIY6pFT2/lk3ZC.RDoDIFme"
90
+ reserved: true
91
+ backend_roles:
92
+ - "admin"
93
+ description: "Demo admin user"
94
+ anomalyadmin:
95
+ hash: "$2y$12$TRwAAJgnNo67w3rVUz4FIeLx9Dy/llB79zf9I15CKJ9vkM4ZzAd3."
96
+ reserved: false
97
+ opendistro_security_roles:
98
+ - "anomaly_full_access"
99
+ description: "Demo anomaly admin user, using internal role"
100
+ kibanaserver:
101
+ hash: "$2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H."
102
+ reserved: true
103
+ description: "Demo OpenSearch Dashboards user"
104
+ kibanaro:
105
+ hash: "$2a$12$JJSXNfTowz7Uu5ttXfeYpeYE0arACvcwlPBStB1F.MI7f0U9Z4DGC"
106
+ reserved: false
107
+ backend_roles:
108
+ - "kibanauser"
109
+ - "readall"
110
+ attributes:
111
+ attribute1: "value1"
112
+ attribute2: "value2"
113
+ attribute3: "value3"
114
+ description: "Demo OpenSearch Dashboards read only user, using external role mapping"
115
+ logstash:
116
+ hash: "$2a$12$u1ShR4l4uBS3Uv59Pa2y5.1uQuZBrZtmNfqB3iM/.jL0XoV9sghS2"
117
+ reserved: false
118
+ backend_roles:
119
+ - "logstash"
120
+ description: "Demo logstash user, using external role mapping"
121
+ readall:
122
+ hash: "$2a$12$ae4ycwzwvLtZxwZ82RmiEunBbIPiAmGZduBAjKN0TXdwQFtCwARz2"
123
+ reserved: false
124
+ backend_roles:
125
+ - "readall"
126
+ description: "Demo readall user, using external role mapping"
127
+ snapshotrestore:
128
+ hash: "$2y$12$DpwmetHKwgYnorbgdvORCenv4NAK8cPUg8AI6pxLCuWf/ALc0.v7W"
129
+ reserved: false
130
+ backend_roles:
131
+ - "snapshotrestore"
132
+ description: "Demo snapshotrestore user, using external role mapping"
133
+ `;
134
+ fs.writeFileSync(path.join(certDir, 'internal_users.yml'), content, 'utf8');
135
+ }
136
+ /**
137
+ * Generates TLS certs using mkcert and organizes the output files
138
+ * into the layout expected by each service format.
139
+ *
140
+ * mkcert creates a locally-trusted CA and issues certificates signed by it.
141
+ * This function handles the full lifecycle:
142
+ * 1. Runs mkcert to produce a key + certificate for the given DNS names
143
+ * 2. Copies the root CA certificate into a CAs/ subdirectory
144
+ * 3. Renames/copies files into the structure each service expects
145
+ * 4. Cleans up the raw mkcert output files
146
+ *
147
+ * Supported formats:
148
+ * - `minio` → private.key, public.crt
149
+ * - `opensearch` → opensearch-key.pem, opensearch-cert.pem, internal_users.yml
150
+ * - `kafka` → kafka-keypair.pem (key + cert concatenated)
151
+ *
152
+ * @param formats - List of service formats to produce (e.g. ['minio', 'opensearch'])
153
+ * @param dirPath - Absolute path to the output directory (recreated if it already exists)
154
+ * @param dnsNames - DNS names / IPs the certificate should be valid for
155
+ * @throws {Error} If mkcert is not installed, dirPath is relative, or cert files cannot be found
156
+ */
157
+ async function generateCerts(formats, dirPath, dnsNames) {
158
+ // mkcert must be installed
159
+ try {
160
+ await execa('mkcert', ['--version']);
161
+ }
162
+ catch {
163
+ throw new Error('mkcert is not installed. Please install mkcert and try again.');
164
+ }
165
+ if (!path.isAbsolute(dirPath)) {
166
+ throw new Error('dirPath must be an absolute path');
167
+ }
168
+ if (dnsNames.length === 0) {
169
+ throw new Error('At least one DNS name is required');
170
+ }
171
+ // Always start with a clean dir in the case there is stuff here
172
+ if (fse.existsSync(dirPath)) {
173
+ await fse.remove(dirPath);
174
+ }
175
+ await fse.mkdirp(dirPath);
176
+ // Run mkcert in the output directory — it writes the key and cert files there
177
+ await execa('mkcert', ['--client', ...dnsNames], { cwd: dirPath });
178
+ // mkcert stores its root CA in a system dir. copy it into our cert dir
179
+ const { stdout: caRoot } = await execa('mkcert', ['-CAROOT']);
180
+ fse.copySync(path.join(caRoot.trim(), 'rootCA.pem'), path.join(dirPath, 'rootCA.pem'));
181
+ // Move the root CA into a CAs/ subdirectory. Keeps it organized
182
+ await fse.mkdirp(path.join(dirPath, 'CAs'));
183
+ fse.moveSync(path.join(dirPath, 'rootCA.pem'), path.join(dirPath, 'CAs', 'rootCA.pem'));
184
+ // mkcert names its output files based on the DNS names, so we locate them by pattern
185
+ const files = fs.readdirSync(dirPath);
186
+ const privateKeyName = files.find((f) => f.toLowerCase().includes('key.pem'));
187
+ const publicCertName = files.find((f) => f.toLowerCase().endsWith('.pem') && !f.toLowerCase().includes('key.pem'));
188
+ if (!privateKeyName || !publicCertName) {
189
+ throw new Error(`Could not locate key.pem or public cert in ${dirPath}`);
190
+ }
191
+ const privateKeyPath = path.join(dirPath, privateKeyName);
192
+ const publicCertPath = path.join(dirPath, publicCertName);
193
+ // Copy/rename files into the layout each service expects. Each service like it in
194
+ // a specific format.
195
+ for (const format of formats) {
196
+ switch (format) {
197
+ case 'minio':
198
+ // https://min.io/docs/minio/linux/operations/network-encryption.html
199
+ fse.copySync(privateKeyPath, path.join(dirPath, 'private.key'));
200
+ fse.copySync(publicCertPath, path.join(dirPath, 'public.crt'));
201
+ break;
202
+ case 'opensearch':
203
+ // https://opensearch.org/docs/latest/security/configuration/tls/#x509-pem-certificates-and-pkcs-8-keys
204
+ fse.copySync(privateKeyPath, path.join(dirPath, 'opensearch-key.pem'));
205
+ fse.copySync(publicCertPath, path.join(dirPath, 'opensearch-cert.pem'));
206
+ // Opensearch also needs a user database file alongside the certs
207
+ createInternalUsersFile(dirPath);
208
+ break;
209
+ case 'kafka': {
210
+ // https://kafka.apache.org/42/security/encryption-and-authentication-using-ssl/
211
+ // Kafka expects key and cert in a single PEM file
212
+ const keyContent = fs.readFileSync(privateKeyPath, 'utf8');
213
+ const certContent = fs.readFileSync(publicCertPath, 'utf8');
214
+ fs.writeFileSync(path.join(dirPath, 'kafka-keypair.pem'), keyContent + certContent, 'utf8');
215
+ break;
216
+ }
217
+ default:
218
+ signale.warn(`Unknown format '${format}' ignored.`);
219
+ }
220
+ }
221
+ // Remove the original mkcert files now that we've copied and renamed them
222
+ if (formats.length > 0) {
223
+ fs.unlinkSync(privateKeyPath);
224
+ fs.unlinkSync(publicCertPath);
225
+ }
226
+ // Make sure all cert files are readable
227
+ await execa('chmod', ['-R', 'a+rX', dirPath]);
228
+ }
229
+ /**
230
+ * Generates CA certificates for encrypted services in the test environment if needed
231
+ *
232
+ * @throws {Error} If certificate generation fails.
233
+ */
234
+ export async function generateTestCaCerts() {
235
+ const encryptedServices = [];
236
+ const hostNames = ['localhost'];
237
+ if (config.ENCRYPT_OPENSEARCH) {
238
+ encryptedServices.push('opensearch');
239
+ hostNames.push('opensearch2.services-dev1', 'opensearch3.services-dev1', 'opensearch', config.OPENSEARCH_HOSTNAME);
240
+ }
241
+ if (config.ENCRYPT_MINIO) {
242
+ encryptedServices.push('minio');
243
+ hostNames.push('minio.services-dev1', 'minio', config.MINIO_HOSTNAME);
244
+ }
245
+ if (config.ENCRYPT_KAFKA) {
246
+ encryptedServices.push('kafka');
247
+ hostNames.push('kafka-headless.services-dev1.svc.cluster.local', 'kafka-headless.services-dev1', 'kafka-headless', 'kafka', config.KAFKA_HOSTNAME);
248
+ }
249
+ if (encryptedServices.length > 0) {
250
+ // Formats the encrypted service list to print with the user feedback
251
+ const serviceList = encryptedServices.length === 1
252
+ ? encryptedServices[0]
253
+ : encryptedServices.length === 2
254
+ ? encryptedServices.join(' and ')
255
+ : `${encryptedServices.slice(0, -1).join(', ')} and ${encryptedServices[encryptedServices.length - 1]}`;
256
+ try {
257
+ signale.pending(`Generating new ca-certificates for ${serviceList}...`);
258
+ signale.debug('Generating certs: ', { formats: encryptedServices, dirPath: config.CERT_PATH, dnsNames: hostNames });
259
+ await generateCerts(encryptedServices, config.CERT_PATH, hostNames);
260
+ signale.success(`Created certs in ${config.CERT_PATH}`);
261
+ }
262
+ catch (err) {
263
+ throw new Error(`Error generating ca-certificates for ${serviceList}: ${err.message}`);
264
+ }
265
+ }
266
+ }
267
+ //# sourceMappingURL=certs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certs.js","sourceRoot":"","sources":["../../../src/helpers/certs.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { updateReadme, ensureOverview } from './overview.js';
3
- import { build } from '../scripts.js';
3
+ import { build } from '../package-manager.js';
4
4
  import { updateSidebarJSON } from './sidebar.js';
5
5
  import { generateTSDocs } from './typedoc.js';
6
6
  import { getRootDir, writePkgHeader } from '../misc.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/doc-builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAuB;IACvD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9E,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/doc-builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAuB;IACvD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9E,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { type ExecEnv } from './exec.js';
2
+ export declare function dockerPull(image: string, timeout?: number): Promise<void>;
3
+ export declare function dockerStop(name: string): Promise<void>;
4
+ export declare function dockerTag(from: string, to: string): Promise<void>;
5
+ export declare function getNodeVersionFromImage(image: string): Promise<string>;
6
+ export declare function getContainerInfo(name: string): Promise<any>;
7
+ export declare function dockerNetworkExists(name: string): Promise<boolean>;
8
+ export declare function remoteDockerImageExists(image: string): Promise<boolean>;
9
+ export type DockerRunOptions = {
10
+ name: string;
11
+ image: string;
12
+ ports?: (number | string)[];
13
+ tmpfs?: string[];
14
+ env?: ExecEnv;
15
+ network?: string;
16
+ args?: string[];
17
+ mount?: string[];
18
+ };
19
+ export declare function dockerRun(opt: DockerRunOptions, tag?: string, ignoreMount?: boolean, debug?: boolean): Promise<() => void>;
20
+ export declare function dockerContainerReady(name: string, upFor: number, error: any): Promise<boolean>;
21
+ export declare function dockerBuild(tag: string, cacheFrom?: string[], target?: string, buildArgs?: string[], dockerFileName?: string, dockerFilePath?: string): Promise<void>;
22
+ export declare function dockerPush(image: string): Promise<void>;
23
+ export declare function dockerExec(containerName: string, command: string[]): Promise<void>;
24
+ /**
25
+ * Unzips and loads a Docker image from a Docker cache
26
+ * If successful and skipDelete is false the image will be deleted from the cache
27
+ * @param {string} imageName Name of the image to load
28
+ * @param {boolean} skipDelete Skip removal of docker image from cache
29
+ * @returns {Promise<boolean>} Whether or not the image loaded successfully
30
+ */
31
+ export declare function loadThenDeleteImageFromCache(imageName: string, skipDelete?: boolean): Promise<boolean>;
32
+ export declare function deleteDockerImageCache(): Promise<void>;
33
+ /**
34
+ * Save a docker image as a tar.gz to a local directory.
35
+ * Then remove the image from docker
36
+ * @param {string} imageName Name of image to pull and save
37
+ * @param {string} imageSavePath Location where image will be saved and compressed.
38
+ * @returns void
39
+ */
40
+ export declare function saveAndZip(imageName: string, imageSavePath: string): Promise<void>;
41
+ /**
42
+ * Extracts the base Docker image information from the top-level Dockerfile
43
+ *
44
+ * This function parses the Dockerfile to determine the base image name,
45
+ * node version, registry, and repository.
46
+ *
47
+ * @throws {TSError} If the Dockerfile cannot be read or the base image format is unexpected.
48
+ * @returns {{
49
+ * name: string;
50
+ * tag: string;
51
+ * registry: string;
52
+ * repo: string;
53
+ * }} An object containing:
54
+ * - `name: Full base image name
55
+ * - `tag`: Node version used in the image
56
+ * - `registry`: Docker registry (defaults to `docker.io` if not specified)
57
+ * - `repo`: Repository name including organization
58
+ */
59
+ export declare function getDockerBaseImageInfo(): {
60
+ name: string;
61
+ tag: string;
62
+ registry: string;
63
+ repo: string;
64
+ };
65
+ /**
66
+ * Retrieves the Node.js version from the base Docker image specified in the Teraslice `Dockerfile`.
67
+ *
68
+ * This function:
69
+ * - Extracts the base image details from the `Dockerfile`
70
+ * - Authenticates with the container registry to retrieve a token
71
+ * - Fetches the image manifest and configuration
72
+ * - Extracts the `node_version` label from the image config
73
+ *
74
+ * @throws {TSError} If any request to the registry fails or expected data is missing.
75
+ * @returns {Promise<string>} Resolves with the Node.js version string.
76
+ */
77
+ export declare function grabCurrentTSNodeVersion(): Promise<string>;
78
+ //# sourceMappingURL=docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../src/helpers/docker.ts"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAKrD,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1E;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5E;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQjE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMxE;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAsB,SAAS,CAC3B,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAC5E,OAAO,CAAC,MAAM,IAAI,CAAC,CAmHrB;AAED,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,GACX,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED,wBAAsB,WAAW,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7D;AAED,wBAAsB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASxF;AAaD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,GACnB,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED,wBAAsB,sBAAsB,kBAG3C;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAOxE;AAED;;;;;;;;;;;;;;;;;EAiBE;AACF,wBAAgB,sBAAsB;;;;;EAoBrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAiFhE"}