typekro 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +185 -0
- package/README.md +1137 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/alchemy/deployers.d.ts +39 -0
- package/dist/alchemy/deployers.d.ts.map +1 -0
- package/dist/alchemy/deployers.js +194 -0
- package/dist/alchemy/deployers.js.map +1 -0
- package/dist/alchemy/deployment.d.ts +12 -0
- package/dist/alchemy/deployment.d.ts.map +1 -0
- package/dist/alchemy/deployment.js +12 -0
- package/dist/alchemy/deployment.js.map +1 -0
- package/dist/alchemy/index.d.ts +17 -0
- package/dist/alchemy/index.d.ts.map +1 -0
- package/dist/alchemy/index.js +20 -0
- package/dist/alchemy/index.js.map +1 -0
- package/dist/alchemy/resolver.d.ts +127 -0
- package/dist/alchemy/resolver.d.ts.map +1 -0
- package/dist/alchemy/resolver.js +341 -0
- package/dist/alchemy/resolver.js.map +1 -0
- package/dist/alchemy/resource-registration.d.ts +22 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -0
- package/dist/alchemy/resource-registration.js +218 -0
- package/dist/alchemy/resource-registration.js.map +1 -0
- package/dist/alchemy/type-inference.d.ts +13 -0
- package/dist/alchemy/type-inference.d.ts.map +1 -0
- package/dist/alchemy/type-inference.js +67 -0
- package/dist/alchemy/type-inference.js.map +1 -0
- package/dist/alchemy/types.d.ts +92 -0
- package/dist/alchemy/types.d.ts.map +1 -0
- package/dist/alchemy/types.js +8 -0
- package/dist/alchemy/types.js.map +1 -0
- package/dist/alchemy/utilities.d.ts +12 -0
- package/dist/alchemy/utilities.d.ts.map +1 -0
- package/dist/alchemy/utilities.js +16 -0
- package/dist/alchemy/utilities.js.map +1 -0
- package/dist/alchemy/wrapper.d.ts +16 -0
- package/dist/alchemy/wrapper.d.ts.map +1 -0
- package/dist/alchemy/wrapper.js +23 -0
- package/dist/alchemy/wrapper.js.map +1 -0
- package/dist/core/composition/composition.d.ts +94 -0
- package/dist/core/composition/composition.d.ts.map +1 -0
- package/dist/core/composition/composition.js +230 -0
- package/dist/core/composition/composition.js.map +1 -0
- package/dist/core/composition/index.d.ts +12 -0
- package/dist/core/composition/index.d.ts.map +1 -0
- package/dist/core/composition/index.js +12 -0
- package/dist/core/composition/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/index.d.ts +3 -0
- package/dist/core/composition/typekro-runtime/index.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/index.js +2 -0
- package/dist/core/composition/typekro-runtime/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +39 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +100 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -0
- package/dist/core/composition/typekro-runtime/types.d.ts +16 -0
- package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/types.js +12 -0
- package/dist/core/composition/typekro-runtime/types.js.map +1 -0
- package/dist/core/composition/types.d.ts +264 -0
- package/dist/core/composition/types.d.ts.map +1 -0
- package/dist/core/composition/types.js +2 -0
- package/dist/core/composition/types.js.map +1 -0
- package/dist/core/constants/brands.d.ts +42 -0
- package/dist/core/constants/brands.d.ts.map +1 -0
- package/dist/core/constants/brands.js +51 -0
- package/dist/core/constants/brands.js.map +1 -0
- package/dist/core/dependencies/graph.d.ts +67 -0
- package/dist/core/dependencies/graph.d.ts.map +1 -0
- package/dist/core/dependencies/graph.js +220 -0
- package/dist/core/dependencies/graph.js.map +1 -0
- package/dist/core/dependencies/index.d.ts +7 -0
- package/dist/core/dependencies/index.d.ts.map +1 -0
- package/dist/core/dependencies/index.js +8 -0
- package/dist/core/dependencies/index.js.map +1 -0
- package/dist/core/dependencies/resolver.d.ts +53 -0
- package/dist/core/dependencies/resolver.d.ts.map +1 -0
- package/dist/core/dependencies/resolver.js +167 -0
- package/dist/core/dependencies/resolver.js.map +1 -0
- package/dist/core/dependencies/type-guards.d.ts +17 -0
- package/dist/core/dependencies/type-guards.d.ts.map +1 -0
- package/dist/core/dependencies/type-guards.js +35 -0
- package/dist/core/dependencies/type-guards.js.map +1 -0
- package/dist/core/deployment/deployment-strategies.d.ts +12 -0
- package/dist/core/deployment/deployment-strategies.d.ts.map +1 -0
- package/dist/core/deployment/deployment-strategies.js +11 -0
- package/dist/core/deployment/deployment-strategies.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +111 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -0
- package/dist/core/deployment/direct-factory.js +627 -0
- package/dist/core/deployment/direct-factory.js.map +1 -0
- package/dist/core/deployment/engine.d.ts +128 -0
- package/dist/core/deployment/engine.d.ts.map +1 -0
- package/dist/core/deployment/engine.js +1408 -0
- package/dist/core/deployment/engine.js.map +1 -0
- package/dist/core/deployment/index.d.ts +14 -0
- package/dist/core/deployment/index.d.ts.map +1 -0
- package/dist/core/deployment/index.js +14 -0
- package/dist/core/deployment/index.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +143 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -0
- package/dist/core/deployment/kro-factory.js +837 -0
- package/dist/core/deployment/kro-factory.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts +54 -0
- package/dist/core/deployment/readiness.d.ts.map +1 -0
- package/dist/core/deployment/readiness.js +175 -0
- package/dist/core/deployment/readiness.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +63 -0
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -0
- package/dist/core/deployment/rollback-manager.js +225 -0
- package/dist/core/deployment/rollback-manager.js.map +1 -0
- package/dist/core/deployment/shared-utilities.d.ts +41 -0
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -0
- package/dist/core/deployment/shared-utilities.js +100 -0
- package/dist/core/deployment/shared-utilities.js.map +1 -0
- package/dist/core/deployment/status-hydrator.d.ts +86 -0
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -0
- package/dist/core/deployment/status-hydrator.js +262 -0
- package/dist/core/deployment/status-hydrator.js.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +107 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js +446 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts +50 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.js +82 -0
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts +29 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.js +80 -0
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/index.d.ts +12 -0
- package/dist/core/deployment/strategies/index.d.ts.map +1 -0
- package/dist/core/deployment/strategies/index.js +12 -0
- package/dist/core/deployment/strategies/index.js.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts +41 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.js +270 -0
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -0
- package/dist/core/direct-deployment.d.ts +8 -0
- package/dist/core/direct-deployment.d.ts.map +1 -0
- package/dist/core/direct-deployment.js +9 -0
- package/dist/core/direct-deployment.js.map +1 -0
- package/dist/core/errors.d.ts +73 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +250 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/evaluation/cel-optimizer.d.ts +48 -0
- package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -0
- package/dist/core/evaluation/cel-optimizer.js +176 -0
- package/dist/core/evaluation/cel-optimizer.js.map +1 -0
- package/dist/core/factory.d.ts +12 -0
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +13 -0
- package/dist/core/factory.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts +43 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -0
- package/dist/core/kubernetes/api.js +209 -0
- package/dist/core/kubernetes/api.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +204 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -0
- package/dist/core/kubernetes/client-provider.js +421 -0
- package/dist/core/kubernetes/client-provider.js.map +1 -0
- package/dist/core/logging/config.d.ts +14 -0
- package/dist/core/logging/config.d.ts.map +1 -0
- package/dist/core/logging/config.js +57 -0
- package/dist/core/logging/config.js.map +1 -0
- package/dist/core/logging/index.d.ts +4 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +4 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/logging/logger.d.ts +26 -0
- package/dist/core/logging/logger.d.ts.map +1 -0
- package/dist/core/logging/logger.js +114 -0
- package/dist/core/logging/logger.js.map +1 -0
- package/dist/core/logging/types.d.ts +93 -0
- package/dist/core/logging/types.d.ts.map +1 -0
- package/dist/core/logging/types.js +2 -0
- package/dist/core/logging/types.js.map +1 -0
- package/dist/core/readiness/cluster-state.d.ts +229 -0
- package/dist/core/readiness/cluster-state.d.ts.map +1 -0
- package/dist/core/readiness/cluster-state.js +360 -0
- package/dist/core/readiness/cluster-state.js.map +1 -0
- package/dist/core/readiness/index.d.ts +5 -0
- package/dist/core/readiness/index.d.ts.map +1 -0
- package/dist/core/readiness/index.js +5 -0
- package/dist/core/readiness/index.js.map +1 -0
- package/dist/core/readiness/registry.d.ts +45 -0
- package/dist/core/readiness/registry.d.ts.map +1 -0
- package/dist/core/readiness/registry.js +62 -0
- package/dist/core/readiness/registry.js.map +1 -0
- package/dist/core/references/cel-evaluator.d.ts +102 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -0
- package/dist/core/references/cel-evaluator.js +288 -0
- package/dist/core/references/cel-evaluator.js.map +1 -0
- package/dist/core/references/cel.d.ts +75 -0
- package/dist/core/references/cel.d.ts.map +1 -0
- package/dist/core/references/cel.js +213 -0
- package/dist/core/references/cel.js.map +1 -0
- package/dist/core/references/external-refs.d.ts +37 -0
- package/dist/core/references/external-refs.d.ts.map +1 -0
- package/dist/core/references/external-refs.js +53 -0
- package/dist/core/references/external-refs.js.map +1 -0
- package/dist/core/references/index.d.ts +15 -0
- package/dist/core/references/index.d.ts.map +1 -0
- package/dist/core/references/index.js +19 -0
- package/dist/core/references/index.js.map +1 -0
- package/dist/core/references/resolver.d.ts +117 -0
- package/dist/core/references/resolver.d.ts.map +1 -0
- package/dist/core/references/resolver.js +554 -0
- package/dist/core/references/resolver.js.map +1 -0
- package/dist/core/references/schema-proxy.d.ts +38 -0
- package/dist/core/references/schema-proxy.d.ts.map +1 -0
- package/dist/core/references/schema-proxy.js +163 -0
- package/dist/core/references/schema-proxy.js.map +1 -0
- package/dist/core/serialization/core.d.ts +15 -0
- package/dist/core/serialization/core.d.ts.map +1 -0
- package/dist/core/serialization/core.js +169 -0
- package/dist/core/serialization/core.js.map +1 -0
- package/dist/core/serialization/index.d.ts +9 -0
- package/dist/core/serialization/index.d.ts.map +1 -0
- package/dist/core/serialization/index.js +12 -0
- package/dist/core/serialization/index.js.map +1 -0
- package/dist/core/serialization/schema.d.ts +14 -0
- package/dist/core/serialization/schema.d.ts.map +1 -0
- package/dist/core/serialization/schema.js +33 -0
- package/dist/core/serialization/schema.js.map +1 -0
- package/dist/core/serialization/validation.d.ts +18 -0
- package/dist/core/serialization/validation.d.ts.map +1 -0
- package/dist/core/serialization/validation.js +165 -0
- package/dist/core/serialization/validation.js.map +1 -0
- package/dist/core/serialization/yaml.d.ts +10 -0
- package/dist/core/serialization/yaml.d.ts.map +1 -0
- package/dist/core/serialization/yaml.js +63 -0
- package/dist/core/serialization/yaml.js.map +1 -0
- package/dist/core/types/common.d.ts +41 -0
- package/dist/core/types/common.d.ts.map +1 -0
- package/dist/core/types/common.js +9 -0
- package/dist/core/types/common.js.map +1 -0
- package/dist/core/types/dependencies.d.ts +14 -0
- package/dist/core/types/dependencies.d.ts.map +1 -0
- package/dist/core/types/dependencies.js +5 -0
- package/dist/core/types/dependencies.js.map +1 -0
- package/dist/core/types/deployment.d.ts +265 -0
- package/dist/core/types/deployment.d.ts.map +1 -0
- package/dist/core/types/deployment.js +20 -0
- package/dist/core/types/deployment.js.map +1 -0
- package/dist/core/types/index.d.ts +19 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +15 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/kubernetes.d.ts +352 -0
- package/dist/core/types/kubernetes.d.ts.map +1 -0
- package/dist/core/types/kubernetes.js +5 -0
- package/dist/core/types/kubernetes.js.map +1 -0
- package/dist/core/types/references.d.ts +54 -0
- package/dist/core/types/references.d.ts.map +1 -0
- package/dist/core/types/references.js +14 -0
- package/dist/core/types/references.js.map +1 -0
- package/dist/core/types/resource-graph.d.ts +93 -0
- package/dist/core/types/resource-graph.d.ts.map +1 -0
- package/dist/core/types/resource-graph.js +8 -0
- package/dist/core/types/resource-graph.js.map +1 -0
- package/dist/core/types/serialization.d.ts +210 -0
- package/dist/core/types/serialization.d.ts.map +1 -0
- package/dist/core/types/serialization.js +5 -0
- package/dist/core/types/serialization.js.map +1 -0
- package/dist/core/types/yaml.d.ts +92 -0
- package/dist/core/types/yaml.d.ts.map +1 -0
- package/dist/core/types/yaml.js +2 -0
- package/dist/core/types/yaml.js.map +1 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts +47 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -0
- package/dist/core/validation/cel-validator.js +200 -0
- package/dist/core/validation/cel-validator.js.map +1 -0
- package/dist/core/yaml/index.d.ts +5 -0
- package/dist/core/yaml/index.d.ts.map +1 -0
- package/dist/core/yaml/index.js +5 -0
- package/dist/core/yaml/index.js.map +1 -0
- package/dist/core/yaml/path-resolver.d.ts +122 -0
- package/dist/core/yaml/path-resolver.d.ts.map +1 -0
- package/dist/core/yaml/path-resolver.js +556 -0
- package/dist/core/yaml/path-resolver.js.map +1 -0
- package/dist/core.d.ts +30 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +59 -0
- package/dist/core.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +62 -0
- package/dist/factories/flux/git-repository.d.ts.map +1 -0
- package/dist/factories/flux/git-repository.js +34 -0
- package/dist/factories/flux/git-repository.js.map +1 -0
- package/dist/factories/flux/index.d.ts +10 -0
- package/dist/factories/flux/index.d.ts.map +1 -0
- package/dist/factories/flux/index.js +11 -0
- package/dist/factories/flux/index.js.map +1 -0
- package/dist/factories/flux/kustomize/index.d.ts +4 -0
- package/dist/factories/flux/kustomize/index.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/index.js +3 -0
- package/dist/factories/flux/kustomize/index.js.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts +178 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.js +108 -0
- package/dist/factories/flux/kustomize/kustomization.js.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +9 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js +71 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -0
- package/dist/factories/flux/kustomize/types.d.ts +2 -0
- package/dist/factories/flux/kustomize/types.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/types.js +2 -0
- package/dist/factories/flux/kustomize/types.js.map +1 -0
- package/dist/factories/helm/helm-release.d.ts +139 -0
- package/dist/factories/helm/helm-release.d.ts.map +1 -0
- package/dist/factories/helm/helm-release.js +180 -0
- package/dist/factories/helm/helm-release.js.map +1 -0
- package/dist/factories/helm/helm-repository.d.ts +24 -0
- package/dist/factories/helm/helm-repository.d.ts.map +1 -0
- package/dist/factories/helm/helm-repository.js +57 -0
- package/dist/factories/helm/helm-repository.js.map +1 -0
- package/dist/factories/helm/index.d.ts +8 -0
- package/dist/factories/helm/index.d.ts.map +1 -0
- package/dist/factories/helm/index.js +8 -0
- package/dist/factories/helm/index.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +55 -0
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/helm/readiness-evaluators.js +295 -0
- package/dist/factories/helm/readiness-evaluators.js.map +1 -0
- package/dist/factories/helm/types.d.ts +21 -0
- package/dist/factories/helm/types.d.ts.map +1 -0
- package/dist/factories/helm/types.js +2 -0
- package/dist/factories/helm/types.js.map +1 -0
- package/dist/factories/index.d.ts +12 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +31 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/factories/kro/index.d.ts +11 -0
- package/dist/factories/kro/index.d.ts.map +1 -0
- package/dist/factories/kro/index.js +10 -0
- package/dist/factories/kro/index.js.map +1 -0
- package/dist/factories/kro/kro-crd.d.ts +14 -0
- package/dist/factories/kro/kro-crd.d.ts.map +1 -0
- package/dist/factories/kro/kro-crd.js +51 -0
- package/dist/factories/kro/kro-crd.js.map +1 -0
- package/dist/factories/kro/kro-custom-resource.d.ts +23 -0
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -0
- package/dist/factories/kro/kro-custom-resource.js +153 -0
- package/dist/factories/kro/kro-custom-resource.js.map +1 -0
- package/dist/factories/kro/resource-graph-definition.d.ts +12 -0
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -0
- package/dist/factories/kro/resource-graph-definition.js +94 -0
- package/dist/factories/kro/resource-graph-definition.js.map +1 -0
- package/dist/factories/kubernetes/admission/index.d.ts +9 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/index.js +9 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js +35 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +31 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts +9 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.js +9 -0
- package/dist/factories/kubernetes/autoscaling/index.js.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +6 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js +48 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -0
- package/dist/factories/kubernetes/certificates/index.d.ts +8 -0
- package/dist/factories/kubernetes/certificates/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/index.js +8 -0
- package/dist/factories/kubernetes/certificates/index.js.map +1 -0
- package/dist/factories/kubernetes/config/config-map.d.ts +5 -0
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/config-map.js +16 -0
- package/dist/factories/kubernetes/config/config-map.js.map +1 -0
- package/dist/factories/kubernetes/config/index.d.ts +9 -0
- package/dist/factories/kubernetes/config/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/index.js +9 -0
- package/dist/factories/kubernetes/config/index.js.map +1 -0
- package/dist/factories/kubernetes/config/secret.d.ts +5 -0
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/secret.js +16 -0
- package/dist/factories/kubernetes/config/secret.js.map +1 -0
- package/dist/factories/kubernetes/coordination/index.d.ts +8 -0
- package/dist/factories/kubernetes/coordination/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/index.js +8 -0
- package/dist/factories/kubernetes/coordination/index.js.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts +5 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.js +10 -0
- package/dist/factories/kubernetes/coordination/lease.js.map +1 -0
- package/dist/factories/kubernetes/core/component-status.d.ts +4 -0
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/component-status.js +25 -0
- package/dist/factories/kubernetes/core/component-status.js.map +1 -0
- package/dist/factories/kubernetes/core/index.d.ts +11 -0
- package/dist/factories/kubernetes/core/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/index.js +11 -0
- package/dist/factories/kubernetes/core/index.js.map +1 -0
- package/dist/factories/kubernetes/core/namespace.d.ts +9 -0
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/namespace.js +48 -0
- package/dist/factories/kubernetes/core/namespace.js.map +1 -0
- package/dist/factories/kubernetes/core/node.d.ts +6 -0
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/node.js +34 -0
- package/dist/factories/kubernetes/core/node.js.map +1 -0
- package/dist/factories/kubernetes/core/pod.d.ts +6 -0
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/pod.js +44 -0
- package/dist/factories/kubernetes/core/pod.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +6 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js +45 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts +12 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js +17 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -0
- package/dist/factories/kubernetes/extensions/index.d.ts +9 -0
- package/dist/factories/kubernetes/extensions/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/index.js +9 -0
- package/dist/factories/kubernetes/extensions/index.js.map +1 -0
- package/dist/factories/kubernetes/index.d.ts +24 -0
- package/dist/factories/kubernetes/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/index.js +75 -0
- package/dist/factories/kubernetes/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js +10 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.js +39 -0
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -0
- package/dist/factories/kubernetes/networking/index.d.ts +13 -0
- package/dist/factories/kubernetes/networking/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/index.js +13 -0
- package/dist/factories/kubernetes/networking/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.js +16 -0
- package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.js +33 -0
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts +5 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.js +17 -0
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -0
- package/dist/factories/kubernetes/networking/service.d.ts +5 -0
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/service.js +64 -0
- package/dist/factories/kubernetes/networking/service.js.map +1 -0
- package/dist/factories/kubernetes/policy/index.d.ts +10 -0
- package/dist/factories/kubernetes/policy/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/index.js +10 -0
- package/dist/factories/kubernetes/policy/index.js.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts +5 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.js +17 -0
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +6 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +55 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts +6 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.js +43 -0
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/index.d.ts +12 -0
- package/dist/factories/kubernetes/rbac/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/index.js +12 -0
- package/dist/factories/kubernetes/rbac/index.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role.js +17 -0
- package/dist/factories/kubernetes/rbac/role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.js +17 -0
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts +9 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.js +9 -0
- package/dist/factories/kubernetes/scheduling/index.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts +4 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js +16 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +5 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js +10 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.js +16 -0
- package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.js +10 -0
- package/dist/factories/kubernetes/storage/csi-node.js.map +1 -0
- package/dist/factories/kubernetes/storage/index.d.ts +13 -0
- package/dist/factories/kubernetes/storage/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/index.js +13 -0
- package/dist/factories/kubernetes/storage/index.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +30 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js +47 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts +4 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.js +17 -0
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts +6 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -0
- package/dist/factories/kubernetes/types.d.ts +8 -0
- package/dist/factories/kubernetes/types.d.ts.map +1 -0
- package/dist/factories/kubernetes/types.js +8 -0
- package/dist/factories/kubernetes/types.js.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.js +53 -0
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js +32 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts +5 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.js +59 -0
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -0
- package/dist/factories/kubernetes/workloads/index.d.ts +14 -0
- package/dist/factories/kubernetes/workloads/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/index.js +14 -0
- package/dist/factories/kubernetes/workloads/index.js.map +1 -0
- package/dist/factories/kubernetes/workloads/job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/job.js +105 -0
- package/dist/factories/kubernetes/workloads/job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.js +33 -0
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js +56 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js +81 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -0
- package/dist/factories/kubernetes/yaml/index.d.ts +6 -0
- package/dist/factories/kubernetes/yaml/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/index.js +6 -0
- package/dist/factories/kubernetes/yaml/index.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js +178 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js +181 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -0
- package/dist/factories/shared.d.ts +11 -0
- package/dist/factories/shared.d.ts.map +1 -0
- package/dist/factories/shared.js +364 -0
- package/dist/factories/shared.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/helpers.d.ts +69 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +405 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/type-guards.d.ts +34 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +66 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct Deployment Strategy
|
|
3
|
+
*
|
|
4
|
+
* This module provides the direct deployment strategy that deploys
|
|
5
|
+
* individual Kubernetes resources directly to the cluster.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseDeploymentStrategy } from './base-strategy.js';
|
|
8
|
+
import { createDeploymentOptions, handleDeploymentError } from '../shared-utilities.js';
|
|
9
|
+
import { ResourceDeploymentError } from '../../types/deployment.js';
|
|
10
|
+
/**
|
|
11
|
+
* Direct deployment strategy - deploys individual Kubernetes resources
|
|
12
|
+
*/
|
|
13
|
+
export class DirectDeploymentStrategy extends BaseDeploymentStrategy {
|
|
14
|
+
deploymentEngine;
|
|
15
|
+
resourceResolver;
|
|
16
|
+
constructor(factoryName, namespace, schemaDefinition, factoryOptions, deploymentEngine, resourceResolver // Resource resolution logic
|
|
17
|
+
) {
|
|
18
|
+
super(factoryName, namespace, schemaDefinition, factoryOptions);
|
|
19
|
+
this.deploymentEngine = deploymentEngine;
|
|
20
|
+
this.resourceResolver = resourceResolver;
|
|
21
|
+
}
|
|
22
|
+
async executeDeployment(spec, _instanceName) {
|
|
23
|
+
try {
|
|
24
|
+
// Create resource graph for this instance
|
|
25
|
+
const resourceGraph = this.resourceResolver.createResourceGraphForInstance(spec);
|
|
26
|
+
// Create deployment options
|
|
27
|
+
const deploymentOptions = createDeploymentOptions(this.factoryOptions, this.namespace, 'direct');
|
|
28
|
+
// Pass closures to deployment engine for level-based execution
|
|
29
|
+
const closures = this.factoryOptions.closures || {};
|
|
30
|
+
// Deploy using the direct deployment engine with closures if available, otherwise use regular deploy
|
|
31
|
+
let deploymentResult;
|
|
32
|
+
if (Object.keys(closures).length > 0 && 'deployWithClosures' in this.deploymentEngine) {
|
|
33
|
+
// Type assertion is safe here because we've checked that the method exists
|
|
34
|
+
const engineWithClosures = this.deploymentEngine;
|
|
35
|
+
deploymentResult = await engineWithClosures.deployWithClosures(resourceGraph, closures, deploymentOptions, spec, this.factoryOptions.alchemyScope);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Fallback to regular deployment for backward compatibility
|
|
39
|
+
deploymentResult = await this.deploymentEngine.deploy(resourceGraph, deploymentOptions);
|
|
40
|
+
}
|
|
41
|
+
if (deploymentResult.status === 'failed') {
|
|
42
|
+
const firstError = deploymentResult.errors[0]?.error;
|
|
43
|
+
const deploymentError = new ResourceDeploymentError('resource-graph', 'ResourceGraph', firstError || new Error('Unknown deployment error'));
|
|
44
|
+
// Add additional context from all errors
|
|
45
|
+
if (deploymentResult.errors.length > 1) {
|
|
46
|
+
deploymentError.message += ` (and ${deploymentResult.errors.length - 1} other errors)`;
|
|
47
|
+
}
|
|
48
|
+
throw deploymentError;
|
|
49
|
+
}
|
|
50
|
+
return deploymentResult;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
handleDeploymentError(error, 'Direct deployment failed');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create deployment context for closure execution
|
|
58
|
+
*/
|
|
59
|
+
createDeploymentContext(deployedResources, _spec) {
|
|
60
|
+
// Get Kubernetes API from deployment engine
|
|
61
|
+
const kubernetesApi = this.deploymentEngine.getKubernetesApi();
|
|
62
|
+
// Create reference resolver function
|
|
63
|
+
const resolveReference = async (ref) => {
|
|
64
|
+
// This would integrate with the existing reference resolution system
|
|
65
|
+
// For now, return a placeholder - this will be enhanced in future tasks
|
|
66
|
+
return ref;
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
kubernetesApi,
|
|
70
|
+
...(this.factoryOptions.alchemyScope && { alchemyScope: this.factoryOptions.alchemyScope }),
|
|
71
|
+
...(this.namespace && { namespace: this.namespace }),
|
|
72
|
+
deployedResources,
|
|
73
|
+
resolveReference,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
getStrategyMode() {
|
|
77
|
+
return 'direct';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=direct-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-strategy.js","sourceRoot":"","sources":["../../../../src/core/deployment/strategies/direct-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment Strategies
|
|
3
|
+
*
|
|
4
|
+
* This module exports all deployment strategy implementations
|
|
5
|
+
* organized into focused, single-responsibility modules.
|
|
6
|
+
*/
|
|
7
|
+
export type { DeploymentStrategy } from './base-strategy.js';
|
|
8
|
+
export { BaseDeploymentStrategy } from './base-strategy.js';
|
|
9
|
+
export { DirectDeploymentStrategy } from './direct-strategy.js';
|
|
10
|
+
export { KroDeploymentStrategy } from './kro-strategy.js';
|
|
11
|
+
export { AlchemyDeploymentStrategy } from './alchemy-strategy.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/deployment/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment Strategies
|
|
3
|
+
*
|
|
4
|
+
* This module exports all deployment strategy implementations
|
|
5
|
+
* organized into focused, single-responsibility modules.
|
|
6
|
+
*/
|
|
7
|
+
export { BaseDeploymentStrategy } from './base-strategy.js';
|
|
8
|
+
// Export concrete strategy implementations
|
|
9
|
+
export { DirectDeploymentStrategy } from './direct-strategy.js';
|
|
10
|
+
export { KroDeploymentStrategy } from './kro-strategy.js';
|
|
11
|
+
export { AlchemyDeploymentStrategy } from './alchemy-strategy.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/deployment/strategies/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,2CAA2C;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kro Deployment Strategy
|
|
3
|
+
*
|
|
4
|
+
* This module provides the Kro deployment strategy that deploys
|
|
5
|
+
* via ResourceGraphDefinitions using the Kro controller.
|
|
6
|
+
*/
|
|
7
|
+
import type { DeploymentResult, FactoryOptions } from '../../types/deployment.js';
|
|
8
|
+
import type { KroCompatibleType, SchemaDefinition } from '../../types/serialization.js';
|
|
9
|
+
import type { KubernetesResource } from '../../types/kubernetes.js';
|
|
10
|
+
import type { DirectDeploymentEngine } from '../engine.js';
|
|
11
|
+
import { BaseDeploymentStrategy } from './base-strategy.js';
|
|
12
|
+
/**
|
|
13
|
+
* Kro deployment strategy - deploys via ResourceGraphDefinitions
|
|
14
|
+
*/
|
|
15
|
+
export declare class KroDeploymentStrategy<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> extends BaseDeploymentStrategy<TSpec, TStatus> {
|
|
16
|
+
private directEngine;
|
|
17
|
+
private resources;
|
|
18
|
+
private statusMappings;
|
|
19
|
+
constructor(factoryName: string, namespace: string, schemaDefinition: SchemaDefinition<TSpec, TStatus>, factoryOptions: FactoryOptions, directEngine: DirectDeploymentEngine, resources?: Record<string, KubernetesResource>, statusMappings?: Record<string, unknown>);
|
|
20
|
+
protected executeDeployment(spec: TSpec, instanceName: string): Promise<DeploymentResult>;
|
|
21
|
+
protected getStrategyMode(): 'direct' | 'kro';
|
|
22
|
+
protected getApiVersion(): string;
|
|
23
|
+
protected getKind(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Step 1: Deploy ResourceGraphDefinition using DirectDeploymentEngine
|
|
26
|
+
*/
|
|
27
|
+
private deployResourceGraphDefinition;
|
|
28
|
+
/**
|
|
29
|
+
* Step 2: Deploy Custom Resource instance using DirectDeploymentEngine
|
|
30
|
+
*/
|
|
31
|
+
private deployCustomResourceInstance;
|
|
32
|
+
/**
|
|
33
|
+
* Convert camelCase factory name to valid Kubernetes resource name (kebab-case)
|
|
34
|
+
*/
|
|
35
|
+
private convertToKubernetesName;
|
|
36
|
+
/**
|
|
37
|
+
* Wait for Kro resource to be ready with Kro-specific logic
|
|
38
|
+
*/
|
|
39
|
+
private waitForKroResourceReady;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=kro-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kro-strategy.d.ts","sourceRoot":"","sources":["../../../../src/core/deployment/strategies/kro-strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAM5D;;GAEG;AACH,qBAAa,qBAAqB,CAChC,KAAK,SAAS,iBAAiB,EAC/B,OAAO,SAAS,iBAAiB,CACjC,SAAQ,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;IAM5C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;gBANtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAClD,cAAc,EAAE,cAAc,EACtB,YAAY,EAAE,sBAAsB,EACpC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAM,EAClD,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;cAKtC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B/F,SAAS,CAAC,eAAe,IAAI,QAAQ,GAAG,KAAK;IAI7C,SAAS,CAAC,aAAa,IAAI,MAAM;IAOjC,SAAS,CAAC,OAAO,IAAI,MAAM;IAI3B;;OAEG;YACW,6BAA6B;IAoD3C;;OAEG;YACW,4BAA4B;IAmE1C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4B/B;;OAEG;YACW,uBAAuB;CAsFtC"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kro Deployment Strategy
|
|
3
|
+
*
|
|
4
|
+
* This module provides the Kro deployment strategy that deploys
|
|
5
|
+
* via ResourceGraphDefinitions using the Kro controller.
|
|
6
|
+
*/
|
|
7
|
+
import { DependencyGraph } from '../../dependencies/graph.js';
|
|
8
|
+
import { getComponentLogger } from '../../logging/index.js';
|
|
9
|
+
import { BaseDeploymentStrategy } from './base-strategy.js';
|
|
10
|
+
import { handleDeploymentError } from '../shared-utilities.js';
|
|
11
|
+
import { resourceGraphDefinition } from '../../../factories/kro/resource-graph-definition.js';
|
|
12
|
+
import { kroCustomResource } from '../../../factories/kro/kro-custom-resource.js';
|
|
13
|
+
import { generateKroSchemaFromArktype } from '../../serialization/schema.js';
|
|
14
|
+
/**
|
|
15
|
+
* Kro deployment strategy - deploys via ResourceGraphDefinitions
|
|
16
|
+
*/
|
|
17
|
+
export class KroDeploymentStrategy extends BaseDeploymentStrategy {
|
|
18
|
+
directEngine;
|
|
19
|
+
resources;
|
|
20
|
+
statusMappings;
|
|
21
|
+
constructor(factoryName, namespace, schemaDefinition, factoryOptions, directEngine, resources = {}, statusMappings = {}) {
|
|
22
|
+
super(factoryName, namespace, schemaDefinition, factoryOptions);
|
|
23
|
+
this.directEngine = directEngine;
|
|
24
|
+
this.resources = resources;
|
|
25
|
+
this.statusMappings = statusMappings;
|
|
26
|
+
}
|
|
27
|
+
async executeDeployment(spec, instanceName) {
|
|
28
|
+
try {
|
|
29
|
+
const logger = getComponentLogger('kro-deployment-strategy');
|
|
30
|
+
// Step 1: Deploy ResourceGraphDefinition
|
|
31
|
+
await this.deployResourceGraphDefinition();
|
|
32
|
+
// Step 2: Deploy Custom Resource instance
|
|
33
|
+
const customResourceResult = await this.deployCustomResourceInstance(spec, instanceName);
|
|
34
|
+
logger.debug('Kro two-step deployment completed successfully', {
|
|
35
|
+
factoryName: this.factoryName,
|
|
36
|
+
instanceName,
|
|
37
|
+
namespace: this.namespace
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
status: 'success',
|
|
41
|
+
deploymentId: `kro-${instanceName}-${Date.now()}`,
|
|
42
|
+
resources: customResourceResult.resources, // Extract the resources array from the DeploymentResult
|
|
43
|
+
dependencyGraph: new DependencyGraph(), // Empty graph since Kro handles dependencies internally
|
|
44
|
+
duration: 0, // Will be calculated by the base class
|
|
45
|
+
errors: [],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
handleDeploymentError(error, 'Kro deployment failed');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
getStrategyMode() {
|
|
53
|
+
return 'kro';
|
|
54
|
+
}
|
|
55
|
+
getApiVersion() {
|
|
56
|
+
// For Kro instances, use the schema definition API version
|
|
57
|
+
return this.schemaDefinition.apiVersion.includes('/')
|
|
58
|
+
? this.schemaDefinition.apiVersion
|
|
59
|
+
: `kro.run/${this.schemaDefinition.apiVersion}`;
|
|
60
|
+
}
|
|
61
|
+
getKind() {
|
|
62
|
+
return this.schemaDefinition.kind;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Step 1: Deploy ResourceGraphDefinition using DirectDeploymentEngine
|
|
66
|
+
*/
|
|
67
|
+
async deployResourceGraphDefinition() {
|
|
68
|
+
const logger = getComponentLogger('kro-deployment-strategy');
|
|
69
|
+
const rgdName = this.convertToKubernetesName(this.factoryName);
|
|
70
|
+
// Generate Kro schema from the factory's schema definition and resources
|
|
71
|
+
const kroSchema = generateKroSchemaFromArktype(this.factoryName, this.schemaDefinition, this.resources || {}, this.statusMappings || {});
|
|
72
|
+
// Create RGD manifest
|
|
73
|
+
const rgdManifest = {
|
|
74
|
+
apiVersion: 'kro.run/v1alpha1',
|
|
75
|
+
kind: 'ResourceGraphDefinition',
|
|
76
|
+
metadata: {
|
|
77
|
+
name: rgdName,
|
|
78
|
+
namespace: this.namespace,
|
|
79
|
+
},
|
|
80
|
+
spec: {
|
|
81
|
+
schema: kroSchema,
|
|
82
|
+
resources: Object.values(this.resources || {}).map(resource => ({
|
|
83
|
+
id: resource.id || resource.metadata?.name || 'unknown',
|
|
84
|
+
template: resource,
|
|
85
|
+
})),
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
// Wrap with resourceGraphDefinition factory to get Enhanced object with readiness evaluation
|
|
89
|
+
const enhancedRGD = resourceGraphDefinition(rgdManifest);
|
|
90
|
+
// Create deployable resource
|
|
91
|
+
const deployableRGD = {
|
|
92
|
+
...enhancedRGD,
|
|
93
|
+
id: rgdName,
|
|
94
|
+
};
|
|
95
|
+
// Deploy using DirectDeploymentEngine with KRO mode
|
|
96
|
+
await this.directEngine.deployResource(deployableRGD, {
|
|
97
|
+
mode: 'kro',
|
|
98
|
+
namespace: this.namespace,
|
|
99
|
+
waitForReady: true,
|
|
100
|
+
timeout: this.factoryOptions.timeout || 60000,
|
|
101
|
+
});
|
|
102
|
+
logger.debug('ResourceGraphDefinition deployed successfully', {
|
|
103
|
+
rgdName,
|
|
104
|
+
namespace: this.namespace
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Step 2: Deploy Custom Resource instance using DirectDeploymentEngine
|
|
109
|
+
*/
|
|
110
|
+
async deployCustomResourceInstance(spec, instanceName) {
|
|
111
|
+
const logger = getComponentLogger('kro-deployment-strategy');
|
|
112
|
+
// Create custom resource instance data
|
|
113
|
+
const apiVersion = this.getApiVersion();
|
|
114
|
+
const customResourceData = {
|
|
115
|
+
apiVersion,
|
|
116
|
+
kind: this.schemaDefinition.kind,
|
|
117
|
+
metadata: {
|
|
118
|
+
name: instanceName,
|
|
119
|
+
namespace: this.namespace,
|
|
120
|
+
},
|
|
121
|
+
spec,
|
|
122
|
+
};
|
|
123
|
+
// Wrap with kroCustomResource factory to get Enhanced object with readiness evaluation
|
|
124
|
+
const enhancedCustomResource = kroCustomResource({
|
|
125
|
+
apiVersion: customResourceData.apiVersion,
|
|
126
|
+
kind: customResourceData.kind,
|
|
127
|
+
metadata: {
|
|
128
|
+
name: customResourceData.metadata.name,
|
|
129
|
+
namespace: customResourceData.metadata.namespace,
|
|
130
|
+
},
|
|
131
|
+
spec: customResourceData.spec,
|
|
132
|
+
});
|
|
133
|
+
// Create deployable resource
|
|
134
|
+
const deployableCustomResource = {
|
|
135
|
+
...enhancedCustomResource,
|
|
136
|
+
id: instanceName,
|
|
137
|
+
metadata: {
|
|
138
|
+
...enhancedCustomResource.metadata,
|
|
139
|
+
name: instanceName,
|
|
140
|
+
namespace: this.namespace,
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
// Deploy using DirectDeploymentEngine with KRO mode
|
|
144
|
+
// Don't wait for ready here - we'll handle Kro-specific readiness logic ourselves
|
|
145
|
+
const deployedResource = await this.directEngine.deployResource(deployableCustomResource, {
|
|
146
|
+
mode: 'kro',
|
|
147
|
+
namespace: this.namespace,
|
|
148
|
+
waitForReady: false, // We'll handle readiness ourselves
|
|
149
|
+
timeout: this.factoryOptions.timeout || 300000,
|
|
150
|
+
});
|
|
151
|
+
// Handle Kro-specific readiness checking if requested
|
|
152
|
+
if (this.factoryOptions.waitForReady ?? true) {
|
|
153
|
+
await this.waitForKroResourceReady(instanceName, this.factoryOptions.timeout || 300000);
|
|
154
|
+
}
|
|
155
|
+
logger.debug('Custom Resource instance deployed successfully', {
|
|
156
|
+
instanceName,
|
|
157
|
+
kind: this.schemaDefinition.kind,
|
|
158
|
+
namespace: this.namespace
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
deploymentId: `kro-${instanceName}-${Date.now()}`,
|
|
162
|
+
resources: [deployedResource],
|
|
163
|
+
dependencyGraph: new DependencyGraph(),
|
|
164
|
+
duration: 0,
|
|
165
|
+
status: 'success',
|
|
166
|
+
errors: [],
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Convert camelCase factory name to valid Kubernetes resource name (kebab-case)
|
|
171
|
+
*/
|
|
172
|
+
convertToKubernetesName(name) {
|
|
173
|
+
// Validate input name
|
|
174
|
+
if (!name || typeof name !== 'string') {
|
|
175
|
+
throw new Error(`Invalid factory name: ${JSON.stringify(name)}. Factory name must be a non-empty string.`);
|
|
176
|
+
}
|
|
177
|
+
const trimmedName = name.trim();
|
|
178
|
+
if (trimmedName.length === 0) {
|
|
179
|
+
throw new Error(`Invalid factory name: Factory name cannot be empty or whitespace-only.`);
|
|
180
|
+
}
|
|
181
|
+
// Convert to kebab-case and validate result
|
|
182
|
+
const kubernetesName = trimmedName
|
|
183
|
+
.replace(/([a-z])([A-Z])/g, '$1-$2') // Insert dash before capital letters
|
|
184
|
+
.toLowerCase(); // Convert to lowercase
|
|
185
|
+
// Validate Kubernetes naming conventions
|
|
186
|
+
if (!/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/.test(kubernetesName)) {
|
|
187
|
+
throw new Error(`Invalid factory name: "${name}" converts to "${kubernetesName}" which is not a valid Kubernetes resource name. Names must consist of lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.`);
|
|
188
|
+
}
|
|
189
|
+
if (kubernetesName.length > 253) {
|
|
190
|
+
throw new Error(`Invalid factory name: "${name}" converts to "${kubernetesName}" which exceeds the 253 character limit for Kubernetes resource names.`);
|
|
191
|
+
}
|
|
192
|
+
return kubernetesName;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Wait for Kro resource to be ready with Kro-specific logic
|
|
196
|
+
*/
|
|
197
|
+
async waitForKroResourceReady(instanceName, timeout) {
|
|
198
|
+
const logger = getComponentLogger('kro-deployment-strategy');
|
|
199
|
+
const startTime = Date.now();
|
|
200
|
+
logger.debug('Waiting for Kro resource readiness', { instanceName, timeout });
|
|
201
|
+
while (Date.now() - startTime < timeout) {
|
|
202
|
+
try {
|
|
203
|
+
const apiVersion = this.getApiVersion();
|
|
204
|
+
const k8sApi = this.directEngine.getKubernetesApi(); // Use public getter method
|
|
205
|
+
const response = await k8sApi.read({
|
|
206
|
+
apiVersion,
|
|
207
|
+
kind: this.schemaDefinition.kind,
|
|
208
|
+
metadata: {
|
|
209
|
+
name: instanceName,
|
|
210
|
+
namespace: this.namespace,
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
const instance = response.body;
|
|
214
|
+
const status = instance.status;
|
|
215
|
+
if (!status) {
|
|
216
|
+
logger.debug('No status found yet, continuing to wait', { instanceName });
|
|
217
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
// Kro-specific readiness logic
|
|
221
|
+
const state = status.state;
|
|
222
|
+
const conditions = status.conditions || [];
|
|
223
|
+
const syncedCondition = conditions.find((c) => c.type === 'InstanceSynced');
|
|
224
|
+
// Check if status has fields beyond the basic Kro fields (conditions, state)
|
|
225
|
+
const statusKeys = Object.keys(status);
|
|
226
|
+
const basicKroFields = ['conditions', 'state'];
|
|
227
|
+
const hasCustomStatusFields = statusKeys.some(key => !basicKroFields.includes(key));
|
|
228
|
+
const isActive = state === 'ACTIVE';
|
|
229
|
+
const isSynced = syncedCondition?.status === 'True';
|
|
230
|
+
logger.debug('Kro resource status check', {
|
|
231
|
+
instanceName,
|
|
232
|
+
state,
|
|
233
|
+
isActive,
|
|
234
|
+
isSynced,
|
|
235
|
+
hasCustomStatusFields,
|
|
236
|
+
statusKeys
|
|
237
|
+
});
|
|
238
|
+
// Resource is ready when it's active, synced, and has custom status fields populated
|
|
239
|
+
if (isActive && isSynced && hasCustomStatusFields) {
|
|
240
|
+
logger.info('Kro resource is ready', { instanceName });
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
// Check for failure states
|
|
244
|
+
if (state === 'FAILED') {
|
|
245
|
+
const failedCondition = conditions.find((c) => c.status === 'False');
|
|
246
|
+
const errorMessage = failedCondition?.message || 'Unknown error';
|
|
247
|
+
throw new Error(`Kro resource deployment failed: ${errorMessage}`);
|
|
248
|
+
}
|
|
249
|
+
logger.debug('Kro resource not ready yet, continuing to wait', {
|
|
250
|
+
instanceName,
|
|
251
|
+
state,
|
|
252
|
+
isSynced,
|
|
253
|
+
hasCustomStatusFields
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
const k8sError = error;
|
|
258
|
+
if (k8sError.statusCode !== 404) {
|
|
259
|
+
throw error;
|
|
260
|
+
}
|
|
261
|
+
// Resource not found yet, continue waiting
|
|
262
|
+
logger.debug('Resource not found yet, continuing to wait', { instanceName });
|
|
263
|
+
}
|
|
264
|
+
// Wait before checking again
|
|
265
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
266
|
+
}
|
|
267
|
+
throw new Error(`Timeout waiting for Kro resource ${instanceName} to be ready after ${timeout}ms`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=kro-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kro-strategy.js","sourceRoot":"","sources":["../../../../src/core/deployment/strategies/kro-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct Deployment Engine - Backward Compatibility Bridge
|
|
3
|
+
*
|
|
4
|
+
* This file provides backward compatibility by re-exporting from the new deployment module.
|
|
5
|
+
* TODO: Remove this file once all imports have been updated to use the new module structure.
|
|
6
|
+
*/
|
|
7
|
+
export * from './deployment/index.js';
|
|
8
|
+
//# sourceMappingURL=direct-deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-deployment.d.ts","sourceRoot":"","sources":["../../src/core/direct-deployment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct Deployment Engine - Backward Compatibility Bridge
|
|
3
|
+
*
|
|
4
|
+
* This file provides backward compatibility by re-exporting from the new deployment module.
|
|
5
|
+
* TODO: Remove this file once all imports have been updated to use the new module structure.
|
|
6
|
+
*/
|
|
7
|
+
// Re-export everything from the new deployment module
|
|
8
|
+
export * from './deployment/index.js';
|
|
9
|
+
//# sourceMappingURL=direct-deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-deployment.js","sourceRoot":"","sources":["../../src/core/direct-deployment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sDAAsD;AACtD,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced error handling for TypeKro
|
|
3
|
+
* Provides detailed, actionable error messages with context
|
|
4
|
+
*/
|
|
5
|
+
export declare class TypeKroError extends Error {
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly context?: Record<string, unknown> | undefined;
|
|
8
|
+
constructor(message: string, code: string, context?: Record<string, unknown> | undefined);
|
|
9
|
+
}
|
|
10
|
+
export declare class ValidationError extends TypeKroError {
|
|
11
|
+
readonly resourceKind: string;
|
|
12
|
+
readonly resourceName: string;
|
|
13
|
+
readonly field?: string | undefined;
|
|
14
|
+
readonly suggestions?: string[] | undefined;
|
|
15
|
+
constructor(message: string, resourceKind: string, resourceName: string, field?: string | undefined, suggestions?: string[] | undefined);
|
|
16
|
+
}
|
|
17
|
+
export declare class TypeKroReferenceError extends TypeKroError {
|
|
18
|
+
readonly fromResource: string;
|
|
19
|
+
readonly toResource: string;
|
|
20
|
+
readonly fieldPath: string;
|
|
21
|
+
readonly suggestions?: string[] | undefined;
|
|
22
|
+
constructor(message: string, fromResource: string, toResource: string, fieldPath: string, suggestions?: string[] | undefined);
|
|
23
|
+
}
|
|
24
|
+
export declare class CircularDependencyError extends TypeKroError {
|
|
25
|
+
readonly cycle: string[];
|
|
26
|
+
readonly suggestions?: string[] | undefined;
|
|
27
|
+
constructor(message: string, cycle: string[], suggestions?: string[] | undefined);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Format Arktype validation errors with helpful context and suggestions
|
|
31
|
+
*/
|
|
32
|
+
export declare function formatArktypeError(error: any, resourceKind: string, resourceName: string, _spec: unknown): ValidationError;
|
|
33
|
+
/**
|
|
34
|
+
* Format reference resolution errors with helpful context
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatReferenceError(fromResourceId: string, toResourceId: string, fieldPath: string, availableResources: string[]): TypeKroReferenceError;
|
|
37
|
+
/**
|
|
38
|
+
* Format circular dependency errors with helpful context
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatCircularDependencyError(cycle: string[]): CircularDependencyError;
|
|
41
|
+
/**
|
|
42
|
+
|
|
43
|
+
* Error thrown when ResourceGraphDefinition deployment fails
|
|
44
|
+
*/
|
|
45
|
+
export declare class ResourceGraphFactoryError extends TypeKroError {
|
|
46
|
+
readonly factoryName: string;
|
|
47
|
+
readonly operation: 'deployment' | 'getInstance' | 'cleanup';
|
|
48
|
+
readonly cause?: Error | undefined;
|
|
49
|
+
constructor(message: string, factoryName: string, operation: 'deployment' | 'getInstance' | 'cleanup', cause?: Error | undefined);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Error thrown when CRD instance operations fail
|
|
53
|
+
*/
|
|
54
|
+
export declare class CRDInstanceError extends TypeKroError {
|
|
55
|
+
readonly apiVersion: string;
|
|
56
|
+
readonly kind: string;
|
|
57
|
+
readonly instanceName: string;
|
|
58
|
+
readonly operation: 'creation' | 'deletion' | 'statusResolution';
|
|
59
|
+
readonly cause?: Error | undefined;
|
|
60
|
+
constructor(message: string, apiVersion: string, kind: string, instanceName: string, operation: 'creation' | 'deletion' | 'statusResolution', cause?: Error | undefined);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Error thrown when schema validation fails for Kro compatibility
|
|
64
|
+
*/
|
|
65
|
+
export declare class KroSchemaValidationError extends TypeKroError {
|
|
66
|
+
readonly schemaType: 'spec' | 'status';
|
|
67
|
+
readonly fieldPath: string;
|
|
68
|
+
readonly expectedType: string;
|
|
69
|
+
readonly actualType: string;
|
|
70
|
+
readonly suggestions?: string[] | undefined;
|
|
71
|
+
constructor(message: string, schemaType: 'spec' | 'status', fieldPath: string, expectedType: string, actualType: string, suggestions?: string[] | undefined);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|