timonel 2.6.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/lib/resources/autoscaling/autoscalingResources.d.ts +230 -8
- package/dist/lib/resources/autoscaling/autoscalingResources.d.ts.map +1 -1
- package/dist/lib/resources/autoscaling/autoscalingResources.js +60 -14
- package/dist/lib/resources/autoscaling/autoscalingResources.js.map +1 -1
- package/dist/lib/resources/cloud/aws/awsResources.d.ts +26 -0
- package/dist/lib/resources/cloud/aws/awsResources.d.ts.map +1 -1
- package/dist/lib/resources/cloud/aws/awsResources.js +29 -0
- package/dist/lib/resources/cloud/aws/awsResources.js.map +1 -1
- package/dist/lib/resources/cloud/aws/karpenterResources.d.ts +186 -0
- package/dist/lib/resources/cloud/aws/karpenterResources.d.ts.map +1 -0
- package/dist/lib/resources/cloud/aws/karpenterResources.js +95 -0
- package/dist/lib/resources/cloud/aws/karpenterResources.js.map +1 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.d.ts +26 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.d.ts.map +1 -1
- package/dist/lib/resources/cloud/gcp/gcpResources.js +29 -0
- package/dist/lib/resources/cloud/gcp/gcpResources.js.map +1 -1
- package/dist/lib/resources/network/networkResources.d.ts +156 -0
- package/dist/lib/resources/network/networkResources.d.ts.map +1 -0
- package/dist/lib/resources/network/networkResources.js +129 -0
- package/dist/lib/resources/network/networkResources.js.map +1 -0
- package/dist/lib/rutter.d.ts +294 -2
- package/dist/lib/rutter.d.ts.map +1 -1
- package/dist/lib/rutter.js +316 -0
- package/dist/lib/rutter.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Karpenter resources for AWS EKS node management
|
|
3
|
+
* @since 2.7.0
|
|
4
|
+
*/
|
|
5
|
+
import type { ApiObject } from 'cdk8s';
|
|
6
|
+
import { BaseResourceProvider } from '../../baseResourceProvider.js';
|
|
7
|
+
/**
|
|
8
|
+
* Karpenter NodePool specification
|
|
9
|
+
* @since 2.7.0
|
|
10
|
+
*/
|
|
11
|
+
export interface KarpenterNodePoolSpec {
|
|
12
|
+
/** Resource name */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Template for nodes */
|
|
15
|
+
template: {
|
|
16
|
+
metadata?: {
|
|
17
|
+
labels?: Record<string, string>;
|
|
18
|
+
annotations?: Record<string, string>;
|
|
19
|
+
};
|
|
20
|
+
spec: {
|
|
21
|
+
/** Node class reference */
|
|
22
|
+
nodeClassRef: {
|
|
23
|
+
apiVersion: string;
|
|
24
|
+
kind: string;
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
/** Node requirements */
|
|
28
|
+
requirements?: Array<{
|
|
29
|
+
key: string;
|
|
30
|
+
operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist' | 'Gt' | 'Lt';
|
|
31
|
+
values?: string[];
|
|
32
|
+
}>;
|
|
33
|
+
/** Taints to apply to nodes */
|
|
34
|
+
taints?: Array<{
|
|
35
|
+
key: string;
|
|
36
|
+
value?: string;
|
|
37
|
+
effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
38
|
+
}>;
|
|
39
|
+
/** Startup taints */
|
|
40
|
+
startupTaints?: Array<{
|
|
41
|
+
key: string;
|
|
42
|
+
value?: string;
|
|
43
|
+
effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
44
|
+
}>;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/** Disruption settings */
|
|
48
|
+
disruption?: {
|
|
49
|
+
consolidationPolicy?: 'WhenEmpty' | 'WhenUnderutilized';
|
|
50
|
+
consolidateAfter?: string;
|
|
51
|
+
expireAfter?: string;
|
|
52
|
+
};
|
|
53
|
+
/** Resource limits */
|
|
54
|
+
limits?: Record<string, string>;
|
|
55
|
+
/** Resource labels */
|
|
56
|
+
labels?: Record<string, string>;
|
|
57
|
+
/** Resource annotations */
|
|
58
|
+
annotations?: Record<string, string>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Karpenter NodeClaim specification
|
|
62
|
+
* @since 2.7.0
|
|
63
|
+
*/
|
|
64
|
+
export interface KarpenterNodeClaimSpec {
|
|
65
|
+
/** Resource name */
|
|
66
|
+
name: string;
|
|
67
|
+
/** Node class reference */
|
|
68
|
+
nodeClassRef: {
|
|
69
|
+
apiVersion: string;
|
|
70
|
+
kind: string;
|
|
71
|
+
name: string;
|
|
72
|
+
};
|
|
73
|
+
/** Node requirements */
|
|
74
|
+
requirements?: Array<{
|
|
75
|
+
key: string;
|
|
76
|
+
operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist' | 'Gt' | 'Lt';
|
|
77
|
+
values?: string[];
|
|
78
|
+
}>;
|
|
79
|
+
/** Taints to apply to node */
|
|
80
|
+
taints?: Array<{
|
|
81
|
+
key: string;
|
|
82
|
+
value?: string;
|
|
83
|
+
effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
84
|
+
}>;
|
|
85
|
+
/** Startup taints */
|
|
86
|
+
startupTaints?: Array<{
|
|
87
|
+
key: string;
|
|
88
|
+
value?: string;
|
|
89
|
+
effect: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
90
|
+
}>;
|
|
91
|
+
/** Resource labels */
|
|
92
|
+
labels?: Record<string, string>;
|
|
93
|
+
/** Resource annotations */
|
|
94
|
+
annotations?: Record<string, string>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Karpenter EC2NodeClass specification
|
|
98
|
+
* @since 2.7.0
|
|
99
|
+
*/
|
|
100
|
+
export interface KarpenterEC2NodeClassSpec {
|
|
101
|
+
/** Resource name */
|
|
102
|
+
name: string;
|
|
103
|
+
/** AMI family */
|
|
104
|
+
amiFamily?: 'AL2' | 'AL2023' | 'Bottlerocket' | 'Ubuntu' | 'Windows2019' | 'Windows2022' | 'Custom';
|
|
105
|
+
/** AMI selector */
|
|
106
|
+
amiSelectorTerms?: Array<{
|
|
107
|
+
tags?: Record<string, string>;
|
|
108
|
+
id?: string;
|
|
109
|
+
name?: string;
|
|
110
|
+
owner?: string;
|
|
111
|
+
}>;
|
|
112
|
+
/** Instance store policy */
|
|
113
|
+
instanceStorePolicy?: 'RAID0' | 'NVME';
|
|
114
|
+
/** Instance profile */
|
|
115
|
+
instanceProfile?: string;
|
|
116
|
+
/** Security group selector */
|
|
117
|
+
securityGroupSelectorTerms?: Array<{
|
|
118
|
+
tags?: Record<string, string>;
|
|
119
|
+
id?: string;
|
|
120
|
+
name?: string;
|
|
121
|
+
}>;
|
|
122
|
+
/** Subnet selector */
|
|
123
|
+
subnetSelectorTerms?: Array<{
|
|
124
|
+
tags?: Record<string, string>;
|
|
125
|
+
id?: string;
|
|
126
|
+
}>;
|
|
127
|
+
/** User data */
|
|
128
|
+
userData?: string;
|
|
129
|
+
/** Role */
|
|
130
|
+
role?: string;
|
|
131
|
+
/** Tags to apply to instances */
|
|
132
|
+
tags?: Record<string, string>;
|
|
133
|
+
/** Block device mappings */
|
|
134
|
+
blockDeviceMappings?: Array<{
|
|
135
|
+
deviceName: string;
|
|
136
|
+
ebs?: {
|
|
137
|
+
volumeSize?: string;
|
|
138
|
+
volumeType?: 'gp2' | 'gp3' | 'io1' | 'io2' | 'sc1' | 'st1';
|
|
139
|
+
iops?: number;
|
|
140
|
+
throughput?: number;
|
|
141
|
+
encrypted?: boolean;
|
|
142
|
+
kmsKeyId?: string;
|
|
143
|
+
deleteOnTermination?: boolean;
|
|
144
|
+
};
|
|
145
|
+
}>;
|
|
146
|
+
/** Metadata options */
|
|
147
|
+
metadataOptions?: {
|
|
148
|
+
httpEndpoint?: 'enabled' | 'disabled';
|
|
149
|
+
httpProtocolIPv6?: 'enabled' | 'disabled';
|
|
150
|
+
httpPutResponseHopLimit?: number;
|
|
151
|
+
httpTokens?: 'required' | 'optional';
|
|
152
|
+
};
|
|
153
|
+
/** Resource labels */
|
|
154
|
+
labels?: Record<string, string>;
|
|
155
|
+
/** Resource annotations */
|
|
156
|
+
annotations?: Record<string, string>;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Karpenter resources provider for AWS EKS node management
|
|
160
|
+
* @extends BaseResourceProvider
|
|
161
|
+
* @since 2.7.0
|
|
162
|
+
*/
|
|
163
|
+
export declare class KarpenterResources extends BaseResourceProvider {
|
|
164
|
+
/**
|
|
165
|
+
* Creates a Karpenter NodePool resource
|
|
166
|
+
* @param spec - NodePool specification
|
|
167
|
+
* @returns Created NodePool ApiObject
|
|
168
|
+
* @since 2.7.0
|
|
169
|
+
*/
|
|
170
|
+
addKarpenterNodePool(spec: KarpenterNodePoolSpec): ApiObject;
|
|
171
|
+
/**
|
|
172
|
+
* Creates a Karpenter NodeClaim resource
|
|
173
|
+
* @param spec - NodeClaim specification
|
|
174
|
+
* @returns Created NodeClaim ApiObject
|
|
175
|
+
* @since 2.7.0
|
|
176
|
+
*/
|
|
177
|
+
addKarpenterNodeClaim(spec: KarpenterNodeClaimSpec): ApiObject;
|
|
178
|
+
/**
|
|
179
|
+
* Creates a Karpenter EC2NodeClass resource
|
|
180
|
+
* @param spec - EC2NodeClass specification
|
|
181
|
+
* @returns Created EC2NodeClass ApiObject
|
|
182
|
+
* @since 2.7.0
|
|
183
|
+
*/
|
|
184
|
+
addKarpenterEC2NodeClass(spec: KarpenterEC2NodeClassSpec): ApiObject;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=karpenterResources.d.ts.map
|
|
@@ -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,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Karpenter resources for AWS EKS node management
|
|
3
|
+
* @since 2.7.0
|
|
4
|
+
*/
|
|
5
|
+
import { BaseResourceProvider } from '../../baseResourceProvider.js';
|
|
6
|
+
/**
|
|
7
|
+
* Karpenter resources provider for AWS EKS node management
|
|
8
|
+
* @extends BaseResourceProvider
|
|
9
|
+
* @since 2.7.0
|
|
10
|
+
*/
|
|
11
|
+
export class KarpenterResources extends BaseResourceProvider {
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Karpenter NodePool resource
|
|
14
|
+
* @param spec - NodePool specification
|
|
15
|
+
* @returns Created NodePool ApiObject
|
|
16
|
+
* @since 2.7.0
|
|
17
|
+
*/
|
|
18
|
+
addKarpenterNodePool(spec) {
|
|
19
|
+
const nodePoolSpec = {
|
|
20
|
+
template: spec.template,
|
|
21
|
+
};
|
|
22
|
+
if (spec.disruption) {
|
|
23
|
+
nodePoolSpec['disruption'] = spec.disruption;
|
|
24
|
+
}
|
|
25
|
+
if (spec.limits) {
|
|
26
|
+
nodePoolSpec['limits'] = spec.limits;
|
|
27
|
+
}
|
|
28
|
+
return this.createApiObject(spec.name, 'karpenter.sh/v1beta1', 'NodePool', nodePoolSpec, spec.labels, spec.annotations);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a Karpenter NodeClaim resource
|
|
32
|
+
* @param spec - NodeClaim specification
|
|
33
|
+
* @returns Created NodeClaim ApiObject
|
|
34
|
+
* @since 2.7.0
|
|
35
|
+
*/
|
|
36
|
+
addKarpenterNodeClaim(spec) {
|
|
37
|
+
const nodeClaimSpec = {
|
|
38
|
+
nodeClassRef: spec.nodeClassRef,
|
|
39
|
+
};
|
|
40
|
+
if (spec.requirements) {
|
|
41
|
+
nodeClaimSpec['requirements'] = spec.requirements;
|
|
42
|
+
}
|
|
43
|
+
if (spec.taints) {
|
|
44
|
+
nodeClaimSpec['taints'] = spec.taints;
|
|
45
|
+
}
|
|
46
|
+
if (spec.startupTaints) {
|
|
47
|
+
nodeClaimSpec['startupTaints'] = spec.startupTaints;
|
|
48
|
+
}
|
|
49
|
+
return this.createApiObject(spec.name, 'karpenter.sh/v1beta1', 'NodeClaim', nodeClaimSpec, spec.labels, spec.annotations);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Creates a Karpenter EC2NodeClass resource
|
|
53
|
+
* @param spec - EC2NodeClass specification
|
|
54
|
+
* @returns Created EC2NodeClass ApiObject
|
|
55
|
+
* @since 2.7.0
|
|
56
|
+
*/
|
|
57
|
+
addKarpenterEC2NodeClass(spec) {
|
|
58
|
+
const nodeClassSpec = {};
|
|
59
|
+
if (spec.amiFamily) {
|
|
60
|
+
nodeClassSpec['amiFamily'] = spec.amiFamily;
|
|
61
|
+
}
|
|
62
|
+
if (spec.amiSelectorTerms) {
|
|
63
|
+
nodeClassSpec['amiSelectorTerms'] = spec.amiSelectorTerms;
|
|
64
|
+
}
|
|
65
|
+
if (spec.instanceStorePolicy) {
|
|
66
|
+
nodeClassSpec['instanceStorePolicy'] = spec.instanceStorePolicy;
|
|
67
|
+
}
|
|
68
|
+
if (spec.instanceProfile) {
|
|
69
|
+
nodeClassSpec['instanceProfile'] = spec.instanceProfile;
|
|
70
|
+
}
|
|
71
|
+
if (spec.securityGroupSelectorTerms) {
|
|
72
|
+
nodeClassSpec['securityGroupSelectorTerms'] = spec.securityGroupSelectorTerms;
|
|
73
|
+
}
|
|
74
|
+
if (spec.subnetSelectorTerms) {
|
|
75
|
+
nodeClassSpec['subnetSelectorTerms'] = spec.subnetSelectorTerms;
|
|
76
|
+
}
|
|
77
|
+
if (spec.userData) {
|
|
78
|
+
nodeClassSpec['userData'] = spec.userData;
|
|
79
|
+
}
|
|
80
|
+
if (spec.role) {
|
|
81
|
+
nodeClassSpec['role'] = spec.role;
|
|
82
|
+
}
|
|
83
|
+
if (spec.tags) {
|
|
84
|
+
nodeClassSpec['tags'] = spec.tags;
|
|
85
|
+
}
|
|
86
|
+
if (spec.blockDeviceMappings) {
|
|
87
|
+
nodeClassSpec['blockDeviceMappings'] = spec.blockDeviceMappings;
|
|
88
|
+
}
|
|
89
|
+
if (spec.metadataOptions) {
|
|
90
|
+
nodeClassSpec['metadataOptions'] = spec.metadataOptions;
|
|
91
|
+
}
|
|
92
|
+
return this.createApiObject(spec.name, 'karpenter.k8s.aws/v1beta1', 'EC2NodeClass', nodeClassSpec, spec.labels, spec.annotations);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=karpenterResources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"karpenterResources.js","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/aws/karpenterResources.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,22 @@ export declare class GCPResources extends BaseResourceProvider {
|
|
|
83
83
|
* @since 2.4.0
|
|
84
84
|
*/
|
|
85
85
|
addWorkloadIdentityServiceAccount(spec: GCPWorkloadIdentityServiceAccountSpec): ApiObject;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a ServiceAccount with GCP Artifact Registry access
|
|
88
|
+
* @param spec - Artifact Registry ServiceAccount specification
|
|
89
|
+
* @returns Created ServiceAccount ApiObject
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* gcpResources.addArtifactRegistryServiceAccount({
|
|
94
|
+
* name: 'artifact-registry-sa',
|
|
95
|
+
* googleServiceAccount: 'my-gsa@project.iam.gserviceaccount.com'
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @since 2.7.0
|
|
100
|
+
*/
|
|
101
|
+
addArtifactRegistryServiceAccount(spec: GCPArtifactRegistryServiceAccountSpec): ApiObject;
|
|
86
102
|
}
|
|
87
103
|
export interface GCPPersistentDiskStorageClassSpec {
|
|
88
104
|
name: string;
|
|
@@ -130,4 +146,14 @@ export interface GCPWorkloadIdentityServiceAccountSpec {
|
|
|
130
146
|
labels?: Record<string, string>;
|
|
131
147
|
annotations?: Record<string, string>;
|
|
132
148
|
}
|
|
149
|
+
export interface GCPArtifactRegistryServiceAccountSpec {
|
|
150
|
+
name: string;
|
|
151
|
+
googleServiceAccount: string;
|
|
152
|
+
automountServiceAccountToken?: boolean;
|
|
153
|
+
imagePullSecrets?: Array<{
|
|
154
|
+
name: string;
|
|
155
|
+
}>;
|
|
156
|
+
labels?: Record<string, string>;
|
|
157
|
+
annotations?: Record<string, string>;
|
|
158
|
+
}
|
|
133
159
|
//# sourceMappingURL=gcpResources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcpResources.d.ts","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/gcp/gcpResources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,oBAAoB;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAA0B;IAExE;;;;;;;;;;;;;;;;OAgBG;IACH,6BAA6B,CAAC,IAAI,EAAE,iCAAiC,GAAG,SAAS;IAyBjF;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS;IAyBvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS;IAqDjD;;;;;;;;;;;;;;;OAeG;IACH,iCAAiC,CAAC,IAAI,EAAE,qCAAqC,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"gcpResources.d.ts","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/gcp/gcpResources.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,35 @@ export class GCPResources extends BaseResourceProvider {
|
|
|
155
155
|
const serviceAccountSpec = {};
|
|
156
156
|
return this.createApiObject(spec.name, GCPResources.CORE_API_VERSION, 'ServiceAccount', serviceAccountSpec, spec.labels, annotations);
|
|
157
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Creates a ServiceAccount with GCP Artifact Registry access
|
|
160
|
+
* @param spec - Artifact Registry ServiceAccount specification
|
|
161
|
+
* @returns Created ServiceAccount ApiObject
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* gcpResources.addArtifactRegistryServiceAccount({
|
|
166
|
+
* name: 'artifact-registry-sa',
|
|
167
|
+
* googleServiceAccount: 'my-gsa@project.iam.gserviceaccount.com'
|
|
168
|
+
* });
|
|
169
|
+
* ```
|
|
170
|
+
*
|
|
171
|
+
* @since 2.7.0
|
|
172
|
+
*/
|
|
173
|
+
addArtifactRegistryServiceAccount(spec) {
|
|
174
|
+
const annotations = {
|
|
175
|
+
'iam.gke.io/gcp-service-account': spec.googleServiceAccount,
|
|
176
|
+
...(spec.annotations || {}),
|
|
177
|
+
};
|
|
178
|
+
const serviceAccountSpec = {};
|
|
179
|
+
if (spec.automountServiceAccountToken !== undefined) {
|
|
180
|
+
serviceAccountSpec['automountServiceAccountToken'] = spec.automountServiceAccountToken;
|
|
181
|
+
}
|
|
182
|
+
if (spec.imagePullSecrets) {
|
|
183
|
+
serviceAccountSpec['imagePullSecrets'] = spec.imagePullSecrets;
|
|
184
|
+
}
|
|
185
|
+
return this.createApiObject(spec.name, GCPResources.CORE_API_VERSION, 'ServiceAccount', serviceAccountSpec, spec.labels, annotations);
|
|
186
|
+
}
|
|
158
187
|
}
|
|
159
188
|
GCPResources.STORAGE_API_VERSION = 'storage.k8s.io/v1';
|
|
160
189
|
GCPResources.CORE_API_VERSION = 'v1';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcpResources.js","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/gcp/gcpResources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gcpResources.js","sourceRoot":"","sources":["../../../../../src/lib/resources/cloud/gcp/gcpResources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Network resources for Kubernetes networking
|
|
3
|
+
* @since 2.7.0
|
|
4
|
+
*/
|
|
5
|
+
import type { ApiObject } from 'cdk8s';
|
|
6
|
+
import { BaseResourceProvider } from '../baseResourceProvider.js';
|
|
7
|
+
/**
|
|
8
|
+
* Network policy rule specification
|
|
9
|
+
* @since 2.7.0
|
|
10
|
+
*/
|
|
11
|
+
export interface NetworkPolicyRule {
|
|
12
|
+
/** Ports to allow */
|
|
13
|
+
ports?: Array<{
|
|
14
|
+
port?: number | string;
|
|
15
|
+
protocol?: 'TCP' | 'UDP' | 'SCTP';
|
|
16
|
+
}>;
|
|
17
|
+
/** Pod selector for allowed pods */
|
|
18
|
+
podSelector?: {
|
|
19
|
+
matchLabels?: Record<string, string>;
|
|
20
|
+
matchExpressions?: Array<{
|
|
21
|
+
key: string;
|
|
22
|
+
operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
|
|
23
|
+
values?: string[];
|
|
24
|
+
}>;
|
|
25
|
+
};
|
|
26
|
+
/** Namespace selector for allowed namespaces */
|
|
27
|
+
namespaceSelector?: {
|
|
28
|
+
matchLabels?: Record<string, string>;
|
|
29
|
+
matchExpressions?: Array<{
|
|
30
|
+
key: string;
|
|
31
|
+
operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
|
|
32
|
+
values?: string[];
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Network policy specification
|
|
38
|
+
* @since 2.7.0
|
|
39
|
+
*/
|
|
40
|
+
export interface NetworkPolicySpec {
|
|
41
|
+
/** Resource name */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Pod selector to apply policy to */
|
|
44
|
+
podSelector: {
|
|
45
|
+
matchLabels?: Record<string, string>;
|
|
46
|
+
matchExpressions?: Array<{
|
|
47
|
+
key: string;
|
|
48
|
+
operator: 'In' | 'NotIn' | 'Exists' | 'DoesNotExist';
|
|
49
|
+
values?: string[];
|
|
50
|
+
}>;
|
|
51
|
+
};
|
|
52
|
+
/** Policy types to apply */
|
|
53
|
+
policyTypes?: Array<'Ingress' | 'Egress'>;
|
|
54
|
+
/** Ingress rules */
|
|
55
|
+
ingress?: NetworkPolicyRule[];
|
|
56
|
+
/** Egress rules */
|
|
57
|
+
egress?: NetworkPolicyRule[];
|
|
58
|
+
/** Resource labels */
|
|
59
|
+
labels?: Record<string, string>;
|
|
60
|
+
/** Resource annotations */
|
|
61
|
+
annotations?: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Ingress specification
|
|
65
|
+
* @since 2.7.0
|
|
66
|
+
*/
|
|
67
|
+
export interface IngressSpec {
|
|
68
|
+
/** Resource name */
|
|
69
|
+
name: string;
|
|
70
|
+
/** Ingress class name */
|
|
71
|
+
ingressClassName?: string;
|
|
72
|
+
/** TLS configuration */
|
|
73
|
+
tls?: Array<{
|
|
74
|
+
hosts?: string[];
|
|
75
|
+
secretName?: string;
|
|
76
|
+
}>;
|
|
77
|
+
/** Ingress rules */
|
|
78
|
+
rules?: Array<{
|
|
79
|
+
host?: string;
|
|
80
|
+
http?: {
|
|
81
|
+
paths: Array<{
|
|
82
|
+
path?: string;
|
|
83
|
+
pathType?: 'Exact' | 'Prefix' | 'ImplementationSpecific';
|
|
84
|
+
backend: {
|
|
85
|
+
service: {
|
|
86
|
+
name: string;
|
|
87
|
+
port: {
|
|
88
|
+
number?: number;
|
|
89
|
+
name?: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
}>;
|
|
94
|
+
};
|
|
95
|
+
}>;
|
|
96
|
+
/** Resource labels */
|
|
97
|
+
labels?: Record<string, string>;
|
|
98
|
+
/** Resource annotations */
|
|
99
|
+
annotations?: Record<string, string>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Network resources provider for NetworkPolicy and Ingress
|
|
103
|
+
* @extends BaseResourceProvider
|
|
104
|
+
* @since 2.7.0
|
|
105
|
+
*/
|
|
106
|
+
export declare class NetworkResources extends BaseResourceProvider {
|
|
107
|
+
/**
|
|
108
|
+
* Creates a NetworkPolicy resource
|
|
109
|
+
* @param spec - NetworkPolicy specification
|
|
110
|
+
* @returns Created NetworkPolicy ApiObject
|
|
111
|
+
* @since 2.7.0
|
|
112
|
+
*/
|
|
113
|
+
addNetworkPolicy(spec: NetworkPolicySpec): ApiObject;
|
|
114
|
+
/**
|
|
115
|
+
* Creates a deny-all NetworkPolicy that blocks all ingress and egress traffic
|
|
116
|
+
* @param name - Policy name
|
|
117
|
+
* @param podSelector - Pod selector to apply policy to
|
|
118
|
+
* @param labels - Optional labels
|
|
119
|
+
* @param annotations - Optional annotations
|
|
120
|
+
* @returns Created NetworkPolicy ApiObject
|
|
121
|
+
* @since 2.7.0
|
|
122
|
+
*/
|
|
123
|
+
addDenyAllNetworkPolicy(name: string, podSelector?: NetworkPolicySpec['podSelector'], labels?: Record<string, string>, annotations?: Record<string, string>): ApiObject;
|
|
124
|
+
/**
|
|
125
|
+
* Creates a NetworkPolicy that allows traffic from specific pods
|
|
126
|
+
* @param name - Policy name
|
|
127
|
+
* @param podSelector - Pod selector to apply policy to
|
|
128
|
+
* @param fromPodSelector - Pod selector for allowed source pods
|
|
129
|
+
* @param ports - Optional ports to allow
|
|
130
|
+
* @param labels - Optional labels
|
|
131
|
+
* @param annotations - Optional annotations
|
|
132
|
+
* @returns Created NetworkPolicy ApiObject
|
|
133
|
+
* @since 2.7.0
|
|
134
|
+
*/
|
|
135
|
+
addAllowFromPodsNetworkPolicy(name: string, podSelector: NetworkPolicySpec['podSelector'], fromPodSelector: NetworkPolicyRule['podSelector'], ports?: NetworkPolicyRule['ports'], labels?: Record<string, string>, annotations?: Record<string, string>): ApiObject;
|
|
136
|
+
/**
|
|
137
|
+
* Creates a NetworkPolicy that allows traffic from specific namespaces
|
|
138
|
+
* @param name - Policy name
|
|
139
|
+
* @param podSelector - Pod selector to apply policy to
|
|
140
|
+
* @param fromNamespaceSelector - Namespace selector for allowed source namespaces
|
|
141
|
+
* @param ports - Optional ports to allow
|
|
142
|
+
* @param labels - Optional labels
|
|
143
|
+
* @param annotations - Optional annotations
|
|
144
|
+
* @returns Created NetworkPolicy ApiObject
|
|
145
|
+
* @since 2.7.0
|
|
146
|
+
*/
|
|
147
|
+
addAllowFromNamespaceNetworkPolicy(name: string, podSelector: NetworkPolicySpec['podSelector'], fromNamespaceSelector: NetworkPolicyRule['namespaceSelector'], ports?: NetworkPolicyRule['ports'], labels?: Record<string, string>, annotations?: Record<string, string>): ApiObject;
|
|
148
|
+
/**
|
|
149
|
+
* Creates an Ingress resource
|
|
150
|
+
* @param spec - Ingress specification
|
|
151
|
+
* @returns Created Ingress ApiObject
|
|
152
|
+
* @since 2.7.0
|
|
153
|
+
*/
|
|
154
|
+
addIngress(spec: IngressSpec): ApiObject;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=networkResources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkResources.d.ts","sourceRoot":"","sources":["../../../../src/lib/resources/network/networkResources.ts"],"names":[],"mappings":"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"}
|