timonel 2.8.0-beta.5 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -25
- package/README.md +12 -55
- package/dist/cli.d.ts.map +1 -0
- package/dist/{src/cli.js → cli.js} +4 -35
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/{src/lib → lib}/helm.d.ts +234 -4
- package/dist/lib/helm.d.ts.map +1 -0
- package/dist/{src/lib → lib}/helm.js +309 -20
- package/dist/lib/helm.js.map +1 -0
- package/dist/lib/helmChartWriter.d.ts.map +1 -0
- package/dist/{src/lib → lib}/helmChartWriter.js +5 -19
- package/dist/lib/helmChartWriter.js.map +1 -0
- package/dist/{src/lib → lib}/resources/baseResourceProvider.d.ts +1 -1
- package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -0
- package/dist/lib/resources/baseResourceProvider.js.map +1 -0
- package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.d.ts +5 -14
- package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -0
- package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.js +63 -78
- package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -0
- package/dist/lib/resources/cloud/aws/karpenterResources.d.ts.map +1 -0
- package/dist/lib/resources/cloud/aws/karpenterResources.js.map +1 -0
- package/dist/lib/rutter.d.ts +445 -0
- package/dist/lib/rutter.d.ts.map +1 -0
- package/dist/lib/rutter.js +585 -0
- package/dist/lib/rutter.js.map +1 -0
- package/dist/{src/lib → lib}/security.d.ts +2 -72
- package/dist/lib/security.d.ts.map +1 -0
- package/dist/lib/security.js +390 -0
- package/dist/lib/security.js.map +1 -0
- package/dist/lib/umbrella.d.ts.map +1 -0
- package/dist/lib/umbrella.js.map +1 -0
- package/dist/{src/lib → lib}/umbrellaRutter.d.ts +1 -1
- package/dist/lib/umbrellaRutter.d.ts.map +1 -0
- package/dist/lib/umbrellaRutter.js.map +1 -0
- package/dist/{src/lib → lib}/utils/helmHelpers.d.ts +2 -12
- package/dist/lib/utils/helmHelpers.d.ts.map +1 -0
- package/dist/{src/lib → lib}/utils/helmHelpers.js +2 -46
- package/dist/lib/utils/helmHelpers.js.map +1 -0
- package/package.json +3 -4
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js.map +0 -1
- package/dist/src/index.d.ts +0 -23
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -15
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/constants.d.ts +0 -142
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -167
- package/dist/src/lib/constants.js.map +0 -1
- package/dist/src/lib/helm.d.ts.map +0 -1
- package/dist/src/lib/helm.js.map +0 -1
- package/dist/src/lib/helmChartWriter.d.ts.map +0 -1
- package/dist/src/lib/helmChartWriter.js.map +0 -1
- package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts +0 -248
- package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts.map +0 -1
- package/dist/src/lib/resources/autoscaling/autoscalingResources.js +0 -81
- package/dist/src/lib/resources/autoscaling/autoscalingResources.js.map +0 -1
- package/dist/src/lib/resources/baseResourceProvider.d.ts.map +0 -1
- package/dist/src/lib/resources/baseResourceProvider.js.map +0 -1
- package/dist/src/lib/resources/cloud/aws/awsResources.d.ts.map +0 -1
- package/dist/src/lib/resources/cloud/aws/awsResources.js.map +0 -1
- package/dist/src/lib/resources/cloud/aws/karpenterResources.d.ts.map +0 -1
- package/dist/src/lib/resources/cloud/aws/karpenterResources.js.map +0 -1
- package/dist/src/lib/resources/cloud/azure/azureResources.d.ts +0 -169
- package/dist/src/lib/resources/cloud/azure/azureResources.d.ts.map +0 -1
- package/dist/src/lib/resources/cloud/azure/azureResources.js +0 -218
- package/dist/src/lib/resources/cloud/azure/azureResources.js.map +0 -1
- package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts +0 -164
- package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts.map +0 -1
- package/dist/src/lib/resources/cloud/gcp/gcpResources.js +0 -192
- package/dist/src/lib/resources/cloud/gcp/gcpResources.js.map +0 -1
- package/dist/src/lib/resources/core/coreResources.d.ts +0 -790
- package/dist/src/lib/resources/core/coreResources.d.ts.map +0 -1
- package/dist/src/lib/resources/core/coreResources.js +0 -1115
- package/dist/src/lib/resources/core/coreResources.js.map +0 -1
- package/dist/src/lib/resources/core/storageResources.d.ts +0 -133
- package/dist/src/lib/resources/core/storageResources.d.ts.map +0 -1
- package/dist/src/lib/resources/core/storageResources.js +0 -120
- package/dist/src/lib/resources/core/storageResources.js.map +0 -1
- package/dist/src/lib/resources/network/networkResources.d.ts +0 -515
- package/dist/src/lib/resources/network/networkResources.d.ts.map +0 -1
- package/dist/src/lib/resources/network/networkResources.js +0 -784
- package/dist/src/lib/resources/network/networkResources.js.map +0 -1
- package/dist/src/lib/resources/security/encryption.d.ts +0 -290
- package/dist/src/lib/resources/security/encryption.d.ts.map +0 -1
- package/dist/src/lib/resources/security/encryption.js +0 -295
- package/dist/src/lib/resources/security/encryption.js.map +0 -1
- package/dist/src/lib/resources/security/index.d.ts +0 -6
- package/dist/src/lib/resources/security/index.d.ts.map +0 -1
- package/dist/src/lib/resources/security/index.js +0 -6
- package/dist/src/lib/resources/security/index.js.map +0 -1
- package/dist/src/lib/resources/validation/validationResources.d.ts +0 -26
- package/dist/src/lib/resources/validation/validationResources.d.ts.map +0 -1
- package/dist/src/lib/resources/validation/validationResources.js +0 -33
- package/dist/src/lib/resources/validation/validationResources.js.map +0 -1
- package/dist/src/lib/rutter.d.ts +0 -1106
- package/dist/src/lib/rutter.d.ts.map +0 -1
- package/dist/src/lib/rutter.js +0 -1295
- package/dist/src/lib/rutter.js.map +0 -1
- package/dist/src/lib/security.d.ts.map +0 -1
- package/dist/src/lib/security.js +0 -569
- package/dist/src/lib/security.js.map +0 -1
- package/dist/src/lib/umbrella.d.ts.map +0 -1
- package/dist/src/lib/umbrella.js.map +0 -1
- package/dist/src/lib/umbrellaRutter.d.ts.map +0 -1
- package/dist/src/lib/umbrellaRutter.js.map +0 -1
- package/dist/src/lib/utils/helmHelpers.d.ts.map +0 -1
- package/dist/src/lib/utils/helmHelpers.js.map +0 -1
- package/dist/src/lib/utils/podTemplates.d.ts +0 -192
- package/dist/src/lib/utils/podTemplates.d.ts.map +0 -1
- package/dist/src/lib/utils/podTemplates.js +0 -331
- package/dist/src/lib/utils/podTemplates.js.map +0 -1
- package/dist/src/lib/utils/resourceNaming.d.ts +0 -57
- package/dist/src/lib/utils/resourceNaming.d.ts.map +0 -1
- package/dist/src/lib/utils/resourceNaming.js +0 -82
- package/dist/src/lib/utils/resourceNaming.js.map +0 -1
- /package/dist/{src/cli.d.ts → cli.d.ts} +0 -0
- /package/dist/{src/lib → lib}/helmChartWriter.d.ts +0 -0
- /package/dist/{src/lib → lib}/resources/baseResourceProvider.js +0 -0
- /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.d.ts +0 -0
- /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.js +0 -0
- /package/dist/{src/lib → lib}/umbrella.d.ts +0 -0
- /package/dist/{src/lib → lib}/umbrella.js +0 -0
- /package/dist/{src/lib → lib}/umbrellaRutter.js +0 -0
|
@@ -192,6 +192,49 @@ export function template(name, context = '.') {
|
|
|
192
192
|
export function include(name, context = '.') {
|
|
193
193
|
return `{{ include "${name}" ${context} }}`;
|
|
194
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Factory function to create typed Helm value references with reduced code duplication
|
|
197
|
+
* @param path - The path to the value in the Helm values
|
|
198
|
+
* @param type - The expected type of the value
|
|
199
|
+
* @param options - Additional options for reference creation
|
|
200
|
+
* @returns A string that can be used in Helm templates
|
|
201
|
+
* @throws {Error} If the path is invalid
|
|
202
|
+
* @since 1.1.0
|
|
203
|
+
*/
|
|
204
|
+
export function createTypedRef(path, type, options = {}) {
|
|
205
|
+
if (!isValidHelmPath(path)) {
|
|
206
|
+
throw new Error(`Invalid Helm template path: ${path}`);
|
|
207
|
+
}
|
|
208
|
+
let template = `{{ .Values.${path}`;
|
|
209
|
+
// Apply type casting based on type
|
|
210
|
+
switch (type) {
|
|
211
|
+
case 'number':
|
|
212
|
+
template += ' | int';
|
|
213
|
+
break;
|
|
214
|
+
case 'boolean':
|
|
215
|
+
template += ' | toBool';
|
|
216
|
+
break;
|
|
217
|
+
case 'string':
|
|
218
|
+
template += ' | toString';
|
|
219
|
+
break;
|
|
220
|
+
case 'float':
|
|
221
|
+
template += ' | float64';
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
// Handle default values following Helm best practices
|
|
225
|
+
if (options.withDefault && options.defaultValue !== undefined) {
|
|
226
|
+
const defaultVal = typeof options.defaultValue === 'string' && options.quote
|
|
227
|
+
? `"${options.defaultValue}"`
|
|
228
|
+
: String(options.defaultValue);
|
|
229
|
+
template += ` | default ${defaultVal}`;
|
|
230
|
+
}
|
|
231
|
+
// Handle string quoting for security
|
|
232
|
+
if (type === 'string' && options.quote && !options.withDefault) {
|
|
233
|
+
template += ' | quote';
|
|
234
|
+
}
|
|
235
|
+
template += ' }}';
|
|
236
|
+
return template;
|
|
237
|
+
}
|
|
195
238
|
/**
|
|
196
239
|
* Creates a numeric reference from .Values with int cast
|
|
197
240
|
*
|
|
@@ -199,6 +242,7 @@ export function include(name, context = '.') {
|
|
|
199
242
|
* truncating any decimal places.
|
|
200
243
|
*
|
|
201
244
|
* @param {string} path - Path to the value using dot notation
|
|
245
|
+
* @param {TypedRefOptions} [options] - Additional options for reference creation
|
|
202
246
|
* @returns {string} Helm template expression with int cast
|
|
203
247
|
* @throws {Error} If the path is not valid for Helm templates
|
|
204
248
|
*
|
|
@@ -210,16 +254,14 @@ export function include(name, context = '.') {
|
|
|
210
254
|
*
|
|
211
255
|
* @since 0.1.0
|
|
212
256
|
*/
|
|
213
|
-
export function numberRef(path) {
|
|
214
|
-
|
|
215
|
-
throw new Error(`Invalid Helm template path: ${path}`);
|
|
216
|
-
}
|
|
217
|
-
return `{{ .Values.${path} | int }}`;
|
|
257
|
+
export function numberRef(path, options) {
|
|
258
|
+
return createTypedRef(path, 'number', options);
|
|
218
259
|
}
|
|
219
260
|
/**
|
|
220
261
|
* Creates a boolean reference from .Values with toBool cast
|
|
221
262
|
*
|
|
222
263
|
* @param {string} path - Path to the value using dot notation
|
|
264
|
+
* @param {TypedRefOptions} [options] - Additional options for reference creation
|
|
223
265
|
* @returns {string} Helm template expression with toBool cast
|
|
224
266
|
* @throws {Error} If the path is not valid for Helm templates
|
|
225
267
|
*
|
|
@@ -231,16 +273,14 @@ export function numberRef(path) {
|
|
|
231
273
|
*
|
|
232
274
|
* @since 0.1.0
|
|
233
275
|
*/
|
|
234
|
-
export function boolRef(path) {
|
|
235
|
-
|
|
236
|
-
throw new Error(`Invalid Helm template path: ${path}`);
|
|
237
|
-
}
|
|
238
|
-
return `{{ .Values.${path} | toBool }}`;
|
|
276
|
+
export function boolRef(path, options) {
|
|
277
|
+
return createTypedRef(path, 'boolean', options);
|
|
239
278
|
}
|
|
240
279
|
/**
|
|
241
280
|
* Creates a string reference from .Values with toString cast
|
|
242
281
|
*
|
|
243
282
|
* @param {string} path - Path to the value using dot notation
|
|
283
|
+
* @param {TypedRefOptions} [options] - Additional options for reference creation
|
|
244
284
|
* @returns {string} Helm template expression with toString cast
|
|
245
285
|
* @throws {Error} If the path is not valid for Helm templates
|
|
246
286
|
*
|
|
@@ -252,16 +292,15 @@ export function boolRef(path) {
|
|
|
252
292
|
*
|
|
253
293
|
* @since 0.1.0
|
|
254
294
|
*/
|
|
255
|
-
export function stringRef(path) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
return `{{ .Values.${path} | toString }}`;
|
|
295
|
+
export function stringRef(path, options) {
|
|
296
|
+
const defaultOptions = { quote: true, ...options };
|
|
297
|
+
return createTypedRef(path, 'string', defaultOptions);
|
|
260
298
|
}
|
|
261
299
|
/**
|
|
262
300
|
* Creates a float reference from .Values with float64 cast
|
|
263
301
|
*
|
|
264
302
|
* @param {string} path - Path to the value using dot notation
|
|
303
|
+
* @param {TypedRefOptions} [options] - Additional options for reference creation
|
|
265
304
|
* @returns {string} Helm template expression with float64 cast
|
|
266
305
|
* @throws {Error} If the path is not valid for Helm templates
|
|
267
306
|
*
|
|
@@ -273,11 +312,8 @@ export function stringRef(path) {
|
|
|
273
312
|
*
|
|
274
313
|
* @since 0.1.0
|
|
275
314
|
*/
|
|
276
|
-
export function floatRef(path) {
|
|
277
|
-
|
|
278
|
-
throw new Error(`Invalid Helm template path: ${path}`);
|
|
279
|
-
}
|
|
280
|
-
return `{{ .Values.${path} | float64 }}`;
|
|
315
|
+
export function floatRef(path, options) {
|
|
316
|
+
return createTypedRef(path, 'float', options);
|
|
281
317
|
}
|
|
282
318
|
/**
|
|
283
319
|
* Creates a conditional reference to a value in .Values
|
|
@@ -307,6 +343,41 @@ export function conditionalRef(path, condition) {
|
|
|
307
343
|
}
|
|
308
344
|
return `{{ if .Values.${condition} }}{{ .Values.${path} }}{{ end }}`;
|
|
309
345
|
}
|
|
346
|
+
/**
|
|
347
|
+
* Wraps a complete YAML manifest in a Helm conditional
|
|
348
|
+
*
|
|
349
|
+
* Generates a Helm template that conditionally renders an entire
|
|
350
|
+
* Kubernetes manifest based on a values condition.
|
|
351
|
+
*
|
|
352
|
+
* @param {string} yamlContent - Complete YAML manifest content
|
|
353
|
+
* @param {string} condition - Path to the condition value
|
|
354
|
+
* @returns {string} YAML content wrapped in Helm conditional
|
|
355
|
+
* @throws {Error} If the condition path is not valid for Helm templates
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```typescript
|
|
359
|
+
* const namespaceYaml = `
|
|
360
|
+
* apiVersion: v1
|
|
361
|
+
* kind: Namespace
|
|
362
|
+
* metadata:
|
|
363
|
+
* name: my-namespace
|
|
364
|
+
* `;
|
|
365
|
+
* const conditionalNamespace = conditionalManifest(namespaceYaml, 'createNamespace');
|
|
366
|
+
* // Returns: '{{ if .Values.createNamespace }}\napiVersion: v1\nkind: Namespace...{{ end }}'
|
|
367
|
+
* ```
|
|
368
|
+
*
|
|
369
|
+
* @since 2.7.4
|
|
370
|
+
*/
|
|
371
|
+
export function conditionalManifest(yamlContent, condition) {
|
|
372
|
+
if (!isValidHelmPath(condition)) {
|
|
373
|
+
throw new Error(`Invalid Helm template condition path: ${condition}`);
|
|
374
|
+
}
|
|
375
|
+
// Remove leading/trailing whitespace and ensure proper formatting
|
|
376
|
+
const cleanYaml = yamlContent.trim();
|
|
377
|
+
return `{{ if .Values.${condition} }}
|
|
378
|
+
${cleanYaml}
|
|
379
|
+
{{ end }}`;
|
|
380
|
+
}
|
|
310
381
|
/**
|
|
311
382
|
* Creates a reference to a value in .Values with a default fallback
|
|
312
383
|
*
|
|
@@ -382,4 +453,222 @@ export function jsonRef(path) {
|
|
|
382
453
|
}
|
|
383
454
|
return `{{ .Values.${path} | toJson }}`;
|
|
384
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Flow Control Functions for Helm Templates
|
|
458
|
+
*
|
|
459
|
+
* These functions provide programmatic access to Helm's flow control structures:
|
|
460
|
+
* if/else, with, and range for conditional logic and iteration.
|
|
461
|
+
*
|
|
462
|
+
* @since 1.4.0
|
|
463
|
+
*/
|
|
464
|
+
/**
|
|
465
|
+
* Creates a conditional if block in Helm templates
|
|
466
|
+
*
|
|
467
|
+
* Generates Helm template expressions for conditional logic using if/else/end.
|
|
468
|
+
* Supports complex conditions with comparison operators and pipeline expressions.
|
|
469
|
+
*
|
|
470
|
+
* @param {string} condition - The condition to evaluate (e.g., 'eq .Values.env "production"')
|
|
471
|
+
* @param {string} content - Content to include when condition is true
|
|
472
|
+
* @param {string} [elseContent] - Optional content for else block
|
|
473
|
+
* @returns {string} Complete Helm if/else template block
|
|
474
|
+
* @throws {Error} If condition contains potentially unsafe template expressions
|
|
475
|
+
*
|
|
476
|
+
* @example
|
|
477
|
+
* ```typescript
|
|
478
|
+
* const conditionalConfig = helmIf(
|
|
479
|
+
* 'eq .Values.environment "production"',
|
|
480
|
+
* 'replicas: 3\nresources:\n limits:\n memory: "1Gi"',
|
|
481
|
+
* 'replicas: 1\nresources:\n limits:\n memory: "512Mi"'
|
|
482
|
+
* );
|
|
483
|
+
* // Returns:
|
|
484
|
+
* // {{- if eq .Values.environment "production" }}
|
|
485
|
+
* // replicas: 3
|
|
486
|
+
* // resources:
|
|
487
|
+
* // limits:
|
|
488
|
+
* // memory: "1Gi"
|
|
489
|
+
* // {{- else }}
|
|
490
|
+
* // replicas: 1
|
|
491
|
+
* // resources:
|
|
492
|
+
* // limits:
|
|
493
|
+
* // memory: "512Mi"
|
|
494
|
+
* // {{- end }}
|
|
495
|
+
* ```
|
|
496
|
+
*
|
|
497
|
+
* @since 2.8.0
|
|
498
|
+
*/
|
|
499
|
+
export function helmIf(condition, content, elseContent) {
|
|
500
|
+
// Validate condition for basic security
|
|
501
|
+
if (!condition || condition.trim().length === 0) {
|
|
502
|
+
throw new Error('Condition cannot be empty');
|
|
503
|
+
}
|
|
504
|
+
// Basic validation to prevent template injection
|
|
505
|
+
if (condition.includes('{{') || condition.includes('}}')) {
|
|
506
|
+
throw new Error('Condition should not contain template delimiters');
|
|
507
|
+
}
|
|
508
|
+
let result = `{{- if ${condition} }}\n${content}`;
|
|
509
|
+
if (elseContent) {
|
|
510
|
+
result += `\n{{- else }}\n${elseContent}`;
|
|
511
|
+
}
|
|
512
|
+
result += `\n{{- end }}`;
|
|
513
|
+
return result;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Creates a with block for scoped template context
|
|
517
|
+
*
|
|
518
|
+
* Generates Helm template expressions using 'with' to change the template context.
|
|
519
|
+
* Useful for accessing nested values without repeating the full path.
|
|
520
|
+
*
|
|
521
|
+
* @param {string} path - Path to set as new context (e.g., '.Values.database')
|
|
522
|
+
* @param {string} content - Content to render within the new context
|
|
523
|
+
* @param {string} [elseContent] - Optional content when path is empty/nil
|
|
524
|
+
* @returns {string} Complete Helm with/else/end template block
|
|
525
|
+
* @throws {Error} If path is not valid for Helm templates
|
|
526
|
+
*
|
|
527
|
+
* @example
|
|
528
|
+
* ```typescript
|
|
529
|
+
* const dbConfig = helmWith(
|
|
530
|
+
* '.Values.database',
|
|
531
|
+
* 'host: {{ .host }}\nport: {{ .port }}\nname: {{ .name }}',
|
|
532
|
+
* 'host: "localhost"\nport: 5432\nname: "defaultdb"'
|
|
533
|
+
* );
|
|
534
|
+
* // Returns:
|
|
535
|
+
* // {{- with .Values.database }}
|
|
536
|
+
* // host: {{ .host }}
|
|
537
|
+
* // port: {{ .port }}
|
|
538
|
+
* // name: {{ .name }}
|
|
539
|
+
* // {{- else }}
|
|
540
|
+
* // host: "localhost"
|
|
541
|
+
* // port: 5432
|
|
542
|
+
* // name: "defaultdb"
|
|
543
|
+
* // {{- end }}
|
|
544
|
+
* ```
|
|
545
|
+
*
|
|
546
|
+
* @since 2.8.0
|
|
547
|
+
*/
|
|
548
|
+
export function helmWith(path, content, elseContent) {
|
|
549
|
+
if (!path || path.trim().length === 0) {
|
|
550
|
+
throw new Error('Path cannot be empty');
|
|
551
|
+
}
|
|
552
|
+
// Validate path format
|
|
553
|
+
if (!path.startsWith('.')) {
|
|
554
|
+
throw new Error('Path must start with "." (e.g., ".Values.config")');
|
|
555
|
+
}
|
|
556
|
+
let result = `{{- with ${path} }}\n${content}`;
|
|
557
|
+
if (elseContent) {
|
|
558
|
+
result += `\n{{- else }}\n${elseContent}`;
|
|
559
|
+
}
|
|
560
|
+
result += `\n{{- end }}`;
|
|
561
|
+
return result;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Creates a range loop for iterating over collections
|
|
565
|
+
*
|
|
566
|
+
* Generates Helm template expressions using 'range' to iterate over lists, maps, or other collections.
|
|
567
|
+
* Supports both simple iteration and key-value iteration for maps.
|
|
568
|
+
*
|
|
569
|
+
* @param {string} collection - Collection to iterate over (e.g., '.Values.items')
|
|
570
|
+
* @param {string} content - Content template for each iteration
|
|
571
|
+
* @param {object} [options] - Configuration options for the range loop
|
|
572
|
+
* @param {boolean} [options.keyValue=false] - Whether to iterate with key-value pairs
|
|
573
|
+
* @param {string} [options.keyVar='$key'] - Variable name for keys in key-value iteration
|
|
574
|
+
* @param {string} [options.valueVar='$value'] - Variable name for values in key-value iteration
|
|
575
|
+
* @param {string} [options.indexVar='$index'] - Variable name for index in indexed iteration
|
|
576
|
+
* @param {string} [options.itemVar='$item'] - Variable name for items in simple iteration
|
|
577
|
+
* @returns {string} Complete Helm range/end template block
|
|
578
|
+
* @throws {Error} If collection path is not valid
|
|
579
|
+
*
|
|
580
|
+
* @example
|
|
581
|
+
* ```typescript
|
|
582
|
+
* // Simple list iteration
|
|
583
|
+
* const serviceList = helmRange(
|
|
584
|
+
* '.Values.services',
|
|
585
|
+
* '- name: {{ .name }}\n port: {{ .port }}'
|
|
586
|
+
* );
|
|
587
|
+
*
|
|
588
|
+
* // Key-value map iteration
|
|
589
|
+
* const envVars = helmRange(
|
|
590
|
+
* '.Values.env',
|
|
591
|
+
* '- name: {{ $key }}\n value: {{ $value | quote }}',
|
|
592
|
+
* { keyValue: true }
|
|
593
|
+
* );
|
|
594
|
+
*
|
|
595
|
+
* // Indexed iteration
|
|
596
|
+
* const indexedItems = helmRange(
|
|
597
|
+
* '.Values.items',
|
|
598
|
+
* '{{ $index }}: {{ $item }}',
|
|
599
|
+
* { indexVar: '$i', itemVar: '$val' }
|
|
600
|
+
* );
|
|
601
|
+
* ```
|
|
602
|
+
*
|
|
603
|
+
* @since 2.8.0
|
|
604
|
+
*/
|
|
605
|
+
export function helmRange(collection, content, options = {}) {
|
|
606
|
+
if (!collection || collection.trim().length === 0) {
|
|
607
|
+
throw new Error('Collection cannot be empty');
|
|
608
|
+
}
|
|
609
|
+
if (!collection.startsWith('.')) {
|
|
610
|
+
throw new Error('Collection path must start with "." (e.g., ".Values.items")');
|
|
611
|
+
}
|
|
612
|
+
const { keyValue = false, keyVar = '$key', valueVar = '$value', indexVar = '$index', itemVar = '$item', } = options;
|
|
613
|
+
let rangeExpression;
|
|
614
|
+
if (keyValue) {
|
|
615
|
+
rangeExpression = `{{- range ${keyVar}, ${valueVar} := ${collection} }}`;
|
|
616
|
+
}
|
|
617
|
+
else if (options.indexVar && options.itemVar) {
|
|
618
|
+
rangeExpression = `{{- range ${indexVar}, ${itemVar} := ${collection} }}`;
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
rangeExpression = `{{- range ${collection} }}`;
|
|
622
|
+
}
|
|
623
|
+
return `${rangeExpression}\n${content}\n{{- end }}`;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Creates a complex conditional with multiple else-if branches
|
|
627
|
+
*
|
|
628
|
+
* Generates Helm template expressions for complex conditional logic with multiple branches.
|
|
629
|
+
* Useful for handling multiple environment configurations or feature flags.
|
|
630
|
+
*
|
|
631
|
+
* @param {Array<{condition: string, content: string}>} branches - Array of condition-content pairs
|
|
632
|
+
* @param {string} [defaultContent] - Default content when no conditions match
|
|
633
|
+
* @returns {string} Complete Helm if/else-if/else/end template block
|
|
634
|
+
* @throws {Error} If branches array is empty or contains invalid conditions
|
|
635
|
+
*
|
|
636
|
+
* @example
|
|
637
|
+
* ```typescript
|
|
638
|
+
* const envConfig = helmIfElseIf([
|
|
639
|
+
* {
|
|
640
|
+
* condition: 'eq .Values.environment "production"',
|
|
641
|
+
* content: 'replicas: 5\nresources.limits.memory: "2Gi"'
|
|
642
|
+
* },
|
|
643
|
+
* {
|
|
644
|
+
* condition: 'eq .Values.environment "staging"',
|
|
645
|
+
* content: 'replicas: 2\nresources.limits.memory: "1Gi"'
|
|
646
|
+
* }
|
|
647
|
+
* ], 'replicas: 1\nresources.limits.memory: "512Mi"');
|
|
648
|
+
* ```
|
|
649
|
+
*
|
|
650
|
+
* @since 2.8.0
|
|
651
|
+
*/
|
|
652
|
+
export function helmIfElseIf(branches, defaultContent) {
|
|
653
|
+
if (!branches || branches.length === 0) {
|
|
654
|
+
throw new Error('At least one branch is required');
|
|
655
|
+
}
|
|
656
|
+
let result = '';
|
|
657
|
+
branches.forEach((branch, index) => {
|
|
658
|
+
if (!branch.condition || branch.condition.trim().length === 0) {
|
|
659
|
+
throw new Error(`Branch ${index} condition cannot be empty`);
|
|
660
|
+
}
|
|
661
|
+
// Basic validation to prevent template injection
|
|
662
|
+
if (branch.condition.includes('{{') || branch.condition.includes('}}')) {
|
|
663
|
+
throw new Error(`Branch ${index} condition should not contain template delimiters`);
|
|
664
|
+
}
|
|
665
|
+
const keyword = index === 0 ? 'if' : 'else if';
|
|
666
|
+
result += `{{- ${keyword} ${branch.condition} }}\n${branch.content}\n`;
|
|
667
|
+
});
|
|
668
|
+
if (defaultContent) {
|
|
669
|
+
result += `{{- else }}\n${defaultContent}\n`;
|
|
670
|
+
}
|
|
671
|
+
result += '{{- end }}';
|
|
672
|
+
return result;
|
|
673
|
+
}
|
|
385
674
|
//# sourceMappingURL=helm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../src/lib/helm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helmChartWriter.d.ts","sourceRoot":"","sources":["../../src/lib/helmChartWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -239,7 +239,7 @@ export class HelmChartWriter {
|
|
|
239
239
|
function splitDocs(yamlStr) {
|
|
240
240
|
return yamlStr
|
|
241
241
|
.split(/^---\s*$/m)
|
|
242
|
-
.map((p) => p.
|
|
242
|
+
.map((p) => p.trim())
|
|
243
243
|
.filter((p) => p.length);
|
|
244
244
|
}
|
|
245
245
|
/**
|
|
@@ -289,24 +289,11 @@ function getTargetDirectory(target) {
|
|
|
289
289
|
* @since 1.0.0
|
|
290
290
|
*/
|
|
291
291
|
function writeSingleAssetFile(outDir, targetDir, assetId, yaml) {
|
|
292
|
-
const
|
|
292
|
+
const filename = `${assetId}.yaml`;
|
|
293
293
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
294
294
|
fs.mkdirSync(path.join(outDir, targetDir), { recursive: true });
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
// Single document - use original filename
|
|
298
|
-
const filename = `${assetId}.yaml`;
|
|
299
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
300
|
-
fs.writeFileSync(path.join(outDir, targetDir, filename), timonelHeader + parts[0] + '\n');
|
|
301
|
-
}
|
|
302
|
-
else {
|
|
303
|
-
// Multiple documents - use numbered filenames
|
|
304
|
-
parts.forEach((doc, index) => {
|
|
305
|
-
const filename = `${assetId}-${index + 1}.yaml`;
|
|
306
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
307
|
-
fs.writeFileSync(path.join(outDir, targetDir, filename), timonelHeader + doc + '\n');
|
|
308
|
-
});
|
|
309
|
-
}
|
|
295
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
296
|
+
fs.writeFileSync(path.join(outDir, targetDir, filename), yaml + '\n');
|
|
310
297
|
}
|
|
311
298
|
/**
|
|
312
299
|
* Writes multiple asset files by splitting YAML documents
|
|
@@ -319,14 +306,13 @@ function writeSingleAssetFile(outDir, targetDir, assetId, yaml) {
|
|
|
319
306
|
* @since 1.0.0
|
|
320
307
|
*/
|
|
321
308
|
function writeMultipleAssetFiles(outDir, targetDir, assetId, yaml) {
|
|
322
|
-
const timonelHeader = '# Do not modify - Generated by Timonel\n';
|
|
323
309
|
const parts = splitDocs(yaml);
|
|
324
310
|
parts.forEach((doc, index) => {
|
|
325
311
|
const filename = `${assetId}${parts.length > 1 ? `-${index + 1}` : ''}.yaml`;
|
|
326
312
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
327
313
|
fs.mkdirSync(path.join(outDir, targetDir), { recursive: true });
|
|
328
314
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Chart writer needs dynamic paths
|
|
329
|
-
fs.writeFileSync(path.join(outDir, targetDir, filename),
|
|
315
|
+
fs.writeFileSync(path.join(outDir, targetDir, filename), doc + '\n');
|
|
330
316
|
});
|
|
331
317
|
}
|
|
332
318
|
//# sourceMappingURL=helmChartWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helmChartWriter.js","sourceRoot":"","sources":["../../src/lib/helmChartWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseResourceProvider.d.ts","sourceRoot":"","sources":["../../../src/lib/resources/baseResourceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;;;GAKG;AACH,8BAAsB,oBAAqB,YAAW,iBAAiB;aACzC,KAAK,EAAE,KAAK;gBAAZ,KAAK,EAAE,KAAK;IAExC;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAe1E;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IA4BhG;;;;;;;;;OASG;IACH,SAAS,CAAC,eAAe,CACvB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,SAAS;IAgBZ;;;;;;;;;;OAUG;IACH,SAAS,CAAC,wBAAwB,CAChC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,SAAS;CAeb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseResourceProvider.js","sourceRoot":"","sources":["../../../src/lib/resources/baseResourceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ApiObject } from 'cdk8s';
|
|
1
|
+
import type { ApiObject } from 'cdk8s';
|
|
2
|
+
import * as kplus from 'cdk8s-plus-33';
|
|
2
3
|
import { BaseResourceProvider } from '../../baseResourceProvider.js';
|
|
3
4
|
/**
|
|
4
5
|
* AWS-specific Kubernetes resources provider
|
|
@@ -8,8 +9,6 @@ import { BaseResourceProvider } from '../../baseResourceProvider.js';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare class AWSResources extends BaseResourceProvider {
|
|
10
11
|
private static readonly STORAGE_API_VERSION;
|
|
11
|
-
private static readonly CORE_API_VERSION;
|
|
12
|
-
private static readonly NETWORKING_API_VERSION;
|
|
13
12
|
/**
|
|
14
13
|
* Creates an AWS EBS StorageClass
|
|
15
14
|
* @param spec - EBS StorageClass specification
|
|
@@ -60,7 +59,7 @@ export declare class AWSResources extends BaseResourceProvider {
|
|
|
60
59
|
*
|
|
61
60
|
* @since 2.4.0
|
|
62
61
|
*/
|
|
63
|
-
addIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec):
|
|
62
|
+
addIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec): kplus.ServiceAccount;
|
|
64
63
|
/**
|
|
65
64
|
* Creates an AWS ALB Ingress
|
|
66
65
|
* @param spec - ALB Ingress specification
|
|
@@ -83,7 +82,7 @@ export declare class AWSResources extends BaseResourceProvider {
|
|
|
83
82
|
*
|
|
84
83
|
* @since 2.4.0
|
|
85
84
|
*/
|
|
86
|
-
addALBIngress(spec: AWSALBIngressSpec):
|
|
85
|
+
addALBIngress(spec: AWSALBIngressSpec): kplus.Ingress;
|
|
87
86
|
/**
|
|
88
87
|
* Validates Ingress paths format according to Kubernetes specification
|
|
89
88
|
* @param rules - Ingress rules to validate
|
|
@@ -160,15 +159,7 @@ export declare class AWSResources extends BaseResourceProvider {
|
|
|
160
159
|
*
|
|
161
160
|
* @since 2.7.0
|
|
162
161
|
*/
|
|
163
|
-
addECRServiceAccount(spec: AWSECRServiceAccountSpec):
|
|
164
|
-
/**
|
|
165
|
-
* Validates AWS ARN format for service account roles
|
|
166
|
-
* @param arn - ARN to validate
|
|
167
|
-
* @param context - Context for error messages
|
|
168
|
-
* @throws Error if ARN format is invalid
|
|
169
|
-
* @since 2.9.0
|
|
170
|
-
*/
|
|
171
|
-
private validateAwsArn;
|
|
162
|
+
addECRServiceAccount(spec: AWSECRServiceAccountSpec): kplus.ServiceAccount;
|
|
172
163
|
}
|
|
173
164
|
export interface AWSEBSStorageClassSpec {
|
|
174
165
|
name: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsResources.d.ts","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/aws/awsResources.ts"],"names":[],"mappings":"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"}
|