timonel 2.8.0-beta.5 → 2.8.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 (128) hide show
  1. package/CHANGELOG.md +11 -21
  2. package/README.md +12 -55
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/{src/cli.js → cli.js} +115 -82
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +14 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +13 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/{src/lib → lib}/helm.d.ts +234 -4
  11. package/dist/lib/helm.d.ts.map +1 -0
  12. package/dist/{src/lib → lib}/helm.js +309 -20
  13. package/dist/lib/helm.js.map +1 -0
  14. package/dist/lib/helmChartWriter.d.ts.map +1 -0
  15. package/dist/{src/lib → lib}/helmChartWriter.js +5 -19
  16. package/dist/lib/helmChartWriter.js.map +1 -0
  17. package/dist/{src/lib → lib}/resources/baseResourceProvider.d.ts +1 -1
  18. package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -0
  19. package/dist/lib/resources/baseResourceProvider.js.map +1 -0
  20. package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.d.ts +5 -14
  21. package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -0
  22. package/dist/{src/lib → lib}/resources/cloud/aws/awsResources.js +63 -78
  23. package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -0
  24. package/dist/lib/resources/cloud/aws/karpenterResources.d.ts.map +1 -0
  25. package/dist/lib/resources/cloud/aws/karpenterResources.js.map +1 -0
  26. package/dist/lib/rutter.d.ts +445 -0
  27. package/dist/lib/rutter.d.ts.map +1 -0
  28. package/dist/lib/rutter.js +585 -0
  29. package/dist/lib/rutter.js.map +1 -0
  30. package/dist/{src/lib → lib}/security.d.ts +2 -72
  31. package/dist/lib/security.d.ts.map +1 -0
  32. package/dist/lib/security.js +390 -0
  33. package/dist/lib/security.js.map +1 -0
  34. package/dist/lib/umbrella.d.ts.map +1 -0
  35. package/dist/lib/umbrella.js.map +1 -0
  36. package/dist/{src/lib → lib}/umbrellaRutter.d.ts +1 -1
  37. package/dist/lib/umbrellaRutter.d.ts.map +1 -0
  38. package/dist/lib/umbrellaRutter.js.map +1 -0
  39. package/dist/{src/lib → lib}/utils/helmHelpers.d.ts +2 -12
  40. package/dist/lib/utils/helmHelpers.d.ts.map +1 -0
  41. package/dist/{src/lib → lib}/utils/helmHelpers.js +2 -46
  42. package/dist/lib/utils/helmHelpers.js.map +1 -0
  43. package/package.json +3 -4
  44. package/dist/src/cli.d.ts.map +0 -1
  45. package/dist/src/cli.js.map +0 -1
  46. package/dist/src/index.d.ts +0 -23
  47. package/dist/src/index.d.ts.map +0 -1
  48. package/dist/src/index.js +0 -15
  49. package/dist/src/index.js.map +0 -1
  50. package/dist/src/lib/constants.d.ts +0 -142
  51. package/dist/src/lib/constants.d.ts.map +0 -1
  52. package/dist/src/lib/constants.js +0 -167
  53. package/dist/src/lib/constants.js.map +0 -1
  54. package/dist/src/lib/helm.d.ts.map +0 -1
  55. package/dist/src/lib/helm.js.map +0 -1
  56. package/dist/src/lib/helmChartWriter.d.ts.map +0 -1
  57. package/dist/src/lib/helmChartWriter.js.map +0 -1
  58. package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts +0 -248
  59. package/dist/src/lib/resources/autoscaling/autoscalingResources.d.ts.map +0 -1
  60. package/dist/src/lib/resources/autoscaling/autoscalingResources.js +0 -81
  61. package/dist/src/lib/resources/autoscaling/autoscalingResources.js.map +0 -1
  62. package/dist/src/lib/resources/baseResourceProvider.d.ts.map +0 -1
  63. package/dist/src/lib/resources/baseResourceProvider.js.map +0 -1
  64. package/dist/src/lib/resources/cloud/aws/awsResources.d.ts.map +0 -1
  65. package/dist/src/lib/resources/cloud/aws/awsResources.js.map +0 -1
  66. package/dist/src/lib/resources/cloud/aws/karpenterResources.d.ts.map +0 -1
  67. package/dist/src/lib/resources/cloud/aws/karpenterResources.js.map +0 -1
  68. package/dist/src/lib/resources/cloud/azure/azureResources.d.ts +0 -169
  69. package/dist/src/lib/resources/cloud/azure/azureResources.d.ts.map +0 -1
  70. package/dist/src/lib/resources/cloud/azure/azureResources.js +0 -218
  71. package/dist/src/lib/resources/cloud/azure/azureResources.js.map +0 -1
  72. package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts +0 -164
  73. package/dist/src/lib/resources/cloud/gcp/gcpResources.d.ts.map +0 -1
  74. package/dist/src/lib/resources/cloud/gcp/gcpResources.js +0 -192
  75. package/dist/src/lib/resources/cloud/gcp/gcpResources.js.map +0 -1
  76. package/dist/src/lib/resources/core/coreResources.d.ts +0 -790
  77. package/dist/src/lib/resources/core/coreResources.d.ts.map +0 -1
  78. package/dist/src/lib/resources/core/coreResources.js +0 -1115
  79. package/dist/src/lib/resources/core/coreResources.js.map +0 -1
  80. package/dist/src/lib/resources/core/storageResources.d.ts +0 -133
  81. package/dist/src/lib/resources/core/storageResources.d.ts.map +0 -1
  82. package/dist/src/lib/resources/core/storageResources.js +0 -120
  83. package/dist/src/lib/resources/core/storageResources.js.map +0 -1
  84. package/dist/src/lib/resources/network/networkResources.d.ts +0 -515
  85. package/dist/src/lib/resources/network/networkResources.d.ts.map +0 -1
  86. package/dist/src/lib/resources/network/networkResources.js +0 -784
  87. package/dist/src/lib/resources/network/networkResources.js.map +0 -1
  88. package/dist/src/lib/resources/security/encryption.d.ts +0 -290
  89. package/dist/src/lib/resources/security/encryption.d.ts.map +0 -1
  90. package/dist/src/lib/resources/security/encryption.js +0 -295
  91. package/dist/src/lib/resources/security/encryption.js.map +0 -1
  92. package/dist/src/lib/resources/security/index.d.ts +0 -6
  93. package/dist/src/lib/resources/security/index.d.ts.map +0 -1
  94. package/dist/src/lib/resources/security/index.js +0 -6
  95. package/dist/src/lib/resources/security/index.js.map +0 -1
  96. package/dist/src/lib/resources/validation/validationResources.d.ts +0 -26
  97. package/dist/src/lib/resources/validation/validationResources.d.ts.map +0 -1
  98. package/dist/src/lib/resources/validation/validationResources.js +0 -33
  99. package/dist/src/lib/resources/validation/validationResources.js.map +0 -1
  100. package/dist/src/lib/rutter.d.ts +0 -1106
  101. package/dist/src/lib/rutter.d.ts.map +0 -1
  102. package/dist/src/lib/rutter.js +0 -1295
  103. package/dist/src/lib/rutter.js.map +0 -1
  104. package/dist/src/lib/security.d.ts.map +0 -1
  105. package/dist/src/lib/security.js +0 -569
  106. package/dist/src/lib/security.js.map +0 -1
  107. package/dist/src/lib/umbrella.d.ts.map +0 -1
  108. package/dist/src/lib/umbrella.js.map +0 -1
  109. package/dist/src/lib/umbrellaRutter.d.ts.map +0 -1
  110. package/dist/src/lib/umbrellaRutter.js.map +0 -1
  111. package/dist/src/lib/utils/helmHelpers.d.ts.map +0 -1
  112. package/dist/src/lib/utils/helmHelpers.js.map +0 -1
  113. package/dist/src/lib/utils/podTemplates.d.ts +0 -192
  114. package/dist/src/lib/utils/podTemplates.d.ts.map +0 -1
  115. package/dist/src/lib/utils/podTemplates.js +0 -331
  116. package/dist/src/lib/utils/podTemplates.js.map +0 -1
  117. package/dist/src/lib/utils/resourceNaming.d.ts +0 -57
  118. package/dist/src/lib/utils/resourceNaming.d.ts.map +0 -1
  119. package/dist/src/lib/utils/resourceNaming.js +0 -82
  120. package/dist/src/lib/utils/resourceNaming.js.map +0 -1
  121. /package/dist/{src/cli.d.ts → cli.d.ts} +0 -0
  122. /package/dist/{src/lib → lib}/helmChartWriter.d.ts +0 -0
  123. /package/dist/{src/lib → lib}/resources/baseResourceProvider.js +0 -0
  124. /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.d.ts +0 -0
  125. /package/dist/{src/lib → lib}/resources/cloud/aws/karpenterResources.js +0 -0
  126. /package/dist/{src/lib → lib}/umbrella.d.ts +0 -0
  127. /package/dist/{src/lib → lib}/umbrella.js +0 -0
  128. /package/dist/{src/lib → lib}/umbrellaRutter.js +0 -0
@@ -1,4 +1,4 @@
1
- import { ApiObject } from 'cdk8s';
1
+ import * as kplus from 'cdk8s-plus-33';
2
2
  import { BaseResourceProvider } from '../../baseResourceProvider.js';
3
3
  /**
4
4
  * AWS-specific Kubernetes resources provider
@@ -100,19 +100,21 @@ export class AWSResources extends BaseResourceProvider {
100
100
  'eks.amazonaws.com/role-arn': spec.roleArn,
101
101
  ...(spec.annotations ?? {}),
102
102
  };
103
- return new ApiObject(this.chart, spec.name, {
104
- apiVersion: AWSResources.CORE_API_VERSION,
105
- kind: 'ServiceAccount',
103
+ const serviceAccount = new kplus.ServiceAccount(this.chart, spec.name, {
106
104
  metadata: {
107
105
  name: spec.name,
108
106
  annotations,
109
- ...(spec.labels ? { labels: spec.labels } : {}),
107
+ labels: spec.labels ?? {},
110
108
  },
111
- ...(spec.automountServiceAccountToken !== undefined
112
- ? { automountServiceAccountToken: spec.automountServiceAccountToken }
113
- : {}),
114
- ...(spec.imagePullSecrets ? { imagePullSecrets: spec.imagePullSecrets } : {}),
109
+ automountToken: spec.automountServiceAccountToken ?? true,
115
110
  });
111
+ // Add image pull secrets if specified
112
+ if (spec.imagePullSecrets) {
113
+ spec.imagePullSecrets.forEach((secret) => {
114
+ serviceAccount.addSecret(kplus.Secret.fromSecretName(this.chart, `${spec.name}-secret-${secret.name}`, secret.name));
115
+ });
116
+ }
117
+ return serviceAccount;
116
118
  }
117
119
  /**
118
120
  * Creates an AWS ALB Ingress
@@ -140,20 +142,42 @@ export class AWSResources extends BaseResourceProvider {
140
142
  // Validate ingress paths format
141
143
  this.validateIngressPaths(spec.rules);
142
144
  const annotations = this.buildALBAnnotations(spec);
143
- // Transform rules to correct networking.k8s.io/v1 format with http wrapper
144
- const transformedRules = spec.rules.map((rule) => ({
145
- ...(rule.host ? { host: rule.host } : {}),
146
- http: {
147
- paths: rule.paths,
145
+ const ingress = new kplus.Ingress(this.chart, spec.name, {
146
+ metadata: {
147
+ name: spec.name,
148
+ annotations,
149
+ labels: spec.labels ?? {},
148
150
  },
149
- }));
150
- const ingressSpec = {
151
- // Use ingressClassName instead of deprecated annotation
152
- ingressClassName: spec.ingressClassName ?? 'alb',
153
- rules: transformedRules,
154
- ...(spec.tls ? { tls: spec.tls } : {}),
155
- };
156
- return this.createApiObject(spec.name, AWSResources.NETWORKING_API_VERSION, 'Ingress', ingressSpec, spec.labels, annotations);
151
+ className: spec.ingressClassName ?? 'alb',
152
+ });
153
+ // Add rules to the ingress
154
+ spec.rules.forEach((rule) => {
155
+ rule.paths.forEach((path) => {
156
+ // Create a service reference for the backend - we need to create a Service instance that references the existing service
157
+ const service = new kplus.Service(this.chart, `${spec.name}-service-ref-${path.backend.service.name}`, {
158
+ // This creates a reference to an existing service by name
159
+ // The service should already exist in the cluster
160
+ });
161
+ const backend = kplus.IngressBackend.fromService(service, {
162
+ port: path.backend.service.port.number || parseInt(path.backend.service.port.name || '80'),
163
+ });
164
+ ingress.addRule(path.path, backend, path.pathType);
165
+ });
166
+ });
167
+ // Add TLS configuration if specified
168
+ if (spec.tls) {
169
+ spec.tls.forEach((tlsConfig) => {
170
+ if (tlsConfig.secretName && tlsConfig.hosts) {
171
+ const secret = kplus.Secret.fromSecretName(this.chart, `${spec.name}-tls-secret-${tlsConfig.secretName}`, tlsConfig.secretName);
172
+ const tlsConfigObj = {
173
+ hosts: tlsConfig.hosts,
174
+ secret: secret,
175
+ };
176
+ ingress.addTls([tlsConfigObj]);
177
+ }
178
+ });
179
+ }
180
+ return ingress;
157
181
  }
158
182
  /**
159
183
  * Validates Ingress paths format according to Kubernetes specification
@@ -276,7 +300,10 @@ export class AWSResources extends BaseResourceProvider {
276
300
  if (roleArn.includes('{{') && roleArn.includes('}}')) {
277
301
  return;
278
302
  }
279
- this.validateAwsArn(roleArn, 'IAM Role');
303
+ const arnRegex = /^arn:aws:iam::\d{12}:role\/[\w+=,.@-]+$/;
304
+ if (!arnRegex.test(roleArn)) {
305
+ throw new Error(`Invalid AWS IAM Role ARN format: ${roleArn}`);
306
+ }
280
307
  }
281
308
  /**
282
309
  * Builds ALB-specific annotations
@@ -322,68 +349,26 @@ export class AWSResources extends BaseResourceProvider {
322
349
  * @since 2.7.0
323
350
  */
324
351
  addECRServiceAccount(spec) {
325
- this.validateRoleArn(spec.roleArn);
326
352
  const annotations = {
327
353
  'eks.amazonaws.com/role-arn': spec.roleArn,
328
354
  ...(spec.annotations || {}),
329
355
  };
330
- const serviceAccountSpec = {};
331
- if (spec.automountServiceAccountToken !== undefined) {
332
- serviceAccountSpec['automountServiceAccountToken'] = spec.automountServiceAccountToken;
333
- }
356
+ const serviceAccount = new kplus.ServiceAccount(this.chart, spec.name, {
357
+ metadata: {
358
+ name: spec.name,
359
+ annotations,
360
+ labels: spec.labels ?? {},
361
+ },
362
+ automountToken: spec.automountServiceAccountToken ?? true,
363
+ });
364
+ // Add image pull secrets if specified
334
365
  if (spec.imagePullSecrets) {
335
- serviceAccountSpec['imagePullSecrets'] = spec.imagePullSecrets;
336
- }
337
- return this.createApiObject(spec.name, AWSResources.CORE_API_VERSION, 'ServiceAccount', serviceAccountSpec, spec.labels, annotations);
338
- }
339
- /**
340
- * Validates AWS ARN format for service account roles
341
- * @param arn - ARN to validate
342
- * @param context - Context for error messages
343
- * @throws Error if ARN format is invalid
344
- * @since 2.9.0
345
- */
346
- validateAwsArn(arn, context) {
347
- if (!arn || typeof arn !== 'string') {
348
- throw new Error(`Invalid ARN for ${context}: ARN must be a non-empty string`);
349
- }
350
- // AWS ARN format: arn:partition:service:region:account-id:resource
351
- const arnPattern = /^arn:(aws|aws-us-gov|aws-cn):([a-z0-9-]+):([a-z0-9-]*):([0-9]{12}):(.+)$/;
352
- if (!arnPattern.test(arn)) {
353
- throw new Error(`Invalid AWS ARN format for ${context}: ${arn}. ` +
354
- `Expected format: arn:partition:service:region:account-id:resource`);
355
- }
356
- const match = arn.match(arnPattern);
357
- if (!match) {
358
- throw new Error(`Invalid AWS ARN format for ${context}: ${arn}. ` +
359
- `Expected format: arn:partition:service:region:account-id:resource`);
360
- }
361
- const [, partition, service, , accountId, resource] = match;
362
- // Ensure all required parts are present
363
- if (!partition || !service || !accountId || !resource) {
364
- throw new Error(`Incomplete AWS ARN format for ${context}: ${arn}. ` + `Missing required components.`);
365
- }
366
- // Validate IAM role ARN specifically
367
- if (service === 'iam') {
368
- const iamRolePattern = /^(role|user|group|policy|server-certificate|instance-profile)\/[A-Za-z0-9+=,.@\-_/]+$/;
369
- if (!iamRolePattern.test(resource)) {
370
- throw new Error(`Invalid IAM resource format for ${context}: ${resource}. ` +
371
- `Expected format: type/name (e.g., role/MyRole)`);
372
- }
373
- }
374
- // Validate account ID format
375
- if (!/^[0-9]{12}$/.test(accountId)) {
376
- throw new Error(`Invalid AWS account ID for ${context}: ${accountId}. ` +
377
- `Account ID must be exactly 12 digits`);
378
- }
379
- // Validate partition
380
- if (!['aws', 'aws-us-gov', 'aws-cn'].includes(partition)) {
381
- console.warn(`⚠️ WARNING: Unusual AWS partition '${partition}' in ARN for ${context}. ` +
382
- `Expected: aws, aws-us-gov, or aws-cn`);
366
+ spec.imagePullSecrets.forEach((secret) => {
367
+ serviceAccount.addSecret(kplus.Secret.fromSecretName(this.chart, `${spec.name}-ecr-secret-${secret.name}`, secret.name));
368
+ });
383
369
  }
370
+ return serviceAccount;
384
371
  }
385
372
  }
386
373
  AWSResources.STORAGE_API_VERSION = 'storage.k8s.io/v1';
387
- AWSResources.CORE_API_VERSION = 'v1';
388
- AWSResources.NETWORKING_API_VERSION = 'networking.k8s.io/v1';
389
374
  //# sourceMappingURL=awsResources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awsResources.js","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/aws/awsResources.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,oBAAoB;IAGpD;;;;;;;;;;;;;;;;OAgBG;IACH,kBAAkB,CAAC,IAA4B;QAC7C,MAAM,UAAU,GAA2B;YACzC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YAC9B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;QAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACtC,MAAM,MAAM,GAAG;YACb,WAAW;YACX,UAAU;YACV,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ;YAC7C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,IAAI,IAAI;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,sBAAsB;SACpE,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,+BAA+B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,IAAI,EACT,YAAY,CAAC,mBAAmB,EAChC,cAAc,EACd,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,IAA4B;QAC7C,MAAM,UAAU,GAA2B;YACzC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACtC,MAAM,MAAM,GAAG;YACb,WAAW;YACX,UAAU;YACV,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,WAAW;SACzD,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,+BAA+B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC,wBAAwB,CAClC,IAAI,CAAC,IAAI,EACT,YAAY,CAAC,mBAAmB,EAChC,cAAc,EACd,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,IAA+B;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,WAAW,GAA2B;YAC1C,4BAA4B,EAAE,IAAI,CAAC,OAAO;YAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YACrE,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;aAC1B;YACD,cAAc,EAAE,IAAI,CAAC,4BAA4B,IAAI,IAAI;SAC1D,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,cAAc,CAAC,SAAS,CACtB,KAAK,CAAC,MAAM,CAAC,cAAc,CACzB,IAAI,CAAC,KAAK,EACV,GAAG,IAAI,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,EAAE,EACpC,MAAM,CAAC,IAAI,CACZ,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,IAAuB;QACnC,gCAAgC;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;aAC1B;YACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;SAC1C,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,yHAAyH;gBACzH,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAC/B,IAAI,CAAC,KAAK,EACV,GAAG,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EACvD;gBACE,0DAA0D;gBAC1D,kDAAkD;iBACnD,CACF,CAAC;gBAEF,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE;oBACxD,IAAI,EACF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;iBACvF,CAAC,CAAC;gBAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAqC,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC7B,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CACxC,IAAI,CAAC,KAAK,EACV,GAAG,IAAI,CAAC,IAAI,eAAe,SAAS,CAAC,UAAU,EAAE,EACjD,SAAS,CAAC,UAAU,CACrB,CAAC;oBACF,MAAM,YAAY,GAAqB;wBACrC,KAAK,EAAE,SAAS,CAAC,KAAK;wBACtB,MAAM,EAAE,MAAM;qBACf,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAC1B,KASE;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,IAS3B;QACC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,QAM3B;QACC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,IAAY;QACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,kDAAkD;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QAED,qFAAqF;QACrF,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,4EAA4E;YAC5E,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,0CAA0C,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,QAAgB;QACvC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,sBAAsB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAEvB;QACC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QAED,IACE,IAAI,CAAC,MAAM;YACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAC3E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,+BAA+B,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,+BAA+B,CAAC,WAAmB,EAAE,WAAmB;QAC9E,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,6CAA6C,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,iBAAiB,GAAG;YACxB,GAAG,EAAE,iBAAiB;YACtB,GAAG,EAAE,iBAAiB;SACvB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,WAA6C,CAAC,CAAC;QAC7F,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,WAAW,KAAK,mBAAmB,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,iBAAiB,WAAW,eAAe,mBAAmB,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,OAAe;QACrC,2CAA2C;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,yCAAyC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,IAAuB;QACjD,MAAM,WAAW,GAA2B;YAC1C,2DAA2D;YAC3D,oCAAoC;YACpC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,CAAC,kCAAkC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,WAAW,CAAC,uCAAuC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,WAAW,CAAC,2CAA2C,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACjF,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,WAAW,CAAC,wCAAwC,CAAC,GAAG,KAAK,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,CAAC,4CAA4C,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QACnF,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,IAA8B;QACjD,MAAM,WAAW,GAAG;YAClB,4BAA4B,EAAE,IAAI,CAAC,OAAO;YAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;SAC5B,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YACrE,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;aAC1B;YACD,cAAc,EAAE,IAAI,CAAC,4BAA4B,IAAI,IAAI;SAC1D,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvC,cAAc,CAAC,SAAS,CACtB,KAAK,CAAC,MAAM,CAAC,cAAc,CACzB,IAAI,CAAC,KAAK,EACV,GAAG,IAAI,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,EAAE,EACxC,MAAM,CAAC,IAAI,CACZ,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;;AAheuB,gCAAmB,GAAG,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"karpenterResources.d.ts","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/aws/karpenterResources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"karpenterResources.js","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/aws/karpenterResources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAChC;;;OAGG;IACH,MAAM,CAAC,uBAAuB;QAC5B,4EAA4E;QAC5E,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,sBAAsB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACrF,CAAC;CACF;AAeD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAiC;IACvE,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,wDAAwD;IACxD,MAAM,eAAe,GAAG,yBAAyB,CAAC;IAClD,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAkLtD;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,oBAAoB;IAC1D;;;;;OAKG;IACH,oBAAoB,CAAC,IAA2B;QAC9C,MAAM,YAAY,GAA4B;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,CAAC,IAAI,EACT,qBAAqB,CAAC,qBAAqB,EAAE,EAC7C,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAA4B;QAChD,MAAM,aAAa,GAA4B;YAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,CAAC,IAAI,EACT,qBAAqB,CAAC,sBAAsB,EAAE,EAC9C,WAAW,EACX,aAAa,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,IAA+B;QACtD,MAAM,aAAa,GAA4B,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAClE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,aAAa,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAClE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,aAAa,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAClE,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,CAAC,IAAI,EACT,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,IAgBlC;QACC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC9C,CAAC;QAED,MAAM,YAAY,GAA4B;YAC5C,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACnD,CAAC;QAED,MAAM,cAAc,GAA4B;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;aACnB;YACD,UAAU;SACX,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAkD,CAAC,CAAC;IACvF,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,IAuBlC;QACC,MAAM,YAAY,GAA4B;YAC5C,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,sBAAsB,gEAAgE,CACvI,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,wBAAwB,CAAC,GAAG,gCAAgC,CAAC;QAC5E,CAAC;QAED,MAAM,cAAc,GAA4B;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE;gBACR,IAAI,EAAE,YAAY;aACnB;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAkD,CAAC,CAAC;IACvF,CAAC;CACF"}
@@ -0,0 +1,445 @@
1
+ import { ApiObject } from 'cdk8s';
2
+ import type { ChartProps } from 'cdk8s';
3
+ import type { Construct } from 'constructs';
4
+ import type { ServiceAccount, Ingress } from 'cdk8s-plus-33';
5
+ import type { AWSALBIngressSpec, AWSEBSStorageClassSpec, AWSECRServiceAccountSpec, AWSEFSStorageClassSpec, AWSIRSAServiceAccountSpec } from './resources/cloud/aws/awsResources.js';
6
+ import type { KarpenterEC2NodeClassSpec, KarpenterNodeClaimSpec, KarpenterNodePoolSpec } from './resources/cloud/aws/karpenterResources.js';
7
+ import type { HelperDefinition } from './utils/helmHelpers.js';
8
+ /**
9
+ * Rutter class with modular architecture
10
+ * Provides a clean API while delegating to specialized resource providers
11
+ * Maintains full backward compatibility with the original Rutter class
12
+ *
13
+ * @since 2.4.0
14
+ */
15
+ export declare class Rutter {
16
+ private static readonly HELPER_NAME;
17
+ private readonly app;
18
+ private readonly chart;
19
+ private readonly awsResources;
20
+ private readonly karpenterResources;
21
+ private readonly meta;
22
+ private readonly defaultValues;
23
+ private readonly envValues;
24
+ private readonly props;
25
+ private readonly assets;
26
+ constructor(props: RutterProps);
27
+ /**
28
+ * Creates an AWS EBS StorageClass
29
+ * @param spec - EBS StorageClass specification
30
+ * @returns Created StorageClass ApiObject
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * rutter.addAWSEBSStorageClass({
35
+ * name: 'fast-ebs',
36
+ * volumeType: 'gp3',
37
+ * encrypted: true,
38
+ * allowVolumeExpansion: true
39
+ * });
40
+ * ```
41
+ *
42
+ * @since 1.0.0
43
+ */
44
+ addAWSEBSStorageClass(spec: AWSEBSStorageClassSpec): ApiObject;
45
+ /**
46
+ * Creates an AWS EFS StorageClass
47
+ * @param spec - EFS StorageClass specification
48
+ * @returns Created StorageClass ApiObject
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * rutter.addAWSEFSStorageClass({
53
+ * name: 'efs-storage',
54
+ * fileSystemId: 'fs-12345678',
55
+ * directoryPerms: '0755'
56
+ * });
57
+ * ```
58
+ *
59
+ * @since 1.0.0
60
+ */
61
+ addAWSEFSStorageClass(spec: AWSEFSStorageClassSpec): ApiObject;
62
+ /**
63
+ * Creates an AWS IRSA ServiceAccount
64
+ * @param spec - IRSA ServiceAccount specification
65
+ * @returns Created ServiceAccount ApiObject
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * rutter.addAWSIRSAServiceAccount({
70
+ * name: 'my-service-account',
71
+ * roleArn: 'arn:aws:iam::ACCOUNT_ID:role/MyRole'
72
+ * });
73
+ * ```
74
+ *
75
+ * @since 1.0.0
76
+ */
77
+ addAWSIRSAServiceAccount(spec: AWSIRSAServiceAccountSpec): ServiceAccount;
78
+ /**
79
+ * Creates an AWS ALB Ingress
80
+ * @param spec - ALB Ingress specification
81
+ * @returns Created Ingress ApiObject
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * rutter.addAWSALBIngress({
86
+ * name: 'web-ingress',
87
+ * rules: [{
88
+ * paths: [{
89
+ * path: '/',
90
+ * pathType: 'Prefix',
91
+ * backend: { service: { name: 'web-service', port: { number: 80 } } }
92
+ * }]
93
+ * }],
94
+ * scheme: 'internet-facing'
95
+ * });
96
+ * ```
97
+ *
98
+ * @since 1.0.0
99
+ */
100
+ addAWSALBIngress(spec: AWSALBIngressSpec): Ingress;
101
+ /**
102
+ * Creates a Karpenter NodePool resource
103
+ * @param spec - NodePool specification
104
+ * @returns Created NodePool ApiObject
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * rutter.addKarpenterNodePool({
109
+ * name: 'default-nodepool',
110
+ * template: {
111
+ * spec: {
112
+ * nodeClassRef: {
113
+ * apiVersion: 'karpenter.k8s.aws/v1beta1',
114
+ * kind: 'EC2NodeClass',
115
+ * name: 'default'
116
+ * }
117
+ * }
118
+ * }
119
+ * });
120
+ * ```
121
+ *
122
+ * @since 2.7.0
123
+ */
124
+ addKarpenterNodePool(spec: KarpenterNodePoolSpec): ApiObject;
125
+ /**
126
+ * Creates a Karpenter NodeClaim resource
127
+ * @param spec - NodeClaim specification
128
+ * @returns Created NodeClaim ApiObject
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * rutter.addKarpenterNodeClaim({
133
+ * name: 'my-node-claim',
134
+ * nodeClassRef: {
135
+ * apiVersion: 'karpenter.k8s.aws/v1beta1',
136
+ * kind: 'EC2NodeClass',
137
+ * name: 'default'
138
+ * }
139
+ * });
140
+ * ```
141
+ *
142
+ * @since 2.7.0
143
+ */
144
+ addKarpenterNodeClaim(spec: KarpenterNodeClaimSpec): ApiObject;
145
+ /**
146
+ * Creates a Karpenter EC2NodeClass resource
147
+ * @param spec - EC2NodeClass specification
148
+ * @returns Created EC2NodeClass ApiObject
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * rutter.addKarpenterEC2NodeClass({
153
+ * name: 'default',
154
+ * amiFamily: 'AL2',
155
+ * subnetSelectorTerms: [{ tags: { 'karpenter.sh/discovery': 'my-cluster' } }],
156
+ * securityGroupSelectorTerms: [{ tags: { 'karpenter.sh/discovery': 'my-cluster' } }]
157
+ * });
158
+ * ```
159
+ *
160
+ * @since 2.7.0
161
+ */
162
+ addKarpenterEC2NodeClass(spec: KarpenterEC2NodeClassSpec): ApiObject;
163
+ /**
164
+ * Creates a Karpenter NodePool with optimized disruption settings for cost efficiency
165
+ * @param spec - NodePool specification with disruption optimization
166
+ * @returns Created NodePool ApiObject
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * rutter.addKarpenterNodePoolWithDisruption({
171
+ * name: 'cost-optimized',
172
+ * nodeClassRef: {
173
+ * apiVersion: 'karpenter.k8s.aws/v1beta1',
174
+ * kind: 'EC2NodeClass',
175
+ * name: 'default'
176
+ * },
177
+ * consolidationPolicy: 'WhenEmptyOrUnderutilized',
178
+ * consolidateAfter: '30s',
179
+ * expireAfter: '24h',
180
+ * disruptionBudgets: [
181
+ * { nodes: '20%' },
182
+ * { nodes: '0', schedule: '0 9 * * 1-5', duration: '8h' }
183
+ * ]
184
+ * });
185
+ * ```
186
+ *
187
+ * @since 2.7.1
188
+ */
189
+ addKarpenterNodePoolWithDisruption(spec: {
190
+ name: string;
191
+ nodeClassRef: {
192
+ apiVersion: string;
193
+ kind: string;
194
+ name: string;
195
+ };
196
+ requirements?: Array<{
197
+ key: string;
198
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist' | 'Gt' | 'Lt';
199
+ values?: string[];
200
+ }>;
201
+ consolidationPolicy?: 'WhenEmpty' | 'WhenEmptyOrUnderutilized';
202
+ consolidateAfter?: string;
203
+ expireAfter?: string;
204
+ disruptionBudgets?: Array<{
205
+ nodes: string;
206
+ schedule?: string;
207
+ duration?: string;
208
+ }>;
209
+ limits?: Record<string, string>;
210
+ weight?: number;
211
+ labels?: Record<string, string>;
212
+ annotations?: Record<string, string>;
213
+ }): ApiObject;
214
+ /**
215
+ * Creates a Karpenter NodePool with scheduling constraints and priorities
216
+ * @param spec - NodePool specification with scheduling optimization
217
+ * @returns Created NodePool ApiObject
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * rutter.addKarpenterNodePoolWithScheduling({
222
+ * name: 'gpu-workloads',
223
+ * nodeClassRef: {
224
+ * apiVersion: 'karpenter.k8s.aws/v1beta1',
225
+ * kind: 'EC2NodeClass',
226
+ * name: 'gpu-nodeclass'
227
+ * },
228
+ * requirements: [
229
+ * { key: 'node.kubernetes.io/instance-type', operator: 'In', values: ['g4dn.xlarge', 'g4dn.2xlarge'] }
230
+ * ],
231
+ * taints: [
232
+ * { key: 'nvidia.com/gpu', effect: 'NoSchedule' }
233
+ * ],
234
+ * terminationGracePeriod: '60s',
235
+ * weight: 100
236
+ * });
237
+ * ```
238
+ *
239
+ * @since 2.7.1
240
+ */
241
+ addKarpenterNodePoolWithScheduling(spec: {
242
+ name: string;
243
+ nodeClassRef: {
244
+ apiVersion: string;
245
+ kind: string;
246
+ name: string;
247
+ };
248
+ requirements?: Array<{
249
+ key: string;
250
+ operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist' | 'Gt' | 'Lt';
251
+ values?: string[];
252
+ }>;
253
+ taints?: Array<{
254
+ key: string;
255
+ value?: string;
256
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
257
+ }>;
258
+ startupTaints?: Array<{
259
+ key: string;
260
+ value?: string;
261
+ effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
262
+ }>;
263
+ terminationGracePeriod?: string;
264
+ weight?: number;
265
+ limits?: Record<string, string>;
266
+ labels?: Record<string, string>;
267
+ annotations?: Record<string, string>;
268
+ }): ApiObject;
269
+ /**
270
+ * Creates a ServiceAccount with ECR access annotations
271
+ * @param spec - ECR ServiceAccount specification
272
+ * @returns Created ServiceAccount ApiObject
273
+ *
274
+ * @example
275
+ * ```typescript
276
+ * rutter.addAWSECRServiceAccount({
277
+ * name: 'ecr-service-account',
278
+ * roleArn: 'arn:aws:iam::ACCOUNT_ID:role/ECRAccessRole'
279
+ * });
280
+ * ```
281
+ *
282
+ * @since 2.7.0
283
+ */
284
+ addAWSECRServiceAccount(spec: AWSECRServiceAccountSpec): ServiceAccount;
285
+ /**
286
+ * Adds a Kubernetes manifest to the chart using CDK8S
287
+ *
288
+ * This method allows you to add any Kubernetes manifest (CRDs, custom resources, etc.)
289
+ * either as YAML strings or as objects. The manifest will be processed using CDK8S
290
+ * for better type safety and validation.
291
+ *
292
+ * @param yamlOrObject - Kubernetes manifest as YAML string or object
293
+ * @param id - Unique identifier for the manifest (required for multiple manifests)
294
+ *
295
+ * @example
296
+ * ```typescript
297
+ * // Using YAML string for CRD
298
+ * rutter.addManifest(`
299
+ * apiVersion: apiextensions.k8s.io/v1
300
+ * kind: CustomResourceDefinition
301
+ * metadata:
302
+ * name: example.com
303
+ * spec:
304
+ * group: example.com
305
+ * versions: []
306
+ * `, 'my-crd');
307
+ *
308
+ * // Using object for any Kubernetes resource
309
+ * rutter.addManifest({
310
+ * apiVersion: 'v1',
311
+ * kind: 'ConfigMap',
312
+ * metadata: { name: 'my-config' },
313
+ * data: { key: 'value' }
314
+ * }, 'my-configmap');
315
+ * ```
316
+ *
317
+ * @since 3.0.0
318
+ * @note Consider using cdk8s-plus constructs for better type safety when available
319
+ */
320
+ addManifest(yamlOrObject: string | Record<string, unknown>, id: string): ApiObject;
321
+ /**
322
+ * Adds a Kubernetes manifest wrapped in a Helm conditional
323
+ *
324
+ * This method creates a manifest that will only be rendered if the specified
325
+ * condition evaluates to true. The condition is checked against .Values in Helm.
326
+ *
327
+ * @param manifestObject - JavaScript object representing the Kubernetes manifest
328
+ * @param condition - Path to the condition value in .Values (e.g., 'createNamespace')
329
+ * @param id - Unique identifier for this manifest within the chart
330
+ * @returns The created ApiObject instance
331
+ * @throws {Error} If the manifest structure is incorrect or condition path is invalid
332
+ *
333
+ * @example
334
+ * ```typescript
335
+ * // Add a namespace that's only created if .Values.createNamespace is true
336
+ * rutter.addConditionalManifest(
337
+ * {
338
+ * apiVersion: 'v1',
339
+ * kind: 'Namespace',
340
+ * metadata: {
341
+ * name: valuesRef('namespace'),
342
+ * labels: {
343
+ * environment: conditionalRef('environment', 'environment')
344
+ * }
345
+ * }
346
+ * },
347
+ * 'createNamespace',
348
+ * 'namespace'
349
+ * );
350
+ * ```
351
+ *
352
+ * @since 2.7.4
353
+ */
354
+ addConditionalManifest(manifestObject: Record<string, unknown>, condition: string, id: string): ApiObject;
355
+ /**
356
+ * Validates the structure of a Kubernetes manifest object
357
+ * @param manifest - The manifest object to validate
358
+ * @private
359
+ * @since 3.0.0
360
+ */
361
+ private validateManifestStructure;
362
+ /**
363
+ * Gets chart metadata
364
+ * @returns Chart metadata
365
+ *
366
+ * @since 1.0.0
367
+ */
368
+ getMeta(): ChartMetadata;
369
+ /**
370
+ * Gets default values
371
+ * @returns Default values object
372
+ *
373
+ * @since 1.0.0
374
+ */
375
+ getDefaultValues(): Record<string, unknown>;
376
+ /**
377
+ * Gets environment-specific values
378
+ * @returns Environment values object
379
+ *
380
+ * @since 1.0.0
381
+ */
382
+ getEnvValues(): Record<string, Record<string, unknown>>;
383
+ /**
384
+ * Gets all assets (CRDs, etc.)
385
+ * @returns Array of assets
386
+ *
387
+ * @since 1.0.0
388
+ */
389
+ getAssets(): Array<{
390
+ id: string;
391
+ yaml: string;
392
+ target: string;
393
+ }>;
394
+ /**
395
+ * Converts the chart to SynthAsset array for HelmChartWriter
396
+ * @returns Array of synthesized assets
397
+ *
398
+ * @since 2.4.0
399
+ */
400
+ private toSynthArray;
401
+ /**
402
+ * Process YAML content to remove quotes from Helm templates
403
+ * This fixes the issue where YAML.stringify adds quotes around Helm template expressions
404
+ * Removes quotes from all Helm template expressions
405
+ */
406
+ private processHelmTemplates;
407
+ /**
408
+ * Writes the Helm chart to the specified output directory
409
+ * @param outDir - Output directory path
410
+ *
411
+ * @since 1.0.0
412
+ */
413
+ write(outDir: string): void;
414
+ }
415
+ export interface ChartMetadata {
416
+ name: string;
417
+ version: string;
418
+ description?: string;
419
+ keywords?: string[];
420
+ home?: string;
421
+ sources?: string[];
422
+ maintainers?: Array<{
423
+ name: string;
424
+ email?: string;
425
+ url?: string;
426
+ }>;
427
+ }
428
+ export interface RutterProps {
429
+ scope?: Construct;
430
+ meta: ChartMetadata;
431
+ defaultValues?: Record<string, unknown>;
432
+ envValues?: Record<string, Record<string, unknown>>;
433
+ namespace?: string;
434
+ chartProps?: ChartProps;
435
+ /** Custom Helm helpers content or definitions */
436
+ helpersTpl?: string | HelperDefinition[];
437
+ /** Cloud provider for default helpers */
438
+ cloudProvider?: 'aws';
439
+ /** Custom prefix for manifest files */
440
+ manifestPrefix?: string;
441
+ /** Combine all resources into single manifest file */
442
+ singleManifestFile?: boolean;
443
+ }
444
+ export type { AWSEBSStorageClassSpec, AWSEFSStorageClassSpec, AWSIRSAServiceAccountSpec, AWSALBIngressSpec, } from './resources/cloud/aws/awsResources.js';
445
+ //# sourceMappingURL=rutter.d.ts.map