@highstate/k8s 0.9.15 → 0.9.18

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 (49) hide show
  1. package/dist/{chunk-KBWGED2C.js → chunk-5C2BJGES.js} +7 -12
  2. package/dist/chunk-5C2BJGES.js.map +1 -0
  3. package/dist/{chunk-YUMBUWA4.js → chunk-5TLC5BXR.js} +18 -38
  4. package/dist/chunk-5TLC5BXR.js.map +1 -0
  5. package/dist/{chunk-P2UABKGA.js → chunk-BBIY3KUN.js} +129 -236
  6. package/dist/chunk-BBIY3KUN.js.map +1 -0
  7. package/dist/{chunk-MKFBWTVZ.js → chunk-OFFSHGC6.js} +17 -38
  8. package/dist/chunk-OFFSHGC6.js.map +1 -0
  9. package/dist/chunk-PZ5AY32C.js +2 -3
  10. package/dist/chunk-PZ5AY32C.js.map +1 -1
  11. package/dist/{chunk-QMWFPJQB.js → chunk-TZHOUJRC.js} +9 -20
  12. package/dist/chunk-TZHOUJRC.js.map +1 -0
  13. package/dist/{chunk-YRC7EI6X.js → chunk-YWRJ4EZM.js} +9 -20
  14. package/dist/{chunk-YRC7EI6X.js.map → chunk-YWRJ4EZM.js.map} +1 -1
  15. package/dist/deployment-XK3CDJOE.js +6 -0
  16. package/dist/deployment-XK3CDJOE.js.map +1 -0
  17. package/dist/highstate.manifest.json +8 -8
  18. package/dist/index.js +39 -137
  19. package/dist/index.js.map +1 -1
  20. package/dist/stateful-set-7CAQWTV2.js +6 -0
  21. package/dist/stateful-set-7CAQWTV2.js.map +1 -0
  22. package/dist/units/access-point/index.js +6 -7
  23. package/dist/units/access-point/index.js.map +1 -1
  24. package/dist/units/cert-manager/index.js +11 -17
  25. package/dist/units/cert-manager/index.js.map +1 -1
  26. package/dist/units/cluster-dns/index.js +8 -9
  27. package/dist/units/cluster-dns/index.js.map +1 -1
  28. package/dist/units/cluster-patch/index.js +8 -9
  29. package/dist/units/cluster-patch/index.js.map +1 -1
  30. package/dist/units/dns01-issuer/index.js +9 -15
  31. package/dist/units/dns01-issuer/index.js.map +1 -1
  32. package/dist/units/existing-cluster/index.js +12 -21
  33. package/dist/units/existing-cluster/index.js.map +1 -1
  34. package/dist/units/gateway-api/index.js +8 -11
  35. package/dist/units/gateway-api/index.js.map +1 -1
  36. package/package.json +18 -10
  37. package/src/shared.ts +14 -0
  38. package/src/units/cluster-dns/index.ts +1 -1
  39. package/src/units/cluster-patch/index.ts +1 -1
  40. package/src/units/existing-cluster/index.ts +1 -1
  41. package/dist/chunk-KBWGED2C.js.map +0 -1
  42. package/dist/chunk-MKFBWTVZ.js.map +0 -1
  43. package/dist/chunk-P2UABKGA.js.map +0 -1
  44. package/dist/chunk-QMWFPJQB.js.map +0 -1
  45. package/dist/chunk-YUMBUWA4.js.map +0 -1
  46. package/dist/deployment-KOZNZXJA.js +0 -10
  47. package/dist/deployment-KOZNZXJA.js.map +0 -1
  48. package/dist/stateful-set-H5BR3H5D.js +0 -10
  49. package/dist/stateful-set-H5BR3H5D.js.map +0 -1
@@ -1,25 +1,14 @@
1
- import {
2
- commonExtraArgs,
3
- getProvider,
4
- images_exports,
5
- mapMetadata,
6
- mapNamespaceLikeToNamespaceName,
7
- mapNamespaceNameToSelector,
8
- mapSelectorLikeToSelector,
9
- resourceIdToString,
10
- withPatchName
11
- } from "./chunk-YUMBUWA4.js";
1
+ import { commonExtraArgs, mapMetadata, resourceIdToString, getProvider, withPatchName, mapSelectorLikeToSelector, mapNamespaceNameToSelector, mapNamespaceLikeToNamespaceName, images_exports } from './chunk-5TLC5BXR.js';
2
+ import { core, networking } from '@pulumi/kubernetes';
3
+ import { ComponentResource, output, normalize, interpolate } from '@highstate/pulumi';
4
+ import { uniqueBy, omit, pipe, map, groupBy, capitalize, mergeDeep, flat, merge, filter, isNonNullish, unique, concat } from 'remeda';
5
+ import { deepmerge } from 'deepmerge-ts';
6
+ import { filterEndpoints, parseL3Endpoint, l4EndpointToString, parseL34Endpoint, l34EndpointToString, l3EndpointToCidr } from '@highstate/common';
7
+ import { gateway } from '@highstate/gateway-api';
8
+ import { ComponentResource as ComponentResource$1, output as output$1, interpolate as interpolate$1 } from '@pulumi/pulumi';
9
+ import '@highstate/library';
10
+ import { sha256 } from 'crypto-hash';
12
11
 
13
- // src/service.ts
14
- import { core } from "@pulumi/kubernetes";
15
- import {
16
- ComponentResource,
17
- normalize,
18
- output
19
- } from "@highstate/pulumi";
20
- import { omit, uniqueBy } from "remeda";
21
- import { deepmerge } from "deepmerge-ts";
22
- import { filterEndpoints, l4EndpointToString, parseL3Endpoint } from "@highstate/common";
23
12
  var serviceExtraArgs = [...commonExtraArgs, "port", "ports", "external"];
24
13
  function hasServiceMetadata(endpoint) {
25
14
  return endpoint.metadata?.k8sService !== void 0;
@@ -243,36 +232,23 @@ function getServiceType(service, cluster) {
243
232
  }
244
233
  return cluster.quirks?.externalServiceType === "LoadBalancer" ? "LoadBalancer" : "NodePort";
245
234
  }
246
-
247
- // src/gateway/http-route.ts
248
- import {
249
- ComponentResource as ComponentResource2,
250
- normalize as normalize2,
251
- output as output3
252
- } from "@highstate/pulumi";
253
- import { gateway } from "@highstate/gateway-api";
254
- import { map, pipe } from "remeda";
255
-
256
- // src/gateway/backend.ts
257
- import "@pulumi/kubernetes";
258
- import { output as output2 } from "@highstate/pulumi";
259
235
  function resolveBackendRef(ref) {
260
236
  if (Service.isInstance(ref)) {
261
- return output2({
237
+ return output({
262
238
  name: ref.metadata.name,
263
239
  namespace: ref.metadata.namespace,
264
240
  port: ref.spec.ports[0].port
265
241
  });
266
242
  }
267
243
  if ("service" in ref) {
268
- const service = output2(ref.service);
269
- return output2({
244
+ const service = output(ref.service);
245
+ return output({
270
246
  name: service.metadata.name,
271
247
  namespace: service.metadata.namespace,
272
248
  port: ref.port
273
249
  });
274
250
  }
275
- return output2({
251
+ return output({
276
252
  name: ref.name,
277
253
  namespace: ref.namespace,
278
254
  port: ref.port
@@ -280,16 +256,16 @@ function resolveBackendRef(ref) {
280
256
  }
281
257
 
282
258
  // src/gateway/http-route.ts
283
- var HttpRoute = class extends ComponentResource2 {
259
+ var HttpRoute = class extends ComponentResource {
284
260
  /**
285
261
  * The underlying Kubernetes resource.
286
262
  */
287
263
  route;
288
264
  constructor(name, args, opts) {
289
265
  super("highstate:k8s:HttpRoute", name, args, opts);
290
- this.route = output3({
266
+ this.route = output({
291
267
  args,
292
- gatewayNamespace: output3(args.gateway).metadata.namespace
268
+ gatewayNamespace: output(args.gateway).metadata.namespace
293
269
  }).apply(async ({ args: args2, gatewayNamespace }) => {
294
270
  return new gateway.v1.HTTPRoute(
295
271
  name,
@@ -302,20 +278,20 @@ var HttpRoute = class extends ComponentResource2 {
302
278
  name
303
279
  ),
304
280
  spec: {
305
- hostnames: normalize2(args2.hostname, args2.hostnames),
281
+ hostnames: normalize(args2.hostname, args2.hostnames),
306
282
  parentRefs: [
307
283
  {
308
284
  name: args2.gateway.metadata.name
309
285
  }
310
286
  ],
311
- rules: normalize2(args2.rule, args2.rules).map((rule) => ({
287
+ rules: normalize(args2.rule, args2.rules).map((rule) => ({
312
288
  timeouts: rule.timeouts,
313
289
  matches: pipe(
314
- normalize2(rule.match, rule.matches),
290
+ normalize(rule.match, rule.matches),
315
291
  map(mapHttpRouteRuleMatch),
316
292
  addDefaultPathMatch
317
293
  ),
318
- filters: normalize2(rule.filter, rule.filters),
294
+ filters: normalize(rule.filter, rule.filters),
319
295
  backendRefs: rule.backend ? [resolveBackendRef(rule.backend)] : void 0
320
296
  }))
321
297
  }
@@ -338,17 +314,8 @@ function mapHttpRouteRuleMatch(match) {
338
314
  }
339
315
  return match;
340
316
  }
341
-
342
- // src/pvc.ts
343
- import { core as core3 } from "@pulumi/kubernetes";
344
- import {
345
- ComponentResource as ComponentResource3,
346
- output as output4
347
- } from "@highstate/pulumi";
348
- import { deepmerge as deepmerge2 } from "deepmerge-ts";
349
- import { omit as omit2 } from "remeda";
350
317
  var extraPersistentVolumeClaimArgs = [...commonExtraArgs, "size"];
351
- var PersistentVolumeClaim = class extends ComponentResource3 {
318
+ var PersistentVolumeClaim = class extends ComponentResource {
352
319
  constructor(type, name, args, opts, cluster, metadata, spec, status) {
353
320
  super(type, name, args, opts);
354
321
  this.cluster = cluster;
@@ -360,7 +327,7 @@ var PersistentVolumeClaim = class extends ComponentResource3 {
360
327
  * The Highstate PVC entity.
361
328
  */
362
329
  get entity() {
363
- return output4({
330
+ return output({
364
331
  type: "k8s.persistent-volume-claim",
365
332
  clusterId: this.cluster.id,
366
333
  metadata: this.metadata
@@ -370,7 +337,7 @@ var PersistentVolumeClaim = class extends ComponentResource3 {
370
337
  return new CreatedPersistentVolumeClaim(name, args, opts);
371
338
  }
372
339
  static of(name, entity, cluster, opts) {
373
- return new ExternalPersistentVolumeClaim(name, output4(entity).metadata, cluster, opts);
340
+ return new ExternalPersistentVolumeClaim(name, output(entity).metadata, cluster, opts);
374
341
  }
375
342
  static createOrGet(name, args, opts) {
376
343
  if (!args.existing) {
@@ -378,7 +345,7 @@ var PersistentVolumeClaim = class extends ComponentResource3 {
378
345
  }
379
346
  return new ExternalPersistentVolumeClaim(
380
347
  name,
381
- output4(args.existing).metadata,
348
+ output(args.existing).metadata,
382
349
  args.cluster,
383
350
  opts
384
351
  );
@@ -386,12 +353,12 @@ var PersistentVolumeClaim = class extends ComponentResource3 {
386
353
  };
387
354
  var CreatedPersistentVolumeClaim = class extends PersistentVolumeClaim {
388
355
  constructor(name, args, opts) {
389
- const pvc = output4(args).apply(async (args2) => {
390
- return new core3.v1.PersistentVolumeClaim(
356
+ const pvc = output(args).apply(async (args2) => {
357
+ return new core.v1.PersistentVolumeClaim(
391
358
  name,
392
359
  {
393
360
  metadata: mapMetadata(args2, name),
394
- spec: deepmerge2(
361
+ spec: deepmerge(
395
362
  {
396
363
  accessModes: ["ReadWriteOnce"],
397
364
  resources: {
@@ -400,7 +367,7 @@ var CreatedPersistentVolumeClaim = class extends PersistentVolumeClaim {
400
367
  }
401
368
  }
402
369
  },
403
- omit2(args2, extraPersistentVolumeClaimArgs)
370
+ omit(args2, extraPersistentVolumeClaimArgs)
404
371
  )
405
372
  },
406
373
  {
@@ -415,7 +382,7 @@ var CreatedPersistentVolumeClaim = class extends PersistentVolumeClaim {
415
382
  name,
416
383
  args,
417
384
  opts,
418
- output4(args.cluster),
385
+ output(args.cluster),
419
386
  pvc.metadata,
420
387
  pvc.spec,
421
388
  pvc.status
@@ -424,8 +391,8 @@ var CreatedPersistentVolumeClaim = class extends PersistentVolumeClaim {
424
391
  };
425
392
  var ExternalPersistentVolumeClaim = class extends PersistentVolumeClaim {
426
393
  constructor(name, id, cluster, opts) {
427
- const pvc = output4(id).apply(async (id2) => {
428
- return core3.v1.PersistentVolumeClaim.get(
394
+ const pvc = output(id).apply(async (id2) => {
395
+ return core.v1.PersistentVolumeClaim.get(
429
396
  //
430
397
  name,
431
398
  resourceIdToString(id2),
@@ -441,21 +408,14 @@ var ExternalPersistentVolumeClaim = class extends PersistentVolumeClaim {
441
408
  name,
442
409
  { id, cluster },
443
410
  opts,
444
- output4(cluster),
411
+ output(cluster),
445
412
  pvc.metadata,
446
413
  pvc.spec,
447
414
  pvc.status
448
415
  );
449
416
  }
450
417
  };
451
-
452
- // src/secret.ts
453
- import { core as core4 } from "@pulumi/kubernetes";
454
- import {
455
- ComponentResource as ComponentResource4,
456
- output as output5
457
- } from "@pulumi/pulumi";
458
- var Secret = class extends ComponentResource4 {
418
+ var Secret = class extends ComponentResource$1 {
459
419
  constructor(type, name, args, opts, cluster, metadata, data, stringData) {
460
420
  super(type, name, args, opts);
461
421
  this.cluster = cluster;
@@ -483,7 +443,7 @@ var Secret = class extends ComponentResource4 {
483
443
  {
484
444
  ...args,
485
445
  name: withPatchName("secret", args.existing, args.cluster),
486
- namespace: output5(args.existing).metadata.namespace
446
+ namespace: output$1(args.existing).metadata.namespace
487
447
  },
488
448
  opts
489
449
  );
@@ -499,8 +459,8 @@ var Secret = class extends ComponentResource4 {
499
459
  };
500
460
  var CreatedSecret = class extends Secret {
501
461
  constructor(name, args, opts) {
502
- const secret = output5(args).apply(async (args2) => {
503
- return new core4.v1.Secret(
462
+ const secret = output$1(args).apply(async (args2) => {
463
+ return new core.v1.Secret(
504
464
  name,
505
465
  {
506
466
  metadata: mapMetadata(args2, name),
@@ -521,7 +481,7 @@ var CreatedSecret = class extends Secret {
521
481
  name,
522
482
  args,
523
483
  opts,
524
- output5(args.cluster),
484
+ output$1(args.cluster),
525
485
  secret.metadata,
526
486
  secret.data,
527
487
  secret.stringData
@@ -530,8 +490,8 @@ var CreatedSecret = class extends Secret {
530
490
  };
531
491
  var SecretPatch = class extends Secret {
532
492
  constructor(name, args, opts) {
533
- const secret = output5(args).apply(async (args2) => {
534
- return new core4.v1.SecretPatch(
493
+ const secret = output$1(args).apply(async (args2) => {
494
+ return new core.v1.SecretPatch(
535
495
  name,
536
496
  {
537
497
  metadata: mapMetadata(args2, name),
@@ -552,7 +512,7 @@ var SecretPatch = class extends Secret {
552
512
  name,
553
513
  args,
554
514
  opts,
555
- output5(args.cluster),
515
+ output$1(args.cluster),
556
516
  secret.metadata,
557
517
  secret.data,
558
518
  secret.stringData
@@ -561,8 +521,8 @@ var SecretPatch = class extends Secret {
561
521
  };
562
522
  var ExternalSecret = class extends Secret {
563
523
  constructor(name, id, cluster, opts) {
564
- const secret = output5(id).apply(async (realName) => {
565
- return core4.v1.Secret.get(
524
+ const secret = output$1(id).apply(async (realName) => {
525
+ return core.v1.Secret.get(
566
526
  //
567
527
  name,
568
528
  realName,
@@ -578,21 +538,14 @@ var ExternalSecret = class extends Secret {
578
538
  name,
579
539
  { id, cluster },
580
540
  opts,
581
- output5(cluster),
541
+ output$1(cluster),
582
542
  secret.metadata,
583
543
  secret.data,
584
544
  secret.stringData
585
545
  );
586
546
  }
587
547
  };
588
-
589
- // src/config-map.ts
590
- import { core as core5 } from "@pulumi/kubernetes";
591
- import {
592
- ComponentResource as ComponentResource5,
593
- output as output6
594
- } from "@pulumi/pulumi";
595
- var ConfigMap = class extends ComponentResource5 {
548
+ var ConfigMap = class extends ComponentResource$1 {
596
549
  constructor(type, name, args, opts, cluster, metadata, data) {
597
550
  super(type, name, args, opts);
598
551
  this.cluster = cluster;
@@ -619,7 +572,7 @@ var ConfigMap = class extends ComponentResource5 {
619
572
  {
620
573
  ...args,
621
574
  name: withPatchName("configmap", args.existing, args.cluster),
622
- namespace: output6(args.existing).metadata.namespace
575
+ namespace: output$1(args.existing).metadata.namespace
623
576
  },
624
577
  opts
625
578
  );
@@ -635,8 +588,8 @@ var ConfigMap = class extends ComponentResource5 {
635
588
  };
636
589
  var CreatedConfigMap = class extends ConfigMap {
637
590
  constructor(name, args, opts) {
638
- const configMap = output6(args).apply(async (args2) => {
639
- return new core5.v1.ConfigMap(
591
+ const configMap = output$1(args).apply(async (args2) => {
592
+ return new core.v1.ConfigMap(
640
593
  name,
641
594
  {
642
595
  metadata: mapMetadata(args2, name),
@@ -654,7 +607,7 @@ var CreatedConfigMap = class extends ConfigMap {
654
607
  name,
655
608
  args,
656
609
  opts,
657
- output6(args.cluster),
610
+ output$1(args.cluster),
658
611
  configMap.metadata,
659
612
  configMap.data
660
613
  );
@@ -662,8 +615,8 @@ var CreatedConfigMap = class extends ConfigMap {
662
615
  };
663
616
  var ConfigMapPatch = class extends ConfigMap {
664
617
  constructor(name, args, opts) {
665
- const configMap = output6(args).apply(async (args2) => {
666
- return new core5.v1.ConfigMapPatch(
618
+ const configMap = output$1(args).apply(async (args2) => {
619
+ return new core.v1.ConfigMapPatch(
667
620
  name,
668
621
  {
669
622
  metadata: mapMetadata(args2, name),
@@ -681,7 +634,7 @@ var ConfigMapPatch = class extends ConfigMap {
681
634
  name,
682
635
  args,
683
636
  opts,
684
- output6(args.cluster),
637
+ output$1(args.cluster),
685
638
  configMap.metadata,
686
639
  configMap.data
687
640
  );
@@ -689,8 +642,8 @@ var ConfigMapPatch = class extends ConfigMap {
689
642
  };
690
643
  var ExternalConfigMap = class extends ConfigMap {
691
644
  constructor(name, id, cluster, opts) {
692
- const configMap = output6(id).apply(async (realName) => {
693
- return core5.v1.ConfigMap.get(name, realName, {
645
+ const configMap = output$1(id).apply(async (realName) => {
646
+ return core.v1.ConfigMap.get(name, realName, {
694
647
  ...opts,
695
648
  parent: this,
696
649
  provider: await getProvider(cluster)
@@ -701,20 +654,12 @@ var ExternalConfigMap = class extends ConfigMap {
701
654
  name,
702
655
  { id, cluster },
703
656
  opts,
704
- output6(cluster),
657
+ output$1(cluster),
705
658
  configMap.metadata,
706
659
  configMap.data
707
660
  );
708
661
  }
709
662
  };
710
-
711
- // src/container.ts
712
- import { core as core6 } from "@pulumi/kubernetes";
713
- import {
714
- normalize as normalize3,
715
- output as output7
716
- } from "@highstate/pulumi";
717
- import { concat, map as map2, omit as omit3 } from "remeda";
718
663
  var containerExtraArgs = [
719
664
  "port",
720
665
  "volumeMount",
@@ -726,17 +671,17 @@ var containerExtraArgs = [
726
671
  function mapContainerToRaw(container, cluster, fallbackName) {
727
672
  const containerName = container.name ?? fallbackName;
728
673
  const spec = {
729
- ...omit3(container, containerExtraArgs),
674
+ ...omit(container, containerExtraArgs),
730
675
  name: containerName,
731
- ports: normalize3(container.port, container.ports),
732
- volumeMounts: map2(normalize3(container.volumeMount, container.volumeMounts), mapVolumeMount),
676
+ ports: normalize(container.port, container.ports),
677
+ volumeMounts: map(normalize(container.volumeMount, container.volumeMounts), mapVolumeMount),
733
678
  env: concat(
734
679
  container.environment ? mapContainerEnvironment(container.environment) : [],
735
680
  container.env ?? []
736
681
  ),
737
682
  envFrom: concat(
738
- map2(
739
- normalize3(container.environmentSource, container.environmentSources),
683
+ map(
684
+ normalize(container.environmentSource, container.environmentSources),
740
685
  mapEnvironmentSource
741
686
  ),
742
687
  container.envFrom ?? []
@@ -801,10 +746,10 @@ function mapContainerEnvironment(environment) {
801
746
  }
802
747
  function mapVolumeMount(volumeMount) {
803
748
  if ("volume" in volumeMount) {
804
- return omit3(
749
+ return omit(
805
750
  {
806
751
  ...volumeMount,
807
- name: output7(volumeMount.volume).apply(mapWorkloadVolume).apply((volume) => output7(volume.name))
752
+ name: output(volumeMount.volume).apply(mapWorkloadVolume).apply((volume) => output(volume.name))
808
753
  },
809
754
  ["volume"]
810
755
  );
@@ -815,14 +760,14 @@ function mapVolumeMount(volumeMount) {
815
760
  };
816
761
  }
817
762
  function mapEnvironmentSource(envFrom) {
818
- if (envFrom instanceof core6.v1.ConfigMap) {
763
+ if (envFrom instanceof core.v1.ConfigMap) {
819
764
  return {
820
765
  configMapRef: {
821
766
  name: envFrom.metadata.name
822
767
  }
823
768
  };
824
769
  }
825
- if (envFrom instanceof core6.v1.Secret) {
770
+ if (envFrom instanceof core.v1.Secret) {
826
771
  return {
827
772
  secretRef: {
828
773
  name: envFrom.metadata.name
@@ -856,7 +801,7 @@ function mapWorkloadVolume(volume) {
856
801
  }
857
802
  };
858
803
  }
859
- if (core6.v1.PersistentVolumeClaim.isInstance(volume)) {
804
+ if (core.v1.PersistentVolumeClaim.isInstance(volume)) {
860
805
  return {
861
806
  name: volume.metadata.name,
862
807
  persistentVolumeClaim: {
@@ -864,7 +809,7 @@ function mapWorkloadVolume(volume) {
864
809
  }
865
810
  };
866
811
  }
867
- if (core6.v1.ConfigMap.isInstance(volume)) {
812
+ if (core.v1.ConfigMap.isInstance(volume)) {
868
813
  return {
869
814
  name: volume.metadata.name,
870
815
  configMap: {
@@ -872,7 +817,7 @@ function mapWorkloadVolume(volume) {
872
817
  }
873
818
  };
874
819
  }
875
- if (core6.v1.Secret.isInstance(volume)) {
820
+ if (core.v1.Secret.isInstance(volume)) {
876
821
  return {
877
822
  name: volume.metadata.name,
878
823
  secret: {
@@ -892,20 +837,17 @@ function getWorkloadVolumeResourceUuid(volume) {
892
837
  if (volume instanceof ConfigMap) {
893
838
  return volume.metadata.uid;
894
839
  }
895
- if (core6.v1.PersistentVolumeClaim.isInstance(volume)) {
840
+ if (core.v1.PersistentVolumeClaim.isInstance(volume)) {
896
841
  return volume.metadata.uid;
897
842
  }
898
- if (core6.v1.ConfigMap.isInstance(volume)) {
843
+ if (core.v1.ConfigMap.isInstance(volume)) {
899
844
  return volume.metadata.uid;
900
845
  }
901
- if (core6.v1.Secret.isInstance(volume)) {
846
+ if (core.v1.Secret.isInstance(volume)) {
902
847
  return volume.metadata.uid;
903
848
  }
904
- return output7(void 0);
849
+ return output(void 0);
905
850
  }
906
-
907
- // src/network.ts
908
- import { filterEndpoints as filterEndpoints2 } from "@highstate/common";
909
851
  function getBestEndpoint(endpoints, cluster) {
910
852
  if (!endpoints.length) {
911
853
  return void 0;
@@ -914,13 +856,13 @@ function getBestEndpoint(endpoints, cluster) {
914
856
  return endpoints[0];
915
857
  }
916
858
  if (!cluster) {
917
- return filterEndpoints2(endpoints)[0];
859
+ return filterEndpoints(endpoints)[0];
918
860
  }
919
861
  const clusterEndpoint = endpoints.find((endpoint) => isFromCluster(endpoint, cluster));
920
862
  if (clusterEndpoint) {
921
863
  return clusterEndpoint;
922
864
  }
923
- return filterEndpoints2(endpoints)[0];
865
+ return filterEndpoints(endpoints)[0];
924
866
  }
925
867
  function requireBestEndpoint(endpoints, cluster) {
926
868
  const endpoint = getBestEndpoint(endpoints, cluster);
@@ -929,32 +871,16 @@ function requireBestEndpoint(endpoints, cluster) {
929
871
  }
930
872
  return endpoint;
931
873
  }
932
-
933
- // src/network-policy.ts
934
- import { networking } from "@pulumi/kubernetes";
935
- import {
936
- ComponentResource as ComponentResource6,
937
- interpolate,
938
- normalize as normalize4,
939
- output as output8
940
- } from "@highstate/pulumi";
941
- import { capitalize, flat, groupBy, merge, mergeDeep, uniqueBy as uniqueBy2 } from "remeda";
942
- import "@highstate/library";
943
- import {
944
- l34EndpointToString,
945
- l3EndpointToCidr,
946
- parseL34Endpoint
947
- } from "@highstate/common";
948
- var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
874
+ var NetworkPolicy = class _NetworkPolicy extends ComponentResource {
949
875
  /**
950
876
  * The underlying network policy resource.
951
877
  */
952
878
  networkPolicy;
953
879
  constructor(name, args, opts) {
954
880
  super("k8s:network-policy", name, args, opts);
955
- const normalizedArgs = output8(args).apply((args2) => {
956
- const ingressRules = normalize4(args2.ingressRule, args2.ingressRules);
957
- const egressRules = normalize4(args2.egressRule, args2.egressRules);
881
+ const normalizedArgs = output(args).apply((args2) => {
882
+ const ingressRules = normalize(args2.ingressRule, args2.ingressRules);
883
+ const egressRules = normalize(args2.egressRule, args2.egressRules);
958
884
  const extraEgressRules = [];
959
885
  if (args2.allowKubeDns) {
960
886
  extraEgressRules.push({
@@ -974,7 +900,7 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
974
900
  isolateIngress: args2.isolateIngress ?? false,
975
901
  allowKubeApiServer: args2.allowKubeApiServer ?? false,
976
902
  ingressRules: ingressRules.flatMap((rule) => {
977
- const endpoints = normalize4(rule?.fromEndpoint, rule?.fromEndpoints);
903
+ const endpoints = normalize(rule?.fromEndpoint, rule?.fromEndpoints);
978
904
  const parsedEndpoints = endpoints.map(parseL34Endpoint);
979
905
  const endpointsNamespaces = groupBy(parsedEndpoints, (endpoint) => {
980
906
  const namespace = isFromCluster(endpoint, args2.cluster) ? endpoint.metadata.k8sService.namespace : "";
@@ -987,18 +913,18 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
987
913
  return [
988
914
  {
989
915
  all: rule.fromAll ?? false,
990
- cidrs: normalize4(rule.fromCidr, rule.fromCidrs).concat(l3OnlyRule?.cidrs ?? []),
916
+ cidrs: normalize(rule.fromCidr, rule.fromCidrs).concat(l3OnlyRule?.cidrs ?? []),
991
917
  fqdns: [],
992
- services: normalize4(rule.fromService, rule.fromServices),
993
- namespaces: normalize4(rule.fromNamespace, rule.fromNamespaces),
994
- selectors: normalize4(rule.fromSelector, rule.fromSelectors),
995
- ports: normalize4(rule.toPort, rule.toPorts)
918
+ services: normalize(rule.fromService, rule.fromServices),
919
+ namespaces: normalize(rule.fromNamespace, rule.fromNamespaces),
920
+ selectors: normalize(rule.fromSelector, rule.fromSelectors),
921
+ ports: normalize(rule.toPort, rule.toPorts)
996
922
  },
997
923
  ...otherRules
998
924
  ].filter((rule2) => !_NetworkPolicy.isEmptyRule(rule2));
999
925
  }),
1000
926
  egressRules: egressRules.flatMap((rule) => {
1001
- const endpoints = normalize4(rule?.toEndpoint, rule?.toEndpoints);
927
+ const endpoints = normalize(rule?.toEndpoint, rule?.toEndpoints);
1002
928
  const parsedEndpoints = endpoints.map(parseL34Endpoint);
1003
929
  const endpointsByPortsAnsNamespaces = groupBy(parsedEndpoints, (endpoint) => {
1004
930
  const namespace = isFromCluster(endpoint, args2.cluster) ? endpoint.metadata.k8sService.namespace : "";
@@ -1019,21 +945,21 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
1019
945
  return [
1020
946
  {
1021
947
  all: rule.toAll ?? false,
1022
- cidrs: normalize4(rule.toCidr, rule.toCidrs).concat(l3OnlyRule?.cidrs ?? []),
1023
- fqdns: normalize4(rule.toFqdn, rule.toFqdns).concat(l3OnlyRule?.fqdns ?? []),
1024
- services: normalize4(rule.toService, rule.toServices),
1025
- namespaces: normalize4(rule.toNamespace, rule.toNamespaces),
1026
- selectors: normalize4(rule.toSelector, rule.toSelectors),
1027
- ports: normalize4(rule.toPort, rule.toPorts)
948
+ cidrs: normalize(rule.toCidr, rule.toCidrs).concat(l3OnlyRule?.cidrs ?? []),
949
+ fqdns: normalize(rule.toFqdn, rule.toFqdns).concat(l3OnlyRule?.fqdns ?? []),
950
+ services: normalize(rule.toService, rule.toServices),
951
+ namespaces: normalize(rule.toNamespace, rule.toNamespaces),
952
+ selectors: normalize(rule.toSelector, rule.toSelectors),
953
+ ports: normalize(rule.toPort, rule.toPorts)
1028
954
  },
1029
955
  ...otherRules
1030
956
  ].filter((rule2) => !_NetworkPolicy.isEmptyRule(rule2));
1031
957
  }).concat(extraEgressRules)
1032
958
  };
1033
959
  });
1034
- this.networkPolicy = output8(
960
+ this.networkPolicy = output(
1035
961
  normalizedArgs.apply(async (args2) => {
1036
- return output8(
962
+ return output(
1037
963
  this.create(name, args2, {
1038
964
  ...opts,
1039
965
  parent: this,
@@ -1069,7 +995,7 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
1069
995
  return !rule.all && rule.cidrs.length === 0 && rule.fqdns.length === 0 && rule.services.length === 0 && rule.namespaces.length === 0 && rule.selectors.length === 0 && rule.ports.length === 0;
1070
996
  }
1071
997
  static create(name, args, opts) {
1072
- return output8(args).apply(async (args2) => {
998
+ return output(args).apply(async (args2) => {
1073
999
  const cni = args2.cluster.cni;
1074
1000
  if (cni === "other") {
1075
1001
  return new NativeNetworkPolicy(name, args2, opts);
@@ -1172,7 +1098,7 @@ var NetworkPolicy = class _NetworkPolicy extends ComponentResource6 {
1172
1098
  );
1173
1099
  }
1174
1100
  static allowEgressToBestEndpoint(endpoints, namespace, cluster, opts) {
1175
- return output8({ endpoints, cluster }).apply(({ endpoints: endpoints2, cluster: cluster2 }) => {
1101
+ return output({ endpoints, cluster }).apply(({ endpoints: endpoints2, cluster: cluster2 }) => {
1176
1102
  const bestEndpoint = requireBestEndpoint(endpoints2.map(parseL34Endpoint), cluster2);
1177
1103
  return _NetworkPolicy.allowEgressToEndpoint(bestEndpoint, namespace, cluster2, opts);
1178
1104
  });
@@ -1232,7 +1158,7 @@ var NativeNetworkPolicy = class _NativeNetworkPolicy extends NetworkPolicy {
1232
1158
  ports: [{ port: 53, protocol: "UDP" }]
1233
1159
  };
1234
1160
  static createIngressRules(args) {
1235
- return uniqueBy2(
1161
+ return uniqueBy(
1236
1162
  args.ingressRules.map((rule) => ({
1237
1163
  from: rule.all ? [] : _NativeNetworkPolicy.createRulePeers(rule),
1238
1164
  ports: _NativeNetworkPolicy.mapPorts(rule.ports)
@@ -1267,7 +1193,7 @@ var NativeNetworkPolicy = class _NativeNetworkPolicy extends NetworkPolicy {
1267
1193
  extraRules.push(...rules);
1268
1194
  }
1269
1195
  }
1270
- return uniqueBy2(
1196
+ return uniqueBy(
1271
1197
  args.egressRules.map((rule) => {
1272
1198
  return {
1273
1199
  to: rule.all ? [] : _NativeNetworkPolicy.createRulePeers(rule),
@@ -1278,7 +1204,7 @@ var NativeNetworkPolicy = class _NativeNetworkPolicy extends NetworkPolicy {
1278
1204
  );
1279
1205
  }
1280
1206
  static createRulePeers(args) {
1281
- const peers = uniqueBy2(
1207
+ const peers = uniqueBy(
1282
1208
  [
1283
1209
  ..._NativeNetworkPolicy.createCidrPeers(args),
1284
1210
  ..._NativeNetworkPolicy.createServicePeers(args),
@@ -1339,19 +1265,6 @@ var NativeNetworkPolicy = class _NativeNetworkPolicy extends NetworkPolicy {
1339
1265
  }
1340
1266
  };
1341
1267
 
1342
- // src/workload.ts
1343
- import {
1344
- normalize as normalize5
1345
- } from "@highstate/pulumi";
1346
- import {
1347
- ComponentResource as ComponentResource7,
1348
- interpolate as interpolate2,
1349
- output as output9
1350
- } from "@pulumi/pulumi";
1351
- import { filter, isNonNullish, unique, uniqueBy as uniqueBy3 } from "remeda";
1352
- import { deepmerge as deepmerge3 } from "deepmerge-ts";
1353
- import { sha256 } from "crypto-hash";
1354
-
1355
1268
  // src/pod.ts
1356
1269
  var podSpecDefaults = {
1357
1270
  automountServiceAccountToken: false
@@ -1364,29 +1277,29 @@ function getWorkloadComponents(name, args, parent, opts) {
1364
1277
  const labels = {
1365
1278
  "app.kubernetes.io/name": name
1366
1279
  };
1367
- const containers = output9(args).apply((args2) => normalize5(args2.container, args2.containers));
1280
+ const containers = output$1(args).apply((args2) => normalize(args2.container, args2.containers));
1368
1281
  const rawVolumes = containers.apply((containers2) => {
1369
1282
  const containerVolumes = containers2.flatMap(
1370
- (container) => normalize5(container.volume, container.volumes)
1283
+ (container) => normalize(container.volume, container.volumes)
1371
1284
  );
1372
1285
  const containerVolumeMounts = containers2.flatMap((container) => {
1373
- return normalize5(container.volumeMount, container.volumeMounts).map((volumeMount) => {
1286
+ return normalize(container.volumeMount, container.volumeMounts).map((volumeMount) => {
1374
1287
  return "volume" in volumeMount ? volumeMount.volume : void 0;
1375
1288
  }).filter(Boolean);
1376
1289
  });
1377
- return output9([...containerVolumes, ...containerVolumeMounts]);
1290
+ return output$1([...containerVolumes, ...containerVolumeMounts]);
1378
1291
  });
1379
1292
  const volumes = rawVolumes.apply((rawVolumes2) => {
1380
- return output9(rawVolumes2.map(mapWorkloadVolume)).apply(uniqueBy3((volume) => volume.name));
1293
+ return output$1(rawVolumes2.map(mapWorkloadVolume)).apply(uniqueBy((volume) => volume.name));
1381
1294
  });
1382
- const podSpec = output9({ args, containers, volumes }).apply(({ args: args2, containers: containers2, volumes: volumes2 }) => {
1295
+ const podSpec = output$1({ args, containers, volumes }).apply(({ args: args2, containers: containers2, volumes: volumes2 }) => {
1383
1296
  const spec = {
1384
1297
  volumes: volumes2,
1385
1298
  containers: containers2.map((container) => mapContainerToRaw(container, args2.cluster, name)),
1386
1299
  ...podSpecDefaults
1387
1300
  };
1388
1301
  if (containers2.some((container) => container.enableTun) && args2.cluster.quirks?.tunDevicePolicy?.type !== "plugin") {
1389
- spec.volumes = output9(spec.volumes).apply((volumes3) => [
1302
+ spec.volumes = output$1(spec.volumes).apply((volumes3) => [
1390
1303
  ...volumes3 ?? [],
1391
1304
  {
1392
1305
  name: "tun-device",
@@ -1399,9 +1312,9 @@ function getWorkloadComponents(name, args, parent, opts) {
1399
1312
  return spec;
1400
1313
  });
1401
1314
  const dependencyHash = rawVolumes.apply((rawVolumes2) => {
1402
- return output9(rawVolumes2.map(getWorkloadVolumeResourceUuid)).apply(filter(isNonNullish)).apply(unique()).apply((ids) => sha256(ids.join(",")));
1315
+ return output$1(rawVolumes2.map(getWorkloadVolumeResourceUuid)).apply(filter(isNonNullish)).apply(unique()).apply((ids) => sha256(ids.join(",")));
1403
1316
  });
1404
- const podTemplate = output9({ podSpec, dependencyHash }).apply(({ podSpec: podSpec2, dependencyHash: dependencyHash2 }) => {
1317
+ const podTemplate = output$1({ podSpec, dependencyHash }).apply(({ podSpec: podSpec2, dependencyHash: dependencyHash2 }) => {
1405
1318
  return {
1406
1319
  metadata: {
1407
1320
  labels,
@@ -1412,10 +1325,10 @@ function getWorkloadComponents(name, args, parent, opts) {
1412
1325
  spec: podSpec2
1413
1326
  };
1414
1327
  });
1415
- const networkPolicy = output9({ args, containers }).apply(({ args: args2, containers: containers2 }) => {
1328
+ const networkPolicy = output$1({ args, containers }).apply(({ args: args2, containers: containers2 }) => {
1416
1329
  const allowedEndpoints = containers2.flatMap((container) => container.allowedEndpoints ?? []);
1417
1330
  if (allowedEndpoints.length === 0 && !args2.networkPolicy) {
1418
- return output9(void 0);
1331
+ return output$1(void 0);
1419
1332
  }
1420
1333
  return NetworkPolicy.create(
1421
1334
  name,
@@ -1436,7 +1349,7 @@ function getWorkloadComponents(name, args, parent, opts) {
1436
1349
  }
1437
1350
  function getExposableWorkloadComponents(name, args, parent, opts) {
1438
1351
  const { labels, containers, volumes, podSpec, podTemplate, networkPolicy } = getWorkloadComponents(name, args, parent, opts);
1439
- const service = output9({ args, containers }).apply(async ({ args: args2, containers: containers2 }) => {
1352
+ const service = output$1({ args, containers }).apply(async ({ args: args2, containers: containers2 }) => {
1440
1353
  if (!args2.service && !args2.httpRoute) {
1441
1354
  return void 0;
1442
1355
  }
@@ -1446,7 +1359,7 @@ function getExposableWorkloadComponents(name, args, parent, opts) {
1446
1359
  if (args2.existing) {
1447
1360
  return void 0;
1448
1361
  }
1449
- const ports = containers2.flatMap((container) => normalize5(container.port, container.ports));
1362
+ const ports = containers2.flatMap((container) => normalize(container.port, container.ports));
1450
1363
  return Service.create(
1451
1364
  name,
1452
1365
  {
@@ -1466,7 +1379,7 @@ function getExposableWorkloadComponents(name, args, parent, opts) {
1466
1379
  }
1467
1380
  );
1468
1381
  });
1469
- const httpRoute = output9({
1382
+ const httpRoute = output$1({
1470
1383
  args,
1471
1384
  service
1472
1385
  }).apply(async ({ args: args2, service: service2 }) => {
@@ -1494,7 +1407,7 @@ function getExposableWorkloadComponents(name, args, parent, opts) {
1494
1407
  });
1495
1408
  return { labels, containers, volumes, podSpec, podTemplate, networkPolicy, service, httpRoute };
1496
1409
  }
1497
- var Workload = class _Workload extends ComponentResource7 {
1410
+ var Workload = class _Workload extends ComponentResource$1 {
1498
1411
  constructor(type, name, args, opts, resourceType, cluster, metadata, networkPolicy) {
1499
1412
  super(type, name, args, opts);
1500
1413
  this.name = name;
@@ -1508,13 +1421,13 @@ var Workload = class _Workload extends ComponentResource7 {
1508
1421
  * The instance terminal to interact with the deployment.
1509
1422
  */
1510
1423
  get terminal() {
1511
- const containerName = output9(this.args).apply((args) => {
1512
- const containers = normalize5(args.container, args.containers);
1424
+ const containerName = output$1(this.args).apply((args) => {
1425
+ const containers = normalize(args.container, args.containers);
1513
1426
  return containers[0]?.name ?? this.name;
1514
1427
  });
1515
- return output9({
1428
+ return output$1({
1516
1429
  name: this.metadata.name,
1517
- title: interpolate2`${_Workload.getResourceDisplayType(this.resourceType)} (${this.metadata.name})`,
1430
+ title: interpolate$1`${_Workload.getResourceDisplayType(this.resourceType)} (${this.metadata.name})`,
1518
1431
  description: "Connect to the container of the workload",
1519
1432
  icon: "devicon:kubernetes",
1520
1433
  image: images_exports["terminal-kubectl"].image,
@@ -1525,7 +1438,7 @@ var Workload = class _Workload extends ComponentResource7 {
1525
1438
  "-it",
1526
1439
  "-n",
1527
1440
  this.metadata.namespace,
1528
- interpolate2`${this.resourceType}/${this.metadata.name}`,
1441
+ interpolate$1`${this.resourceType}/${this.metadata.name}`,
1529
1442
  "-c",
1530
1443
  containerName,
1531
1444
  "--",
@@ -1601,13 +1514,13 @@ var ExposableWorkload = class extends Workload {
1601
1514
  * Creates a generic workload or patches the existing one.
1602
1515
  */
1603
1516
  static createOrPatchGeneric(name, args, opts) {
1604
- return output9(args).apply(async (args2) => {
1517
+ return output$1(args).apply(async (args2) => {
1605
1518
  if (args2.existing?.type === "k8s.deployment") {
1606
- const { Deployment } = await import("./deployment-KOZNZXJA.js");
1519
+ const { Deployment } = await import('./deployment-XK3CDJOE.js');
1607
1520
  return Deployment.patch(
1608
1521
  name,
1609
1522
  {
1610
- ...deepmerge3(args2, args2.deployment),
1523
+ ...deepmerge(args2, args2.deployment),
1611
1524
  name: args2.existing.metadata.name,
1612
1525
  namespace: args2.existing.metadata.namespace
1613
1526
  },
@@ -1615,11 +1528,11 @@ var ExposableWorkload = class extends Workload {
1615
1528
  );
1616
1529
  }
1617
1530
  if (args2.existing?.type === "k8s.stateful-set") {
1618
- const { StatefulSet } = await import("./stateful-set-H5BR3H5D.js");
1531
+ const { StatefulSet } = await import('./stateful-set-7CAQWTV2.js');
1619
1532
  return StatefulSet.patch(
1620
1533
  name,
1621
1534
  {
1622
- ...deepmerge3(args2, args2.statefulSet),
1535
+ ...deepmerge(args2, args2.statefulSet),
1623
1536
  name: args2.existing.metadata.name,
1624
1537
  namespace: args2.existing.metadata.namespace
1625
1538
  },
@@ -1627,38 +1540,18 @@ var ExposableWorkload = class extends Workload {
1627
1540
  );
1628
1541
  }
1629
1542
  if (args2.type === "Deployment") {
1630
- const { Deployment } = await import("./deployment-KOZNZXJA.js");
1631
- return Deployment.create(name, deepmerge3(args2, args2.deployment), opts);
1543
+ const { Deployment } = await import('./deployment-XK3CDJOE.js');
1544
+ return Deployment.create(name, deepmerge(args2, args2.deployment), opts);
1632
1545
  }
1633
1546
  if (args2.type === "StatefulSet") {
1634
- const { StatefulSet } = await import("./stateful-set-H5BR3H5D.js");
1635
- return StatefulSet.create(name, deepmerge3(args2, args2.statefulSet), opts);
1547
+ const { StatefulSet } = await import('./stateful-set-7CAQWTV2.js');
1548
+ return StatefulSet.create(name, deepmerge(args2, args2.statefulSet), opts);
1636
1549
  }
1637
1550
  throw new Error(`Unknown workload type: ${args2.type}`);
1638
1551
  });
1639
1552
  }
1640
1553
  };
1641
1554
 
1642
- export {
1643
- hasServiceMetadata,
1644
- getServiceMetadata,
1645
- withServiceMetadata,
1646
- isFromCluster,
1647
- Service,
1648
- mapContainerPortToServicePort,
1649
- mapServiceToLabelSelector,
1650
- getServiceType,
1651
- HttpRoute,
1652
- PersistentVolumeClaim,
1653
- Secret,
1654
- ConfigMap,
1655
- getBestEndpoint,
1656
- requireBestEndpoint,
1657
- NetworkPolicy,
1658
- exposableWorkloadExtraArgs,
1659
- getWorkloadComponents,
1660
- getExposableWorkloadComponents,
1661
- Workload,
1662
- ExposableWorkload
1663
- };
1664
- //# sourceMappingURL=chunk-P2UABKGA.js.map
1555
+ export { ConfigMap, ExposableWorkload, HttpRoute, NetworkPolicy, PersistentVolumeClaim, Secret, Service, Workload, exposableWorkloadExtraArgs, getBestEndpoint, getExposableWorkloadComponents, getServiceMetadata, getServiceType, getWorkloadComponents, hasServiceMetadata, isFromCluster, mapContainerPortToServicePort, mapServiceToLabelSelector, requireBestEndpoint, withServiceMetadata };
1556
+ //# sourceMappingURL=chunk-BBIY3KUN.js.map
1557
+ //# sourceMappingURL=chunk-BBIY3KUN.js.map