k8ts 0.8.1 → 0.9.2
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/default-world.d.ts +5 -0
- package/dist/default-world.d.ts.map +1 -0
- package/dist/default-world.js +54 -0
- package/dist/default-world.js.map +1 -0
- package/dist/env/env.d.ts +6 -8
- package/dist/env/env.d.ts.map +1 -1
- package/dist/env/env.js +29 -28
- package/dist/env/env.js.map +1 -1
- package/dist/env/index.d.ts +1 -1
- package/dist/env/index.d.ts.map +1 -1
- package/dist/env/types.d.ts +7 -5
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js +11 -0
- package/dist/env/types.js.map +1 -1
- package/dist/index.d.ts +4 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -31
- package/dist/index.js.map +1 -1
- package/dist/kinds/apps.d.ts +30 -0
- package/dist/kinds/apps.d.ts.map +1 -0
- package/dist/kinds/apps.js +33 -0
- package/dist/kinds/apps.js.map +1 -0
- package/dist/kinds/batch.d.ts +18 -0
- package/dist/kinds/batch.d.ts.map +1 -0
- package/dist/kinds/batch.js +21 -0
- package/dist/kinds/batch.js.map +1 -0
- package/dist/kinds/default.d.ts +74 -0
- package/dist/kinds/default.d.ts.map +1 -0
- package/dist/kinds/default.js +78 -0
- package/dist/kinds/default.js.map +1 -0
- package/dist/kinds/gateway.d.ts +30 -0
- package/dist/kinds/gateway.d.ts.map +1 -0
- package/dist/kinds/gateway.js +33 -0
- package/dist/kinds/gateway.js.map +1 -0
- package/dist/kinds/index.d.ts +9 -0
- package/dist/kinds/index.d.ts.map +1 -0
- package/dist/{_imports/_mix.js → kinds/index.js} +9 -4
- package/dist/kinds/index.js.map +1 -0
- package/dist/kinds/metrics.d.ts +18 -0
- package/dist/kinds/metrics.d.ts.map +1 -0
- package/dist/kinds/metrics.js +21 -0
- package/dist/kinds/metrics.js.map +1 -0
- package/dist/kinds/networking.d.ts +14 -0
- package/dist/kinds/networking.d.ts.map +1 -0
- package/dist/kinds/networking.js +17 -0
- package/dist/kinds/networking.js.map +1 -0
- package/dist/kinds/rbac.d.ts +26 -0
- package/dist/kinds/rbac.d.ts.map +1 -0
- package/dist/kinds/rbac.js +29 -0
- package/dist/kinds/rbac.js.map +1 -0
- package/dist/kinds/storage.d.ts +18 -0
- package/dist/kinds/storage.d.ts.map +1 -0
- package/dist/kinds/storage.js +21 -0
- package/dist/kinds/storage.js.map +1 -0
- package/dist/origins/external.d.ts +8 -0
- package/dist/origins/external.d.ts.map +1 -0
- package/dist/origins/external.js +19 -0
- package/dist/origins/external.js.map +1 -0
- package/dist/origins/file/file.d.ts +24 -0
- package/dist/origins/file/file.d.ts.map +1 -0
- package/dist/{node/sub-resource.js → origins/file/file.js} +51 -32
- package/dist/origins/file/file.js.map +1 -0
- package/dist/origins/file/index.d.ts +4 -0
- package/dist/origins/file/index.d.ts.map +1 -0
- package/dist/{file → origins/file}/index.js +2 -0
- package/dist/origins/file/index.js.map +1 -0
- package/dist/origins/file/modifier.d.ts +10 -0
- package/dist/origins/file/modifier.d.ts.map +1 -0
- package/dist/origins/file/modifier.js +21 -0
- package/dist/origins/file/modifier.js.map +1 -0
- package/dist/origins/file/section.d.ts +18 -0
- package/dist/origins/file/section.d.ts.map +1 -0
- package/dist/{external/index.js → origins/file/section.js} +40 -41
- package/dist/origins/file/section.js.map +1 -0
- package/dist/origins/index.d.ts +4 -0
- package/dist/origins/index.d.ts.map +1 -0
- package/dist/{world → origins}/index.js +2 -0
- package/dist/origins/index.js.map +1 -0
- package/dist/origins/world.d.ts +13 -0
- package/dist/origins/world.d.ts.map +1 -0
- package/dist/origins/world.js +27 -0
- package/dist/origins/world.js.map +1 -0
- package/dist/resources/configmap/configmap.d.ts +10 -12
- package/dist/resources/configmap/configmap.d.ts.map +1 -1
- package/dist/resources/configmap/configmap.js +21 -72
- package/dist/resources/configmap/configmap.js.map +1 -1
- package/dist/resources/cronjob/index.d.ts +12 -12
- package/dist/resources/cronjob/index.d.ts.map +1 -1
- package/dist/resources/cronjob/index.js +29 -86
- package/dist/resources/cronjob/index.js.map +1 -1
- package/dist/resources/deployment/deployment.d.ts +28 -29
- package/dist/resources/deployment/deployment.d.ts.map +1 -1
- package/dist/resources/deployment/deployment.js +59 -109
- package/dist/resources/deployment/deployment.js.map +1 -1
- package/dist/resources/external/index.d.ts +19 -0
- package/dist/resources/external/index.d.ts.map +1 -0
- package/dist/resources/external/index.js +44 -0
- package/dist/resources/external/index.js.map +1 -0
- package/dist/resources/http-route/http-route.d.ts +31 -16
- package/dist/resources/http-route/http-route.d.ts.map +1 -1
- package/dist/resources/http-route/http-route.js +28 -80
- package/dist/resources/http-route/http-route.js.map +1 -1
- package/dist/resources/index.d.ts +4 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +4 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/namespace/namespace.d.ts +10 -11
- package/dist/resources/namespace/namespace.d.ts.map +1 -1
- package/dist/resources/namespace/namespace.js +14 -70
- package/dist/resources/namespace/namespace.js.map +1 -1
- package/dist/resources/persistent/access-mode.d.ts +5 -5
- package/dist/resources/persistent/access-mode.d.ts.map +1 -1
- package/dist/resources/persistent/access-mode.js +2 -2
- package/dist/resources/persistent/access-mode.js.map +1 -1
- package/dist/resources/persistent/block-mode.d.ts +1 -1
- package/dist/resources/persistent/block-mode.d.ts.map +1 -1
- package/dist/resources/persistent/claim/pvc.d.ts +25 -24
- package/dist/resources/persistent/claim/pvc.d.ts.map +1 -1
- package/dist/resources/persistent/claim/pvc.js +40 -91
- package/dist/resources/persistent/claim/pvc.js.map +1 -1
- package/dist/resources/persistent/volume/parse-backend.d.ts +2 -2
- package/dist/resources/persistent/volume/parse-backend.d.ts.map +1 -1
- package/dist/resources/persistent/volume/parse-backend.js.map +1 -1
- package/dist/resources/persistent/volume/pv.d.ts +42 -27
- package/dist/resources/persistent/volume/pv.d.ts.map +1 -1
- package/dist/resources/persistent/volume/pv.js +47 -100
- package/dist/resources/persistent/volume/pv.js.map +1 -1
- package/dist/resources/pod/container/container.d.ts +42 -48
- package/dist/resources/pod/container/container.d.ts.map +1 -1
- package/dist/resources/pod/container/container.js +89 -143
- package/dist/resources/pod/container/container.js.map +1 -1
- package/dist/resources/pod/container/mounts.d.ts +29 -30
- package/dist/resources/pod/container/mounts.d.ts.map +1 -1
- package/dist/resources/pod/container/mounts.js +42 -41
- package/dist/resources/pod/container/mounts.js.map +1 -1
- package/dist/resources/pod/pod-template.d.ts +41 -40
- package/dist/resources/pod/pod-template.d.ts.map +1 -1
- package/dist/resources/pod/pod-template.js +76 -110
- package/dist/resources/pod/pod-template.js.map +1 -1
- package/dist/resources/pod/volume/devices.d.ts +18 -20
- package/dist/resources/pod/volume/devices.d.ts.map +1 -1
- package/dist/resources/pod/volume/devices.js +33 -85
- package/dist/resources/pod/volume/devices.js.map +1 -1
- package/dist/resources/pod/volume/index.d.ts +2 -3
- package/dist/resources/pod/volume/index.d.ts.map +1 -1
- package/dist/resources/pod/volume/index.js +3 -5
- package/dist/resources/pod/volume/index.js.map +1 -1
- package/dist/resources/pod/volume/volumes.d.ts +24 -25
- package/dist/resources/pod/volume/volumes.d.ts.map +1 -1
- package/dist/resources/pod/volume/volumes.js +66 -108
- package/dist/resources/pod/volume/volumes.js.map +1 -1
- package/dist/resources/rbac/cluster-role-binding.d.ts +17 -0
- package/dist/resources/rbac/cluster-role-binding.d.ts.map +1 -0
- package/dist/resources/rbac/cluster-role-binding.js +32 -0
- package/dist/resources/rbac/cluster-role-binding.js.map +1 -0
- package/dist/resources/rbac/cluster-role.d.ts +28 -0
- package/dist/resources/rbac/cluster-role.d.ts.map +1 -0
- package/dist/resources/rbac/cluster-role.js +46 -0
- package/dist/resources/rbac/cluster-role.js.map +1 -0
- package/dist/resources/rbac/service-account.d.ts +11 -0
- package/dist/resources/rbac/service-account.d.ts.map +1 -0
- package/dist/resources/rbac/service-account.js +21 -0
- package/dist/resources/rbac/service-account.js.map +1 -0
- package/dist/resources/secret/index.d.ts +1 -3
- package/dist/resources/secret/index.d.ts.map +1 -1
- package/dist/resources/secret/index.js +4 -25
- package/dist/resources/secret/index.js.map +1 -1
- package/dist/resources/secret/secret.d.ts +8 -4
- package/dist/resources/secret/secret.d.ts.map +1 -1
- package/dist/resources/secret/secret.js +12 -65
- package/dist/resources/secret/secret.js.map +1 -1
- package/dist/resources/service/service-port.d.ts +12 -15
- package/dist/resources/service/service-port.d.ts.map +1 -1
- package/dist/resources/service/service-port.js +21 -24
- package/dist/resources/service/service-port.js.map +1 -1
- package/dist/resources/service/service.d.ts +33 -27
- package/dist/resources/service/service.d.ts.map +1 -1
- package/dist/resources/service/service.js +63 -123
- package/dist/resources/service/service.js.map +1 -1
- package/dist/resources/utils/adapters.d.ts +3 -3
- package/dist/resources/utils/adapters.d.ts.map +1 -1
- package/dist/resources/utils/adapters.js +5 -4
- package/dist/resources/utils/adapters.js.map +1 -1
- package/dist/runner/exporter/assembler.d.ts +5 -6
- package/dist/runner/exporter/assembler.d.ts.map +1 -1
- package/dist/runner/exporter/assembler.js +4 -3
- package/dist/runner/exporter/assembler.js.map +1 -1
- package/dist/runner/exporter/loader.d.ts +3 -5
- package/dist/runner/exporter/loader.d.ts.map +1 -1
- package/dist/runner/exporter/loader.js +18 -31
- package/dist/runner/exporter/loader.js.map +1 -1
- package/dist/runner/exporter/manifester.d.ts +5 -5
- package/dist/runner/exporter/manifester.d.ts.map +1 -1
- package/dist/runner/exporter/manifester.js +11 -3
- package/dist/runner/exporter/manifester.js.map +1 -1
- package/dist/runner/exporter/meta.d.ts +1 -1
- package/dist/runner/exporter/meta.d.ts.map +1 -1
- package/dist/runner/exporter/meta.js +0 -2
- package/dist/runner/exporter/meta.js.map +1 -1
- package/dist/runner/exporter/saver.d.ts +2 -2
- package/dist/runner/exporter/saver.d.ts.map +1 -1
- package/dist/runner/exporter/saver.js.map +1 -1
- package/dist/runner/exporter/serializer.d.ts +4 -4
- package/dist/runner/exporter/serializer.d.ts.map +1 -1
- package/dist/runner/exporter/serializer.js +13 -5
- package/dist/runner/exporter/serializer.js.map +1 -1
- package/dist/runner/exporter/validator.d.ts +2 -2
- package/dist/runner/exporter/validator.d.ts.map +1 -1
- package/dist/runner/exporter/validator.js +1 -14
- package/dist/runner/exporter/validator.js.map +1 -1
- package/dist/runner/paths.d.ts.map +1 -0
- package/dist/runner/paths.js.map +1 -0
- package/dist/runner/runner.d.ts +2 -2
- package/dist/runner/runner.d.ts.map +1 -1
- package/dist/runner/runner.js +11 -6
- package/dist/runner/runner.js.map +1 -1
- package/dist/runner/summarizer.d.ts +4 -4
- package/dist/runner/summarizer.d.ts.map +1 -1
- package/dist/runner/summarizer.js +3 -3
- package/dist/runner/summarizer.js.map +1 -1
- package/dist/version.d.ts +2 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +12 -18
- package/src/default-world.ts +66 -0
- package/src/env/env.ts +42 -36
- package/src/env/index.ts +1 -1
- package/src/env/types.ts +15 -5
- package/src/index.ts +4 -7
- package/src/kinds/apps.ts +30 -0
- package/src/kinds/batch.ts +18 -0
- package/src/kinds/default.ts +81 -0
- package/src/kinds/gateway.ts +30 -0
- package/src/kinds/index.ts +9 -0
- package/src/kinds/metrics.ts +18 -0
- package/src/kinds/networking.ts +14 -0
- package/src/kinds/rbac.ts +26 -0
- package/src/kinds/storage.ts +18 -0
- package/src/origins/external.ts +14 -0
- package/src/origins/file/file.ts +72 -0
- package/src/origins/file/index.ts +3 -0
- package/src/origins/file/modifier.ts +21 -0
- package/src/origins/file/section.ts +43 -0
- package/src/origins/index.ts +3 -0
- package/src/origins/world.ts +40 -0
- package/src/resources/configmap/configmap.ts +26 -31
- package/src/resources/cronjob/index.ts +33 -43
- package/src/resources/deployment/deployment.ts +85 -76
- package/src/resources/external/index.ts +49 -0
- package/src/resources/http-route/http-route.ts +40 -39
- package/src/resources/index.ts +4 -0
- package/src/resources/namespace/namespace.ts +16 -24
- package/src/resources/persistent/access-mode.ts +6 -6
- package/src/resources/persistent/block-mode.ts +1 -1
- package/src/resources/persistent/claim/pvc.ts +54 -55
- package/src/resources/persistent/volume/parse-backend.ts +2 -2
- package/src/resources/persistent/volume/pv.ts +87 -69
- package/src/resources/pod/container/container.ts +113 -120
- package/src/resources/pod/container/mounts.ts +42 -39
- package/src/resources/pod/pod-template.ts +80 -67
- package/src/resources/pod/volume/devices.ts +41 -42
- package/src/resources/pod/volume/index.ts +2 -3
- package/src/resources/pod/volume/volumes.ts +92 -70
- package/src/resources/rbac/cluster-role-binding.ts +40 -0
- package/src/resources/rbac/cluster-role.ts +99 -0
- package/src/resources/rbac/service-account.ts +25 -0
- package/src/resources/secret/index.ts +1 -3
- package/src/resources/secret/secret.ts +11 -17
- package/src/resources/service/service-port.ts +21 -25
- package/src/resources/service/service.ts +84 -92
- package/src/resources/utils/adapters.ts +4 -3
- package/src/runner/exporter/assembler.ts +9 -9
- package/src/runner/exporter/loader.ts +24 -40
- package/src/runner/exporter/manifester.ts +24 -14
- package/src/runner/exporter/meta.ts +0 -1
- package/src/runner/exporter/saver.ts +3 -2
- package/src/runner/exporter/serializer.ts +20 -7
- package/src/runner/exporter/validator.ts +3 -17
- package/src/runner/runner.ts +17 -12
- package/src/runner/summarizer.ts +9 -9
- package/src/version.ts +2 -1
- package/dist/_imports/_mix.d.ts +0 -4
- package/dist/_imports/_mix.d.ts.map +0 -1
- package/dist/_imports/_mix.js.map +0 -1
- package/dist/_imports/acme.cert-manager.io.d.ts +0 -4832
- package/dist/_imports/acme.cert-manager.io.d.ts.map +0 -1
- package/dist/_imports/acme.cert-manager.io.js +0 -2476
- package/dist/_imports/acme.cert-manager.io.js.map +0 -1
- package/dist/_imports/gateway.networking.k8s.io.d.ts +0 -8786
- package/dist/_imports/gateway.networking.k8s.io.d.ts.map +0 -1
- package/dist/_imports/gateway.networking.k8s.io.js +0 -3668
- package/dist/_imports/gateway.networking.k8s.io.js.map +0 -1
- package/dist/_imports/helm.toolkit.fluxcd.io.d.ts +0 -4894
- package/dist/_imports/helm.toolkit.fluxcd.io.d.ts.map +0 -1
- package/dist/_imports/helm.toolkit.fluxcd.io.js +0 -2430
- package/dist/_imports/helm.toolkit.fluxcd.io.js.map +0 -1
- package/dist/_imports/index.d.ts +0 -3
- package/dist/_imports/index.d.ts.map +0 -1
- package/dist/_imports/index.js +0 -39
- package/dist/_imports/index.js.map +0 -1
- package/dist/_imports/k8s.d.ts +0 -18782
- package/dist/_imports/k8s.d.ts.map +0 -1
- package/dist/_imports/k8s.js +0 -12173
- package/dist/_imports/k8s.js.map +0 -1
- package/dist/_imports/kustomize.toolkit.fluxcd.io.d.ts +0 -2367
- package/dist/_imports/kustomize.toolkit.fluxcd.io.d.ts.map +0 -1
- package/dist/_imports/kustomize.toolkit.fluxcd.io.js +0 -1285
- package/dist/_imports/kustomize.toolkit.fluxcd.io.js.map +0 -1
- package/dist/_imports/notification.toolkit.fluxcd.io.d.ts +0 -2005
- package/dist/_imports/notification.toolkit.fluxcd.io.d.ts.map +0 -1
- package/dist/_imports/notification.toolkit.fluxcd.io.js +0 -1575
- package/dist/_imports/notification.toolkit.fluxcd.io.js.map +0 -1
- package/dist/_imports/source.toolkit.fluxcd.io.d.ts +0 -4158
- package/dist/_imports/source.toolkit.fluxcd.io.d.ts.map +0 -1
- package/dist/_imports/source.toolkit.fluxcd.io.js +0 -2739
- package/dist/_imports/source.toolkit.fluxcd.io.js.map +0 -1
- package/dist/external/index.d.ts +0 -13
- package/dist/external/index.d.ts.map +0 -1
- package/dist/external/index.js.map +0 -1
- package/dist/file/exports.d.ts +0 -19
- package/dist/file/exports.d.ts.map +0 -1
- package/dist/file/exports.js +0 -53
- package/dist/file/exports.js.map +0 -1
- package/dist/file/factory.d.ts +0 -41
- package/dist/file/factory.d.ts.map +0 -1
- package/dist/file/factory.js +0 -197
- package/dist/file/factory.js.map +0 -1
- package/dist/file/file.d.ts +0 -16
- package/dist/file/file.d.ts.map +0 -1
- package/dist/file/file.js +0 -21
- package/dist/file/file.js.map +0 -1
- package/dist/file/index.d.ts +0 -2
- package/dist/file/index.d.ts.map +0 -1
- package/dist/file/index.js.map +0 -1
- package/dist/file/origin.d.ts +0 -21
- package/dist/file/origin.d.ts.map +0 -1
- package/dist/file/origin.js +0 -27
- package/dist/file/origin.js.map +0 -1
- package/dist/k8ts-sys-kind.d.ts +0 -3
- package/dist/k8ts-sys-kind.d.ts.map +0 -1
- package/dist/k8ts-sys-kind.js +0 -8
- package/dist/k8ts-sys-kind.js.map +0 -1
- package/dist/kind-map.d.ts +0 -12
- package/dist/kind-map.d.ts.map +0 -1
- package/dist/kind-map.js +0 -30
- package/dist/kind-map.js.map +0 -1
- package/dist/kinds.d.ts +0 -115
- package/dist/kinds.d.ts.map +0 -1
- package/dist/kinds.js +0 -95
- package/dist/kinds.js.map +0 -1
- package/dist/meta/k8ts-section.d.ts +0 -3
- package/dist/meta/k8ts-section.d.ts.map +0 -1
- package/dist/meta/k8ts-section.js +0 -10
- package/dist/meta/k8ts-section.js.map +0 -1
- package/dist/node/abs-resource.d.ts +0 -16
- package/dist/node/abs-resource.d.ts.map +0 -1
- package/dist/node/abs-resource.js +0 -79
- package/dist/node/abs-resource.js.map +0 -1
- package/dist/node/dependencies.d.ts +0 -2
- package/dist/node/dependencies.d.ts.map +0 -1
- package/dist/node/dependencies.js +0 -3
- package/dist/node/dependencies.js.map +0 -1
- package/dist/node/equiv-cdk8s.d.ts +0 -9
- package/dist/node/equiv-cdk8s.d.ts.map +0 -1
- package/dist/node/equiv-cdk8s.js +0 -17
- package/dist/node/equiv-cdk8s.js.map +0 -1
- package/dist/node/index.d.ts +0 -5
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.js +0 -12
- package/dist/node/index.js.map +0 -1
- package/dist/node/manifest-resource.d.ts +0 -15
- package/dist/node/manifest-resource.d.ts.map +0 -1
- package/dist/node/manifest-resource.js +0 -20
- package/dist/node/manifest-resource.js.map +0 -1
- package/dist/node/sub-resource.d.ts +0 -8
- package/dist/node/sub-resource.d.ts.map +0 -1
- package/dist/node/sub-resource.js.map +0 -1
- package/dist/node/top-resource.d.ts +0 -7
- package/dist/node/top-resource.d.ts.map +0 -1
- package/dist/node/top-resource.js +0 -8
- package/dist/node/top-resource.js.map +0 -1
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/resources/persistent/volume/backend.d.ts +0 -19
- package/dist/resources/persistent/volume/backend.d.ts.map +0 -1
- package/dist/resources/persistent/volume/backend.js +0 -3
- package/dist/resources/persistent/volume/backend.js.map +0 -1
- package/dist/resources/service/frontend.d.ts +0 -11
- package/dist/resources/service/frontend.d.ts.map +0 -1
- package/dist/resources/service/frontend.js +0 -3
- package/dist/resources/service/frontend.js.map +0 -1
- package/dist/runner/exporter/trace-embedder.d.ts +0 -2
- package/dist/runner/exporter/trace-embedder.d.ts.map +0 -1
- package/dist/runner/exporter/trace-embedder.js +0 -3
- package/dist/runner/exporter/trace-embedder.js.map +0 -1
- package/dist/world/index.d.ts +0 -2
- package/dist/world/index.d.ts.map +0 -1
- package/dist/world/index.js.map +0 -1
- package/dist/world/world.d.ts +0 -34
- package/dist/world/world.d.ts.map +0 -1
- package/dist/world/world.js +0 -69
- package/dist/world/world.js.map +0 -1
- package/src/_imports/_mix.ts +0 -3
- package/src/_imports/acme.cert-manager.io.ts +0 -8202
- package/src/_imports/gateway.networking.k8s.io.ts +0 -12226
- package/src/_imports/helm.toolkit.fluxcd.io.ts +0 -6748
- package/src/_imports/index.ts +0 -2
- package/src/_imports/k8s.ts +0 -31028
- package/src/_imports/kustomize.toolkit.fluxcd.io.ts +0 -3369
- package/src/_imports/notification.toolkit.fluxcd.io.ts +0 -2848
- package/src/_imports/source.toolkit.fluxcd.io.ts +0 -6054
- package/src/external/index.ts +0 -34
- package/src/file/exports.ts +0 -66
- package/src/file/factory.ts +0 -199
- package/src/file/file.ts +0 -33
- package/src/file/index.ts +0 -1
- package/src/file/origin.ts +0 -41
- package/src/k8ts-sys-kind.ts +0 -4
- package/src/kind-map.ts +0 -42
- package/src/kinds.ts +0 -158
- package/src/meta/k8ts-section.ts +0 -6
- package/src/node/abs-resource.ts +0 -37
- package/src/node/dependencies.ts +0 -0
- package/src/node/equiv-cdk8s.ts +0 -19
- package/src/node/index.ts +0 -4
- package/src/node/manifest-resource.ts +0 -23
- package/src/node/sub-resource.ts +0 -20
- package/src/node/top-resource.ts +0 -7
- package/src/resources/persistent/volume/backend.ts +0 -20
- package/src/resources/service/frontend.ts +0 -11
- package/src/runner/exporter/trace-embedder.ts +0 -0
- package/src/world/index.ts +0 -1
- package/src/world/world.ts +0 -90
- /package/dist/{paths.d.ts → runner/paths.d.ts} +0 -0
- /package/dist/{paths.js → runner/paths.js} +0 -0
- /package/src/{paths.ts → runner/paths.ts} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FwRef_Exports,
|
|
3
|
+
Origin_Exporter,
|
|
4
|
+
type Origin_Entity,
|
|
5
|
+
type Origin_Props,
|
|
6
|
+
type Resource_Core_Ref,
|
|
7
|
+
type Resource_Ctor_Of
|
|
8
|
+
} from "@k8ts/instruments"
|
|
9
|
+
import { doddlify, seq } from "doddle"
|
|
10
|
+
import type { v1 } from "../../kinds"
|
|
11
|
+
import { Origin_Section, type File_Section_Props } from "./section"
|
|
12
|
+
export type File_sName = `${string}.yaml`
|
|
13
|
+
export interface File_Props<
|
|
14
|
+
Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
|
|
15
|
+
Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
|
|
16
|
+
> extends Origin_Props<Kinds[number]> {
|
|
17
|
+
kinds?: Kinds
|
|
18
|
+
namespace?: Resource_Core_Ref<v1.Namespace._>
|
|
19
|
+
FILE(FILE: Origin_File_Scope<Kinds>): Iterable<Exports | FwRef_Exports<Exports>>
|
|
20
|
+
}
|
|
21
|
+
export class Origin_File extends Origin_Exporter<File_Props> {
|
|
22
|
+
#_ = (() => {
|
|
23
|
+
this.meta.add("source.k8ts.org/", {
|
|
24
|
+
"^file": this.name
|
|
25
|
+
})
|
|
26
|
+
this.meta.overwrite("namespace", this._props.namespace?.name)
|
|
27
|
+
})()
|
|
28
|
+
get kind() {
|
|
29
|
+
return "k8ts:File"
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@doddlify
|
|
33
|
+
protected __exports__() {
|
|
34
|
+
return seq(
|
|
35
|
+
this._props.FILE.call(
|
|
36
|
+
this,
|
|
37
|
+
new Origin_File_Scope(this) as any
|
|
38
|
+
) as Iterable<Resource_Core_Ref>
|
|
39
|
+
).cache()
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function File<
|
|
43
|
+
Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
|
|
44
|
+
Exports extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
|
|
45
|
+
>(parent: Origin_Entity, name: File_sName, props: File_Props<Kinds, Exports>) {
|
|
46
|
+
const file = new Origin_File(parent, name, props as any)
|
|
47
|
+
|
|
48
|
+
return FwRef_Exports<Exports>(file)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export class Origin_File_Scope<Kinds extends Resource_Ctor_Of[]> {
|
|
52
|
+
constructor(private readonly _file: Origin_File) {
|
|
53
|
+
this.on = this._file.on
|
|
54
|
+
}
|
|
55
|
+
get __entity__() {
|
|
56
|
+
return this._file
|
|
57
|
+
}
|
|
58
|
+
on: Origin_File["on"]
|
|
59
|
+
|
|
60
|
+
Section<Exported extends Kinds[number]["prototype"] = Kinds[number]["prototype"]>(
|
|
61
|
+
name: string,
|
|
62
|
+
props: File_Section_Props<Exported>
|
|
63
|
+
) {
|
|
64
|
+
const section: Origin_Section = new Origin_Section(this._file, name, props)
|
|
65
|
+
return FwRef_Exports<Exported>(section)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export type File<
|
|
70
|
+
Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[],
|
|
71
|
+
T extends Kinds[number]["prototype"] = Kinds[number]["prototype"]
|
|
72
|
+
> = FwRef_Exports<T>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Origin_Entity, OriginContextTracker } from "@k8ts/instruments"
|
|
2
|
+
|
|
3
|
+
export interface ModifierOrigin_Props {}
|
|
4
|
+
|
|
5
|
+
export class Origin_Modifier extends Origin_Entity<ModifierOrigin_Props> {
|
|
6
|
+
get kind() {
|
|
7
|
+
return "Modifier"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#currentRunnerState = (() => {
|
|
11
|
+
return OriginContextTracker.disposableOriginModifier(this)
|
|
12
|
+
})();
|
|
13
|
+
|
|
14
|
+
[Symbol.dispose]() {
|
|
15
|
+
this.#currentRunnerState[Symbol.dispose]()
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function Modifier(name: string, props: ModifierOrigin_Props = {}) {
|
|
20
|
+
return new Origin_Modifier(name, props)
|
|
21
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Origin_Exporter_Props,
|
|
3
|
+
type Resource_Core_Ref,
|
|
4
|
+
Origin_Exporter
|
|
5
|
+
} from "@k8ts/instruments"
|
|
6
|
+
import { doddle, doddlify, seq } from "doddle"
|
|
7
|
+
import type { v1 } from "../../kinds"
|
|
8
|
+
|
|
9
|
+
export class File_Section_Scope {
|
|
10
|
+
on: Origin_Section["on"]
|
|
11
|
+
get __entity__() {
|
|
12
|
+
return this._section
|
|
13
|
+
}
|
|
14
|
+
constructor(private readonly _section: Origin_Section) {
|
|
15
|
+
this.on = this._section.on
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export interface File_Section_Props<Exported extends Resource_Core_Ref = Resource_Core_Ref>
|
|
19
|
+
extends Origin_Exporter_Props {
|
|
20
|
+
namespace?: Resource_Core_Ref<v1.Namespace._>
|
|
21
|
+
SECTION(SCOPE: File_Section_Scope): Iterable<Exported>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class Origin_Section extends Origin_Exporter<File_Section_Props> {
|
|
25
|
+
get kind() {
|
|
26
|
+
return "k8ts:File/Section"
|
|
27
|
+
}
|
|
28
|
+
#_ = doddle(() => {
|
|
29
|
+
this.meta.overwrite({
|
|
30
|
+
namespace: this._props.namespace?.name
|
|
31
|
+
})
|
|
32
|
+
}).pull()
|
|
33
|
+
|
|
34
|
+
@doddlify
|
|
35
|
+
protected __exports__() {
|
|
36
|
+
return seq(
|
|
37
|
+
this._props.SECTION.call(
|
|
38
|
+
this,
|
|
39
|
+
new File_Section_Scope(this)
|
|
40
|
+
) as Iterable<Resource_Core_Ref>
|
|
41
|
+
).cache()
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Origin_Entity,
|
|
3
|
+
type FwRef_Exports,
|
|
4
|
+
type Kind,
|
|
5
|
+
type Origin_Props,
|
|
6
|
+
type Resource_Ctor_Of
|
|
7
|
+
} from "@k8ts/instruments"
|
|
8
|
+
|
|
9
|
+
import { External } from "../resources/external"
|
|
10
|
+
import { Origin_External } from "./external"
|
|
11
|
+
import { File, type File_Props, type File_sName } from "./file"
|
|
12
|
+
|
|
13
|
+
export type World_Props<Kinds extends Resource_Ctor_Of[]> = Origin_Props<Kinds[number]>
|
|
14
|
+
|
|
15
|
+
export class World<Kinds extends Resource_Ctor_Of[] = Resource_Ctor_Of[]> extends Origin_Entity<
|
|
16
|
+
World_Props<Kinds>
|
|
17
|
+
> {
|
|
18
|
+
get kind() {
|
|
19
|
+
return "k8ts:World"
|
|
20
|
+
}
|
|
21
|
+
private readonly _ExternalOrigin = new Origin_External(this)
|
|
22
|
+
#_ = (() => {
|
|
23
|
+
this.meta.add("source.k8ts.org/", {
|
|
24
|
+
"^world": this.name
|
|
25
|
+
})
|
|
26
|
+
})()
|
|
27
|
+
|
|
28
|
+
External<K extends Kind, Name extends string>(kind: K, name: Name, namespace?: string) {
|
|
29
|
+
return new External(this._ExternalOrigin, kind.refKey(name), namespace)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
File<Exports extends Resource_Ctor_Of["prototype"]>(
|
|
33
|
+
name: File_sName,
|
|
34
|
+
props: File_Props<Kinds, Exports>
|
|
35
|
+
) {
|
|
36
|
+
return File(this, name, props) as FwRef_Exports<Exports>
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const k8ts_namespace = "k8ts.org/" as const
|
|
@@ -1,41 +1,36 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DataSourceRecord_Binary,
|
|
3
3
|
DataSourceRecord_Text,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
relations,
|
|
4
|
+
DataSource_LocalFile,
|
|
5
|
+
Resource_Top,
|
|
7
6
|
resolveBinary,
|
|
8
7
|
resolveText
|
|
9
8
|
} from "@k8ts/instruments"
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
data: DataSourceRecord_Text
|
|
20
|
-
binaryData?: DataSourceRecord_Binary
|
|
21
|
-
}
|
|
9
|
+
import { toObject } from "@k8ts/metadata/util"
|
|
10
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
11
|
+
import { seq } from "doddle"
|
|
12
|
+
import { v1 } from "../../kinds/default"
|
|
13
|
+
export type ConfigMap_Entry_Source = DataSource_LocalFile | string
|
|
14
|
+
export interface ConfigMap_Props {
|
|
15
|
+
data: DataSourceRecord_Text
|
|
16
|
+
binaryData?: DataSourceRecord_Binary
|
|
17
|
+
}
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
19
|
+
export class ConfigMap<Name extends string = string> extends Resource_Top<Name, ConfigMap_Props> {
|
|
20
|
+
get kind() {
|
|
21
|
+
return v1.ConfigMap._
|
|
22
|
+
}
|
|
23
|
+
protected async body(): Promise<CDK.KubeConfigMapProps> {
|
|
24
|
+
const self = this
|
|
25
|
+
const binaryData = await resolveBinary(self.props.binaryData ?? {})
|
|
26
|
+
const data = await resolveText(self.props.data)
|
|
27
|
+
const encodedBinaryData = seq(binaryData)
|
|
28
|
+
.map(([k, x]) => [k, Buffer.from(x).toString("base64")] as const)
|
|
29
|
+
.toRecord(x => x)
|
|
30
|
+
.pull()
|
|
31
|
+
return {
|
|
32
|
+
data: data.size === 0 ? undefined : toObject(data),
|
|
33
|
+
binaryData: binaryData.size === 0 ? undefined : encodedBinaryData
|
|
36
34
|
}
|
|
37
|
-
})
|
|
38
|
-
export class ConfigMap extends ManifestResource<Props> {
|
|
39
|
-
override kind = api.v1_.ConfigMap
|
|
40
35
|
}
|
|
41
36
|
}
|
|
@@ -1,60 +1,50 @@
|
|
|
1
|
-
import { Cron, CronStanza,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
import { PodTemplate } from "../pod/pod-template"
|
|
11
|
-
export interface K8tsCronJobProps<CronSpec extends Cron.Record>
|
|
1
|
+
import { Cron, CronStanza, Resource_Top, type Resource_Entity } from "@k8ts/instruments"
|
|
2
|
+
import { Meta } from "@k8ts/metadata"
|
|
3
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
4
|
+
import { doddle } from "doddle"
|
|
5
|
+
import { omitBy } from "lodash"
|
|
6
|
+
import { Timezone } from "../../../../instruments/dist/expressions/timezone"
|
|
7
|
+
import { batch } from "../../kinds/batch"
|
|
8
|
+
import { Pod_Template, type Pod_Props } from "../pod"
|
|
9
|
+
export interface CronJob_Props<CronSpec extends Cron.Record>
|
|
12
10
|
extends Omit<CDK.CronJobSpec, "jobTemplate" | "schedule" | "timeZone"> {
|
|
13
11
|
$schedule: CronStanza<CronSpec>
|
|
14
|
-
$template:
|
|
12
|
+
$template: Pod_Props<never> & {
|
|
15
13
|
restartPolicy: "Always" | "OnFailure" | "Never"
|
|
16
14
|
}
|
|
17
15
|
$meta?: Meta.Input
|
|
18
16
|
timeZone: Timezone
|
|
19
17
|
}
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
export class CronJob<
|
|
20
|
+
Name extends string = string,
|
|
21
|
+
Cron extends Cron.Record = Cron.Record
|
|
22
|
+
> extends Resource_Top<Name, CronJob_Props<Cron>> {
|
|
23
|
+
get kind() {
|
|
24
|
+
return batch.v1.CronJob._
|
|
25
|
+
}
|
|
26
|
+
private _template = doddle(() => {
|
|
27
|
+
return new Pod_Template<never>(this, this.name, this.props.$template)
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
protected __kids__(): Resource_Entity[] {
|
|
31
|
+
return [this._template.pull()]
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
protected body(): CDK.KubeCronJobProps {
|
|
35
|
+
const self = this
|
|
36
|
+
const template = self._template.pull()["__submanifest__"]()
|
|
30
37
|
return {
|
|
31
38
|
spec: {
|
|
32
|
-
...omitBy(self.props, (x, k) => k.startsWith("$")),
|
|
33
|
-
schedule: self.props.$schedule.
|
|
39
|
+
...omitBy(self.props, (x, k) => k.startsWith("$") || k === "timeZone"),
|
|
40
|
+
schedule: self.props.$schedule.toString(),
|
|
41
|
+
timeZone: self.props.timeZone,
|
|
34
42
|
jobTemplate: {
|
|
35
43
|
spec: {
|
|
36
|
-
template:
|
|
44
|
+
template: template
|
|
37
45
|
}
|
|
38
|
-
}
|
|
39
|
-
timeZone: self.props.timeZone
|
|
46
|
+
}
|
|
40
47
|
}
|
|
41
48
|
}
|
|
42
49
|
}
|
|
43
|
-
})
|
|
44
|
-
export class K8tsCronJob<Cron extends Cron.Record> extends ManifestResource<
|
|
45
|
-
K8tsCronJobProps<Cron>
|
|
46
|
-
> {
|
|
47
|
-
kind = api.batch_.v1_.CronJob
|
|
48
|
-
template: PodTemplate.PodTemplate<never>
|
|
49
|
-
constructor(origin: Origin, meta: Meta | MutableMeta, props: K8tsCronJobProps<Cron>) {
|
|
50
|
-
super(origin, meta, props)
|
|
51
|
-
this.template = new PodTemplate.PodTemplate(
|
|
52
|
-
origin,
|
|
53
|
-
Meta.make({
|
|
54
|
-
name: this.name
|
|
55
|
-
}),
|
|
56
|
-
props.$template
|
|
57
|
-
)
|
|
58
|
-
this.template.meta.add(props.$meta)
|
|
59
|
-
}
|
|
60
50
|
}
|
|
@@ -1,89 +1,98 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
OriginContextTracker,
|
|
3
|
+
Resource_Core_Ref,
|
|
4
|
+
Resource_Top,
|
|
5
|
+
type Resource_Entity
|
|
6
|
+
} from "@k8ts/instruments"
|
|
7
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
8
|
+
import { doddle } from "doddle"
|
|
3
9
|
import { omit, omitBy } from "lodash"
|
|
4
|
-
import { CDK } from "../../_imports"
|
|
5
10
|
import { MakeError } from "../../error"
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { equiv_cdk8s } from "../../node/equiv-cdk8s"
|
|
9
|
-
import { ManifestResource } from "../../node/manifest-resource"
|
|
10
|
-
import { PodTemplate } from "../pod/pod-template"
|
|
11
|
+
import { apps } from "../../kinds/apps"
|
|
12
|
+
import { Pod_Template, type Pod_Props } from "../pod"
|
|
11
13
|
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
export interface Deployment_Strategy_RollingUpdate extends CDK.RollingUpdateDeployment {
|
|
15
|
+
type: "RollingUpdate"
|
|
16
|
+
}
|
|
17
|
+
export interface Deployment_Strategy_Recreate {
|
|
18
|
+
type: "Recreate"
|
|
19
|
+
}
|
|
20
|
+
export type Deployment_Strategy = Deployment_Strategy_RollingUpdate | Deployment_Strategy_Recreate
|
|
21
|
+
export type Deployment_Props_Original = Omit<
|
|
22
|
+
CDK.DeploymentSpec,
|
|
23
|
+
"selector" | "template" | "strategy"
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
export type Deployment_Props<Ports extends string> = Deployment_Props_Original & {
|
|
27
|
+
$template: Pod_Props<Ports>
|
|
28
|
+
$strategy?: Deployment_Strategy
|
|
29
|
+
}
|
|
30
|
+
export type Deployment_Ref<Ports extends string> = Resource_Core_Ref<apps.v1.Deployment._> & {
|
|
31
|
+
__PORTS__: Ports
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class Deployment<Name extends string, Ports extends string = string> extends Resource_Top<
|
|
35
|
+
Name,
|
|
36
|
+
Deployment_Props<Ports>
|
|
37
|
+
> {
|
|
38
|
+
__PORTS__!: Ports
|
|
39
|
+
get kind() {
|
|
40
|
+
return apps.v1.Deployment._
|
|
28
41
|
}
|
|
29
42
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
async body(self): Promise<CDK.KubeDeploymentProps> {
|
|
37
|
-
const template = await self.template["manifest"]()
|
|
38
|
-
const noKindFields = omit(template, ["kind", "apiVersion"])
|
|
39
|
-
return {
|
|
40
|
-
spec: {
|
|
41
|
-
...omitBy(self.props, (x, k) => k.startsWith("$")),
|
|
42
|
-
selector: {
|
|
43
|
-
matchLabels: {
|
|
44
|
-
app: self.name
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
template: noKindFields,
|
|
48
|
-
strategy: self._strategy
|
|
49
|
-
}
|
|
50
|
-
}
|
|
43
|
+
#_ = (() => {
|
|
44
|
+
const origin = OriginContextTracker.current
|
|
45
|
+
if (!origin) {
|
|
46
|
+
throw new MakeError(
|
|
47
|
+
`Deployment ${this.name} must be created within an OriginEntity context`
|
|
48
|
+
)
|
|
51
49
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
__PORTS__!: Ports
|
|
55
|
-
kind = api.apps_.v1_.Deployment
|
|
56
|
-
template: PodTemplate<Ports>
|
|
50
|
+
this.props.$template.$POD = origin["__binder__"]().bind(this.props.$template.$POD)
|
|
51
|
+
})()
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
53
|
+
protected __kids__(): Resource_Entity[] {
|
|
54
|
+
return [this._template.pull()]
|
|
55
|
+
}
|
|
56
|
+
protected body(): CDK.KubeDeploymentProps {
|
|
57
|
+
const self = this
|
|
58
|
+
const template = self._template.pull()["__submanifest__"]()
|
|
59
|
+
const noKindFields = omit(template, ["kind", "apiVersion"])
|
|
60
|
+
return {
|
|
61
|
+
spec: {
|
|
62
|
+
...omitBy(self.props, (x, k) => k.startsWith("$")),
|
|
63
|
+
selector: {
|
|
64
|
+
matchLabels: {
|
|
65
|
+
app: self.name
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
template: noKindFields,
|
|
69
|
+
strategy: self._strategy
|
|
71
70
|
}
|
|
72
|
-
throw new MakeError(`Invalid strategy type: ${strat}`)
|
|
73
71
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
name: this.name,
|
|
80
|
-
"%app": this.name
|
|
81
|
-
}),
|
|
82
|
-
props.$template
|
|
83
|
-
)
|
|
72
|
+
}
|
|
73
|
+
private get _strategy() {
|
|
74
|
+
const strat = this.props.$strategy
|
|
75
|
+
if (!strat) {
|
|
76
|
+
return undefined
|
|
84
77
|
}
|
|
85
|
-
|
|
86
|
-
return
|
|
78
|
+
if (strat.type === "Recreate") {
|
|
79
|
+
return strat
|
|
87
80
|
}
|
|
81
|
+
if (strat.type === "RollingUpdate") {
|
|
82
|
+
return {
|
|
83
|
+
type: "RollingUpdate",
|
|
84
|
+
rollingUpdate: omit(strat, "type")
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
throw new MakeError(`Invalid strategy type: ${strat}`)
|
|
88
|
+
}
|
|
89
|
+
private readonly _template = doddle(() => {
|
|
90
|
+
const podTemplate = new Pod_Template(this, this.name, this.props.$template)
|
|
91
|
+
podTemplate.meta.add("%app", this.name)
|
|
92
|
+
return podTemplate
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
get ports() {
|
|
96
|
+
return this._template.pull().ports
|
|
88
97
|
}
|
|
89
98
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Kind, Resource_Entity, type Origin_Entity, type RefKey } from "@k8ts/instruments"
|
|
2
|
+
import { Meta } from "@k8ts/metadata"
|
|
3
|
+
import { MakeError } from "../../error"
|
|
4
|
+
|
|
5
|
+
export class External<
|
|
6
|
+
K extends Kind.IdentParent = Kind.IdentParent,
|
|
7
|
+
Name extends string = string
|
|
8
|
+
> extends Resource_Entity<Name> {
|
|
9
|
+
meta = Meta.make()
|
|
10
|
+
constructor(
|
|
11
|
+
private readonly _origin: Origin_Entity,
|
|
12
|
+
readonly key: RefKey<K, Name>,
|
|
13
|
+
namespace: string | undefined = undefined
|
|
14
|
+
) {
|
|
15
|
+
super(key.name, {})
|
|
16
|
+
this.meta.overwrite("name", key.name)
|
|
17
|
+
if (namespace) {
|
|
18
|
+
this.meta.overwrite("namespace", namespace)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get namespace() {
|
|
23
|
+
return this.meta.tryGet("namespace")
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
get kind() {
|
|
27
|
+
return this.key.kind
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
protected __origin__(): Origin_Entity {
|
|
31
|
+
return this._origin
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
protected __parent__() {
|
|
35
|
+
return undefined
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
protected body(): never {
|
|
39
|
+
throw new MakeError("Cannot get body of External resource")
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
ref() {
|
|
43
|
+
return {
|
|
44
|
+
kind: this.kind.name,
|
|
45
|
+
name: this.name,
|
|
46
|
+
namespace: this.namespace
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -1,47 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CDK } from "
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { api } from "../../kinds"
|
|
6
|
-
import { ManifestResource } from "../../node"
|
|
7
|
-
import { equiv_cdk8s } from "../../node/equiv-cdk8s"
|
|
8
|
-
import type { Service } from "../service"
|
|
1
|
+
import { Resource_Top, type Resource_Full_Ref } from "@k8ts/instruments"
|
|
2
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
3
|
+
import { gateway } from "../../kinds/gateway"
|
|
4
|
+
import type { Port } from "../service/service-port"
|
|
9
5
|
|
|
10
|
-
|
|
6
|
+
const GatewayKind = gateway.v1.Gateway._
|
|
7
|
+
const HttpRouteKind = gateway.v1.HttpRoute._
|
|
11
8
|
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
export interface HttpRoute_Props<Ports extends string> {
|
|
10
|
+
$gateway: Resource_Full_Ref<gateway.v1.Gateway._>
|
|
11
|
+
$hostname: string
|
|
12
|
+
$backend: Port<Ports>
|
|
13
|
+
_filters?: CDK.HttpRouteSpecRulesFilters[]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export class HttpRoute<Name extends string, Ports extends string> extends Resource_Top<
|
|
17
|
+
Name,
|
|
18
|
+
HttpRoute_Props<Ports>
|
|
19
|
+
> {
|
|
20
|
+
declare name: Name
|
|
21
|
+
|
|
22
|
+
get kind() {
|
|
23
|
+
return HttpRouteKind
|
|
18
24
|
}
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
parentRefs: [self.props.$gateway.ref()],
|
|
33
|
-
hostnames: [self.props.$hostname],
|
|
34
|
-
rules: [
|
|
35
|
-
{
|
|
36
|
-
backendRefs: [self.props.$backend.ref()],
|
|
37
|
-
filters: self.props._filters
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
}
|
|
26
|
+
protected body() {
|
|
27
|
+
const self = this
|
|
28
|
+
return {
|
|
29
|
+
spec: {
|
|
30
|
+
parentRefs: [self.props.$gateway.ref()],
|
|
31
|
+
hostnames: [self.props.$hostname],
|
|
32
|
+
rules: [
|
|
33
|
+
{
|
|
34
|
+
backendRefs: [self.props.$backend.ref()],
|
|
35
|
+
filters: self.props._filters
|
|
36
|
+
}
|
|
37
|
+
]
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
protected __needs__() {
|
|
43
|
+
return {
|
|
44
|
+
gateway: this.props.$gateway,
|
|
45
|
+
service: this.props.$backend.service
|
|
46
|
+
}
|
|
46
47
|
}
|
|
47
48
|
}
|