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,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization and Kro-related types
|
|
3
|
+
*/
|
|
4
|
+
import type { Type } from 'arktype';
|
|
5
|
+
import type { Enhanced } from './kubernetes.js';
|
|
6
|
+
import type { SchemaMagicProxy } from './references.js';
|
|
7
|
+
import type { MagicAssignable } from './common.js';
|
|
8
|
+
import type { DeploymentOptions, DeploymentResult, DeploymentOperationStatus, RollbackResult, AlchemyDeploymentOptions } from './resource-graph.js';
|
|
9
|
+
export type { Scope } from 'alchemy';
|
|
10
|
+
export interface KroResourceGraphDefinition {
|
|
11
|
+
apiVersion: 'kro.run/v1alpha1';
|
|
12
|
+
kind: 'ResourceGraphDefinition';
|
|
13
|
+
metadata: {
|
|
14
|
+
name: string;
|
|
15
|
+
namespace?: string;
|
|
16
|
+
};
|
|
17
|
+
spec: {
|
|
18
|
+
schema: KroSimpleSchema;
|
|
19
|
+
resources: KroResourceTemplate[];
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface KroSimpleSchema {
|
|
23
|
+
apiVersion: string;
|
|
24
|
+
kind: string;
|
|
25
|
+
spec: Record<string, string>;
|
|
26
|
+
status?: Record<string, string>;
|
|
27
|
+
}
|
|
28
|
+
export interface KroFieldDefinition {
|
|
29
|
+
type: string;
|
|
30
|
+
markers?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface KroResourceTemplate {
|
|
33
|
+
id: string;
|
|
34
|
+
template: unknown;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Valid Kro Simple Schema basic field types
|
|
38
|
+
* Based on: https://kro.run/docs/concepts/simple-schema/
|
|
39
|
+
*/
|
|
40
|
+
export type KroSchemaBasicType = 'string' | 'integer' | 'boolean' | 'float';
|
|
41
|
+
/**
|
|
42
|
+
* Recursive type for nested Kro schema structures with depth limit
|
|
43
|
+
* This models how Kro handles nested objects through custom types
|
|
44
|
+
*/
|
|
45
|
+
type KroNestedType<Depth extends number = 10> = Depth extends 0 ? never : {
|
|
46
|
+
[K in string]: KroSchemaBasicType | `[]${KroSchemaBasicType}` | `map[string]${KroSchemaBasicType}` | KroNestedType<Prev<Depth>> | `[]${string}` | `map[string]${string}`;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Helper type to decrement depth counter
|
|
50
|
+
*/
|
|
51
|
+
type Prev<T extends number> = T extends 10 ? 9 : T extends 9 ? 8 : T extends 8 ? 7 : T extends 7 ? 6 : T extends 6 ? 5 : T extends 5 ? 4 : T extends 4 ? 3 : T extends 3 ? 2 : T extends 2 ? 1 : T extends 1 ? 0 : never;
|
|
52
|
+
/**
|
|
53
|
+
* Valid Kro Simple Schema field types with proper nesting support
|
|
54
|
+
* This accurately models Kro's type system including nested objects
|
|
55
|
+
*/
|
|
56
|
+
export type KroSchemaFieldType = KroSchemaBasicType | `[]${KroSchemaBasicType}` | `[][]${KroSchemaBasicType}` | `[][][]${KroSchemaBasicType}` | `map[string]${KroSchemaBasicType}` | `map[string][]${KroSchemaBasicType}` | `[]map[string]${KroSchemaBasicType}` | `map[string]map[string]${KroSchemaBasicType}` | string;
|
|
57
|
+
/**
|
|
58
|
+
* Represents a complete Kro schema type definition that can include custom types
|
|
59
|
+
*/
|
|
60
|
+
export interface KroSchemaTypeDefinition {
|
|
61
|
+
/**
|
|
62
|
+
* Basic spec and status fields using simple field types
|
|
63
|
+
*/
|
|
64
|
+
spec?: Record<string, KroSchemaFieldType | KroSchemaField>;
|
|
65
|
+
status?: Record<string, KroSchemaFieldType | KroSchemaField>;
|
|
66
|
+
/**
|
|
67
|
+
* Custom type definitions for nested objects
|
|
68
|
+
* These enable complex nested structures while maintaining Kro compatibility
|
|
69
|
+
*/
|
|
70
|
+
types?: Record<string, KroNestedType>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* A Kro Simple Schema field definition with validation markers
|
|
74
|
+
*/
|
|
75
|
+
export interface KroSchemaField {
|
|
76
|
+
type: KroSchemaFieldType;
|
|
77
|
+
required?: boolean;
|
|
78
|
+
default?: string | number | boolean;
|
|
79
|
+
description?: string;
|
|
80
|
+
enum?: string;
|
|
81
|
+
minimum?: number;
|
|
82
|
+
maximum?: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Base type for values that are compatible with Kro schemas
|
|
86
|
+
*/
|
|
87
|
+
export type KroCompatibleValue<Depth extends number = 10> = Depth extends 0 ? never : string | number | boolean | string[] | number[] | boolean[] | string[][] | number[][] | boolean[][] | Record<string, string> | Record<string, number> | Record<string, boolean> | Record<string, string[]> | Record<string, number[]> | Record<string, boolean[]> | Record<string, string>[] | Record<string, number>[] | Record<string, boolean>[] | Record<string, Record<string, string>> | Record<string, Record<string, number>> | Record<string, Record<string, boolean>> | KroCompatibleType<Prev<Depth>>;
|
|
88
|
+
/**
|
|
89
|
+
* Constraint type for TypeScript types that can be used with Kro schemas
|
|
90
|
+
* This ensures only compatible types are used for spec and status, with proper nesting support up to 10 levels deep
|
|
91
|
+
*
|
|
92
|
+
* This is more flexible than a strict index signature to allow for specific interface definitions in tests
|
|
93
|
+
*/
|
|
94
|
+
export type KroCompatibleType<Depth extends number = 10> = Depth extends 0 ? never : Record<string, KroCompatibleValue<Depth>>;
|
|
95
|
+
/**
|
|
96
|
+
* The user-facing type for a schema proxy. It enables type-safe
|
|
97
|
+
* access to the spec and status fields of the CRD being defined.
|
|
98
|
+
*
|
|
99
|
+
* TSpec and TStatus should be compatible with Kro's Simple Schema format.
|
|
100
|
+
* We use a looser constraint to preserve specific field types from ArkType schemas.
|
|
101
|
+
*/
|
|
102
|
+
export type SchemaProxy<TSpec extends Record<string, any>, TStatus extends Record<string, any>> = {
|
|
103
|
+
spec: SchemaMagicProxy<TSpec>;
|
|
104
|
+
status: SchemaMagicProxy<TStatus>;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* A typed version of KroResourceGraphDefinition that includes type information
|
|
108
|
+
* for the spec and status schemas.
|
|
109
|
+
*
|
|
110
|
+
* TSpec and TStatus must be compatible with Kro's Simple Schema format.
|
|
111
|
+
*/
|
|
112
|
+
export interface TypedKroResourceGraphDefinition<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> extends Omit<KroResourceGraphDefinition, 'spec'> {
|
|
113
|
+
spec: {
|
|
114
|
+
schema: KroSimpleSchema & {
|
|
115
|
+
_typedSpec?: TSpec;
|
|
116
|
+
_typedStatus?: TStatus;
|
|
117
|
+
};
|
|
118
|
+
resources: KroResourceTemplate[];
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Base interface for resource graphs with deployment capabilities
|
|
123
|
+
*/
|
|
124
|
+
export interface ResourceGraphWithDeployment {
|
|
125
|
+
/**
|
|
126
|
+
* Deploy the resource graph to a Kubernetes cluster
|
|
127
|
+
*/
|
|
128
|
+
deploy(options?: DeploymentOptions): Promise<DeploymentResult>;
|
|
129
|
+
/**
|
|
130
|
+
* Deploy the resource graph through alchemy's resource management system
|
|
131
|
+
*/
|
|
132
|
+
deployWithAlchemy(scope: any, options?: AlchemyDeploymentOptions): Promise<DeploymentResult>;
|
|
133
|
+
/**
|
|
134
|
+
* Get the deployment status of this resource graph
|
|
135
|
+
*/
|
|
136
|
+
getStatus(): Promise<DeploymentOperationStatus>;
|
|
137
|
+
/**
|
|
138
|
+
* Rollback the deployment of this resource graph
|
|
139
|
+
*/
|
|
140
|
+
rollback(): Promise<RollbackResult>;
|
|
141
|
+
/**
|
|
142
|
+
* Perform a dry run deployment to validate the resource graph
|
|
143
|
+
*/
|
|
144
|
+
toDryRun(options?: DeploymentOptions): Promise<DeploymentResult>;
|
|
145
|
+
/**
|
|
146
|
+
* Generates the ResourceGraphDefinition YAML string.
|
|
147
|
+
*/
|
|
148
|
+
toYaml(): string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The enhanced return type for toResourceGraph. This is the factory object
|
|
152
|
+
* that holds the definition, schema, and utility methods.
|
|
153
|
+
*
|
|
154
|
+
* TSpec and TStatus must be compatible with Kro's Simple Schema format.
|
|
155
|
+
*/
|
|
156
|
+
export interface TypedResourceGraphFactory<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> extends ResourceGraphWithDeployment {
|
|
157
|
+
/**
|
|
158
|
+
* Creates a typed instance of the CRD defined by this ResourceGraphDefinition.
|
|
159
|
+
*/
|
|
160
|
+
getInstance(spec: TSpec): Enhanced<TSpec, TStatus>;
|
|
161
|
+
/**
|
|
162
|
+
* A proxy object for creating type-safe references to the CRD's own schema.
|
|
163
|
+
*/
|
|
164
|
+
schema: SchemaProxy<TSpec, TStatus>;
|
|
165
|
+
/**
|
|
166
|
+
* The underlying ResourceGraphDefinition object.
|
|
167
|
+
*/
|
|
168
|
+
definition: TypedKroResourceGraphDefinition<TSpec, TStatus>;
|
|
169
|
+
}
|
|
170
|
+
export interface SerializationOptions {
|
|
171
|
+
namespace?: string;
|
|
172
|
+
indent?: number;
|
|
173
|
+
lineWidth?: number;
|
|
174
|
+
noRefs?: boolean;
|
|
175
|
+
}
|
|
176
|
+
export interface SerializationContext {
|
|
177
|
+
celPrefix: string;
|
|
178
|
+
namespace?: string;
|
|
179
|
+
resourceIdStrategy: 'deterministic' | 'random';
|
|
180
|
+
}
|
|
181
|
+
export interface ResourceDependency {
|
|
182
|
+
from: string;
|
|
183
|
+
to: string;
|
|
184
|
+
field: string;
|
|
185
|
+
required: boolean;
|
|
186
|
+
}
|
|
187
|
+
export interface ValidationResult {
|
|
188
|
+
valid: boolean;
|
|
189
|
+
errors: string[];
|
|
190
|
+
}
|
|
191
|
+
export type MagicAssignableShape<T> = {
|
|
192
|
+
[K in keyof T]: T[K] extends object ? MagicAssignableShape<T[K]> : MagicAssignable<T[K]>;
|
|
193
|
+
};
|
|
194
|
+
export type ResourceBuilder<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> = (schema: SchemaProxy<TSpec, TStatus>) => Record<string, Enhanced<any, any>>;
|
|
195
|
+
export type StatusBuilderResources<TResources extends Record<string, Enhanced<any, any>>> = TResources;
|
|
196
|
+
export type StatusBuilder<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType, TResources extends Record<string, Enhanced<any, any>>> = (schema: SchemaProxy<TSpec, TStatus>, resources: TResources) => MagicAssignableShape<TStatus>;
|
|
197
|
+
export interface SchemaDefinition<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> {
|
|
198
|
+
apiVersion: string;
|
|
199
|
+
kind: string;
|
|
200
|
+
spec: Type<TSpec>;
|
|
201
|
+
status: Type<TStatus>;
|
|
202
|
+
}
|
|
203
|
+
export interface ResourceGraphDefinition<TSpec extends KroCompatibleType, TStatus extends KroCompatibleType> {
|
|
204
|
+
name: string;
|
|
205
|
+
apiVersion?: string;
|
|
206
|
+
kind: string;
|
|
207
|
+
spec: Type<TSpec>;
|
|
208
|
+
status: Type<TStatus>;
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=serialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/core/types/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/core/types/serialization.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export interface YamlFileSpec {
|
|
2
|
+
path: string;
|
|
3
|
+
}
|
|
4
|
+
export interface YamlFileStatus {
|
|
5
|
+
phase: 'Pending' | 'Loading' | 'Applied' | 'Ready' | 'Failed';
|
|
6
|
+
message?: string;
|
|
7
|
+
appliedResources?: Array<{
|
|
8
|
+
kind: string;
|
|
9
|
+
name: string;
|
|
10
|
+
namespace?: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
export interface YamlDirectorySpec {
|
|
14
|
+
path: string;
|
|
15
|
+
recursive: boolean;
|
|
16
|
+
include: string[];
|
|
17
|
+
exclude: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface YamlDirectoryStatus {
|
|
20
|
+
phase: 'Pending' | 'Processing' | 'Applied' | 'Ready' | 'Failed';
|
|
21
|
+
message?: string;
|
|
22
|
+
processedFiles: number;
|
|
23
|
+
totalFiles: number;
|
|
24
|
+
}
|
|
25
|
+
export interface KustomizationSpec {
|
|
26
|
+
interval: string;
|
|
27
|
+
sourceRef: {
|
|
28
|
+
kind: 'GitRepository' | 'Bucket' | 'OCIRepository';
|
|
29
|
+
name: string;
|
|
30
|
+
namespace?: string;
|
|
31
|
+
};
|
|
32
|
+
path?: string;
|
|
33
|
+
patches?: Array<{
|
|
34
|
+
target?: {
|
|
35
|
+
group?: string;
|
|
36
|
+
version?: string;
|
|
37
|
+
kind?: string;
|
|
38
|
+
name?: string;
|
|
39
|
+
namespace?: string;
|
|
40
|
+
labelSelector?: string;
|
|
41
|
+
annotationSelector?: string;
|
|
42
|
+
};
|
|
43
|
+
patch: string | Record<string, unknown>;
|
|
44
|
+
options?: {
|
|
45
|
+
allowNameChange?: boolean;
|
|
46
|
+
allowKindChange?: boolean;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
images?: Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
newName?: string;
|
|
52
|
+
newTag?: string;
|
|
53
|
+
digest?: string;
|
|
54
|
+
}>;
|
|
55
|
+
replicas?: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
count: number;
|
|
58
|
+
}>;
|
|
59
|
+
patchesStrategicMerge?: string[];
|
|
60
|
+
patchesJson6902?: Array<{
|
|
61
|
+
target: {
|
|
62
|
+
group?: string;
|
|
63
|
+
version?: string;
|
|
64
|
+
kind: string;
|
|
65
|
+
name: string;
|
|
66
|
+
namespace?: string;
|
|
67
|
+
};
|
|
68
|
+
path: string;
|
|
69
|
+
}>;
|
|
70
|
+
prune?: boolean;
|
|
71
|
+
wait?: boolean;
|
|
72
|
+
timeout?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface KustomizationStatus {
|
|
75
|
+
conditions?: Array<{
|
|
76
|
+
type: string;
|
|
77
|
+
status: string;
|
|
78
|
+
reason?: string;
|
|
79
|
+
message?: string;
|
|
80
|
+
lastTransitionTime?: string;
|
|
81
|
+
}>;
|
|
82
|
+
lastAppliedRevision?: string;
|
|
83
|
+
lastAttemptedRevision?: string;
|
|
84
|
+
observedGeneration?: number;
|
|
85
|
+
inventory?: {
|
|
86
|
+
entries: Array<{
|
|
87
|
+
id: string;
|
|
88
|
+
v: string;
|
|
89
|
+
}>;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=yaml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/core/types/yaml.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QACT,IAAI,EAAE,eAAe,GAAG,QAAQ,GAAG,eAAe,CAAC;QACnD,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;SAC7B,CAAC;QACF,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE;YACR,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,MAAM,EAAE;YACN,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,CAAC,EAAE,MAAM,CAAC;SACX,CAAC,CAAC;KACJ,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/core/types/yaml.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeKro Types - Backward Compatibility Bridge
|
|
3
|
+
*
|
|
4
|
+
* This file provides backward compatibility by re-exporting from the new
|
|
5
|
+
* types module structure.
|
|
6
|
+
*/
|
|
7
|
+
// Re-export everything from the new types module
|
|
8
|
+
export * from './types/index.js';
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CEL Expression Validator for Kro Compatibility
|
|
3
|
+
*
|
|
4
|
+
* This module validates CEL expressions to ensure they comply with Kro's requirements:
|
|
5
|
+
* 1. Status fields must reference actual resources (not hardcoded strings)
|
|
6
|
+
* 2. Resource IDs must be camelCase
|
|
7
|
+
* 3. All referenced resources must exist in the ResourceGraphDefinition
|
|
8
|
+
*/
|
|
9
|
+
import type { KubernetesResource } from '../types.js';
|
|
10
|
+
export interface CelValidationError {
|
|
11
|
+
field: string;
|
|
12
|
+
expression: string;
|
|
13
|
+
error: string;
|
|
14
|
+
suggestion?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CelValidationResult {
|
|
17
|
+
isValid: boolean;
|
|
18
|
+
errors: CelValidationError[];
|
|
19
|
+
warnings: CelValidationError[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Validates that a resource ID follows camelCase convention required by Kro
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateResourceId(id: string): {
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
error?: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Separates status mappings into static fields (can be hydrated directly) and dynamic fields (need Kro resolution)
|
|
30
|
+
*/
|
|
31
|
+
export declare function separateStatusFields(statusMappings: Record<string, any>): {
|
|
32
|
+
staticFields: Record<string, any>;
|
|
33
|
+
dynamicFields: Record<string, any>;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Validates CEL expressions in dynamic status fields to ensure they reference actual resources
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateStatusCelExpressions(statusMappings: Record<string, any>, resources: Record<string, KubernetesResource>): CelValidationResult;
|
|
39
|
+
/**
|
|
40
|
+
* Validates all resource IDs in a resource collection
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateResourceIds(resources: Record<string, KubernetesResource>): CelValidationResult;
|
|
43
|
+
/**
|
|
44
|
+
* Comprehensive validation for a complete ResourceGraphDefinition
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateResourceGraphDefinition(resources: Record<string, KubernetesResource>, statusMappings?: Record<string, any>): CelValidationResult;
|
|
47
|
+
//# sourceMappingURL=cel-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cel-validator.d.ts","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BnF;AAqDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACzE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,CA4BA;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAC5C,mBAAmB,CA4DrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,mBAAmB,CAqBtG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,mBAAmB,CAWrB"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CEL Expression Validator for Kro Compatibility
|
|
3
|
+
*
|
|
4
|
+
* This module validates CEL expressions to ensure they comply with Kro's requirements:
|
|
5
|
+
* 1. Status fields must reference actual resources (not hardcoded strings)
|
|
6
|
+
* 2. Resource IDs must be camelCase
|
|
7
|
+
* 3. All referenced resources must exist in the ResourceGraphDefinition
|
|
8
|
+
*/
|
|
9
|
+
import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
|
|
10
|
+
/**
|
|
11
|
+
* Validates that a resource ID follows camelCase convention required by Kro
|
|
12
|
+
*/
|
|
13
|
+
export function validateResourceId(id) {
|
|
14
|
+
// Check if it's camelCase (starts with lowercase, no hyphens, no underscores)
|
|
15
|
+
const camelCaseRegex = /^[a-z][a-zA-Z0-9]*$/;
|
|
16
|
+
if (!camelCaseRegex.test(id)) {
|
|
17
|
+
let suggestion = id;
|
|
18
|
+
// Convert kebab-case to camelCase
|
|
19
|
+
if (id.includes('-')) {
|
|
20
|
+
suggestion = id.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
21
|
+
}
|
|
22
|
+
// Convert snake_case to camelCase
|
|
23
|
+
if (id.includes('_')) {
|
|
24
|
+
suggestion = id.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
25
|
+
}
|
|
26
|
+
// Ensure first letter is lowercase
|
|
27
|
+
suggestion = suggestion.charAt(0).toLowerCase() + suggestion.slice(1);
|
|
28
|
+
return {
|
|
29
|
+
isValid: false,
|
|
30
|
+
error: `Resource ID '${id}' is not valid. Kro requires camelCase IDs. Suggested: '${suggestion}'`
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return { isValid: true };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Determines if a status field value requires Kro resolution (contains Kubernetes references or CEL expressions)
|
|
37
|
+
*/
|
|
38
|
+
function requiresKroResolution(value) {
|
|
39
|
+
if (isKubernetesRef(value)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if (isCelExpression(value)) {
|
|
43
|
+
// Check if the CEL expression contains resource references
|
|
44
|
+
const expression = value.expression;
|
|
45
|
+
const resourceRefPattern = /([a-zA-Z][a-zA-Z0-9]*)\.(status|spec|metadata)\./;
|
|
46
|
+
return resourceRefPattern.test(expression);
|
|
47
|
+
}
|
|
48
|
+
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
49
|
+
// Recursively check nested objects
|
|
50
|
+
return Object.values(value).some(requiresKroResolution);
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Separates a nested object into static and dynamic parts
|
|
56
|
+
*/
|
|
57
|
+
function separateNestedObject(obj) {
|
|
58
|
+
const staticPart = {};
|
|
59
|
+
const dynamicPart = {};
|
|
60
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
61
|
+
if (requiresKroResolution(value)) {
|
|
62
|
+
dynamicPart[key] = value;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
staticPart[key] = value;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
staticPart,
|
|
70
|
+
dynamicPart,
|
|
71
|
+
hasStatic: Object.keys(staticPart).length > 0,
|
|
72
|
+
hasDynamic: Object.keys(dynamicPart).length > 0
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Separates status mappings into static fields (can be hydrated directly) and dynamic fields (need Kro resolution)
|
|
77
|
+
*/
|
|
78
|
+
export function separateStatusFields(statusMappings) {
|
|
79
|
+
const staticFields = {};
|
|
80
|
+
const dynamicFields = {};
|
|
81
|
+
// Handle null/undefined inputs
|
|
82
|
+
if (!statusMappings || typeof statusMappings !== 'object') {
|
|
83
|
+
return { staticFields, dynamicFields };
|
|
84
|
+
}
|
|
85
|
+
for (const [fieldName, fieldValue] of Object.entries(statusMappings)) {
|
|
86
|
+
if (typeof fieldValue === 'object' && fieldValue !== null && !Array.isArray(fieldValue) && !isKubernetesRef(fieldValue) && !isCelExpression(fieldValue)) {
|
|
87
|
+
// Handle nested objects that might have mixed static/dynamic fields
|
|
88
|
+
const { staticPart, dynamicPart, hasStatic, hasDynamic } = separateNestedObject(fieldValue);
|
|
89
|
+
if (hasStatic) {
|
|
90
|
+
staticFields[fieldName] = staticPart;
|
|
91
|
+
}
|
|
92
|
+
if (hasDynamic) {
|
|
93
|
+
dynamicFields[fieldName] = dynamicPart;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else if (requiresKroResolution(fieldValue)) {
|
|
97
|
+
dynamicFields[fieldName] = fieldValue;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
staticFields[fieldName] = fieldValue;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return { staticFields, dynamicFields };
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validates CEL expressions in dynamic status fields to ensure they reference actual resources
|
|
107
|
+
*/
|
|
108
|
+
export function validateStatusCelExpressions(statusMappings, resources) {
|
|
109
|
+
const errors = [];
|
|
110
|
+
const warnings = [];
|
|
111
|
+
const resourceIds = new Set(Object.values(resources).map(r => r.id).filter(Boolean));
|
|
112
|
+
// Separate static and dynamic fields
|
|
113
|
+
const { staticFields, dynamicFields } = separateStatusFields(statusMappings);
|
|
114
|
+
// Only validate dynamic fields that will be sent to Kro
|
|
115
|
+
function validateExpression(fieldName, value) {
|
|
116
|
+
if (isCelExpression(value)) {
|
|
117
|
+
const expression = value.expression;
|
|
118
|
+
// Check for direct resource references (resourceId.status.field, resourceId.spec.field, resourceId.metadata.field)
|
|
119
|
+
// This is the most important validation - ensuring referenced resources actually exist
|
|
120
|
+
const directResourceRefPattern = /\b([a-zA-Z][a-zA-Z0-9]*)\.(status|spec|metadata)\./g;
|
|
121
|
+
let directMatch = directResourceRefPattern.exec(expression);
|
|
122
|
+
while (directMatch !== null) {
|
|
123
|
+
const referencedId = directMatch[1];
|
|
124
|
+
if (referencedId !== 'schema' && !resourceIds.has(referencedId)) {
|
|
125
|
+
errors.push({
|
|
126
|
+
field: fieldName,
|
|
127
|
+
expression,
|
|
128
|
+
error: `Referenced resource '${referencedId}' does not exist`,
|
|
129
|
+
suggestion: `Available resources: ${Array.from(resourceIds).join(', ')}`
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
directMatch = directResourceRefPattern.exec(expression);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else if (typeof value === 'object' && value !== null) {
|
|
136
|
+
// Recursively validate nested objects
|
|
137
|
+
for (const [key, nestedValue] of Object.entries(value)) {
|
|
138
|
+
validateExpression(`${fieldName}.${key}`, nestedValue);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Only validate dynamic fields
|
|
143
|
+
for (const [fieldName, fieldValue] of Object.entries(dynamicFields)) {
|
|
144
|
+
validateExpression(fieldName, fieldValue);
|
|
145
|
+
}
|
|
146
|
+
// Log info about field separation for debugging
|
|
147
|
+
const staticFieldNames = Object.keys(staticFields);
|
|
148
|
+
const _dynamicFieldNames = Object.keys(dynamicFields);
|
|
149
|
+
if (staticFieldNames.length > 0) {
|
|
150
|
+
warnings.push({
|
|
151
|
+
field: 'status',
|
|
152
|
+
expression: '',
|
|
153
|
+
error: `Static fields (${staticFieldNames.join(', ')}) will be hydrated directly, not sent to Kro`,
|
|
154
|
+
suggestion: 'This is normal behavior for fields without Kubernetes references'
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
isValid: errors.length === 0,
|
|
159
|
+
errors,
|
|
160
|
+
warnings
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Validates all resource IDs in a resource collection
|
|
165
|
+
*/
|
|
166
|
+
export function validateResourceIds(resources) {
|
|
167
|
+
const errors = [];
|
|
168
|
+
for (const [key, resource] of Object.entries(resources)) {
|
|
169
|
+
if (resource.id) {
|
|
170
|
+
const validation = validateResourceId(resource.id);
|
|
171
|
+
if (!validation.isValid) {
|
|
172
|
+
errors.push({
|
|
173
|
+
field: `resources.${key}.id`,
|
|
174
|
+
expression: resource.id,
|
|
175
|
+
error: validation.error
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
isValid: errors.length === 0,
|
|
182
|
+
errors,
|
|
183
|
+
warnings: []
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Comprehensive validation for a complete ResourceGraphDefinition
|
|
188
|
+
*/
|
|
189
|
+
export function validateResourceGraphDefinition(resources, statusMappings) {
|
|
190
|
+
const resourceIdValidation = validateResourceIds(resources);
|
|
191
|
+
const statusValidation = statusMappings
|
|
192
|
+
? validateStatusCelExpressions(statusMappings, resources)
|
|
193
|
+
: { isValid: true, errors: [], warnings: [] };
|
|
194
|
+
return {
|
|
195
|
+
isValid: resourceIdValidation.isValid && statusValidation.isValid,
|
|
196
|
+
errors: [...resourceIdValidation.errors, ...statusValidation.errors],
|
|
197
|
+
warnings: [...resourceIdValidation.warnings, ...statusValidation.warnings]
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=cel-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cel-validator.js","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* YAML processing utilities for TypeKro
|
|
3
|
+
*/
|
|
4
|
+
export { PathResolver, pathResolver, type GitPathInfo, type ResolvedContent, type DiscoveredFile, YamlPathResolutionError, GitContentError, YamlProcessingError, } from './path-resolver.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/yaml/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/yaml/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,YAAY,EAIZ,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|