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
|
@@ -1,50 +1,53 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type Path = `${"" | "." | ".."}${Path_Rooted}`
|
|
1
|
+
import { Kind } from "@k8ts/instruments"
|
|
2
|
+
import type { CDK } from "@k8ts/sample-interfaces"
|
|
3
|
+
import { v1 } from "../../../kinds/default"
|
|
4
|
+
import type { Pod_Volume } from "../volume"
|
|
5
|
+
import type { Pod_Device } from "../volume/devices"
|
|
6
|
+
type Path_Rooted = `/${string}`
|
|
7
|
+
export type Container_Mount_Path = `${"" | "." | ".."}${Path_Rooted}`
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export type Container_Mount = Container_Mount_Volume | Container_Mount_Device
|
|
10
|
+
export interface Container_Mount_Props {
|
|
11
|
+
readOnly?: boolean
|
|
12
|
+
subPath?: string
|
|
13
|
+
volume: Pod_Volume
|
|
14
|
+
}
|
|
15
|
+
export class Container_Mount_Volume {
|
|
16
|
+
get kind() {
|
|
17
|
+
return v1.Pod.Container.VolumeMount._
|
|
14
18
|
}
|
|
15
|
-
export class ContainerVolumeMount {
|
|
16
|
-
readonly kind = api.v1_.Pod_.VolumeMount
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
constructor(readonly props: Container_Mount_Props) {}
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
22
|
+
get volume() {
|
|
23
|
+
return this.props.volume
|
|
24
|
+
}
|
|
25
|
+
protected __submanifest__(mountPath: string): CDK.VolumeMount {
|
|
26
|
+
return {
|
|
27
|
+
name: this.props.volume.name,
|
|
28
|
+
mountPath: mountPath,
|
|
29
|
+
readOnly: this.props.readOnly,
|
|
30
|
+
subPath: this.props.subPath
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
}
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
export interface Container_Mount_Device_Props {
|
|
36
|
+
device: Pod_Device
|
|
37
|
+
}
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
export class Container_Mount_Device {
|
|
40
|
+
get kind() {
|
|
41
|
+
return v1.Pod.Container.DeviceMount._ satisfies Kind.SubKind
|
|
42
|
+
}
|
|
43
|
+
get volume() {
|
|
44
|
+
return this.props.device
|
|
45
|
+
}
|
|
46
|
+
constructor(readonly props: Container_Mount_Device_Props) {}
|
|
47
|
+
protected __submanifest__(devicePath: string): CDK.VolumeDevice {
|
|
48
|
+
return {
|
|
49
|
+
devicePath: devicePath,
|
|
50
|
+
name: this.props.device.name
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
}
|
|
@@ -1,82 +1,95 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Resource_Child, Resource_Min_Ref } from "@k8ts/instruments"
|
|
2
|
+
import { Meta } from "@k8ts/metadata"
|
|
3
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
2
4
|
import { seq } from "doddle"
|
|
3
5
|
import { omitBy } from "lodash"
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
import { v1 } from "../../kinds/default"
|
|
7
|
+
import { Container, type Container_Props } from "./container"
|
|
8
|
+
import { Pod_Device, type Pod_Device_Backend } from "./volume/devices"
|
|
9
|
+
import { Pod_Volume, type Pod_Volume_Backend } from "./volume/volumes"
|
|
10
|
+
export type Pod_Props_Original = Omit<CDK.PodSpec, "containers" | "initContainers" | "volumes">
|
|
11
|
+
type Container_Ref<Ports extends string> = Resource_Min_Ref<v1.Pod.Container._> & {
|
|
12
|
+
__PORTS__: Ports
|
|
13
|
+
}
|
|
14
|
+
export type Pod_Container_Producer<Ports extends string> = (
|
|
15
|
+
scope: PodScope
|
|
16
|
+
) => Iterable<Container_Ref<Ports>>
|
|
17
|
+
|
|
18
|
+
export interface Pod_Props<Ports extends string> extends Pod_Props_Original {
|
|
19
|
+
meta?: Meta.Input
|
|
20
|
+
$POD: Pod_Container_Producer<Ports>
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export class Pod_Template<Ports extends string = string> extends Resource_Child<Pod_Props<Ports>> {
|
|
24
|
+
get kind() {
|
|
25
|
+
return v1.PodTemplate._
|
|
15
26
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
readonly containers = seq(() => this.props.$POD(new PodScope(this)))
|
|
28
|
+
.map(x => {
|
|
29
|
+
return x as Container<Ports>
|
|
30
|
+
})
|
|
31
|
+
.cache()
|
|
32
|
+
readonly mounts = seq(() => this.containers.concatMap(x => x.mounts)).cache()
|
|
33
|
+
readonly volumes = seq(() => this.containers.concatMap(x => x.volumes)).uniq()
|
|
34
|
+
readonly ports = seq(() => this.containers.map(x => x.ports)).reduce((a, b) => a.union(b))
|
|
35
|
+
|
|
36
|
+
protected __kids__() {
|
|
37
|
+
return [...this.containers, ...this.volumes]
|
|
19
38
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
39
|
+
protected __metadata__() {
|
|
40
|
+
return {
|
|
41
|
+
name: this.name,
|
|
42
|
+
labels: this.meta.labels,
|
|
43
|
+
annotations: this.meta.annotations
|
|
24
44
|
}
|
|
25
45
|
}
|
|
46
|
+
readonly meta = Meta.make(this.props.meta ?? {}).add("name", this.name)
|
|
26
47
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const mainContainers = containers
|
|
40
|
-
.filter(c => c.subtype === "main")
|
|
41
|
-
.map(x => x.submanifest())
|
|
42
|
-
.toArray()
|
|
48
|
+
protected __submanifest__(): CDK.PodTemplateSpec {
|
|
49
|
+
const self = this
|
|
50
|
+
const { props } = self
|
|
51
|
+
const containers = self.containers
|
|
52
|
+
const initContainers = containers
|
|
53
|
+
.filter(c => c.subtype === "init")
|
|
54
|
+
.map(x => x["__submanifest__"]())
|
|
55
|
+
.toArray()
|
|
56
|
+
const mainContainers = containers
|
|
57
|
+
.filter(c => c.subtype === "main")
|
|
58
|
+
.map(x => x["__submanifest__"]())
|
|
59
|
+
.toArray()
|
|
43
60
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
containers: mainContainers.pull(),
|
|
49
|
-
initContainers: initContainers.pull(),
|
|
50
|
-
volumes: volumes.pull()
|
|
61
|
+
const volumes = self.volumes
|
|
62
|
+
.map(x => {
|
|
63
|
+
if (x instanceof Pod_Volume) {
|
|
64
|
+
return x["__submanifest__"]()
|
|
51
65
|
}
|
|
66
|
+
return x["__submanifest__"]()
|
|
67
|
+
})
|
|
68
|
+
.toArray()
|
|
69
|
+
return {
|
|
70
|
+
metadata: self.__metadata__(),
|
|
71
|
+
spec: {
|
|
72
|
+
...omitBy(props, (x, k) => k.startsWith("$")),
|
|
73
|
+
containers: mainContainers.pull(),
|
|
74
|
+
initContainers: initContainers.pull(),
|
|
75
|
+
volumes: volumes.pull()
|
|
52
76
|
}
|
|
53
77
|
}
|
|
54
|
-
})
|
|
55
|
-
export class PodTemplate<Ports extends string = string> extends ManifestResource<Props<Ports>> {
|
|
56
|
-
readonly kind = api.v1_.PodTemplate
|
|
57
|
-
readonly containers = seq(() => this.props.$POD(new PodScope(this)))
|
|
58
|
-
.map(x => {
|
|
59
|
-
return x as Container<Ports>
|
|
60
|
-
})
|
|
61
|
-
.cache()
|
|
62
|
-
readonly mounts = seq(() => this.containers.concatMap(x => x.mounts)).cache()
|
|
63
|
-
readonly volumes = seq(() => this.containers.concatMap(x => x.volumes)).uniq()
|
|
64
|
-
readonly ports = seq(() => this.containers.map(x => x.ports)).reduce((a, b) => a.union(b))
|
|
65
78
|
}
|
|
79
|
+
}
|
|
66
80
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
+
export class PodScope {
|
|
82
|
+
constructor(private readonly _parent: Pod_Template) {}
|
|
83
|
+
Container<Ports extends string>(name: string, options: Container_Props<Ports>) {
|
|
84
|
+
return new Container(this._parent, name, "main", options)
|
|
85
|
+
}
|
|
86
|
+
InitContainer(name: string, options: Container_Props<never>) {
|
|
87
|
+
return new Container(this._parent, name, "init", options)
|
|
88
|
+
}
|
|
89
|
+
Volume(name: string, options: Pod_Volume_Backend) {
|
|
90
|
+
return Pod_Volume.make(this._parent, name, options)
|
|
91
|
+
}
|
|
92
|
+
Device(name: string, options: Pod_Device_Backend) {
|
|
93
|
+
return new Pod_Device(this._parent, name, options)
|
|
81
94
|
}
|
|
82
95
|
}
|
|
@@ -1,53 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import type { ManifestResource } from "../../../node"
|
|
6
|
-
import { SubResource } from "../../../node/sub-resource"
|
|
1
|
+
import type { Resource_Entity } from "@k8ts/instruments"
|
|
2
|
+
import { Resource_Child } from "@k8ts/instruments"
|
|
3
|
+
import type { CDK } from "@k8ts/sample-interfaces"
|
|
4
|
+
import { v1 } from "../../../kinds/default"
|
|
7
5
|
import { Pvc } from "../../persistent"
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
import { Container_Mount_Device } from "../container/mounts"
|
|
7
|
+
interface Pod_Device_Backend_Pvc {
|
|
8
|
+
$backend: Pvc<"Block">
|
|
9
|
+
readOnly?: boolean
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type Pod_Device_Backend = Pod_Device_Backend_Pvc
|
|
13
|
+
|
|
14
|
+
export class Pod_Device extends Resource_Child<Pod_Device_Backend_Pvc> {
|
|
15
|
+
get kind() {
|
|
16
|
+
return v1.Pod.Device._
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
export class PodDevice extends SubResource<PodDevice_Backend_Pvc> {
|
|
24
|
-
readonly kind = api.v1_.Pod_.Device
|
|
25
|
-
constructor(
|
|
26
|
-
parent: ManifestResource,
|
|
27
|
-
name: string,
|
|
28
|
-
readonly backend: PodDevice_Backend_Pvc
|
|
29
|
-
) {
|
|
30
|
-
super(parent, name, backend)
|
|
31
|
-
}
|
|
19
|
+
constructor(
|
|
20
|
+
parent: Resource_Entity,
|
|
21
|
+
name: string,
|
|
22
|
+
readonly backend: Pod_Device_Backend_Pvc
|
|
23
|
+
) {
|
|
24
|
+
super(parent, name, backend)
|
|
25
|
+
}
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
persistentVolumeClaim: {
|
|
37
|
-
claimName: this.backend.$backend.name,
|
|
38
|
-
readOnly: this.backend.readOnly
|
|
39
|
-
}
|
|
40
|
-
}
|
|
27
|
+
protected __needs__(): Record<string, Resource_Entity | Resource_Entity[] | undefined> {
|
|
28
|
+
return {
|
|
29
|
+
backend: this.backend.$backend
|
|
41
30
|
}
|
|
31
|
+
}
|
|
42
32
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
protected __submanifest__(): CDK.Volume {
|
|
34
|
+
return {
|
|
35
|
+
name: this.name,
|
|
36
|
+
persistentVolumeClaim: {
|
|
37
|
+
claimName: this.backend.$backend.name,
|
|
38
|
+
readOnly: this.backend.readOnly
|
|
39
|
+
}
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
42
|
|
|
50
|
-
|
|
51
|
-
return new
|
|
43
|
+
Mount() {
|
|
44
|
+
return new Container_Mount_Device({
|
|
45
|
+
device: this
|
|
46
|
+
})
|
|
52
47
|
}
|
|
53
48
|
}
|
|
49
|
+
|
|
50
|
+
export function make(parent: Resource_Entity, name: string, input: Pod_Device_Backend) {
|
|
51
|
+
return new Pod_Device(parent, name, input)
|
|
52
|
+
}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export { Volume } from "./volumes"
|
|
1
|
+
export { Pod_Device, type Pod_Device_Backend } from "./devices"
|
|
2
|
+
export { Pod_Volume, type Pod_Volume_Backend } from "./volumes"
|
|
@@ -1,94 +1,116 @@
|
|
|
1
|
-
import type { CDK } from "
|
|
1
|
+
import type { CDK } from "@k8ts/sample-interfaces"
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import type { ManifestResource } from "../../../node"
|
|
7
|
-
import { SubResource } from "../../../node/sub-resource"
|
|
3
|
+
import type { Resource_Entity } from "@k8ts/instruments"
|
|
4
|
+
import { Resource_Child } from "@k8ts/instruments"
|
|
5
|
+
import { v1 } from "../../../kinds/default"
|
|
8
6
|
import type { ConfigMap } from "../../configmap"
|
|
9
|
-
import { Pvc } from "../../persistent"
|
|
7
|
+
import { Pvc, type Pv_VolumeMode } from "../../persistent"
|
|
10
8
|
import type { Secret } from "../../secret"
|
|
11
|
-
import {
|
|
12
|
-
export type Volume<Props extends Volume.Backend = Volume.Backend> = Volume.PodVolume<Props>
|
|
13
|
-
export namespace Volume {
|
|
14
|
-
interface PodVolume_Backend_Pvc {
|
|
15
|
-
$backend: Pvc.Pvc<"Filesystem">
|
|
16
|
-
readOnly?: boolean
|
|
17
|
-
}
|
|
9
|
+
import { Container_Mount_Volume, type Container_Mount_Props } from "../container/mounts"
|
|
18
10
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
$backend: Secret
|
|
24
|
-
}
|
|
25
|
-
export type Backend =
|
|
26
|
-
| PodVolume_Backend_Pvc
|
|
27
|
-
| PodVolume_Backend_ConfigMap
|
|
28
|
-
| PodVolume_Backend_Secret
|
|
11
|
+
interface Pod_Volume_Backend_Pvc<Mode extends Pv_VolumeMode = Pv_VolumeMode> {
|
|
12
|
+
$backend: Pvc<Mode>
|
|
13
|
+
readOnly?: boolean
|
|
14
|
+
}
|
|
29
15
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
16
|
+
interface Pod_Volume_Backend_ConfigMap {
|
|
17
|
+
$backend: ConfigMap
|
|
18
|
+
}
|
|
19
|
+
interface Pod_Volume_Backend_Secret {
|
|
20
|
+
$backend: Secret
|
|
21
|
+
}
|
|
22
|
+
export type Pod_Volume_Backend<Mode extends Pv_VolumeMode = Pv_VolumeMode> =
|
|
23
|
+
| Pod_Volume_Backend_Pvc<Mode>
|
|
24
|
+
| Pod_Volume_Backend_ConfigMap
|
|
25
|
+
| Pod_Volume_Backend_Secret
|
|
38
26
|
|
|
39
|
-
|
|
27
|
+
export abstract class Pod_Volume<
|
|
28
|
+
Props extends Pod_Volume_Backend = Pod_Volume_Backend
|
|
29
|
+
> extends Resource_Child<Props> {
|
|
30
|
+
get kind() {
|
|
31
|
+
return v1.Pod.Volume._
|
|
32
|
+
}
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
static make<Mode extends Pv_VolumeMode>(
|
|
35
|
+
parent: Resource_Entity,
|
|
36
|
+
name: string,
|
|
37
|
+
backend: Pod_Volume_Backend<Mode>
|
|
38
|
+
): Pod_Volume<Pod_Volume_Backend<Mode>> {
|
|
39
|
+
switch (backend.$backend.kind.name) {
|
|
40
|
+
case "PersistentVolumeClaim":
|
|
41
|
+
return new Pod_Volume_Pvc<Mode>(
|
|
42
|
+
parent,
|
|
43
|
+
name,
|
|
44
|
+
backend as Pod_Volume_Backend_Pvc<Mode>
|
|
45
|
+
)
|
|
46
|
+
case "ConfigMap":
|
|
47
|
+
return new Pod_Volume_ConfigMap(
|
|
48
|
+
parent,
|
|
49
|
+
name,
|
|
50
|
+
backend as Pod_Volume_Backend_ConfigMap
|
|
51
|
+
)
|
|
52
|
+
case "Secret":
|
|
53
|
+
return new Pod_Volume_Secret(parent, name, backend as Pod_Volume_Backend_Secret)
|
|
46
54
|
}
|
|
47
55
|
}
|
|
48
56
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
name: this.name,
|
|
53
|
-
persistentVolumeClaim: {
|
|
54
|
-
claimName: this.props.$backend.name,
|
|
55
|
-
readOnly: this.props.readOnly
|
|
56
|
-
}
|
|
57
|
-
}
|
|
57
|
+
protected __needs__(): Record<string, Resource_Entity | Resource_Entity[] | undefined> {
|
|
58
|
+
return {
|
|
59
|
+
backend: this.props.$backend
|
|
58
60
|
}
|
|
59
61
|
}
|
|
62
|
+
Mount(options?: Omit<Container_Mount_Props, "volume">) {
|
|
63
|
+
return new Container_Mount_Volume({
|
|
64
|
+
volume: this,
|
|
65
|
+
...options
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
protected abstract __submanifest__(): CDK.Volume
|
|
70
|
+
}
|
|
60
71
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
class Pod_Volume_Pvc<Mode extends Pv_VolumeMode> extends Pod_Volume<Pod_Volume_Backend_Pvc<Mode>> {
|
|
73
|
+
protected __submanifest__(): CDK.Volume {
|
|
74
|
+
return {
|
|
75
|
+
name: this.name,
|
|
76
|
+
persistentVolumeClaim: {
|
|
77
|
+
claimName: this.props.$backend.name,
|
|
78
|
+
readOnly: this.props.readOnly
|
|
68
79
|
}
|
|
69
80
|
}
|
|
70
81
|
}
|
|
82
|
+
}
|
|
71
83
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
84
|
+
class Pod_Volume_ConfigMap extends Pod_Volume<Pod_Volume_Backend_ConfigMap> {
|
|
85
|
+
protected __submanifest__(): CDK.Volume {
|
|
86
|
+
return {
|
|
87
|
+
name: this.name,
|
|
88
|
+
configMap: {
|
|
89
|
+
name: this.props.$backend.name
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
}
|
|
93
|
+
}
|
|
82
94
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
case "Secret":
|
|
91
|
-
return new SecretPodVolume(parent, name, input as PodVolume_Backend_Secret)
|
|
95
|
+
class Pod_Volume_Secret extends Pod_Volume<Pod_Volume_Backend_Secret> {
|
|
96
|
+
protected __submanifest__(): CDK.Volume {
|
|
97
|
+
return {
|
|
98
|
+
name: this.name,
|
|
99
|
+
secret: {
|
|
100
|
+
secretName: this.props.$backend.name
|
|
101
|
+
}
|
|
92
102
|
}
|
|
93
103
|
}
|
|
94
104
|
}
|
|
105
|
+
|
|
106
|
+
export function make(parent: Resource_Entity, name: string, input: Pod_Volume_Backend): Pod_Volume {
|
|
107
|
+
const { $backend } = input
|
|
108
|
+
switch ($backend.kind.name) {
|
|
109
|
+
case "PersistentVolumeClaim":
|
|
110
|
+
return new Pod_Volume_Pvc(parent, name, input as Pod_Volume_Backend_Pvc)
|
|
111
|
+
case "ConfigMap":
|
|
112
|
+
return new Pod_Volume_ConfigMap(parent, name, input as Pod_Volume_Backend_ConfigMap)
|
|
113
|
+
case "Secret":
|
|
114
|
+
return new Pod_Volume_Secret(parent, name, input as Pod_Volume_Backend_Secret)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Resource_Top } from "@k8ts/instruments"
|
|
2
|
+
import { CDK } from "@k8ts/sample-interfaces"
|
|
3
|
+
import { rbac } from "../../kinds/rbac"
|
|
4
|
+
import type { ClusterRole } from "./cluster-role"
|
|
5
|
+
import type { ServiceAccount } from "./service-account"
|
|
6
|
+
|
|
7
|
+
export interface ClusterRoleBoding_Props {
|
|
8
|
+
$role: ClusterRole
|
|
9
|
+
$subjects: ServiceAccount[]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class ClusterRoleBinding<Name extends string = string> extends Resource_Top<
|
|
13
|
+
Name,
|
|
14
|
+
ClusterRoleBoding_Props
|
|
15
|
+
> {
|
|
16
|
+
get kind() {
|
|
17
|
+
return rbac.v1.ClusterRoleBinding._
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
protected __needs__() {
|
|
21
|
+
return {
|
|
22
|
+
role: this.props.$role,
|
|
23
|
+
subjects: this.props.$subjects
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
protected body(): CDK.KubeClusterRoleBindingProps {
|
|
27
|
+
return {
|
|
28
|
+
roleRef: {
|
|
29
|
+
apiGroup: this.props.$role.kind.parent!.text,
|
|
30
|
+
kind: this.props.$role.kind.name,
|
|
31
|
+
name: this.props.$role.name
|
|
32
|
+
},
|
|
33
|
+
subjects: this.props.$subjects.map(sa => ({
|
|
34
|
+
kind: sa.kind.name,
|
|
35
|
+
name: sa.name,
|
|
36
|
+
namespace: sa.namespace!
|
|
37
|
+
}))
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|