timonel 2.8.0-beta.4 → 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.
Files changed (72) hide show
  1. package/CHANGELOG.md +9 -19
  2. package/README.md +12 -55
  3. package/dist/cli.js +2 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.d.ts +7 -15
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -7
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/helm.d.ts +234 -4
  10. package/dist/lib/helm.d.ts.map +1 -1
  11. package/dist/lib/helm.js +309 -20
  12. package/dist/lib/helm.js.map +1 -1
  13. package/dist/lib/helmChartWriter.js +5 -19
  14. package/dist/lib/helmChartWriter.js.map +1 -1
  15. package/dist/lib/resources/baseResourceProvider.d.ts +1 -1
  16. package/dist/lib/resources/baseResourceProvider.d.ts.map +1 -1
  17. package/dist/lib/resources/baseResourceProvider.js.map +1 -1
  18. package/dist/lib/resources/cloud/aws/awsResources.d.ts +5 -6
  19. package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -1
  20. package/dist/lib/resources/cloud/aws/awsResources.js +59 -30
  21. package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -1
  22. package/dist/lib/rutter.d.ts +73 -708
  23. package/dist/lib/rutter.d.ts.map +1 -1
  24. package/dist/lib/rutter.js +157 -837
  25. package/dist/lib/rutter.js.map +1 -1
  26. package/dist/lib/security.d.ts +2 -1
  27. package/dist/lib/security.d.ts.map +1 -1
  28. package/dist/lib/security.js +33 -4
  29. package/dist/lib/security.js.map +1 -1
  30. package/dist/lib/umbrellaRutter.d.ts +1 -1
  31. package/dist/lib/umbrellaRutter.d.ts.map +1 -1
  32. package/dist/lib/utils/helmHelpers.d.ts +2 -12
  33. package/dist/lib/utils/helmHelpers.d.ts.map +1 -1
  34. package/dist/lib/utils/helmHelpers.js +2 -46
  35. package/dist/lib/utils/helmHelpers.js.map +1 -1
  36. package/package.json +2 -2
  37. package/dist/lib/resources/autoscaling/autoscalingResources.d.ts +0 -248
  38. package/dist/lib/resources/autoscaling/autoscalingResources.d.ts.map +0 -1
  39. package/dist/lib/resources/autoscaling/autoscalingResources.js +0 -81
  40. package/dist/lib/resources/autoscaling/autoscalingResources.js.map +0 -1
  41. package/dist/lib/resources/cloud/azure/azureResources.d.ts +0 -169
  42. package/dist/lib/resources/cloud/azure/azureResources.d.ts.map +0 -1
  43. package/dist/lib/resources/cloud/azure/azureResources.js +0 -218
  44. package/dist/lib/resources/cloud/azure/azureResources.js.map +0 -1
  45. package/dist/lib/resources/cloud/gcp/gcpResources.d.ts +0 -164
  46. package/dist/lib/resources/cloud/gcp/gcpResources.d.ts.map +0 -1
  47. package/dist/lib/resources/cloud/gcp/gcpResources.js +0 -192
  48. package/dist/lib/resources/cloud/gcp/gcpResources.js.map +0 -1
  49. package/dist/lib/resources/core/coreResources.d.ts +0 -790
  50. package/dist/lib/resources/core/coreResources.d.ts.map +0 -1
  51. package/dist/lib/resources/core/coreResources.js +0 -1115
  52. package/dist/lib/resources/core/coreResources.js.map +0 -1
  53. package/dist/lib/resources/core/storageResources.d.ts +0 -133
  54. package/dist/lib/resources/core/storageResources.d.ts.map +0 -1
  55. package/dist/lib/resources/core/storageResources.js +0 -120
  56. package/dist/lib/resources/core/storageResources.js.map +0 -1
  57. package/dist/lib/resources/network/networkResources.d.ts +0 -229
  58. package/dist/lib/resources/network/networkResources.d.ts.map +0 -1
  59. package/dist/lib/resources/network/networkResources.js +0 -310
  60. package/dist/lib/resources/network/networkResources.js.map +0 -1
  61. package/dist/lib/resources/validation/validationResources.d.ts +0 -26
  62. package/dist/lib/resources/validation/validationResources.d.ts.map +0 -1
  63. package/dist/lib/resources/validation/validationResources.js +0 -33
  64. package/dist/lib/resources/validation/validationResources.js.map +0 -1
  65. package/dist/lib/utils/podTemplates.d.ts +0 -192
  66. package/dist/lib/utils/podTemplates.d.ts.map +0 -1
  67. package/dist/lib/utils/podTemplates.js +0 -331
  68. package/dist/lib/utils/podTemplates.js.map +0 -1
  69. package/dist/lib/utils/resourceNaming.d.ts +0 -57
  70. package/dist/lib/utils/resourceNaming.d.ts.map +0 -1
  71. package/dist/lib/utils/resourceNaming.js +0 -82
  72. package/dist/lib/utils/resourceNaming.js.map +0 -1
@@ -1,790 +0,0 @@
1
- import { ApiObject } from 'cdk8s';
2
- import { BaseResourceProvider } from '../baseResourceProvider.js';
3
- /**
4
- * Core Kubernetes resources provider
5
- * Handles fundamental Kubernetes resources like Deployments, Services, ConfigMaps, etc.
6
- *
7
- * @since 2.4.0
8
- */
9
- export declare class CoreResources extends BaseResourceProvider {
10
- private static readonly APPS_API_VERSION;
11
- private static readonly CORE_API_VERSION;
12
- private static readonly RBAC_API_VERSION;
13
- private static readonly LABEL_NAME;
14
- private static readonly HELPER_NAME;
15
- /**
16
- * Creates a Deployment resource
17
- * @param spec - Deployment specification
18
- * @returns Created Deployment ApiObject
19
- *
20
- * @example
21
- * ```typescript
22
- * coreResources.addDeployment({
23
- * name: 'web-app',
24
- * image: 'nginx:1.21',
25
- * replicas: 3,
26
- * containerPort: 80
27
- * });
28
- * ```
29
- *
30
- * @since 2.4.0
31
- */
32
- addDeployment(spec: DeploymentSpec): ApiObject;
33
- /**
34
- * Creates a Service resource
35
- * @param spec - Service specification
36
- * @returns Created Service ApiObject
37
- *
38
- * @example
39
- * ```typescript
40
- * coreResources.addService({
41
- * name: 'web-service',
42
- * port: 80,
43
- * targetPort: 8080,
44
- * type: 'ClusterIP'
45
- * });
46
- * ```
47
- *
48
- * @since 2.4.0
49
- */
50
- addService(spec: ServiceSpec): ApiObject;
51
- /**
52
- * Creates a ConfigMap resource
53
- * @param spec - ConfigMap specification
54
- * @returns Created ConfigMap ApiObject
55
- *
56
- * @example
57
- * ```typescript
58
- * coreResources.addConfigMap({
59
- * name: 'app-config',
60
- * data: {
61
- * 'config.yaml': 'key: value',
62
- * 'app.properties': 'debug=true'
63
- * }
64
- * });
65
- * ```
66
- *
67
- * @since 2.4.0
68
- */
69
- addConfigMap(spec: ConfigMapSpec): ApiObject;
70
- /**
71
- * Creates a Secret resource
72
- * @param spec - Secret specification
73
- * @returns Created Secret ApiObject
74
- *
75
- * @example
76
- * ```typescript
77
- * coreResources.addSecret({
78
- * name: 'app-secrets',
79
- * type: 'Opaque',
80
- * data: {
81
- * username: 'YWRtaW4=',
82
- * password: 'MWYyZDFlMmU2N2Rm'
83
- * }
84
- * });
85
- * ```
86
- *
87
- * @since 2.4.0
88
- */
89
- addSecret(spec: SecretSpec): ApiObject;
90
- /**
91
- * Validates and encodes Secret data as base64
92
- * @param data - Raw secret data
93
- * @returns Base64 encoded data
94
- * @private
95
- * @since 2.5.0
96
- */
97
- private validateAndEncodeSecretData;
98
- /**
99
- * Checks if a string is base64 encoded
100
- * @param str - String to check
101
- * @returns True if string appears to be base64 encoded
102
- * @private
103
- * @since 2.5.0
104
- */
105
- private isBase64Encoded;
106
- /**
107
- * Creates a ServiceAccount resource
108
- * @param spec - ServiceAccount specification
109
- * @returns Created ServiceAccount ApiObject
110
- *
111
- * @example
112
- * ```typescript
113
- * coreResources.addServiceAccount({
114
- * name: 'app-service-account',
115
- * automountServiceAccountToken: false
116
- * });
117
- * ```
118
- *
119
- * @since 2.4.0
120
- */
121
- addServiceAccount(spec: ServiceAccountSpec): ApiObject;
122
- /**
123
- * Creates a DaemonSet resource
124
- * @param spec - DaemonSet specification
125
- * @returns Created DaemonSet ApiObject
126
- *
127
- * @example
128
- * ```typescript
129
- * coreResources.addDaemonSet({
130
- * name: 'log-collector',
131
- * image: 'fluentd:v1.14',
132
- * containerPort: 24224,
133
- * hostNetwork: true
134
- * });
135
- * ```
136
- *
137
- * @since 2.4.0
138
- */
139
- addDaemonSet(spec: DaemonSetSpec): ApiObject;
140
- /**
141
- * Builds DaemonSet specification object
142
- * @private
143
- */
144
- private buildDaemonSetSpec;
145
- /**
146
- * Builds container specification for DaemonSet
147
- * @private
148
- */
149
- private buildDaemonSetContainers;
150
- /**
151
- * Builds pod specification for DaemonSet
152
- * @private
153
- */
154
- private buildDaemonSetPodSpec;
155
- /**
156
- * Creates a StatefulSet resource
157
- * @param spec - StatefulSet specification
158
- * @returns Created StatefulSet ApiObject
159
- *
160
- * @example
161
- * ```typescript
162
- * coreResources.addStatefulSet({
163
- * name: 'database',
164
- * image: 'postgres:13',
165
- * replicas: 3,
166
- * containerPort: 5432,
167
- * serviceName: 'database-headless'
168
- * });
169
- * ```
170
- *
171
- * @since 2.4.0
172
- */
173
- addStatefulSet(spec: StatefulSetSpec): ApiObject;
174
- /**
175
- * Builds StatefulSet specification object
176
- * @private
177
- */
178
- private buildStatefulSetSpec;
179
- /**
180
- * Builds container specification for StatefulSet
181
- * @private
182
- */
183
- private buildStatefulSetContainers;
184
- /**
185
- * Builds pod specification for StatefulSet
186
- * @private
187
- */
188
- private buildStatefulSetPodSpec;
189
- /**
190
- * Creates a Role resource for RBAC
191
- * @param spec - Role specification
192
- * @returns Created Role ApiObject
193
- *
194
- * @example
195
- * ```typescript
196
- * coreResources.addRole({
197
- * name: 'pod-reader',
198
- * rules: [
199
- * {
200
- * apiGroups: [''],
201
- * resources: ['pods'],
202
- * verbs: ['get', 'list', 'watch']
203
- * }
204
- * ]
205
- * });
206
- * ```
207
- *
208
- * @since 2.4.0
209
- */
210
- addRole(spec: RoleSpec): ApiObject;
211
- /**
212
- * Creates a ClusterRole resource for cluster-wide RBAC
213
- * @param spec - ClusterRole specification
214
- * @returns Created ClusterRole ApiObject
215
- *
216
- * @example
217
- * ```typescript
218
- * coreResources.addClusterRole({
219
- * name: 'cluster-admin',
220
- * rules: [
221
- * {
222
- * apiGroups: ['*'],
223
- * resources: ['*'],
224
- * verbs: ['*']
225
- * }
226
- * ]
227
- * });
228
- * ```
229
- *
230
- * @since 2.4.0
231
- */
232
- addClusterRole(spec: ClusterRoleSpec): ApiObject;
233
- /**
234
- * Creates a RoleBinding resource for RBAC
235
- * @param spec - RoleBinding specification
236
- * @returns Created RoleBinding ApiObject
237
- *
238
- * @example
239
- * ```typescript
240
- * coreResources.addRoleBinding({
241
- * name: 'pod-reader-binding',
242
- * roleRef: {
243
- * kind: 'Role',
244
- * name: 'pod-reader',
245
- * apiGroup: 'rbac.authorization.k8s.io'
246
- * },
247
- * subjects: [
248
- * {
249
- * kind: 'ServiceAccount',
250
- * name: 'my-service-account',
251
- * namespace: 'default'
252
- * }
253
- * ]
254
- * });
255
- * ```
256
- *
257
- * @since 2.4.0
258
- */
259
- addRoleBinding(spec: RoleBindingSpec): ApiObject;
260
- /**
261
- * Creates a ClusterRoleBinding resource for cluster-wide RBAC
262
- * @param spec - ClusterRoleBinding specification
263
- * @returns Created ClusterRoleBinding ApiObject
264
- *
265
- * @example
266
- * ```typescript
267
- * coreResources.addClusterRoleBinding({
268
- * name: 'cluster-admin-binding',
269
- * roleRef: {
270
- * kind: 'ClusterRole',
271
- * name: 'cluster-admin',
272
- * apiGroup: 'rbac.authorization.k8s.io'
273
- * },
274
- * subjects: [
275
- * {
276
- * kind: 'ServiceAccount',
277
- * name: 'admin-user',
278
- * namespace: 'kube-system'
279
- * }
280
- * ]
281
- * });
282
- * ```
283
- *
284
- * @since 2.4.0
285
- */
286
- addClusterRoleBinding(spec: ClusterRoleBindingSpec): ApiObject;
287
- /**
288
- * Creates a Job resource for batch workloads
289
- * @param spec - Job specification
290
- * @returns Created Job ApiObject
291
- *
292
- * @example
293
- * ```typescript
294
- * coreResources.addJob({
295
- * name: 'data-processor',
296
- * image: 'busybox:1.35',
297
- * command: ['sh', '-c', 'echo "Processing data..." && sleep 30'],
298
- * completions: 1,
299
- * parallelism: 1
300
- * });
301
- * ```
302
- *
303
- * @since 2.4.0
304
- */
305
- addJob(spec: JobSpec): ApiObject;
306
- /**
307
- * Builds Job specification object
308
- * @private
309
- */
310
- private buildJobSpec;
311
- /**
312
- * Builds container specification for Job
313
- * @private
314
- */
315
- private buildJobContainers;
316
- /**
317
- * Builds pod specification for Job
318
- * @private
319
- */
320
- private buildJobPodSpec;
321
- /**
322
- * Creates a ReplicaSet resource
323
- * @param spec - ReplicaSet specification
324
- * @returns Created ReplicaSet ApiObject
325
- *
326
- * @example
327
- * ```typescript
328
- * coreResources.addReplicaSet({
329
- * name: 'web-replica',
330
- * image: 'nginx:1.21',
331
- * replicas: 3,
332
- * containerPort: 80
333
- * });
334
- * ```
335
- *
336
- * @since 2.4.0
337
- */
338
- addReplicaSet(spec: ReplicaSetSpec): ApiObject;
339
- /**
340
- * Creates a Pod resource
341
- * @param spec - Pod specification
342
- * @returns Created Pod ApiObject
343
- *
344
- * @example
345
- * ```typescript
346
- * coreResources.addPod({
347
- * name: 'web-pod',
348
- * image: 'nginx:1.21',
349
- * containerPort: 80
350
- * });
351
- * ```
352
- *
353
- * @since 2.4.0
354
- */
355
- addPod(spec: PodSpec): ApiObject;
356
- /**
357
- * Creates a CronJob resource
358
- * @param spec - CronJob specification
359
- * @returns Created CronJob ApiObject
360
- *
361
- * @example
362
- * ```typescript
363
- * coreResources.addCronJob({
364
- * name: 'backup-job',
365
- * schedule: '0 2 * * *',
366
- * image: 'backup:latest',
367
- * command: ['sh', '-c', 'backup-script.sh']
368
- * });
369
- * ```
370
- *
371
- * @since 2.4.0
372
- */
373
- addCronJob(spec: CronJobSpec): ApiObject;
374
- /**
375
- * Builds CronJob specification object
376
- * @private
377
- */
378
- private buildCronJobSpec;
379
- /**
380
- * Builds generic container specification
381
- * @private
382
- */
383
- private buildGenericContainers;
384
- /**
385
- * Builds pod specification for CronJob
386
- * @private
387
- */
388
- private buildCronJobPodSpec;
389
- /**
390
- * Normalizes replicas value to ensure it's always a number
391
- * @param replicas - Replicas value (number, string, or undefined)
392
- * @returns Normalized number value or Helm template string
393
- * @private
394
- * @since 2.5.0
395
- */
396
- private normalizeReplicas;
397
- }
398
- export interface DeploymentSpec {
399
- name: string;
400
- image: string;
401
- replicas?: number;
402
- containerPort?: number;
403
- env?: Array<{
404
- name: string;
405
- value?: string;
406
- valueFrom?: unknown;
407
- }>;
408
- resources?: {
409
- requests?: {
410
- cpu?: string;
411
- memory?: string;
412
- };
413
- limits?: {
414
- cpu?: string;
415
- memory?: string;
416
- };
417
- };
418
- volumeMounts?: Array<{
419
- name: string;
420
- mountPath: string;
421
- readOnly?: boolean;
422
- }>;
423
- volumes?: Array<unknown>;
424
- serviceAccountName?: string;
425
- securityContext?: unknown;
426
- nodeSelector?: Record<string, string>;
427
- tolerations?: Array<unknown>;
428
- affinity?: unknown;
429
- matchLabels?: Record<string, string>;
430
- labels?: Record<string, string>;
431
- annotations?: Record<string, string>;
432
- }
433
- export interface DaemonSetSpec {
434
- name: string;
435
- image: string;
436
- containerPort?: number;
437
- env?: Array<{
438
- name: string;
439
- value?: string;
440
- valueFrom?: unknown;
441
- }>;
442
- resources?: {
443
- requests?: {
444
- cpu?: string;
445
- memory?: string;
446
- };
447
- limits?: {
448
- cpu?: string;
449
- memory?: string;
450
- };
451
- };
452
- volumeMounts?: Array<{
453
- name: string;
454
- mountPath: string;
455
- readOnly?: boolean;
456
- }>;
457
- volumes?: Array<unknown>;
458
- serviceAccountName?: string;
459
- securityContext?: unknown;
460
- nodeSelector?: Record<string, string>;
461
- tolerations?: Array<unknown>;
462
- affinity?: unknown;
463
- matchLabels?: Record<string, string>;
464
- labels?: Record<string, string>;
465
- annotations?: Record<string, string>;
466
- hostNetwork?: boolean;
467
- hostPID?: boolean;
468
- dnsPolicy?: string;
469
- priorityClassName?: string;
470
- updateStrategy?: {
471
- type?: 'RollingUpdate' | 'OnDelete';
472
- rollingUpdate?: {
473
- maxUnavailable?: number | string;
474
- };
475
- };
476
- }
477
- export interface StatefulSetSpec {
478
- name: string;
479
- image: string;
480
- replicas?: number | string;
481
- serviceName: string;
482
- containerPort?: number;
483
- env?: Array<{
484
- name: string;
485
- value?: string;
486
- valueFrom?: unknown;
487
- }>;
488
- resources?: {
489
- requests?: {
490
- cpu?: string;
491
- memory?: string;
492
- };
493
- limits?: {
494
- cpu?: string;
495
- memory?: string;
496
- };
497
- };
498
- volumeMounts?: Array<{
499
- name: string;
500
- mountPath: string;
501
- readOnly?: boolean;
502
- }>;
503
- volumes?: Array<unknown>;
504
- volumeClaimTemplates?: Array<unknown>;
505
- serviceAccountName?: string;
506
- securityContext?: unknown;
507
- nodeSelector?: Record<string, string>;
508
- tolerations?: Array<unknown>;
509
- affinity?: unknown;
510
- matchLabels?: Record<string, string>;
511
- labels?: Record<string, string>;
512
- annotations?: Record<string, string>;
513
- initContainers?: Array<unknown>;
514
- livenessProbe?: unknown;
515
- readinessProbe?: unknown;
516
- terminationGracePeriodSeconds?: number;
517
- updateStrategy?: {
518
- type?: 'RollingUpdate' | 'OnDelete';
519
- rollingUpdate?: {
520
- partition?: number;
521
- maxUnavailable?: number | string;
522
- };
523
- };
524
- podManagementPolicy?: 'OrderedReady' | 'Parallel';
525
- revisionHistoryLimit?: number;
526
- }
527
- export interface RoleSpec {
528
- name: string;
529
- namespace?: string;
530
- rules: Array<{
531
- apiGroups?: string[];
532
- resources?: string[];
533
- resourceNames?: string[];
534
- verbs: string[];
535
- nonResourceURLs?: string[];
536
- }>;
537
- labels?: Record<string, string>;
538
- annotations?: Record<string, string>;
539
- }
540
- export interface ClusterRoleSpec {
541
- name: string;
542
- rules: Array<{
543
- apiGroups?: string[];
544
- resources?: string[];
545
- resourceNames?: string[];
546
- verbs: string[];
547
- nonResourceURLs?: string[];
548
- }>;
549
- labels?: Record<string, string>;
550
- annotations?: Record<string, string>;
551
- }
552
- export interface RoleBindingSpec {
553
- name: string;
554
- namespace?: string;
555
- roleRef: {
556
- kind: 'Role' | 'ClusterRole';
557
- name: string;
558
- apiGroup: string;
559
- };
560
- subjects: Array<{
561
- kind: 'User' | 'Group' | 'ServiceAccount';
562
- name: string;
563
- namespace?: string;
564
- apiGroup?: string;
565
- }>;
566
- labels?: Record<string, string>;
567
- annotations?: Record<string, string>;
568
- }
569
- export interface ClusterRoleBindingSpec {
570
- name: string;
571
- roleRef: {
572
- kind: 'Role' | 'ClusterRole';
573
- name: string;
574
- apiGroup: string;
575
- };
576
- subjects: Array<{
577
- kind: 'User' | 'Group' | 'ServiceAccount';
578
- name: string;
579
- namespace?: string;
580
- apiGroup?: string;
581
- }>;
582
- labels?: Record<string, string>;
583
- annotations?: Record<string, string>;
584
- }
585
- export interface JobSpec {
586
- name: string;
587
- image: string;
588
- command?: string[];
589
- args?: string[];
590
- completions?: number;
591
- parallelism?: number;
592
- backoffLimit?: number;
593
- activeDeadlineSeconds?: number;
594
- ttlSecondsAfterFinished?: number;
595
- completionMode?: 'NonIndexed' | 'Indexed';
596
- suspend?: boolean;
597
- restartPolicy?: 'Never' | 'OnFailure';
598
- env?: Array<{
599
- name: string;
600
- value?: string;
601
- valueFrom?: unknown;
602
- }>;
603
- resources?: {
604
- requests?: {
605
- cpu?: string;
606
- memory?: string;
607
- };
608
- limits?: {
609
- cpu?: string;
610
- memory?: string;
611
- };
612
- };
613
- volumeMounts?: Array<{
614
- name: string;
615
- mountPath: string;
616
- readOnly?: boolean;
617
- }>;
618
- volumes?: Array<unknown>;
619
- serviceAccountName?: string;
620
- securityContext?: unknown;
621
- nodeSelector?: Record<string, string>;
622
- tolerations?: Array<unknown>;
623
- affinity?: unknown;
624
- matchLabels?: Record<string, string>;
625
- labels?: Record<string, string>;
626
- annotations?: Record<string, string>;
627
- initContainers?: Array<unknown>;
628
- }
629
- export interface ServiceSpec {
630
- name: string;
631
- port: number;
632
- targetPort?: number;
633
- ports?: Array<{
634
- port: number;
635
- targetPort?: number;
636
- protocol?: string;
637
- name?: string;
638
- }>;
639
- type?: 'ClusterIP' | 'NodePort' | 'LoadBalancer' | 'ExternalName';
640
- selector?: Record<string, string>;
641
- clusterIP?: string;
642
- externalIPs?: string[];
643
- loadBalancerIP?: string;
644
- sessionAffinity?: string;
645
- protocol?: string;
646
- labels?: Record<string, string>;
647
- annotations?: Record<string, string>;
648
- }
649
- export interface ConfigMapSpec {
650
- name: string;
651
- data?: Record<string, string>;
652
- binaryData?: Record<string, string>;
653
- labels?: Record<string, string>;
654
- annotations?: Record<string, string>;
655
- }
656
- export interface SecretSpec {
657
- name: string;
658
- type?: string;
659
- data?: Record<string, string>;
660
- stringData?: Record<string, string>;
661
- labels?: Record<string, string>;
662
- annotations?: Record<string, string>;
663
- }
664
- export interface ServiceAccountSpec {
665
- name: string;
666
- automountServiceAccountToken?: boolean;
667
- imagePullSecrets?: Array<{
668
- name: string;
669
- }>;
670
- secrets?: Array<{
671
- name: string;
672
- }>;
673
- labels?: Record<string, string>;
674
- annotations?: Record<string, string>;
675
- }
676
- export interface ReplicaSetSpec {
677
- name: string;
678
- image: string;
679
- replicas?: number;
680
- containerPort?: number;
681
- env?: Array<{
682
- name: string;
683
- value?: string;
684
- valueFrom?: unknown;
685
- }>;
686
- resources?: {
687
- requests?: {
688
- cpu?: string;
689
- memory?: string;
690
- };
691
- limits?: {
692
- cpu?: string;
693
- memory?: string;
694
- };
695
- };
696
- volumeMounts?: Array<{
697
- name: string;
698
- mountPath: string;
699
- readOnly?: boolean;
700
- }>;
701
- volumes?: Array<unknown>;
702
- serviceAccountName?: string;
703
- securityContext?: unknown;
704
- nodeSelector?: Record<string, string>;
705
- tolerations?: Array<unknown>;
706
- affinity?: unknown;
707
- matchLabels?: Record<string, string>;
708
- labels?: Record<string, string>;
709
- annotations?: Record<string, string>;
710
- }
711
- export interface PodSpec {
712
- name: string;
713
- image: string;
714
- containerPort?: number;
715
- restartPolicy?: 'Always' | 'OnFailure' | 'Never';
716
- env?: Array<{
717
- name: string;
718
- value?: string;
719
- valueFrom?: unknown;
720
- }>;
721
- resources?: {
722
- requests?: {
723
- cpu?: string;
724
- memory?: string;
725
- };
726
- limits?: {
727
- cpu?: string;
728
- memory?: string;
729
- };
730
- };
731
- volumeMounts?: Array<{
732
- name: string;
733
- mountPath: string;
734
- readOnly?: boolean;
735
- }>;
736
- volumes?: Array<unknown>;
737
- serviceAccountName?: string;
738
- securityContext?: unknown;
739
- nodeSelector?: Record<string, string>;
740
- tolerations?: Array<unknown>;
741
- affinity?: unknown;
742
- initContainers?: Array<unknown>;
743
- labels?: Record<string, string>;
744
- annotations?: Record<string, string>;
745
- }
746
- export interface CronJobSpec {
747
- name: string;
748
- schedule: string;
749
- image: string;
750
- command?: string[];
751
- args?: string[];
752
- restartPolicy?: 'OnFailure' | 'Never';
753
- concurrencyPolicy?: 'Allow' | 'Forbid' | 'Replace';
754
- suspend?: boolean;
755
- successfulJobsHistoryLimit?: number;
756
- failedJobsHistoryLimit?: number;
757
- startingDeadlineSeconds?: number;
758
- backoffLimit?: number;
759
- activeDeadlineSeconds?: number;
760
- env?: Array<{
761
- name: string;
762
- value?: string;
763
- valueFrom?: unknown;
764
- }>;
765
- resources?: {
766
- requests?: {
767
- cpu?: string;
768
- memory?: string;
769
- };
770
- limits?: {
771
- cpu?: string;
772
- memory?: string;
773
- };
774
- };
775
- volumeMounts?: Array<{
776
- name: string;
777
- mountPath: string;
778
- readOnly?: boolean;
779
- }>;
780
- volumes?: Array<unknown>;
781
- serviceAccountName?: string;
782
- securityContext?: unknown;
783
- nodeSelector?: Record<string, string>;
784
- tolerations?: Array<unknown>;
785
- affinity?: unknown;
786
- matchLabels?: Record<string, string>;
787
- labels?: Record<string, string>;
788
- annotations?: Record<string, string>;
789
- }
790
- //# sourceMappingURL=coreResources.d.ts.map