@highstate/k8s 0.14.2 → 0.16.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/dist/chunk-22GOWZQP.js +286 -0
- package/dist/chunk-22GOWZQP.js.map +1 -0
- package/dist/{chunk-VJL2BFKO.js → chunk-4G6LLC2X.js} +13 -24
- package/dist/chunk-4G6LLC2X.js.map +1 -0
- package/dist/{chunk-C6WHUOC3.js → chunk-BR2CLUUD.js} +15 -26
- package/dist/chunk-BR2CLUUD.js.map +1 -0
- package/dist/{chunk-EACAK6W4.js → chunk-DCUMJSO6.js} +17 -28
- package/dist/chunk-DCUMJSO6.js.map +1 -0
- package/dist/{chunk-NWXKLVBC.js → chunk-HJKJHTJM.js} +20 -30
- package/dist/chunk-HJKJHTJM.js.map +1 -0
- package/dist/{chunk-7H4L3DFC.js → chunk-KMLRI5UZ.js} +57 -70
- package/dist/chunk-KMLRI5UZ.js.map +1 -0
- package/dist/{chunk-6ACIPGW4.js → chunk-LGHFSXNT.js} +12 -13
- package/dist/chunk-LGHFSXNT.js.map +1 -0
- package/dist/{chunk-SEWB4FUB.js → chunk-OBDQONMV.js} +64 -23
- package/dist/chunk-OBDQONMV.js.map +1 -0
- package/dist/chunk-SL5CBM3A.js +301 -0
- package/dist/chunk-SL5CBM3A.js.map +1 -0
- package/dist/{chunk-3CKMDTYK.js → chunk-TWBMG6TD.js} +68 -91
- package/dist/chunk-TWBMG6TD.js.map +1 -0
- package/dist/{chunk-YTRQ6JRU.js → chunk-XRIC6EJ3.js} +159 -94
- package/dist/chunk-XRIC6EJ3.js.map +1 -0
- package/dist/{chunk-O64YZLA4.js → chunk-ZBFWQHE4.js} +21 -30
- package/dist/chunk-ZBFWQHE4.js.map +1 -0
- package/dist/{chunk-4VGISFL4.js → chunk-ZHVKK2U6.js} +12 -11
- package/dist/chunk-ZHVKK2U6.js.map +1 -0
- package/dist/cron-job-LX35I6HG.js +8 -0
- package/dist/cron-job-LX35I6HG.js.map +1 -0
- package/dist/deployment-HRJGAEJR.js +8 -0
- package/dist/{deployment-THUD5QUH.js.map → deployment-HRJGAEJR.js.map} +1 -1
- package/dist/highstate.manifest.json +2 -3
- package/dist/impl/gateway-route.js +10 -10
- package/dist/impl/gateway-route.js.map +1 -1
- package/dist/impl/tls-certificate.js +3 -3
- package/dist/index.js +39 -627
- package/dist/index.js.map +1 -1
- package/dist/job-J4BKBVQD.js +8 -0
- package/dist/job-J4BKBVQD.js.map +1 -0
- package/dist/stateful-set-LAJR5RL4.js +8 -0
- package/dist/{stateful-set-ABCZML4L.js.map → stateful-set-LAJR5RL4.js.map} +1 -1
- package/dist/units/cert-manager/index.js +7 -7
- package/dist/units/cluster-patch/index.js +9 -18
- package/dist/units/cluster-patch/index.js.map +1 -1
- package/dist/units/dns01-issuer/index.js +6 -6
- package/dist/units/dns01-issuer/index.js.map +1 -1
- package/dist/units/existing-cluster/index.js +19 -9
- package/dist/units/existing-cluster/index.js.map +1 -1
- package/dist/units/gateway-api/index.js +2 -2
- package/dist/units/gateway-api/index.js.map +1 -1
- package/dist/units/reduced-access-cluster/index.js +18 -25
- package/dist/units/reduced-access-cluster/index.js.map +1 -1
- package/package.json +7 -12
- package/src/cluster.ts +14 -14
- package/src/config-map.ts +16 -30
- package/src/container.ts +1 -1
- package/src/cron-job.ts +23 -41
- package/src/deployment.ts +23 -30
- package/src/gateway/gateway.ts +21 -29
- package/src/helm.ts +7 -8
- package/src/impl/gateway-route.ts +5 -13
- package/src/job.ts +20 -38
- package/src/namespace.ts +18 -22
- package/src/network-policy.ts +37 -36
- package/src/network.ts +18 -10
- package/src/pvc.ts +12 -28
- package/src/rbac.ts +75 -97
- package/src/scripting/bundle.ts +3 -3
- package/src/scripting/environment.ts +3 -3
- package/src/secret.ts +16 -30
- package/src/service.ts +86 -105
- package/src/shared.ts +82 -20
- package/src/stateful-set.ts +17 -28
- package/src/tls.ts +20 -31
- package/src/units/cluster-patch/index.ts +9 -19
- package/src/units/dns01-issuer/index.ts +6 -6
- package/src/units/existing-cluster/index.ts +28 -10
- package/src/units/gateway-api/index.ts +1 -1
- package/src/units/reduced-access-cluster/index.ts +16 -24
- package/src/worker.ts +7 -5
- package/src/workload.ts +172 -28
- package/dist/chunk-3CKMDTYK.js.map +0 -1
- package/dist/chunk-4VGISFL4.js.map +0 -1
- package/dist/chunk-6ACIPGW4.js.map +0 -1
- package/dist/chunk-7H4L3DFC.js.map +0 -1
- package/dist/chunk-C6WHUOC3.js.map +0 -1
- package/dist/chunk-EACAK6W4.js.map +0 -1
- package/dist/chunk-NWXKLVBC.js.map +0 -1
- package/dist/chunk-O64YZLA4.js.map +0 -1
- package/dist/chunk-SEWB4FUB.js.map +0 -1
- package/dist/chunk-VJL2BFKO.js.map +0 -1
- package/dist/chunk-YTRQ6JRU.js.map +0 -1
- package/dist/deployment-THUD5QUH.js +0 -8
- package/dist/stateful-set-ABCZML4L.js +0 -8
- package/dist/units/cluster-dns/index.js +0 -37
- package/dist/units/cluster-dns/index.js.map +0 -1
- package/src/units/cluster-dns/index.ts +0 -37
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
import { isEndpointFromCluster, mapServiceToLabelSelector, Service, mapContainerPortToServicePort } from './chunk-
|
|
2
|
-
import { Secret } from './chunk-
|
|
3
|
-
import { commonExtraArgs,
|
|
1
|
+
import { isEndpointFromCluster, mapServiceToLabelSelector, Service, mapContainerPortToServicePort } from './chunk-TWBMG6TD.js';
|
|
2
|
+
import { Secret } from './chunk-4G6LLC2X.js';
|
|
3
|
+
import { commonExtraArgs, NamespacedResource, Namespace, mapMetadata, getProvider, mapSelectorLikeToSelector, getProviderAsync, mapNamespaceNameToSelector, getNamespaceName, images_exports } from './chunk-OBDQONMV.js';
|
|
4
4
|
import { z, getOrCreate, trimIndentation } from '@highstate/contract';
|
|
5
5
|
import { ComponentResource, toPromise, output as output$1, interpolate as interpolate$1, normalize, normalizeInputs, fileFromString } from '@highstate/pulumi';
|
|
6
6
|
import { core, networking } from '@pulumi/kubernetes';
|
|
7
7
|
import { output, interpolate } from '@pulumi/pulumi';
|
|
8
8
|
import { deepmerge } from 'deepmerge-ts';
|
|
9
|
-
import { omit, concat, map, groupBy, mergeDeep, uniqueBy, flat, merge, filter,
|
|
10
|
-
import { ImplementationMediator,
|
|
9
|
+
import { omit, concat, map, groupBy, isNonNullish, mergeDeep, uniqueBy, flat, merge, filter, unique } from 'remeda';
|
|
10
|
+
import { ImplementationMediator, parseEndpoint, addressToCidr, endpointToString, l3EndpointToCidr, AccessPointRoute, mergeEndpoints } from '@highstate/common';
|
|
11
11
|
import { sha256 } from 'crypto-hash';
|
|
12
12
|
|
|
13
|
-
var ConfigMap = class _ConfigMap extends
|
|
14
|
-
constructor(type, name, args, opts,
|
|
15
|
-
super(type, name, args, opts,
|
|
13
|
+
var ConfigMap = class _ConfigMap extends NamespacedResource {
|
|
14
|
+
constructor(type, name, args, opts, metadata, namespace, data) {
|
|
15
|
+
super(type, name, args, opts, metadata, namespace);
|
|
16
16
|
this.data = data;
|
|
17
17
|
}
|
|
18
|
+
static apiVersion = "v1";
|
|
19
|
+
static kind = "ConfigMap";
|
|
18
20
|
/**
|
|
19
21
|
* The Highstate config map entity.
|
|
20
22
|
*/
|
|
21
23
|
get entity() {
|
|
22
|
-
return output(
|
|
23
|
-
type: "config-map",
|
|
24
|
-
clusterId: this.cluster.id,
|
|
25
|
-
clusterName: this.cluster.name,
|
|
26
|
-
metadata: this.metadata
|
|
27
|
-
});
|
|
24
|
+
return output(this.entityBase);
|
|
28
25
|
}
|
|
29
26
|
/**
|
|
30
27
|
* Creates a new config map.
|
|
@@ -148,10 +145,8 @@ var CreatedConfigMap = class extends ConfigMap {
|
|
|
148
145
|
name,
|
|
149
146
|
args,
|
|
150
147
|
opts,
|
|
151
|
-
configMap.apiVersion,
|
|
152
|
-
configMap.kind,
|
|
153
|
-
output(args.namespace),
|
|
154
148
|
configMap.metadata,
|
|
149
|
+
output(args.namespace),
|
|
155
150
|
configMap.data
|
|
156
151
|
);
|
|
157
152
|
}
|
|
@@ -177,10 +172,8 @@ var ConfigMapPatch = class extends ConfigMap {
|
|
|
177
172
|
name,
|
|
178
173
|
args,
|
|
179
174
|
opts,
|
|
180
|
-
configMap.apiVersion,
|
|
181
|
-
configMap.kind,
|
|
182
|
-
output(args.namespace),
|
|
183
175
|
configMap.metadata,
|
|
176
|
+
output(args.namespace),
|
|
184
177
|
configMap.data
|
|
185
178
|
);
|
|
186
179
|
}
|
|
@@ -192,10 +185,8 @@ var WrappedConfigMap = class extends ConfigMap {
|
|
|
192
185
|
name,
|
|
193
186
|
args,
|
|
194
187
|
opts,
|
|
195
|
-
output(args.configMap).apiVersion,
|
|
196
|
-
output(args.configMap).kind,
|
|
197
|
-
output(args.namespace),
|
|
198
188
|
output(args.configMap).metadata,
|
|
189
|
+
output(args.namespace),
|
|
199
190
|
output(args.configMap).data
|
|
200
191
|
);
|
|
201
192
|
}
|
|
@@ -214,31 +205,26 @@ var ExternalConfigMap = class extends ConfigMap {
|
|
|
214
205
|
name,
|
|
215
206
|
args,
|
|
216
207
|
opts,
|
|
217
|
-
configMap.apiVersion,
|
|
218
|
-
configMap.kind,
|
|
219
|
-
output(args.namespace),
|
|
220
208
|
configMap.metadata,
|
|
209
|
+
output(args.namespace),
|
|
221
210
|
configMap.data
|
|
222
211
|
);
|
|
223
212
|
}
|
|
224
213
|
};
|
|
225
214
|
var extraPersistentVolumeClaimArgs = [...commonExtraArgs, "size"];
|
|
226
|
-
var PersistentVolumeClaim = class _PersistentVolumeClaim extends
|
|
227
|
-
constructor(type, name, args, opts,
|
|
228
|
-
super(type, name, args, opts,
|
|
215
|
+
var PersistentVolumeClaim = class _PersistentVolumeClaim extends NamespacedResource {
|
|
216
|
+
constructor(type, name, args, opts, metadata, namespace, spec, status) {
|
|
217
|
+
super(type, name, args, opts, metadata, namespace);
|
|
229
218
|
this.spec = spec;
|
|
230
219
|
this.status = status;
|
|
231
220
|
}
|
|
221
|
+
static apiVersion = "v1";
|
|
222
|
+
static kind = "PersistentVolumeClaim";
|
|
232
223
|
/**
|
|
233
224
|
* The Highstate PVC entity.
|
|
234
225
|
*/
|
|
235
226
|
get entity() {
|
|
236
|
-
return output$1(
|
|
237
|
-
type: "persistent-volume-claim",
|
|
238
|
-
clusterId: this.cluster.id,
|
|
239
|
-
clusterName: this.cluster.name,
|
|
240
|
-
metadata: this.metadata
|
|
241
|
-
});
|
|
227
|
+
return output$1(this.entityBase);
|
|
242
228
|
}
|
|
243
229
|
/**
|
|
244
230
|
* Creates a new PVC.
|
|
@@ -374,10 +360,8 @@ var CreatedPersistentVolumeClaim = class extends PersistentVolumeClaim {
|
|
|
374
360
|
name,
|
|
375
361
|
args,
|
|
376
362
|
opts,
|
|
377
|
-
pvc.apiVersion,
|
|
378
|
-
pvc.kind,
|
|
379
|
-
output$1(args.namespace),
|
|
380
363
|
pvc.metadata,
|
|
364
|
+
output$1(args.namespace),
|
|
381
365
|
pvc.spec,
|
|
382
366
|
pvc.status
|
|
383
367
|
);
|
|
@@ -416,10 +400,8 @@ var PersistentVolumeClaimPatch = class extends PersistentVolumeClaim {
|
|
|
416
400
|
name,
|
|
417
401
|
args,
|
|
418
402
|
opts,
|
|
419
|
-
pvc.apiVersion,
|
|
420
|
-
pvc.kind,
|
|
421
|
-
output$1(args.namespace),
|
|
422
403
|
pvc.metadata,
|
|
404
|
+
output$1(args.namespace),
|
|
423
405
|
pvc.spec,
|
|
424
406
|
pvc.status
|
|
425
407
|
);
|
|
@@ -432,10 +414,8 @@ var WrappedPersistentVolumeClaim = class extends PersistentVolumeClaim {
|
|
|
432
414
|
name,
|
|
433
415
|
args,
|
|
434
416
|
opts,
|
|
435
|
-
output$1(args.pvc).apiVersion,
|
|
436
|
-
output$1(args.pvc).kind,
|
|
437
|
-
output$1(args.namespace),
|
|
438
417
|
output$1(args.pvc).metadata,
|
|
418
|
+
output$1(args.namespace),
|
|
439
419
|
output$1(args.pvc).spec,
|
|
440
420
|
output$1(args.pvc).status
|
|
441
421
|
);
|
|
@@ -455,10 +435,8 @@ var ExternalPersistentVolumeClaim = class extends PersistentVolumeClaim {
|
|
|
455
435
|
name,
|
|
456
436
|
args,
|
|
457
437
|
opts,
|
|
458
|
-
pvc.apiVersion,
|
|
459
|
-
pvc.kind,
|
|
460
|
-
output$1(args.namespace),
|
|
461
438
|
pvc.metadata,
|
|
439
|
+
output$1(args.namespace),
|
|
462
440
|
pvc.spec,
|
|
463
441
|
pvc.status
|
|
464
442
|
);
|
|
@@ -664,6 +642,8 @@ function getWorkloadVolumeResourceUuid(volume) {
|
|
|
664
642
|
}
|
|
665
643
|
return output$1(void 0);
|
|
666
644
|
}
|
|
645
|
+
|
|
646
|
+
// src/network.ts
|
|
667
647
|
function getBestEndpoint(endpoints, cluster) {
|
|
668
648
|
if (!endpoints.length) {
|
|
669
649
|
return void 0;
|
|
@@ -671,14 +651,19 @@ function getBestEndpoint(endpoints, cluster) {
|
|
|
671
651
|
if (endpoints.length === 1) {
|
|
672
652
|
return endpoints[0];
|
|
673
653
|
}
|
|
674
|
-
if (
|
|
675
|
-
|
|
654
|
+
if (cluster) {
|
|
655
|
+
const clusterEndpoint = endpoints.find(
|
|
656
|
+
(endpoint) => isEndpointFromCluster(endpoint, cluster) && endpoint.metadata["k8s.service"].isInternal
|
|
657
|
+
);
|
|
658
|
+
if (clusterEndpoint) {
|
|
659
|
+
return clusterEndpoint;
|
|
660
|
+
}
|
|
676
661
|
}
|
|
677
|
-
const
|
|
678
|
-
if (
|
|
679
|
-
return
|
|
662
|
+
const publicEndpoint = endpoints.find((endpoint) => endpoint.metadata["iana.scope"] === "global");
|
|
663
|
+
if (publicEndpoint) {
|
|
664
|
+
return publicEndpoint;
|
|
680
665
|
}
|
|
681
|
-
return
|
|
666
|
+
return endpoints[0];
|
|
682
667
|
}
|
|
683
668
|
function requireBestEndpoint(endpoints, cluster) {
|
|
684
669
|
const endpoint = getBestEndpoint(endpoints, cluster);
|
|
@@ -724,7 +709,7 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
724
709
|
allowKubeApiServer: args2.allowKubeApiServer ?? false,
|
|
725
710
|
ingressRules: ingressRules.flatMap((rule) => {
|
|
726
711
|
const endpoints = normalize(rule?.fromEndpoint, rule?.fromEndpoints);
|
|
727
|
-
const parsedEndpoints = endpoints.map(
|
|
712
|
+
const parsedEndpoints = endpoints.map((endpoint) => parseEndpoint(endpoint));
|
|
728
713
|
const endpointsNamespaces = groupBy(parsedEndpoints, (endpoint) => {
|
|
729
714
|
const namespace = isEndpointFromCluster(endpoint, cluster) ? endpoint.metadata["k8s.service"].namespace : "";
|
|
730
715
|
return namespace;
|
|
@@ -748,10 +733,10 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
748
733
|
}),
|
|
749
734
|
egressRules: egressRules.flatMap((rule) => {
|
|
750
735
|
const endpoints = normalize(rule?.toEndpoint, rule?.toEndpoints);
|
|
751
|
-
const parsedEndpoints = endpoints.map(
|
|
736
|
+
const parsedEndpoints = endpoints.map((endpoint) => parseEndpoint(endpoint));
|
|
752
737
|
const endpointsByPortsAnsNamespaces = groupBy(parsedEndpoints, (endpoint) => {
|
|
753
738
|
const namespace = isEndpointFromCluster(endpoint, cluster) ? endpoint.metadata["k8s.service"].namespace : "";
|
|
754
|
-
const port = isEndpointFromCluster(endpoint, cluster) ? endpoint.metadata["k8s.service"].targetPort : endpoint.port;
|
|
739
|
+
const port = isEndpointFromCluster(endpoint, cluster) ? endpoint.metadata["k8s.service"].targetPort : endpoint.level !== 3 ? endpoint.port : void 0;
|
|
755
740
|
return `${port ?? "0"}:${namespace}`;
|
|
756
741
|
});
|
|
757
742
|
const l3OnlyRule = endpointsByPortsAnsNamespaces["0:"] ? _NetworkPolicy.getRuleFromEndpoint(
|
|
@@ -798,15 +783,14 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
798
783
|
})
|
|
799
784
|
);
|
|
800
785
|
}
|
|
801
|
-
static mapCidrFromEndpoint(result) {
|
|
802
|
-
if (result.type === "ipv4") {
|
|
803
|
-
return `${result.address}/32`;
|
|
804
|
-
}
|
|
805
|
-
return `${result.address}/128`;
|
|
806
|
-
}
|
|
807
786
|
static getRuleFromEndpoint(port, endpoints, cluster) {
|
|
808
|
-
const ports = port ? [
|
|
809
|
-
|
|
787
|
+
const ports = port ? [
|
|
788
|
+
{
|
|
789
|
+
port,
|
|
790
|
+
protocol: endpoints[0].level !== 3 ? endpoints[0].protocol?.toUpperCase() : void 0
|
|
791
|
+
}
|
|
792
|
+
] : [];
|
|
793
|
+
const cidrs = endpoints.filter((endpoint) => !isEndpointFromCluster(endpoint, cluster)).map((endpoint) => endpoint.address ? addressToCidr(endpoint.address) : null).filter(isNonNullish);
|
|
810
794
|
const fqdns = endpoints.filter((endpoint) => endpoint.type === "hostname").map((endpoint) => endpoint.hostname);
|
|
811
795
|
const selectors = endpoints.filter((endpoint) => isEndpointFromCluster(endpoint, cluster)).map((endpoint) => endpoint.metadata["k8s.service"].selector);
|
|
812
796
|
const namespace = endpoints.filter((endpoint) => isEndpointFromCluster(endpoint, cluster)).map((endpoint) => endpoint.metadata["k8s.service"].namespace)[0];
|
|
@@ -961,15 +945,15 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
961
945
|
* @param opts Optional resource options.
|
|
962
946
|
*/
|
|
963
947
|
static async allowEgressToEndpoint(namespace, endpoint, opts) {
|
|
964
|
-
const parsedEndpoint =
|
|
965
|
-
const endpointStr =
|
|
948
|
+
const parsedEndpoint = parseEndpoint(endpoint);
|
|
949
|
+
const endpointStr = endpointToString(parsedEndpoint).replace(/:/g, "-");
|
|
966
950
|
const nsName = await toPromise(output$1(namespace).metadata.name);
|
|
967
951
|
const cluster = await toPromise(output$1(namespace).cluster);
|
|
968
952
|
return new _NetworkPolicy(
|
|
969
953
|
`allow-egress-to-${endpointStr}.${cluster.name}.${nsName}.${cluster.id}`,
|
|
970
954
|
{
|
|
971
955
|
namespace,
|
|
972
|
-
description: `Allow egress traffic to "${
|
|
956
|
+
description: `Allow egress traffic to "${endpointToString(parsedEndpoint)}" from the namespace.`,
|
|
973
957
|
egressRule: { toEndpoint: endpoint }
|
|
974
958
|
},
|
|
975
959
|
opts
|
|
@@ -987,7 +971,10 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
987
971
|
static async allowEgressToBestEndpoint(namespace, endpoints, opts) {
|
|
988
972
|
const cluster = await toPromise(output$1(namespace).cluster);
|
|
989
973
|
const resolvedEndpoints = await toPromise(output$1(endpoints));
|
|
990
|
-
const bestEndpoint = requireBestEndpoint(
|
|
974
|
+
const bestEndpoint = requireBestEndpoint(
|
|
975
|
+
resolvedEndpoints.map((endpoint) => parseEndpoint(endpoint)),
|
|
976
|
+
cluster
|
|
977
|
+
);
|
|
991
978
|
return await _NetworkPolicy.allowEgressToEndpoint(namespace, bestEndpoint, opts);
|
|
992
979
|
}
|
|
993
980
|
/**
|
|
@@ -1000,15 +987,15 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
|
|
|
1000
987
|
* @param opts Optional resource options.
|
|
1001
988
|
*/
|
|
1002
989
|
static async allowIngressFromEndpoint(namespace, endpoint, opts) {
|
|
1003
|
-
const parsedEndpoint =
|
|
1004
|
-
const endpointStr =
|
|
990
|
+
const parsedEndpoint = parseEndpoint(endpoint);
|
|
991
|
+
const endpointStr = endpointToString(parsedEndpoint).replace(/:/g, "-");
|
|
1005
992
|
const nsName = await toPromise(output$1(namespace).metadata.name);
|
|
1006
993
|
const cluster = await toPromise(output$1(namespace).cluster);
|
|
1007
994
|
return new _NetworkPolicy(
|
|
1008
995
|
`allow-ingress-from-${endpointStr}.${cluster.name}.${nsName}.${cluster.id}`,
|
|
1009
996
|
{
|
|
1010
997
|
namespace,
|
|
1011
|
-
description: interpolate$1`Allow ingress traffic from "${
|
|
998
|
+
description: interpolate$1`Allow ingress traffic from "${endpointToString(parsedEndpoint)}" to the namespace.`,
|
|
1012
999
|
ingressRule: { fromEndpoint: endpoint }
|
|
1013
1000
|
},
|
|
1014
1001
|
opts
|
|
@@ -1323,9 +1310,9 @@ function getExposableWorkloadComponents(name, args, parent, opts, isForPatch) {
|
|
|
1323
1310
|
});
|
|
1324
1311
|
return { labels, containers, volumes, podSpec, podTemplate, networkPolicy, service, routes };
|
|
1325
1312
|
}
|
|
1326
|
-
var Workload = class extends
|
|
1327
|
-
constructor(type, name, args, opts,
|
|
1328
|
-
super(type, name, args, opts,
|
|
1313
|
+
var Workload = class extends NamespacedResource {
|
|
1314
|
+
constructor(type, name, args, opts, metadata, namespace, terminalArgs, containers, podTemplate, networkPolicy) {
|
|
1315
|
+
super(type, name, args, opts, metadata, namespace);
|
|
1329
1316
|
this.name = name;
|
|
1330
1317
|
this.terminalArgs = terminalArgs;
|
|
1331
1318
|
this.containers = containers;
|
|
@@ -1336,7 +1323,7 @@ var Workload = class extends ScopedResource {
|
|
|
1336
1323
|
set terminal(_value) {
|
|
1337
1324
|
}
|
|
1338
1325
|
/**
|
|
1339
|
-
* The instance terminal to interact with the
|
|
1326
|
+
* The instance terminal to interact with the workload's pods.
|
|
1340
1327
|
*/
|
|
1341
1328
|
get terminal() {
|
|
1342
1329
|
const containerName = this.podTemplate.spec.containers.apply((containers) => containers[0].name);
|
|
@@ -1359,7 +1346,7 @@ var Workload = class extends ScopedResource {
|
|
|
1359
1346
|
set -euo pipefail
|
|
1360
1347
|
|
|
1361
1348
|
NAMESPACE="${this.metadata.namespace}"
|
|
1362
|
-
RESOURCE_TYPE="${this.kind.
|
|
1349
|
+
RESOURCE_TYPE="${this.kind.toLowerCase()}"
|
|
1363
1350
|
RESOURCE_NAME="${this.metadata.name}"
|
|
1364
1351
|
CONTAINER_NAME="${containerName}"
|
|
1365
1352
|
SHELL="${shell}"
|
|
@@ -1433,7 +1420,7 @@ var Workload = class extends ScopedResource {
|
|
|
1433
1420
|
"-it",
|
|
1434
1421
|
"-n",
|
|
1435
1422
|
this.metadata.namespace,
|
|
1436
|
-
|
|
1423
|
+
`${this.kind.toLowerCase()}/${this.metadata.name}`,
|
|
1437
1424
|
"-c",
|
|
1438
1425
|
containerName,
|
|
1439
1426
|
"--",
|
|
@@ -1450,20 +1437,90 @@ var Workload = class extends ScopedResource {
|
|
|
1450
1437
|
}
|
|
1451
1438
|
});
|
|
1452
1439
|
}
|
|
1440
|
+
/**
|
|
1441
|
+
* Creates a generic workload or patches the existing one.
|
|
1442
|
+
*/
|
|
1443
|
+
static createOrPatchGeneric(name, args, opts) {
|
|
1444
|
+
return output(args).apply(async (args2) => {
|
|
1445
|
+
if (args2.existing?.kind === "Deployment") {
|
|
1446
|
+
const { Deployment } = await import('./deployment-HRJGAEJR.js');
|
|
1447
|
+
return Deployment.patch(
|
|
1448
|
+
name,
|
|
1449
|
+
{
|
|
1450
|
+
...deepmerge(args2, args2.deployment),
|
|
1451
|
+
name: args2.existing.metadata.name,
|
|
1452
|
+
namespace: Namespace.forResourceAsync(args2.existing, output(args2.namespace).cluster)
|
|
1453
|
+
},
|
|
1454
|
+
opts
|
|
1455
|
+
);
|
|
1456
|
+
}
|
|
1457
|
+
if (args2.existing?.kind === "StatefulSet") {
|
|
1458
|
+
const { StatefulSet } = await import('./stateful-set-LAJR5RL4.js');
|
|
1459
|
+
return StatefulSet.patch(
|
|
1460
|
+
name,
|
|
1461
|
+
{
|
|
1462
|
+
...deepmerge(args2, args2.statefulSet),
|
|
1463
|
+
name: args2.existing.metadata.name,
|
|
1464
|
+
namespace: Namespace.forResourceAsync(args2.existing, output(args2.namespace).cluster)
|
|
1465
|
+
},
|
|
1466
|
+
opts
|
|
1467
|
+
);
|
|
1468
|
+
}
|
|
1469
|
+
if (args2.existing?.kind === "Job") {
|
|
1470
|
+
const { Job } = await import('./job-J4BKBVQD.js');
|
|
1471
|
+
return Job.patch(
|
|
1472
|
+
name,
|
|
1473
|
+
{
|
|
1474
|
+
...deepmerge(args2, args2.job),
|
|
1475
|
+
name: args2.existing.metadata.name,
|
|
1476
|
+
namespace: Namespace.forResourceAsync(args2.existing, output(args2.namespace).cluster)
|
|
1477
|
+
},
|
|
1478
|
+
opts
|
|
1479
|
+
);
|
|
1480
|
+
}
|
|
1481
|
+
if (args2.existing?.kind === "CronJob") {
|
|
1482
|
+
const { CronJob } = await import('./cron-job-LX35I6HG.js');
|
|
1483
|
+
return CronJob.patch(
|
|
1484
|
+
name,
|
|
1485
|
+
{
|
|
1486
|
+
...deepmerge(args2, args2.cronJob),
|
|
1487
|
+
name: args2.existing.metadata.name,
|
|
1488
|
+
namespace: Namespace.forResourceAsync(args2.existing, output(args2.namespace).cluster)
|
|
1489
|
+
},
|
|
1490
|
+
opts
|
|
1491
|
+
);
|
|
1492
|
+
}
|
|
1493
|
+
if (args2.defaultType === "Deployment") {
|
|
1494
|
+
const { Deployment } = await import('./deployment-HRJGAEJR.js');
|
|
1495
|
+
return Deployment.create(name, deepmerge(args2, args2.deployment), opts);
|
|
1496
|
+
}
|
|
1497
|
+
if (args2.defaultType === "StatefulSet") {
|
|
1498
|
+
const { StatefulSet } = await import('./stateful-set-LAJR5RL4.js');
|
|
1499
|
+
return StatefulSet.create(name, deepmerge(args2, args2.statefulSet), opts);
|
|
1500
|
+
}
|
|
1501
|
+
if (args2.defaultType === "Job") {
|
|
1502
|
+
const { Job } = await import('./job-J4BKBVQD.js');
|
|
1503
|
+
return Job.create(name, deepmerge(args2, args2.job), opts);
|
|
1504
|
+
}
|
|
1505
|
+
if (args2.defaultType === "CronJob") {
|
|
1506
|
+
const { CronJob } = await import('./cron-job-LX35I6HG.js');
|
|
1507
|
+
return CronJob.create(name, deepmerge(args2, args2.cronJob), opts);
|
|
1508
|
+
}
|
|
1509
|
+
throw new Error(`Unknown workload type: ${args2.defaultType}`);
|
|
1510
|
+
});
|
|
1511
|
+
}
|
|
1453
1512
|
};
|
|
1454
1513
|
var ExposableWorkload = class extends Workload {
|
|
1455
|
-
constructor(type, name, args, opts,
|
|
1514
|
+
constructor(type, name, args, opts, metadata, namespace, terminalArgs, containers, podTemplate, networkPolicy, _service, routes) {
|
|
1456
1515
|
super(
|
|
1457
1516
|
type,
|
|
1458
1517
|
name,
|
|
1459
1518
|
args,
|
|
1460
1519
|
opts,
|
|
1461
|
-
|
|
1462
|
-
|
|
1520
|
+
metadata,
|
|
1521
|
+
namespace,
|
|
1463
1522
|
terminalArgs,
|
|
1464
1523
|
containers,
|
|
1465
|
-
namespace,
|
|
1466
|
-
metadata,
|
|
1467
1524
|
podTemplate,
|
|
1468
1525
|
networkPolicy
|
|
1469
1526
|
);
|
|
@@ -1496,12 +1553,20 @@ var ExposableWorkload = class extends Workload {
|
|
|
1496
1553
|
});
|
|
1497
1554
|
}
|
|
1498
1555
|
/**
|
|
1499
|
-
*
|
|
1556
|
+
* The merged and deduplicated L3 endpoints of all routes.
|
|
1557
|
+
*/
|
|
1558
|
+
get endpoints() {
|
|
1559
|
+
return this.routes.apply(
|
|
1560
|
+
(routes) => output(routes.map((route) => route.route.endpoints)).apply((endpoints) => flat(endpoints)).apply(mergeEndpoints)
|
|
1561
|
+
);
|
|
1562
|
+
}
|
|
1563
|
+
/**
|
|
1564
|
+
* Creates a generic exposable workload or patches the existing one.
|
|
1500
1565
|
*/
|
|
1501
1566
|
static createOrPatchGeneric(name, args, opts) {
|
|
1502
1567
|
return output(args).apply(async (args2) => {
|
|
1503
|
-
if (args2.existing?.
|
|
1504
|
-
const { Deployment } = await import('./deployment-
|
|
1568
|
+
if (args2.existing?.kind === "Deployment") {
|
|
1569
|
+
const { Deployment } = await import('./deployment-HRJGAEJR.js');
|
|
1505
1570
|
return Deployment.patch(
|
|
1506
1571
|
name,
|
|
1507
1572
|
{
|
|
@@ -1512,8 +1577,8 @@ var ExposableWorkload = class extends Workload {
|
|
|
1512
1577
|
opts
|
|
1513
1578
|
);
|
|
1514
1579
|
}
|
|
1515
|
-
if (args2.existing?.
|
|
1516
|
-
const { StatefulSet } = await import('./stateful-set-
|
|
1580
|
+
if (args2.existing?.kind === "StatefulSet") {
|
|
1581
|
+
const { StatefulSet } = await import('./stateful-set-LAJR5RL4.js');
|
|
1517
1582
|
return StatefulSet.patch(
|
|
1518
1583
|
name,
|
|
1519
1584
|
{
|
|
@@ -1524,19 +1589,19 @@ var ExposableWorkload = class extends Workload {
|
|
|
1524
1589
|
opts
|
|
1525
1590
|
);
|
|
1526
1591
|
}
|
|
1527
|
-
if (args2.
|
|
1528
|
-
const { Deployment } = await import('./deployment-
|
|
1592
|
+
if (args2.defaultType === "Deployment") {
|
|
1593
|
+
const { Deployment } = await import('./deployment-HRJGAEJR.js');
|
|
1529
1594
|
return Deployment.create(name, deepmerge(args2, args2.deployment), opts);
|
|
1530
1595
|
}
|
|
1531
|
-
if (args2.
|
|
1532
|
-
const { StatefulSet } = await import('./stateful-set-
|
|
1596
|
+
if (args2.defaultType === "StatefulSet") {
|
|
1597
|
+
const { StatefulSet } = await import('./stateful-set-LAJR5RL4.js');
|
|
1533
1598
|
return StatefulSet.create(name, deepmerge(args2, args2.statefulSet), opts);
|
|
1534
1599
|
}
|
|
1535
|
-
throw new Error(`Unknown workload type: ${args2.
|
|
1600
|
+
throw new Error(`Unknown workload type: ${args2.defaultType}`);
|
|
1536
1601
|
});
|
|
1537
1602
|
}
|
|
1538
1603
|
};
|
|
1539
1604
|
|
|
1540
1605
|
export { ConfigMap, ExposableWorkload, NativeNetworkPolicy, NetworkPolicy, PersistentVolumeClaim, Workload, exposableWorkloadExtraArgs, getAutoVolumeName, getBestEndpoint, getExposableWorkloadComponents, getFallbackContainerName, getWorkloadComponents, getWorkloadVolumeResourceUuid, mapContainerEnvironment, mapContainerToRaw, mapEnvironmentSource, mapVolumeMount, mapWorkloadVolume, networkPolicyMediator, podSpecDefaults, requireBestEndpoint, workloadExtraArgs };
|
|
1541
|
-
//# sourceMappingURL=chunk-
|
|
1542
|
-
//# sourceMappingURL=chunk-
|
|
1606
|
+
//# sourceMappingURL=chunk-XRIC6EJ3.js.map
|
|
1607
|
+
//# sourceMappingURL=chunk-XRIC6EJ3.js.map
|