typekro 0.1.0 → 0.2.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/LICENSE +201 -185
- package/README.md +581 -563
- package/dist/.tsbuildinfo +1 -1
- package/dist/alchemy/deployers.d.ts +1 -1
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +25 -20
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/deployment.d.ts +3 -3
- package/dist/alchemy/deployment.d.ts.map +1 -1
- package/dist/alchemy/deployment.js +2 -2
- package/dist/alchemy/deployment.js.map +1 -1
- package/dist/alchemy/index.d.ts +4 -4
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +6 -6
- package/dist/alchemy/index.js.map +1 -1
- package/dist/alchemy/resolver.d.ts +3 -3
- package/dist/alchemy/resolver.d.ts.map +1 -1
- package/dist/alchemy/resolver.js +70 -17
- package/dist/alchemy/resolver.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +3 -3
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/type-inference.d.ts.map +1 -1
- package/dist/alchemy/type-inference.js.map +1 -1
- package/dist/alchemy/types.d.ts +2 -2
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/alchemy/utilities.d.ts.map +1 -1
- package/dist/alchemy/utilities.js.map +1 -1
- package/dist/alchemy/wrapper.d.ts.map +1 -1
- package/dist/alchemy/wrapper.js +2 -2
- package/dist/alchemy/wrapper.js.map +1 -1
- package/dist/core/composition/composition.d.ts +1 -85
- package/dist/core/composition/composition.d.ts.map +1 -1
- package/dist/core/composition/composition.js +3 -214
- package/dist/core/composition/composition.js.map +1 -1
- package/dist/core/composition/imperative.d.ts +39 -0
- package/dist/core/composition/imperative.d.ts.map +1 -0
- package/dist/core/composition/imperative.js +219 -0
- package/dist/core/composition/imperative.js.map +1 -0
- package/dist/core/composition/index.d.ts +5 -3
- package/dist/core/composition/index.d.ts.map +1 -1
- package/dist/core/composition/index.js +4 -2
- package/dist/core/composition/index.js.map +1 -1
- package/dist/core/composition/typekro-runtime/index.d.ts +1 -1
- package/dist/core/composition/typekro-runtime/index.d.ts.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +3 -3
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/composition/types.d.ts +0 -237
- package/dist/core/composition/types.d.ts.map +1 -1
- package/dist/core/composition/types.js +6 -0
- package/dist/core/composition/types.js.map +1 -1
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +3 -9
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +3 -3
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/dependencies/type-guards.d.ts +3 -3
- package/dist/core/dependencies/type-guards.d.ts.map +1 -1
- package/dist/core/dependencies/type-guards.js +3 -3
- package/dist/core/dependencies/type-guards.js.map +1 -1
- package/dist/core/deployment/debug-logger.d.ts +119 -0
- package/dist/core/deployment/debug-logger.d.ts.map +1 -0
- package/dist/core/deployment/debug-logger.js +372 -0
- package/dist/core/deployment/debug-logger.js.map +1 -0
- package/dist/core/deployment/deployment-strategies.d.ts +1 -1
- package/dist/core/deployment/deployment-strategies.d.ts.map +1 -1
- package/dist/core/deployment/deployment-strategies.js +1 -1
- package/dist/core/deployment/deployment-strategies.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +11 -5
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +22 -12
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +9 -6
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +184 -95
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/event-filter.d.ts +142 -0
- package/dist/core/deployment/event-filter.d.ts.map +1 -0
- package/dist/core/deployment/event-filter.js +420 -0
- package/dist/core/deployment/event-filter.js.map +1 -0
- package/dist/core/deployment/event-monitor.d.ts +197 -0
- package/dist/core/deployment/event-monitor.d.ts.map +1 -0
- package/dist/core/deployment/event-monitor.js +738 -0
- package/dist/core/deployment/event-monitor.js.map +1 -0
- package/dist/core/deployment/event-streamer.d.ts +112 -0
- package/dist/core/deployment/event-streamer.d.ts.map +1 -0
- package/dist/core/deployment/event-streamer.js +348 -0
- package/dist/core/deployment/event-streamer.js.map +1 -0
- package/dist/core/deployment/index.d.ts +5 -5
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +5 -5
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +2 -8
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +63 -109
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/readiness.d.ts +6 -0
- package/dist/core/deployment/readiness.d.ts.map +1 -1
- package/dist/core/deployment/readiness.js +45 -1
- package/dist/core/deployment/readiness.js.map +1 -1
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +3 -3
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +1 -1
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +2 -0
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
- package/dist/core/deployment/status-hydrator.js +31 -12
- package/dist/core/deployment/status-hydrator.js.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +4 -4
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +9 -9
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +7 -4
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +257 -11
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +4 -3
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +4 -4
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/index.d.ts +1 -1
- package/dist/core/deployment/strategies/index.d.ts.map +1 -1
- package/dist/core/deployment/strategies/index.js +1 -1
- package/dist/core/deployment/strategies/index.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +14 -14
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/errors.d.ts +136 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +362 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -1
- package/dist/core/evaluation/cel-optimizer.js +33 -11
- package/dist/core/evaluation/cel-optimizer.js.map +1 -1
- package/dist/core/factory.d.ts.map +1 -1
- package/dist/core/factory.js.map +1 -1
- package/dist/core/kubernetes/api.d.ts +13 -2
- package/dist/core/kubernetes/api.d.ts.map +1 -1
- package/dist/core/kubernetes/api.js +21 -8
- package/dist/core/kubernetes/api.js.map +1 -1
- package/dist/core/kubernetes/client-provider.d.ts +192 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +423 -22
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/logging/config.d.ts.map +1 -1
- package/dist/core/logging/config.js.map +1 -1
- package/dist/core/logging/index.d.ts +1 -1
- package/dist/core/logging/index.d.ts.map +1 -1
- package/dist/core/logging/index.js +1 -1
- package/dist/core/logging/index.js.map +1 -1
- package/dist/core/logging/logger.d.ts +1 -1
- package/dist/core/logging/logger.d.ts.map +1 -1
- package/dist/core/logging/logger.js.map +1 -1
- package/dist/core/readiness/cluster-state.d.ts.map +1 -1
- package/dist/core/readiness/cluster-state.js +12 -6
- package/dist/core/readiness/cluster-state.js.map +1 -1
- package/dist/core/references/cel-evaluator.js +1 -1
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +1 -1
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +1 -1
- package/dist/core/references/external-refs.js +1 -1
- package/dist/core/references/index.d.ts +4 -4
- package/dist/core/references/index.d.ts.map +1 -1
- package/dist/core/references/index.js +6 -6
- package/dist/core/references/index.js.map +1 -1
- package/dist/core/references/resolver.d.ts +1 -1
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +69 -44
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +2 -4
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/serialization/core.d.ts +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +122 -16
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.js +1 -1
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/validation.js +1 -1
- package/dist/core/serialization/validation.js.map +1 -1
- package/dist/core/serialization/yaml.js +1 -1
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +116 -3
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +14 -3
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +28 -10
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/yaml/index.d.ts +1 -1
- package/dist/core/yaml/index.d.ts.map +1 -1
- package/dist/core/yaml/index.js +1 -1
- package/dist/core/yaml/index.js.map +1 -1
- package/dist/core/yaml/path-resolver.d.ts.map +1 -1
- package/dist/core/yaml/path-resolver.js +6 -6
- package/dist/core/yaml/path-resolver.js.map +1 -1
- package/dist/core.d.ts +10 -10
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +14 -14
- package/dist/core.js.map +1 -1
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/index.d.ts +1 -1
- package/dist/factories/flux/index.d.ts.map +1 -1
- package/dist/factories/flux/index.js.map +1 -1
- package/dist/factories/flux/kustomize/index.d.ts +1 -1
- package/dist/factories/flux/kustomize/index.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/index.js.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js +9 -9
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/flux/kustomize/types.d.ts +1 -1
- package/dist/factories/flux/kustomize/types.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +7 -4
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +7 -4
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/index.d.ts +1 -1
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/index.js +1 -1
- package/dist/factories/helm/index.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +4 -2
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/index.d.ts +6 -3
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +10 -6
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/kro/index.d.ts +3 -3
- package/dist/factories/kro/index.d.ts.map +1 -1
- package/dist/factories/kro/index.js +2 -2
- package/dist/factories/kro/index.js.map +1 -1
- package/dist/factories/kro/kro-crd.d.ts.map +1 -1
- package/dist/factories/kro/kro-crd.js +5 -5
- package/dist/factories/kro/kro-crd.js.map +1 -1
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -1
- package/dist/factories/kro/kro-custom-resource.js +21 -21
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +7 -7
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +2 -2
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js +2 -2
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.js +1 -1
- package/dist/factories/kubernetes/config/config-map.js.map +1 -1
- package/dist/factories/kubernetes/config/secret.js +1 -1
- package/dist/factories/kubernetes/config/secret.js.map +1 -1
- package/dist/factories/kubernetes/core/component-status.js +1 -1
- package/dist/factories/kubernetes/core/component-status.js.map +1 -1
- package/dist/factories/kubernetes/core/node.js +1 -1
- package/dist/factories/kubernetes/core/node.js.map +1 -1
- package/dist/factories/kubernetes/core/pod.js +4 -4
- package/dist/factories/kubernetes/core/pod.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js +2 -2
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
- package/dist/factories/kubernetes/index.d.ts +2 -2
- package/dist/factories/kubernetes/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/index.js +8 -8
- package/dist/factories/kubernetes/index.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.js +4 -4
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.js +2 -2
- package/dist/factories/kubernetes/networking/network-policy.js +2 -2
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +8 -7
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.js +2 -2
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +5 -5
- package/dist/factories/kubernetes/policy/resource-quota.js +4 -4
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +2 -2
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.js +2 -2
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role-binding.js +2 -2
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role.js +2 -2
- package/dist/factories/kubernetes/rbac/role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/service-account.js +2 -2
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +2 -2
- package/dist/factories/kubernetes/storage/persistent-volume.js +4 -4
- package/dist/factories/kubernetes/storage/storage-class.js +2 -2
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.js +5 -5
- package/dist/factories/kubernetes/workloads/daemon-set.js +2 -2
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.js +5 -6
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/job.js +10 -10
- package/dist/factories/kubernetes/workloads/replica-set.js +2 -2
- package/dist/factories/kubernetes/workloads/replication-controller.js +5 -5
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.js +7 -7
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
- package/dist/factories/kubernetes/yaml/index.d.ts +1 -1
- package/dist/factories/kubernetes/yaml/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/index.js +1 -1
- package/dist/factories/kubernetes/yaml/index.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +2 -2
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +106 -101
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +7 -4
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +110 -99
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/shared.d.ts +49 -0
- package/dist/factories/shared.d.ts.map +1 -1
- package/dist/factories/shared.js +75 -3
- package/dist/factories/shared.js.map +1 -1
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts +17 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js +46 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js.map +1 -0
- package/dist/factories/simple/autoscaling/index.d.ts +8 -0
- package/dist/factories/simple/autoscaling/index.d.ts.map +1 -0
- package/dist/factories/simple/autoscaling/index.js +8 -0
- package/dist/factories/simple/autoscaling/index.js.map +1 -0
- package/dist/factories/simple/config/config-map.d.ts +17 -0
- package/dist/factories/simple/config/config-map.d.ts.map +1 -0
- package/dist/factories/simple/config/config-map.js +25 -0
- package/dist/factories/simple/config/config-map.js.map +1 -0
- package/dist/factories/simple/config/index.d.ts +9 -0
- package/dist/factories/simple/config/index.d.ts.map +1 -0
- package/dist/factories/simple/config/index.js +9 -0
- package/dist/factories/simple/config/index.js.map +1 -0
- package/dist/factories/simple/config/secret.d.ts +17 -0
- package/dist/factories/simple/config/secret.d.ts.map +1 -0
- package/dist/factories/simple/config/secret.js +24 -0
- package/dist/factories/simple/config/secret.js.map +1 -0
- package/dist/factories/simple/helm/index.d.ts +16 -0
- package/dist/factories/simple/helm/index.d.ts.map +1 -0
- package/dist/factories/simple/helm/index.js +21 -0
- package/dist/factories/simple/helm/index.js.map +1 -0
- package/dist/factories/simple/index.d.ts +50 -0
- package/dist/factories/simple/index.d.ts.map +1 -0
- package/dist/factories/simple/index.js +58 -0
- package/dist/factories/simple/index.js.map +1 -0
- package/dist/factories/simple/networking/index.d.ts +10 -0
- package/dist/factories/simple/networking/index.d.ts.map +1 -0
- package/dist/factories/simple/networking/index.js +10 -0
- package/dist/factories/simple/networking/index.js.map +1 -0
- package/dist/factories/simple/networking/ingress.d.ts +17 -0
- package/dist/factories/simple/networking/ingress.d.ts.map +1 -0
- package/dist/factories/simple/networking/ingress.js +30 -0
- package/dist/factories/simple/networking/ingress.js.map +1 -0
- package/dist/factories/simple/networking/network-policy.d.ts +17 -0
- package/dist/factories/simple/networking/network-policy.d.ts.map +1 -0
- package/dist/factories/simple/networking/network-policy.js +30 -0
- package/dist/factories/simple/networking/network-policy.js.map +1 -0
- package/dist/factories/simple/networking/service.d.ts +17 -0
- package/dist/factories/simple/networking/service.d.ts.map +1 -0
- package/dist/factories/simple/networking/service.js +27 -0
- package/dist/factories/simple/networking/service.js.map +1 -0
- package/dist/factories/simple/storage/index.d.ts +9 -0
- package/dist/factories/simple/storage/index.d.ts.map +1 -0
- package/dist/factories/simple/storage/index.js +9 -0
- package/dist/factories/simple/storage/index.js.map +1 -0
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts +17 -0
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -0
- package/dist/factories/simple/storage/persistent-volume-claim.js +32 -0
- package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -0
- package/dist/factories/simple/storage/persistent-volume.d.ts +17 -0
- package/dist/factories/simple/storage/persistent-volume.d.ts.map +1 -0
- package/dist/factories/simple/storage/persistent-volume.js +44 -0
- package/dist/factories/simple/storage/persistent-volume.js.map +1 -0
- package/dist/factories/simple/types.d.ts +165 -0
- package/dist/factories/simple/types.d.ts.map +1 -0
- package/dist/factories/simple/types.js +9 -0
- package/dist/factories/simple/types.js.map +1 -0
- package/dist/factories/simple/workloads/cron-job.d.ts +17 -0
- package/dist/factories/simple/workloads/cron-job.d.ts.map +1 -0
- package/dist/factories/simple/workloads/cron-job.js +43 -0
- package/dist/factories/simple/workloads/cron-job.js.map +1 -0
- package/dist/factories/simple/workloads/daemon-set.d.ts +17 -0
- package/dist/factories/simple/workloads/daemon-set.d.ts.map +1 -0
- package/dist/factories/simple/workloads/daemon-set.js +46 -0
- package/dist/factories/simple/workloads/daemon-set.js.map +1 -0
- package/dist/factories/simple/workloads/deployment.d.ts +17 -0
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -0
- package/dist/factories/simple/workloads/deployment.js +47 -0
- package/dist/factories/simple/workloads/deployment.js.map +1 -0
- package/dist/factories/simple/workloads/index.d.ts +12 -0
- package/dist/factories/simple/workloads/index.d.ts.map +1 -0
- package/dist/factories/simple/workloads/index.js +12 -0
- package/dist/factories/simple/workloads/index.js.map +1 -0
- package/dist/factories/simple/workloads/job.d.ts +17 -0
- package/dist/factories/simple/workloads/job.d.ts.map +1 -0
- package/dist/factories/simple/workloads/job.js +40 -0
- package/dist/factories/simple/workloads/job.js.map +1 -0
- package/dist/factories/simple/workloads/stateful-set.d.ts +17 -0
- package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -0
- package/dist/factories/simple/workloads/stateful-set.js +47 -0
- package/dist/factories/simple/workloads/stateful-set.js.map +1 -0
- package/dist/factories/simple/yaml/index.d.ts +13 -0
- package/dist/factories/simple/yaml/index.d.ts.map +1 -0
- package/dist/factories/simple/yaml/index.js +23 -0
- package/dist/factories/simple/yaml/index.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -22
- package/dist/index.js.map +1 -1
- package/dist/utils/helpers.d.ts +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +53 -7
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/type-guards.d.ts +1 -1
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +3 -9
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +12 -6
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* - For status mapping optimization before serialization
|
|
17
17
|
* - When preparing CEL expressions for Kro operator consumption
|
|
18
18
|
*/
|
|
19
|
-
import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
|
|
20
19
|
import { getInnerCelPath } from '../../utils/helpers.js';
|
|
20
|
+
import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
|
|
21
21
|
import { CEL_EXPRESSION_BRAND } from '../constants/brands.js';
|
|
22
22
|
/**
|
|
23
23
|
* Attempts to resolve a resource reference to its actual value if known at compile time
|
|
@@ -26,10 +26,32 @@ function resolveResourceReference(ref, context) {
|
|
|
26
26
|
const { resourceId, fieldPath } = ref;
|
|
27
27
|
// Handle schema references
|
|
28
28
|
if (resourceId === '__schema__') {
|
|
29
|
+
// Try to resolve schema references to actual values if schema context is available
|
|
30
|
+
if (context.schema) {
|
|
31
|
+
const pathParts = fieldPath.split('.');
|
|
32
|
+
let current = context.schema;
|
|
33
|
+
for (const part of pathParts) {
|
|
34
|
+
if (current && typeof current === 'object' && part in current) {
|
|
35
|
+
current = current[part];
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Can't resolve further, return the CEL reference
|
|
39
|
+
return `schema.${fieldPath}`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// If we resolved to a concrete value, return it as a literal
|
|
43
|
+
if (typeof current === 'string') {
|
|
44
|
+
return `"${current}"`;
|
|
45
|
+
}
|
|
46
|
+
else if (typeof current === 'number' || typeof current === 'boolean') {
|
|
47
|
+
return String(current);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Fallback to CEL reference if we can't resolve
|
|
29
51
|
return `schema.${fieldPath}`;
|
|
30
52
|
}
|
|
31
53
|
// Find the resource
|
|
32
|
-
const resource = Object.values(context.resources).find(r => r.id === resourceId);
|
|
54
|
+
const resource = Object.values(context.resources).find((r) => r.id === resourceId);
|
|
33
55
|
if (!resource) {
|
|
34
56
|
return null;
|
|
35
57
|
}
|
|
@@ -68,14 +90,14 @@ export function optimizeCelExpression(expression, context) {
|
|
|
68
90
|
return {
|
|
69
91
|
expression,
|
|
70
92
|
wasOptimized: false,
|
|
71
|
-
optimizations: []
|
|
93
|
+
optimizations: [],
|
|
72
94
|
};
|
|
73
95
|
}
|
|
74
96
|
if (!isCelExpression(expression)) {
|
|
75
97
|
return {
|
|
76
98
|
expression: String(expression),
|
|
77
99
|
wasOptimized: false,
|
|
78
|
-
optimizations: []
|
|
100
|
+
optimizations: [],
|
|
79
101
|
};
|
|
80
102
|
}
|
|
81
103
|
let optimizedExpression = expression.expression;
|
|
@@ -85,7 +107,7 @@ export function optimizeCelExpression(expression, context) {
|
|
|
85
107
|
optimizedExpression = optimizedExpression.replace(concatPattern, (match, prefix, resourceRef) => {
|
|
86
108
|
// Extract resource ID from the reference
|
|
87
109
|
const resourceId = resourceRef.split('.')[0];
|
|
88
|
-
const resource = Object.values(context.resources).find(r => r.id === resourceId);
|
|
110
|
+
const resource = Object.values(context.resources).find((r) => r.id === resourceId);
|
|
89
111
|
if (resource?.metadata?.name) {
|
|
90
112
|
optimizations.push(`Resolved ${resourceRef} to "${resource.metadata.name}"`);
|
|
91
113
|
wasOptimized = true;
|
|
@@ -100,7 +122,7 @@ export function optimizeCelExpression(expression, context) {
|
|
|
100
122
|
// For now, we can't evaluate the condition at compile time without actual resource status
|
|
101
123
|
// But we can validate that the reference exists
|
|
102
124
|
const resourceId = leftSide.split('.')[0];
|
|
103
|
-
const resource = Object.values(context.resources).find(r => r.id === resourceId);
|
|
125
|
+
const resource = Object.values(context.resources).find((r) => r.id === resourceId);
|
|
104
126
|
if (!resource) {
|
|
105
127
|
optimizations.push(`Warning: Referenced resource '${resourceId}' not found`);
|
|
106
128
|
}
|
|
@@ -109,7 +131,7 @@ export function optimizeCelExpression(expression, context) {
|
|
|
109
131
|
return {
|
|
110
132
|
expression: optimizedExpression,
|
|
111
133
|
wasOptimized,
|
|
112
|
-
optimizations
|
|
134
|
+
optimizations,
|
|
113
135
|
};
|
|
114
136
|
}
|
|
115
137
|
/**
|
|
@@ -138,7 +160,7 @@ export function optimizeStatusMappings(statusMappings, context) {
|
|
|
138
160
|
// If the resolved value is different (e.g., a concrete value), convert to CelExpression
|
|
139
161
|
return {
|
|
140
162
|
[CEL_EXPRESSION_BRAND]: true,
|
|
141
|
-
expression: resolved.startsWith('"') ? resolved.slice(1, -1) : resolved
|
|
163
|
+
expression: resolved.startsWith('"') ? resolved.slice(1, -1) : resolved,
|
|
142
164
|
};
|
|
143
165
|
}
|
|
144
166
|
}
|
|
@@ -148,12 +170,12 @@ export function optimizeStatusMappings(statusMappings, context) {
|
|
|
148
170
|
const result = optimizeCelExpression(value, context);
|
|
149
171
|
if (result.wasOptimized) {
|
|
150
172
|
allOptimizations.push(`Optimized CEL expression at ${path}: ${value.expression} -> ${result.expression}`);
|
|
151
|
-
allOptimizations.push(...result.optimizations.map(opt => ` ${opt}`));
|
|
173
|
+
allOptimizations.push(...result.optimizations.map((opt) => ` ${opt}`));
|
|
152
174
|
}
|
|
153
175
|
return {
|
|
154
176
|
[CEL_EXPRESSION_BRAND]: true,
|
|
155
177
|
expression: result.expression,
|
|
156
|
-
...(
|
|
178
|
+
...(value.__isTemplate && { __isTemplate: true }),
|
|
157
179
|
};
|
|
158
180
|
}
|
|
159
181
|
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
@@ -170,7 +192,7 @@ export function optimizeStatusMappings(statusMappings, context) {
|
|
|
170
192
|
}
|
|
171
193
|
return {
|
|
172
194
|
mappings: optimizedMappings,
|
|
173
|
-
optimizations: allOptimizations
|
|
195
|
+
optimizations: allOptimizations,
|
|
174
196
|
};
|
|
175
197
|
}
|
|
176
198
|
//# sourceMappingURL=cel-optimizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel-optimizer.js","sourceRoot":"","sources":["../../../src/core/evaluation/cel-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"cel-optimizer.js","sourceRoot":"","sources":["../../../src/core/evaluation/cel-optimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,mBAAmB,uBAAuB,CAAC"}
|
package/dist/core/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+DAA+D;AAC/D,cAAc,uBAAuB,CAAC;AACtC,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* This client provides basic apply, get, and delete operations for Kubernetes resources.
|
|
4
4
|
*/
|
|
5
5
|
export declare class KubernetesApi {
|
|
6
|
-
private kc;
|
|
7
6
|
private k8sApi;
|
|
8
7
|
private logger;
|
|
8
|
+
private clientConfig;
|
|
9
9
|
constructor();
|
|
10
10
|
/**
|
|
11
11
|
* Loads Kubernetes API configuration from environment variables.
|
|
@@ -30,7 +30,7 @@ export declare class KubernetesApi {
|
|
|
30
30
|
* @param namespace The namespace of the resource.
|
|
31
31
|
* @returns The retrieved resource object.
|
|
32
32
|
*/
|
|
33
|
-
get(_apiVersion: string, kind: string, name: string, namespace?: string): Promise<
|
|
33
|
+
get(_apiVersion: string, kind: string, name: string, namespace?: string): Promise<unknown>;
|
|
34
34
|
/**
|
|
35
35
|
* Deletes a Kubernetes resource.
|
|
36
36
|
* @param apiVersion The apiVersion of the resource (e.g., "apps/v1").
|
|
@@ -39,5 +39,16 @@ export declare class KubernetesApi {
|
|
|
39
39
|
* @param namespace The namespace of the resource.
|
|
40
40
|
*/
|
|
41
41
|
delete(apiVersion: string, kind: string, name: string, namespace?: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Get the TLS configuration for testing purposes.
|
|
44
|
+
* This method is primarily intended for unit tests to verify TLS settings.
|
|
45
|
+
*
|
|
46
|
+
* @returns Object containing TLS configuration details
|
|
47
|
+
*/
|
|
48
|
+
getTLSConfiguration(): {
|
|
49
|
+
skipTLSVerify: boolean;
|
|
50
|
+
server: string;
|
|
51
|
+
hasCACert: boolean;
|
|
52
|
+
};
|
|
42
53
|
}
|
|
43
54
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/api.ts"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/api.ts"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,YAAY,CAAyB;;IAyB7C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;;;OAIG;IACU,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDzD;;;;;;;OAOG;IACU,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC5B,OAAO,CAAC,OAAO,CAAC;IAcnB;;;;;;OAMG;IACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;OAKG;IACH,mBAAmB,IAAI;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;CAOtF"}
|
|
@@ -7,9 +7,9 @@ import { createKubernetesClientProvider } from './client-provider.js';
|
|
|
7
7
|
* This client provides basic apply, get, and delete operations for Kubernetes resources.
|
|
8
8
|
*/
|
|
9
9
|
export class KubernetesApi {
|
|
10
|
-
kc;
|
|
11
10
|
k8sApi;
|
|
12
11
|
logger = getComponentLogger('kubernetes-api');
|
|
12
|
+
clientConfig;
|
|
13
13
|
constructor() {
|
|
14
14
|
const config = this.loadConfigFromEnv();
|
|
15
15
|
// Use the centralized KubernetesClientProvider
|
|
@@ -26,8 +26,8 @@ export class KubernetesApi {
|
|
|
26
26
|
},
|
|
27
27
|
context: 'default-context',
|
|
28
28
|
};
|
|
29
|
+
this.clientConfig = clientConfig;
|
|
29
30
|
const clientProvider = createKubernetesClientProvider(clientConfig);
|
|
30
|
-
this.kc = clientProvider.getKubeConfig();
|
|
31
31
|
this.k8sApi = clientProvider.getKubernetesApi();
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
@@ -50,7 +50,7 @@ export class KubernetesApi {
|
|
|
50
50
|
this.logger.warn('TLS verification disabled via environment variable - this is insecure and should only be used in development', {
|
|
51
51
|
component: 'kubernetes-api',
|
|
52
52
|
security: 'tls-disabled',
|
|
53
|
-
envVar: 'KUBERNETES_SKIP_TLS_VERIFY'
|
|
53
|
+
envVar: 'KUBERNETES_SKIP_TLS_VERIFY',
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
// Validate TLS configuration
|
|
@@ -73,21 +73,21 @@ export class KubernetesApi {
|
|
|
73
73
|
component: 'kubernetes-api',
|
|
74
74
|
security: 'tls-configuration-warning',
|
|
75
75
|
apiServer,
|
|
76
|
-
recommendation: 'Provide KUBERNETES_CA_CERT environment variable for secure connections'
|
|
76
|
+
recommendation: 'Provide KUBERNETES_CA_CERT environment variable for secure connections',
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
else if (!skipTLSVerify && !caCert) {
|
|
80
80
|
this.logger.info('Connecting to HTTPS endpoint without custom CA certificate - using system trust store', {
|
|
81
81
|
component: 'kubernetes-api',
|
|
82
82
|
security: 'tls-configuration-info',
|
|
83
|
-
apiServer
|
|
83
|
+
apiServer,
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
else if (!skipTLSVerify && caCert) {
|
|
87
87
|
this.logger.info('Secure TLS connection configured with custom CA certificate', {
|
|
88
88
|
component: 'kubernetes-api',
|
|
89
89
|
security: 'tls-configuration-secure',
|
|
90
|
-
apiServer
|
|
90
|
+
apiServer,
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -96,7 +96,7 @@ export class KubernetesApi {
|
|
|
96
96
|
component: 'kubernetes-api',
|
|
97
97
|
security: 'insecure-connection',
|
|
98
98
|
apiServer,
|
|
99
|
-
recommendation: 'Use HTTPS endpoint for secure connections'
|
|
99
|
+
recommendation: 'Use HTTPS endpoint for secure connections',
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -115,7 +115,7 @@ export class KubernetesApi {
|
|
|
115
115
|
const resourceLogger = this.logger.child({
|
|
116
116
|
kind: manifest.kind,
|
|
117
117
|
name: manifest.metadata.name,
|
|
118
|
-
namespace: manifest.metadata.namespace || 'default'
|
|
118
|
+
namespace: manifest.metadata.namespace || 'default',
|
|
119
119
|
});
|
|
120
120
|
try {
|
|
121
121
|
// V1ObjectMeta's namespace property is string, not string | undefined.
|
|
@@ -205,5 +205,18 @@ export class KubernetesApi {
|
|
|
205
205
|
throw new Error(`Failed to delete Kubernetes resource: ${error.message}`);
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Get the TLS configuration for testing purposes.
|
|
210
|
+
* This method is primarily intended for unit tests to verify TLS settings.
|
|
211
|
+
*
|
|
212
|
+
* @returns Object containing TLS configuration details
|
|
213
|
+
*/
|
|
214
|
+
getTLSConfiguration() {
|
|
215
|
+
return {
|
|
216
|
+
skipTLSVerify: this.clientConfig.cluster?.skipTLSVerify ?? false,
|
|
217
|
+
server: this.clientConfig.cluster?.server ?? '',
|
|
218
|
+
hasCACert: !!(this.clientConfig.cluster?.caData || this.clientConfig.cluster?.caFile),
|
|
219
|
+
};
|
|
220
|
+
}
|
|
208
221
|
}
|
|
209
222
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/core/kubernetes/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAA+B,MAAM,sBAAsB,CAAC;AAgCnG;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/core/kubernetes/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAA+B,MAAM,sBAAsB,CAAC;AAgCnG;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAA0B;IAChC,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,CAAyB;IAE7C;QACE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAExC,+CAA+C;QAC/C,MAAM,YAAY,GAA2B;YAC3C,OAAO,EAAE;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,IAAI;gBAC5C,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAChD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,MAAM,CAAC,QAAQ;aACvB;YACD,OAAO,EAAE,iBAAiB;SAC3B,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,MAAM,cAAc,GAAG,8BAA8B,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,MAAM,CAAC;QAExE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,4CAA4C;QAC5C,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8GAA8G,EAC9G;gBACE,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,4BAA4B;aACrC,CACF,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEhE,OAAO;YACL,SAAS;YACT,QAAQ;YACR,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAC9B,SAAiB,EACjB,MAAe,EACf,aAAuB;QAEvB,yEAAyE;QACzE,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mFAAmF,EACnF;oBACE,SAAS,EAAE,gBAAgB;oBAC3B,QAAQ,EAAE,2BAA2B;oBACrC,SAAS;oBACT,cAAc,EACZ,wEAAwE;iBAC3E,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uFAAuF,EACvF;oBACE,SAAS,EAAE,gBAAgB;oBAC3B,QAAQ,EAAE,wBAAwB;oBAClC,SAAS;iBACV,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE;oBAC9E,SAAS,EAAE,gBAAgB;oBAC3B,QAAQ,EAAE,0BAA0B;oBACpC,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;gBAC5E,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS;gBACT,cAAc,EAAE,2CAA2C;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,cAAsB;QACvC,kDAAkD;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAyB,CAAC;QAEtE,wDAAwD;QACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,SAAS;SACpD,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,SAAS,CAAC;YAEnE,IAAI,QAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,uDAAuD;gBACvD,wEAAwE;gBACxE,2EAA2E;gBAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;iBACpB,CAAC,CAAC;gBACxD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,4EAA4E;gBAC5E,IAAK,CAA6B,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACtD,cAAc,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAU,CAAC,CAAC;oBACtE,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,uDAAuD;gBACvD,oEAAoE;gBACpE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAClC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,cAAc,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAc,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,wCAAyC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,GAAG,CACd,WAAmB,EACnB,IAAY,EACZ,IAAY,EACZ,YAAoB,SAAS;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACuB,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAc,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,sCAAuC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,IAAY,EACZ,IAAY,EACZ,YAAoB,SAAS;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,6EAA6E;YAC7E,2CAA2C;YAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvB,UAAU;gBACV,IAAI;gBACJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACqC,CAAC,CAAC;YACtE,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,+DAA+D;YAC/D,IAAK,KAAiC,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC1D,YAAY,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,YAAY,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,yCAA0C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,mBAAmB;QACjB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,IAAI,KAAK;YAChE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;YAC/C,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;SACtF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -10,6 +10,37 @@
|
|
|
10
10
|
* configuration, security settings, and lifecycle management.
|
|
11
11
|
*/
|
|
12
12
|
import * as k8s from '@kubernetes/client-node';
|
|
13
|
+
/**
|
|
14
|
+
* Retry configuration options for operations with exponential backoff
|
|
15
|
+
*/
|
|
16
|
+
export interface RetryOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Maximum number of retry attempts
|
|
19
|
+
* @default 3
|
|
20
|
+
*/
|
|
21
|
+
maxAttempts?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Base delay between retries in milliseconds
|
|
24
|
+
* @default 1000
|
|
25
|
+
*/
|
|
26
|
+
baseDelay?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Maximum delay between retries in milliseconds
|
|
29
|
+
* @default 10000
|
|
30
|
+
*/
|
|
31
|
+
maxDelay?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Backoff multiplier for exponential backoff
|
|
34
|
+
* @default 2
|
|
35
|
+
*/
|
|
36
|
+
backoffFactor?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Function to determine if an error is retryable
|
|
39
|
+
* @param error - The error to check
|
|
40
|
+
* @returns true if the error is retryable, false otherwise
|
|
41
|
+
*/
|
|
42
|
+
retryableErrors?: (error: Error) => boolean;
|
|
43
|
+
}
|
|
13
44
|
/**
|
|
14
45
|
* Configuration options for the Kubernetes client provider
|
|
15
46
|
*/
|
|
@@ -93,6 +124,7 @@ export declare class KubernetesClientProvider {
|
|
|
93
124
|
private config;
|
|
94
125
|
private logger;
|
|
95
126
|
private initialized;
|
|
127
|
+
private clientCache;
|
|
96
128
|
private constructor();
|
|
97
129
|
/**
|
|
98
130
|
* Get the singleton instance of KubernetesClientProvider
|
|
@@ -123,6 +155,68 @@ export declare class KubernetesClientProvider {
|
|
|
123
155
|
* @throws Error if provider is not initialized
|
|
124
156
|
*/
|
|
125
157
|
getKubernetesApi(): k8s.KubernetesObjectApi;
|
|
158
|
+
/**
|
|
159
|
+
* Get a CoreV1Api client instance with consistent configuration
|
|
160
|
+
* Handles core Kubernetes resources like Pods, Services, Namespaces, ConfigMaps, Secrets, etc.
|
|
161
|
+
*
|
|
162
|
+
* @returns CoreV1Api client instance
|
|
163
|
+
* @throws Error if provider is not initialized
|
|
164
|
+
*/
|
|
165
|
+
getCoreV1Api(): k8s.CoreV1Api;
|
|
166
|
+
/**
|
|
167
|
+
* Get an AppsV1Api client instance with consistent configuration
|
|
168
|
+
* Handles application resources like Deployments, ReplicaSets, StatefulSets, DaemonSets, etc.
|
|
169
|
+
*
|
|
170
|
+
* @returns AppsV1Api client instance
|
|
171
|
+
* @throws Error if provider is not initialized
|
|
172
|
+
*/
|
|
173
|
+
getAppsV1Api(): k8s.AppsV1Api;
|
|
174
|
+
/**
|
|
175
|
+
* Get a CustomObjectsApi client instance with consistent configuration
|
|
176
|
+
* Handles custom resources and CRDs (Custom Resource Definitions)
|
|
177
|
+
*
|
|
178
|
+
* @returns CustomObjectsApi client instance
|
|
179
|
+
* @throws Error if provider is not initialized
|
|
180
|
+
*/
|
|
181
|
+
getCustomObjectsApi(): k8s.CustomObjectsApi;
|
|
182
|
+
/**
|
|
183
|
+
* Get a BatchV1Api client instance with consistent configuration
|
|
184
|
+
* Handles batch resources like Jobs and CronJobs
|
|
185
|
+
*
|
|
186
|
+
* @returns BatchV1Api client instance
|
|
187
|
+
* @throws Error if provider is not initialized
|
|
188
|
+
*/
|
|
189
|
+
getBatchV1Api(): k8s.BatchV1Api;
|
|
190
|
+
/**
|
|
191
|
+
* Get a NetworkingV1Api client instance with consistent configuration
|
|
192
|
+
* Handles networking resources like Ingress, NetworkPolicy, etc.
|
|
193
|
+
*
|
|
194
|
+
* @returns NetworkingV1Api client instance
|
|
195
|
+
* @throws Error if provider is not initialized
|
|
196
|
+
*/
|
|
197
|
+
getNetworkingV1Api(): k8s.NetworkingV1Api;
|
|
198
|
+
/**
|
|
199
|
+
* Get an RbacAuthorizationV1Api client instance with consistent configuration
|
|
200
|
+
* Handles RBAC resources like Roles, RoleBindings, ClusterRoles, ClusterRoleBindings, ServiceAccounts, etc.
|
|
201
|
+
*
|
|
202
|
+
* @returns RbacAuthorizationV1Api client instance
|
|
203
|
+
* @throws Error if provider is not initialized
|
|
204
|
+
*/
|
|
205
|
+
getRbacAuthorizationV1Api(): k8s.RbacAuthorizationV1Api;
|
|
206
|
+
/**
|
|
207
|
+
* Get a StorageV1Api client instance with consistent configuration
|
|
208
|
+
* Handles storage resources like StorageClass, VolumeAttachment, CSIDriver, CSINode, etc.
|
|
209
|
+
*
|
|
210
|
+
* @returns StorageV1Api client instance
|
|
211
|
+
* @throws Error if provider is not initialized
|
|
212
|
+
*/
|
|
213
|
+
getStorageV1Api(): k8s.StorageV1Api;
|
|
214
|
+
/**
|
|
215
|
+
* Get ApiExtensionsV1Api client
|
|
216
|
+
* @returns ApiExtensionsV1Api client instance
|
|
217
|
+
* @throws Error if provider is not initialized
|
|
218
|
+
*/
|
|
219
|
+
getApiExtensionsV1Api(): k8s.ApiextensionsV1Api;
|
|
126
220
|
/**
|
|
127
221
|
* Inject the Kubernetes API client into a consumer component
|
|
128
222
|
*/
|
|
@@ -135,6 +229,49 @@ export declare class KubernetesClientProvider {
|
|
|
135
229
|
* Get current configuration (read-only)
|
|
136
230
|
*/
|
|
137
231
|
getConfiguration(): Readonly<KubernetesClientConfig> | null;
|
|
232
|
+
/**
|
|
233
|
+
* Check if the Kubernetes cluster is available and accessible
|
|
234
|
+
* Performs a lightweight connectivity test to the cluster
|
|
235
|
+
*
|
|
236
|
+
* @returns Promise<boolean> - true if cluster is available, false otherwise
|
|
237
|
+
*/
|
|
238
|
+
isClusterAvailable(): Promise<boolean>;
|
|
239
|
+
/**
|
|
240
|
+
* Wait for the cluster to become ready with timeout and retry logic
|
|
241
|
+
* Useful for test environments where the cluster might be starting up
|
|
242
|
+
*
|
|
243
|
+
* @param timeout - Maximum time to wait in milliseconds (default: 30000ms)
|
|
244
|
+
* @param retryInterval - Interval between retry attempts in milliseconds (default: 1000ms)
|
|
245
|
+
* @throws Error if cluster doesn't become available within timeout
|
|
246
|
+
*/
|
|
247
|
+
waitForClusterReady(timeout?: number, retryInterval?: number): Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Execute an operation with retry logic and exponential backoff
|
|
250
|
+
* Useful for handling transient network issues and API server unavailability
|
|
251
|
+
*
|
|
252
|
+
* @param operation - The async operation to execute
|
|
253
|
+
* @param options - Retry configuration options
|
|
254
|
+
* @returns Promise<T> - Result of the operation
|
|
255
|
+
* @throws Error if all retry attempts fail
|
|
256
|
+
*/
|
|
257
|
+
withRetry<T>(operation: () => Promise<T>, options?: RetryOptions): Promise<T>;
|
|
258
|
+
/**
|
|
259
|
+
* Get a cached API client instance or create a new one
|
|
260
|
+
* This method implements client caching to avoid recreating clients unnecessarily
|
|
261
|
+
*
|
|
262
|
+
* @param clientType - String identifier for the client type
|
|
263
|
+
* @param clientClass - The API client class constructor
|
|
264
|
+
* @returns Cached or new API client instance
|
|
265
|
+
*/
|
|
266
|
+
private getCachedClient;
|
|
267
|
+
/**
|
|
268
|
+
* Default function to determine if an error is retryable
|
|
269
|
+
* Considers network errors, timeouts, and temporary API server issues as retryable
|
|
270
|
+
*
|
|
271
|
+
* @param error - The error to check
|
|
272
|
+
* @returns true if the error is retryable, false otherwise
|
|
273
|
+
*/
|
|
274
|
+
private defaultRetryableErrorCheck;
|
|
138
275
|
/**
|
|
139
276
|
* Create a new KubeConfig with the provided configuration
|
|
140
277
|
*/
|
|
@@ -201,4 +338,59 @@ export declare function getKubernetesApi(config?: KubernetesClientConfig): k8s.K
|
|
|
201
338
|
* Uses the singleton provider and initializes it with default config if needed
|
|
202
339
|
*/
|
|
203
340
|
export declare function getKubeConfig(config?: KubernetesClientConfig): k8s.KubeConfig;
|
|
341
|
+
/**
|
|
342
|
+
* Convenience function to get a configured CoreV1Api client
|
|
343
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
344
|
+
*/
|
|
345
|
+
export declare function getCoreV1Api(config?: KubernetesClientConfig): k8s.CoreV1Api;
|
|
346
|
+
/**
|
|
347
|
+
* Convenience function to get a configured AppsV1Api client
|
|
348
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
349
|
+
*/
|
|
350
|
+
export declare function getAppsV1Api(config?: KubernetesClientConfig): k8s.AppsV1Api;
|
|
351
|
+
/**
|
|
352
|
+
* Convenience function to get a configured CustomObjectsApi client
|
|
353
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
354
|
+
*/
|
|
355
|
+
export declare function getCustomObjectsApi(config?: KubernetesClientConfig): k8s.CustomObjectsApi;
|
|
356
|
+
/**
|
|
357
|
+
* Convenience function to get a configured BatchV1Api client
|
|
358
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
359
|
+
*/
|
|
360
|
+
export declare function getBatchV1Api(config?: KubernetesClientConfig): k8s.BatchV1Api;
|
|
361
|
+
/**
|
|
362
|
+
* Convenience function to get a configured NetworkingV1Api client
|
|
363
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
364
|
+
*/
|
|
365
|
+
export declare function getNetworkingV1Api(config?: KubernetesClientConfig): k8s.NetworkingV1Api;
|
|
366
|
+
/**
|
|
367
|
+
* Convenience function to get a configured RbacAuthorizationV1Api client
|
|
368
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
369
|
+
*/
|
|
370
|
+
export declare function getRbacAuthorizationV1Api(config?: KubernetesClientConfig): k8s.RbacAuthorizationV1Api;
|
|
371
|
+
/**
|
|
372
|
+
* Convenience function to get a configured StorageV1Api client
|
|
373
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
374
|
+
*/
|
|
375
|
+
export declare function getStorageV1Api(config?: KubernetesClientConfig): k8s.StorageV1Api;
|
|
376
|
+
/**
|
|
377
|
+
* Convenience function to get a configured ApiExtensionsV1Api client
|
|
378
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
379
|
+
*/
|
|
380
|
+
export declare function getApiExtensionsV1Api(config?: KubernetesClientConfig): k8s.ApiextensionsV1Api;
|
|
381
|
+
/**
|
|
382
|
+
* Convenience function to check cluster availability
|
|
383
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
384
|
+
*/
|
|
385
|
+
export declare function isClusterAvailable(config?: KubernetesClientConfig): Promise<boolean>;
|
|
386
|
+
/**
|
|
387
|
+
* Convenience function to wait for cluster readiness
|
|
388
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
389
|
+
*/
|
|
390
|
+
export declare function waitForClusterReady(timeout?: number, retryInterval?: number, config?: KubernetesClientConfig): Promise<void>;
|
|
391
|
+
/**
|
|
392
|
+
* Convenience function to execute operations with retry logic
|
|
393
|
+
* Uses the singleton provider and initializes it with default config if needed
|
|
394
|
+
*/
|
|
395
|
+
export declare function withRetry<T>(operation: () => Promise<T>, options?: RetryOptions, config?: KubernetesClientConfig): Promise<T>;
|
|
204
396
|
//# sourceMappingURL=client-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-provider.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/client-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAG/C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyC;IAChE,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAoD;IAClE,OAAO,CAAC,WAAW,CAAS;
|
|
1
|
+
{"version":3,"file":"client-provider.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/client-provider.ts"],"names":[],"mappings":"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"}
|