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,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