timonel 2.2.0 → 2.4.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 (77) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +5 -1
  3. package/SECURITY.md +15 -8
  4. package/dist/cli.js +29 -31
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.d.ts +7 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/helm.d.ts +200 -12
  11. package/dist/lib/helm.d.ts.map +1 -1
  12. package/dist/lib/helm.js +234 -13
  13. package/dist/lib/helm.js.map +1 -1
  14. package/dist/lib/helmChartWriter.d.ts +238 -0
  15. package/dist/lib/helmChartWriter.d.ts.map +1 -0
  16. package/dist/lib/helmChartWriter.js +318 -0
  17. package/dist/lib/helmChartWriter.js.map +1 -0
  18. package/dist/lib/resources/autoscaling/autoscalingResources.d.ts +26 -0
  19. package/dist/lib/resources/autoscaling/autoscalingResources.d.ts.map +1 -0
  20. package/dist/lib/resources/autoscaling/autoscalingResources.js +35 -0
  21. package/dist/lib/resources/autoscaling/autoscalingResources.js.map +1 -0
  22. package/dist/lib/resources/baseResourceProvider.d.ts +47 -0
  23. package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -0
  24. package/dist/lib/resources/baseResourceProvider.js +83 -0
  25. package/dist/lib/resources/baseResourceProvider.js.map +1 -0
  26. package/dist/lib/resources/cloud/aws/awsResources.d.ts +165 -0
  27. package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -0
  28. package/dist/lib/resources/cloud/aws/awsResources.js +187 -0
  29. package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -0
  30. package/dist/lib/resources/cloud/azure/azureResources.d.ts +169 -0
  31. package/dist/lib/resources/cloud/azure/azureResources.d.ts.map +1 -0
  32. package/dist/lib/resources/cloud/azure/azureResources.js +218 -0
  33. package/dist/lib/resources/cloud/azure/azureResources.js.map +1 -0
  34. package/dist/lib/resources/cloud/gcp/gcpResources.d.ts +133 -0
  35. package/dist/lib/resources/cloud/gcp/gcpResources.d.ts.map +1 -0
  36. package/dist/lib/resources/cloud/gcp/gcpResources.js +162 -0
  37. package/dist/lib/resources/cloud/gcp/gcpResources.js.map +1 -0
  38. package/dist/lib/resources/core/coreResources.d.ts +584 -0
  39. package/dist/lib/resources/core/coreResources.d.ts.map +1 -0
  40. package/dist/lib/resources/core/coreResources.js +796 -0
  41. package/dist/lib/resources/core/coreResources.js.map +1 -0
  42. package/dist/lib/resources/core/storageResources.d.ts +133 -0
  43. package/dist/lib/resources/core/storageResources.d.ts.map +1 -0
  44. package/dist/lib/resources/core/storageResources.js +120 -0
  45. package/dist/lib/resources/core/storageResources.js.map +1 -0
  46. package/dist/lib/resources/validation/validationResources.d.ts +26 -0
  47. package/dist/lib/resources/validation/validationResources.d.ts.map +1 -0
  48. package/dist/lib/resources/validation/validationResources.js +33 -0
  49. package/dist/lib/resources/validation/validationResources.js.map +1 -0
  50. package/dist/lib/rutter.d.ts +554 -0
  51. package/dist/lib/rutter.d.ts.map +1 -0
  52. package/dist/lib/rutter.js +665 -0
  53. package/dist/lib/rutter.js.map +1 -0
  54. package/dist/lib/security.d.ts +73 -0
  55. package/dist/lib/security.d.ts.map +1 -0
  56. package/dist/lib/security.js +138 -0
  57. package/dist/lib/security.js.map +1 -0
  58. package/dist/lib/umbrella.d.ts +22 -2
  59. package/dist/lib/umbrella.d.ts.map +1 -1
  60. package/dist/lib/umbrella.js +21 -1
  61. package/dist/lib/umbrella.js.map +1 -1
  62. package/dist/lib/umbrellaRutter.d.ts +97 -0
  63. package/dist/lib/umbrellaRutter.d.ts.map +1 -0
  64. package/dist/lib/{UmbrellaRutter.js → umbrellaRutter.js} +72 -23
  65. package/dist/lib/umbrellaRutter.js.map +1 -0
  66. package/package.json +2 -1
  67. package/dist/lib/HelmChartWriter.d.ts +0 -69
  68. package/dist/lib/HelmChartWriter.d.ts.map +0 -1
  69. package/dist/lib/HelmChartWriter.js +0 -124
  70. package/dist/lib/HelmChartWriter.js.map +0 -1
  71. package/dist/lib/Rutter.d.ts +0 -1334
  72. package/dist/lib/Rutter.d.ts.map +0 -1
  73. package/dist/lib/Rutter.js +0 -2138
  74. package/dist/lib/Rutter.js.map +0 -1
  75. package/dist/lib/UmbrellaRutter.d.ts +0 -34
  76. package/dist/lib/UmbrellaRutter.d.ts.map +0 -1
  77. package/dist/lib/UmbrellaRutter.js.map +0 -1
@@ -0,0 +1,554 @@
1
+ import type { ChartProps } from 'cdk8s';
2
+ import type { Construct } from 'constructs';
3
+ import type { ApiObject } from 'cdk8s';
4
+ import type { DeploymentSpec, DaemonSetSpec, StatefulSetSpec, RoleSpec, ClusterRoleSpec, RoleBindingSpec, ClusterRoleBindingSpec, JobSpec, ServiceSpec, ConfigMapSpec, SecretSpec, ServiceAccountSpec } from './resources/core/coreResources.js';
5
+ import type { PersistentVolumeSpec, PersistentVolumeClaimSpec, StorageClassSpec } from './resources/core/storageResources.js';
6
+ import type { AWSEBSStorageClassSpec, AWSEFSStorageClassSpec, AWSIRSAServiceAccountSpec, AWSALBIngressSpec } from './resources/cloud/aws/awsResources.js';
7
+ import type { AzureDiskStorageClassSpec, AzureFileStorageClassSpec, AzureAGICIngressSpec, AzureKeyVaultSecretProviderClassSpec, AzureACRServiceAccountSpec } from './resources/cloud/azure/azureResources.js';
8
+ import type { GCPPersistentDiskStorageClassSpec, GCPFilestoreStorageClassSpec, GCPGCEIngressSpec, GCPWorkloadIdentityServiceAccountSpec } from './resources/cloud/gcp/gcpResources.js';
9
+ /**
10
+ * Rutter class with modular architecture
11
+ * Provides a clean API while delegating to specialized resource providers
12
+ * Maintains full backward compatibility with the original Rutter class
13
+ *
14
+ * @since 2.4.0
15
+ */
16
+ export declare class Rutter {
17
+ private static readonly HELPER_NAME;
18
+ private readonly app;
19
+ private readonly chart;
20
+ private readonly coreResources;
21
+ private readonly storageResources;
22
+ private readonly awsResources;
23
+ private readonly azureResources;
24
+ private readonly gcpResources;
25
+ private readonly meta;
26
+ private readonly defaultValues;
27
+ private readonly envValues;
28
+ private readonly assets;
29
+ constructor(props: RutterProps);
30
+ /**
31
+ * Creates a Deployment resource
32
+ * @param spec - Deployment specification
33
+ * @returns Created Deployment ApiObject
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * rutter.addDeployment({
38
+ * name: 'web-app',
39
+ * image: 'nginx:1.21',
40
+ * replicas: 3,
41
+ * containerPort: 80
42
+ * });
43
+ * ```
44
+ *
45
+ * @since 1.0.0
46
+ */
47
+ addDeployment(spec: DeploymentSpec): ApiObject;
48
+ /**
49
+ * Creates a DaemonSet resource
50
+ * @param spec - DaemonSet specification
51
+ * @returns Created DaemonSet ApiObject
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * rutter.addDaemonSet({
56
+ * name: 'log-collector',
57
+ * image: 'fluentd:v1.14',
58
+ * containerPort: 24224,
59
+ * hostNetwork: true
60
+ * });
61
+ * ```
62
+ *
63
+ * @since 2.4.0
64
+ */
65
+ addDaemonSet(spec: DaemonSetSpec): ApiObject;
66
+ /**
67
+ * Creates a StatefulSet resource
68
+ * @param spec - StatefulSet specification
69
+ * @returns Created StatefulSet ApiObject
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * rutter.addStatefulSet({
74
+ * name: 'database',
75
+ * image: 'postgres:13',
76
+ * replicas: 3,
77
+ * serviceName: 'database-headless',
78
+ * containerPort: 5432
79
+ * });
80
+ * ```
81
+ *
82
+ * @since 2.4.0
83
+ */
84
+ addStatefulSet(spec: StatefulSetSpec): ApiObject;
85
+ /**
86
+ * Creates a Role resource for RBAC
87
+ * @param spec - Role specification
88
+ * @returns Created Role ApiObject
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * rutter.addRole({
93
+ * name: 'pod-reader',
94
+ * rules: [
95
+ * {
96
+ * apiGroups: [''],
97
+ * resources: ['pods'],
98
+ * verbs: ['get', 'list', 'watch']
99
+ * }
100
+ * ]
101
+ * });
102
+ * ```
103
+ *
104
+ * @since 2.4.0
105
+ */
106
+ addRole(spec: RoleSpec): ApiObject;
107
+ /**
108
+ * Creates a ClusterRole resource for cluster-wide RBAC
109
+ * @param spec - ClusterRole specification
110
+ * @returns Created ClusterRole ApiObject
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * rutter.addClusterRole({
115
+ * name: 'cluster-reader',
116
+ * rules: [
117
+ * {
118
+ * apiGroups: [''],
119
+ * resources: ['nodes', 'namespaces'],
120
+ * verbs: ['get', 'list', 'watch']
121
+ * }
122
+ * ]
123
+ * });
124
+ * ```
125
+ *
126
+ * @since 2.4.0
127
+ */
128
+ addClusterRole(spec: ClusterRoleSpec): ApiObject;
129
+ /**
130
+ * Creates a RoleBinding resource for RBAC
131
+ * @param spec - RoleBinding specification
132
+ * @returns Created RoleBinding ApiObject
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * rutter.addRoleBinding({
137
+ * name: 'pod-reader-binding',
138
+ * roleRef: {
139
+ * kind: 'Role',
140
+ * name: 'pod-reader',
141
+ * apiGroup: 'rbac.authorization.k8s.io'
142
+ * },
143
+ * subjects: [
144
+ * {
145
+ * kind: 'ServiceAccount',
146
+ * name: 'my-service-account'
147
+ * }
148
+ * ]
149
+ * });
150
+ * ```
151
+ *
152
+ * @since 2.4.0
153
+ */
154
+ addRoleBinding(spec: RoleBindingSpec): ApiObject;
155
+ /**
156
+ * Creates a ClusterRoleBinding resource for cluster-wide RBAC
157
+ * @param spec - ClusterRoleBinding specification
158
+ * @returns Created ClusterRoleBinding ApiObject
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * rutter.addClusterRoleBinding({
163
+ * name: 'cluster-reader-binding',
164
+ * roleRef: {
165
+ * kind: 'ClusterRole',
166
+ * name: 'cluster-reader',
167
+ * apiGroup: 'rbac.authorization.k8s.io'
168
+ * },
169
+ * subjects: [
170
+ * {
171
+ * kind: 'ServiceAccount',
172
+ * name: 'monitoring-agent',
173
+ * namespace: 'monitoring'
174
+ * }
175
+ * ]
176
+ * });
177
+ * ```
178
+ *
179
+ * @since 2.4.0
180
+ */
181
+ addClusterRoleBinding(spec: ClusterRoleBindingSpec): ApiObject;
182
+ /**
183
+ * Creates a Job resource for batch workloads
184
+ * @param spec - Job specification
185
+ * @returns Created Job ApiObject
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * rutter.addJob({
190
+ * name: 'data-processor',
191
+ * image: 'busybox:1.35',
192
+ * command: ['sh', '-c', 'echo "Processing..." && sleep 30'],
193
+ * completions: 1
194
+ * });
195
+ * ```
196
+ *
197
+ * @since 2.4.0
198
+ */
199
+ addJob(spec: JobSpec): ApiObject;
200
+ /**
201
+ * Creates a Service resource
202
+ * @param spec - Service specification
203
+ * @returns Created Service ApiObject
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * rutter.addService({
208
+ * name: 'web-service',
209
+ * port: 80,
210
+ * targetPort: 8080,
211
+ * type: 'ClusterIP'
212
+ * });
213
+ * ```
214
+ *
215
+ * @since 1.0.0
216
+ */
217
+ addService(spec: ServiceSpec): ApiObject;
218
+ /**
219
+ * Creates a ConfigMap resource
220
+ * @param spec - ConfigMap specification
221
+ * @returns Created ConfigMap ApiObject
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * rutter.addConfigMap({
226
+ * name: 'app-config',
227
+ * data: {
228
+ * 'config.yaml': 'key: value',
229
+ * 'app.properties': 'debug=true'
230
+ * }
231
+ * });
232
+ * ```
233
+ *
234
+ * @since 1.0.0
235
+ */
236
+ addConfigMap(spec: ConfigMapSpec): ApiObject;
237
+ /**
238
+ * Creates a Secret resource
239
+ * @param spec - Secret specification
240
+ * @returns Created Secret ApiObject
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * rutter.addSecret({
245
+ * name: 'app-secrets',
246
+ * type: 'Opaque',
247
+ * data: {
248
+ * username: 'YWRtaW4=',
249
+ * password: 'MWYyZDFlMmU2N2Rm'
250
+ * }
251
+ * });
252
+ * ```
253
+ *
254
+ * @since 1.0.0
255
+ */
256
+ addSecret(spec: SecretSpec): ApiObject;
257
+ /**
258
+ * Creates a ServiceAccount resource
259
+ * @param spec - ServiceAccount specification
260
+ * @returns Created ServiceAccount ApiObject
261
+ *
262
+ * @example
263
+ * ```typescript
264
+ * rutter.addServiceAccount({
265
+ * name: 'app-service-account',
266
+ * automountServiceAccountToken: false
267
+ * });
268
+ * ```
269
+ *
270
+ * @since 1.0.0
271
+ */
272
+ addServiceAccount(spec: ServiceAccountSpec): ApiObject;
273
+ /**
274
+ * Creates a PersistentVolume resource
275
+ * @param spec - PersistentVolume specification
276
+ * @returns Created PersistentVolume ApiObject
277
+ *
278
+ * @example
279
+ * ```typescript
280
+ * rutter.addPersistentVolume({
281
+ * name: 'data-pv',
282
+ * capacity: '10Gi',
283
+ * accessModes: ['ReadWriteOnce'],
284
+ * storageClassName: 'fast-ssd'
285
+ * });
286
+ * ```
287
+ *
288
+ * @since 1.0.0
289
+ */
290
+ addPersistentVolume(spec: PersistentVolumeSpec): ApiObject;
291
+ /**
292
+ * Creates a PersistentVolumeClaim resource
293
+ * @param spec - PersistentVolumeClaim specification
294
+ * @returns Created PersistentVolumeClaim ApiObject
295
+ *
296
+ * @example
297
+ * ```typescript
298
+ * rutter.addPersistentVolumeClaim({
299
+ * name: 'data-pvc',
300
+ * size: '10Gi',
301
+ * accessModes: ['ReadWriteOnce'],
302
+ * storageClassName: 'fast-ssd'
303
+ * });
304
+ * ```
305
+ *
306
+ * @since 1.0.0
307
+ */
308
+ addPersistentVolumeClaim(spec: PersistentVolumeClaimSpec): ApiObject;
309
+ /**
310
+ * Creates a StorageClass resource
311
+ * @param spec - StorageClass specification
312
+ * @returns Created StorageClass ApiObject
313
+ *
314
+ * @example
315
+ * ```typescript
316
+ * rutter.addStorageClass({
317
+ * name: 'fast-ssd',
318
+ * provisioner: 'kubernetes.io/aws-ebs',
319
+ * parameters: {
320
+ * type: 'gp3',
321
+ * encrypted: 'true'
322
+ * }
323
+ * });
324
+ * ```
325
+ *
326
+ * @since 1.0.0
327
+ */
328
+ addStorageClass(spec: StorageClassSpec): ApiObject;
329
+ /**
330
+ * Creates an AWS EBS StorageClass
331
+ * @param spec - EBS StorageClass specification
332
+ * @returns Created StorageClass ApiObject
333
+ *
334
+ * @example
335
+ * ```typescript
336
+ * rutter.addAWSEBSStorageClass({
337
+ * name: 'fast-ebs',
338
+ * volumeType: 'gp3',
339
+ * encrypted: true,
340
+ * allowVolumeExpansion: true
341
+ * });
342
+ * ```
343
+ *
344
+ * @since 1.0.0
345
+ */
346
+ addAWSEBSStorageClass(spec: AWSEBSStorageClassSpec): ApiObject;
347
+ /**
348
+ * Creates an AWS EFS StorageClass
349
+ * @param spec - EFS StorageClass specification
350
+ * @returns Created StorageClass ApiObject
351
+ *
352
+ * @example
353
+ * ```typescript
354
+ * rutter.addAWSEFSStorageClass({
355
+ * name: 'efs-storage',
356
+ * fileSystemId: 'fs-12345678',
357
+ * directoryPerms: '0755'
358
+ * });
359
+ * ```
360
+ *
361
+ * @since 1.0.0
362
+ */
363
+ addAWSEFSStorageClass(spec: AWSEFSStorageClassSpec): ApiObject;
364
+ /**
365
+ * Creates an AWS IRSA ServiceAccount
366
+ * @param spec - IRSA ServiceAccount specification
367
+ * @returns Created ServiceAccount ApiObject
368
+ *
369
+ * @example
370
+ * ```typescript
371
+ * rutter.addAWSIRSAServiceAccount({
372
+ * name: 'aws-service-account',
373
+ * roleArn: 'arn:aws:iam::123456789012:role/MyRole'
374
+ * });
375
+ * ```
376
+ *
377
+ * @since 1.0.0
378
+ */
379
+ addAWSIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec): ApiObject;
380
+ /**
381
+ * Creates an AWS ALB Ingress
382
+ * @param spec - ALB Ingress specification
383
+ * @returns Created Ingress ApiObject
384
+ *
385
+ * @example
386
+ * ```typescript
387
+ * rutter.addAWSALBIngress({
388
+ * name: 'web-ingress',
389
+ * rules: [{
390
+ * paths: [{
391
+ * path: '/',
392
+ * pathType: 'Prefix',
393
+ * backend: { service: { name: 'web-service', port: { number: 80 } } }
394
+ * }]
395
+ * }],
396
+ * scheme: 'internet-facing'
397
+ * });
398
+ * ```
399
+ *
400
+ * @since 1.0.0
401
+ */
402
+ addAWSALBIngress(spec: AWSALBIngressSpec): ApiObject;
403
+ /**
404
+ * Creates an Azure Disk StorageClass
405
+ * @param spec - Azure Disk StorageClass specification
406
+ * @returns Created StorageClass ApiObject
407
+ *
408
+ * @since 2.4.0
409
+ */
410
+ addAzureDiskStorageClass(spec: AzureDiskStorageClassSpec): ApiObject;
411
+ /**
412
+ * Creates an Azure File StorageClass
413
+ * @param spec - Azure File StorageClass specification
414
+ * @returns Created StorageClass ApiObject
415
+ *
416
+ * @since 2.4.0
417
+ */
418
+ addAzureFileStorageClass(spec: AzureFileStorageClassSpec): ApiObject;
419
+ /**
420
+ * Creates an Azure Application Gateway Ingress
421
+ * @param spec - AGIC Ingress specification
422
+ * @returns Created Ingress ApiObject
423
+ *
424
+ * @since 2.4.0
425
+ */
426
+ addAzureApplicationGatewayIngress(spec: AzureAGICIngressSpec): ApiObject;
427
+ /**
428
+ * Creates an Azure Key Vault SecretProviderClass
429
+ * @param spec - Azure Key Vault SecretProviderClass specification
430
+ * @returns Created SecretProviderClass ApiObject
431
+ *
432
+ * @since 2.4.0
433
+ */
434
+ addAzureKeyVaultSecretProviderClass(spec: AzureKeyVaultSecretProviderClassSpec): ApiObject;
435
+ /**
436
+ * Creates an Azure Container Registry ServiceAccount
437
+ * @param spec - Azure ACR ServiceAccount specification
438
+ * @returns Created ServiceAccount ApiObject
439
+ *
440
+ * @since 2.4.0
441
+ */
442
+ addAzureACRServiceAccount(spec: AzureACRServiceAccountSpec): ApiObject;
443
+ /**
444
+ * Creates a GCP Persistent Disk StorageClass
445
+ * @param spec - GCP PD StorageClass specification
446
+ * @returns Created StorageClass ApiObject
447
+ *
448
+ * @since 2.4.0
449
+ */
450
+ addGCPPersistentDiskStorageClass(spec: GCPPersistentDiskStorageClassSpec): ApiObject;
451
+ /**
452
+ * Creates a GCP Filestore StorageClass
453
+ * @param spec - GCP Filestore StorageClass specification
454
+ * @returns Created StorageClass ApiObject
455
+ *
456
+ * @since 2.4.0
457
+ */
458
+ addGCPFilestoreStorageClass(spec: GCPFilestoreStorageClassSpec): ApiObject;
459
+ /**
460
+ * Creates a GCE Ingress with Google Cloud Load Balancer
461
+ * @param spec - GCE Ingress specification
462
+ * @returns Created Ingress ApiObject
463
+ *
464
+ * @since 2.4.0
465
+ */
466
+ addGCPGCEIngress(spec: GCPGCEIngressSpec): ApiObject;
467
+ /**
468
+ * Creates a ServiceAccount with Workload Identity annotations
469
+ * @param spec - Workload Identity ServiceAccount specification
470
+ * @returns Created ServiceAccount ApiObject
471
+ *
472
+ * @since 2.4.0
473
+ */
474
+ addGCPWorkloadIdentityServiceAccount(spec: GCPWorkloadIdentityServiceAccountSpec): ApiObject;
475
+ /**
476
+ * Adds a custom resource definition (CRD) YAML
477
+ * @param yaml - CRD YAML content
478
+ * @param id - Unique identifier for the CRD
479
+ *
480
+ * @since 1.0.0
481
+ */
482
+ addCrd(yaml: string, id?: string): void;
483
+ /**
484
+ * Gets chart metadata
485
+ * @returns Chart metadata
486
+ *
487
+ * @since 1.0.0
488
+ */
489
+ getMeta(): ChartMetadata;
490
+ /**
491
+ * Gets default values
492
+ * @returns Default values object
493
+ *
494
+ * @since 1.0.0
495
+ */
496
+ getDefaultValues(): Record<string, unknown>;
497
+ /**
498
+ * Gets environment-specific values
499
+ * @returns Environment values object
500
+ *
501
+ * @since 1.0.0
502
+ */
503
+ getEnvValues(): Record<string, Record<string, unknown>>;
504
+ /**
505
+ * Gets all assets (CRDs, etc.)
506
+ * @returns Array of assets
507
+ *
508
+ * @since 1.0.0
509
+ */
510
+ getAssets(): Array<{
511
+ id: string;
512
+ yaml: string;
513
+ target: string;
514
+ }>;
515
+ /**
516
+ * Converts the chart to SynthAsset array for HelmChartWriter
517
+ * @returns Array of synthesized assets
518
+ *
519
+ * @since 2.4.0
520
+ */
521
+ private toSynthArray;
522
+ /**
523
+ * Writes the Helm chart to the specified output directory
524
+ * @param outDir - Output directory path
525
+ *
526
+ * @since 1.0.0
527
+ */
528
+ write(outDir: string): void;
529
+ }
530
+ export interface ChartMetadata {
531
+ name: string;
532
+ version: string;
533
+ description?: string;
534
+ keywords?: string[];
535
+ home?: string;
536
+ sources?: string[];
537
+ maintainers?: Array<{
538
+ name: string;
539
+ email?: string;
540
+ url?: string;
541
+ }>;
542
+ }
543
+ export interface RutterProps {
544
+ scope?: Construct;
545
+ meta: ChartMetadata;
546
+ defaultValues?: Record<string, unknown>;
547
+ envValues?: Record<string, Record<string, unknown>>;
548
+ namespace?: string;
549
+ chartProps?: ChartProps;
550
+ }
551
+ export type { DeploymentSpec, ServiceSpec, ConfigMapSpec, SecretSpec, ServiceAccountSpec, } from './resources/core/coreResources.js';
552
+ export type { PersistentVolumeSpec, PersistentVolumeClaimSpec, StorageClassSpec, } from './resources/core/storageResources.js';
553
+ export type { AWSEBSStorageClassSpec, AWSEFSStorageClassSpec, AWSIRSAServiceAccountSpec, AWSALBIngressSpec, } from './resources/cloud/aws/awsResources.js';
554
+ //# sourceMappingURL=rutter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rutter.d.ts","sourceRoot":"","sources":["../../src/lib/rutter.ts"],"names":[],"mappings":"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"}