typekro 0.28.0 → 0.29.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/dist/.tsbuildinfo +1 -1
- package/dist/advanced/index.d.ts +5 -1
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +2 -3
- package/dist/advanced/index.js.map +1 -1
- package/dist/alchemy/deployers.d.ts +6 -4
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +46 -9
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/index.d.ts +2 -3
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +1 -1
- package/dist/alchemy/index.js.map +1 -1
- package/dist/alchemy/kro-delete.d.ts +6 -5
- package/dist/alchemy/kro-delete.d.ts.map +1 -1
- package/dist/alchemy/kro-delete.js +169 -22
- package/dist/alchemy/kro-delete.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts +24 -31
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +439 -75
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/types.d.ts +56 -14
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/alchemy/utilities.d.ts +2 -2
- package/dist/alchemy/utilities.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +31 -28
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +12 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
- package/dist/core/composition/analysis-metadata.d.ts +15 -0
- package/dist/core/composition/analysis-metadata.d.ts.map +1 -0
- package/dist/core/composition/analysis-metadata.js +20 -0
- package/dist/core/composition/analysis-metadata.js.map +1 -0
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +38 -9
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/nested-status-cel.js +3 -3
- package/dist/core/composition/nested-status-cel.js.map +1 -1
- package/dist/core/constants/brands.d.ts +1 -1
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +1 -1
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts +3 -1
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +29 -13
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/deletion-result.d.ts +22 -0
- package/dist/core/deployment/deletion-result.d.ts.map +1 -0
- package/dist/core/deployment/deletion-result.js +108 -0
- package/dist/core/deployment/deletion-result.js.map +1 -0
- package/dist/core/deployment/deployment-state-discovery.d.ts +1 -0
- package/dist/core/deployment/deployment-state-discovery.d.ts.map +1 -1
- package/dist/core/deployment/deployment-state-discovery.js +89 -9
- package/dist/core/deployment/deployment-state-discovery.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +46 -25
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +536 -126
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +4 -1
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +105 -34
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/errors.d.ts +20 -1
- package/dist/core/deployment/errors.d.ts.map +1 -1
- package/dist/core/deployment/errors.js +55 -0
- package/dist/core/deployment/errors.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +4 -3
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +17 -5
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/index.d.ts +1 -1
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +1 -1
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
- package/dist/core/deployment/k8s-helpers.js +11 -5
- package/dist/core/deployment/k8s-helpers.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +54 -30
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +2002 -259
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-instance-admission.d.ts +17 -0
- package/dist/core/deployment/kro-instance-admission.d.ts.map +1 -0
- package/dist/core/deployment/kro-instance-admission.js +73 -0
- package/dist/core/deployment/kro-instance-admission.js.map +1 -0
- package/dist/core/deployment/kro-instance-safety.d.ts +0 -3
- package/dist/core/deployment/kro-instance-safety.d.ts.map +1 -1
- package/dist/core/deployment/kro-instance-safety.js +0 -11
- package/dist/core/deployment/kro-instance-safety.js.map +1 -1
- package/dist/core/deployment/kro-namespace-teardown.d.ts +63 -5
- package/dist/core/deployment/kro-namespace-teardown.d.ts.map +1 -1
- package/dist/core/deployment/kro-namespace-teardown.js +124 -12
- package/dist/core/deployment/kro-namespace-teardown.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts +2 -0
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
- package/dist/core/deployment/kro-readiness.js +50 -8
- package/dist/core/deployment/kro-readiness.js.map +1 -1
- package/dist/core/deployment/poll-timeout.d.ts +45 -0
- package/dist/core/deployment/poll-timeout.d.ts.map +1 -0
- package/dist/core/deployment/poll-timeout.js +78 -0
- package/dist/core/deployment/poll-timeout.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts.map +1 -1
- package/dist/core/deployment/readiness.js +30 -21
- package/dist/core/deployment/readiness.js.map +1 -1
- package/dist/core/deployment/resource-applier.d.ts +19 -3
- package/dist/core/deployment/resource-applier.d.ts.map +1 -1
- package/dist/core/deployment/resource-applier.js +263 -44
- package/dist/core/deployment/resource-applier.js.map +1 -1
- package/dist/core/deployment/rollback-manager.d.ts +6 -1
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +38 -12
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/schema-cel-evaluator.d.ts.map +1 -1
- package/dist/core/deployment/schema-cel-evaluator.js +63 -0
- package/dist/core/deployment/schema-cel-evaluator.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +11 -6
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +169 -14
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/singleton-gitops.d.ts.map +1 -1
- package/dist/core/deployment/singleton-gitops.js +0 -2
- package/dist/core/deployment/singleton-gitops.js.map +1 -1
- package/dist/core/deployment/singleton-owner-drift.d.ts +11 -2
- package/dist/core/deployment/singleton-owner-drift.d.ts.map +1 -1
- package/dist/core/deployment/singleton-owner-drift.js +30 -13
- package/dist/core/deployment/singleton-owner-drift.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +2 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +19 -2
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +3 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +31 -8
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/index.d.ts +1 -1
- package/dist/core/deployment/strategies/index.d.ts.map +1 -1
- package/dist/core/deployment/strategies/index.js +1 -1
- package/dist/core/deployment/strategies/index.js.map +1 -1
- package/dist/core/errors.d.ts +2 -2
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analysis/cel-emitter.d.ts.map +1 -1
- package/dist/core/expressions/analysis/cel-emitter.js +17 -13
- package/dist/core/expressions/analysis/cel-emitter.js.map +1 -1
- package/dist/core/expressions/analysis/expression-metadata.d.ts +15 -0
- package/dist/core/expressions/analysis/expression-metadata.d.ts.map +1 -0
- package/dist/core/expressions/analysis/expression-metadata.js +10 -0
- package/dist/core/expressions/analysis/expression-metadata.js.map +1 -0
- package/dist/core/expressions/analysis/ready-when.d.ts +3 -0
- package/dist/core/expressions/analysis/ready-when.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ready-when.js +127 -0
- package/dist/core/expressions/analysis/ready-when.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +3 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +6 -4
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +3 -2
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +12 -12
- package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.js +68 -4
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +2 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +2 -0
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.js +14 -1
- package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -1
- package/dist/core/kubernetes/api.d.ts.map +1 -1
- package/dist/core/kubernetes/api.js +2 -3
- package/dist/core/kubernetes/api.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.d.ts +1 -1
- package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-api-client.js +17 -17
- package/dist/core/kubernetes/bun-api-client.js.map +1 -1
- package/dist/core/kubernetes/bun-http-library.d.ts +16 -0
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-http-library.js +7 -1
- package/dist/core/kubernetes/bun-http-library.js.map +1 -1
- package/dist/core/kubernetes/bun-watch.d.ts +30 -0
- package/dist/core/kubernetes/bun-watch.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-watch.js +144 -0
- package/dist/core/kubernetes/bun-watch.js.map +1 -0
- package/dist/core/kubernetes/client-node-runtime.d.ts +10 -0
- package/dist/core/kubernetes/client-node-runtime.d.ts.map +1 -0
- package/dist/core/kubernetes/client-node-runtime.js +15 -0
- package/dist/core/kubernetes/client-node-runtime.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +21 -1
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +10 -10
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/kubernetes/index.d.ts +1 -1
- package/dist/core/kubernetes/index.d.ts.map +1 -1
- package/dist/core/kubernetes/index.js.map +1 -1
- package/dist/core/metadata/resource-metadata.d.ts +24 -1
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.js +8 -4
- package/dist/core/metadata/resource-metadata.js.map +1 -1
- package/dist/core/planning/artifact-codec.d.ts +14 -0
- package/dist/core/planning/artifact-codec.d.ts.map +1 -0
- package/dist/core/planning/artifact-codec.js +329 -0
- package/dist/core/planning/artifact-codec.js.map +1 -0
- package/dist/core/planning/artifacts.d.ts +212 -0
- package/dist/core/planning/artifacts.d.ts.map +1 -0
- package/dist/core/planning/artifacts.js +5 -0
- package/dist/core/planning/artifacts.js.map +1 -0
- package/dist/core/planning/aspects.d.ts +11 -0
- package/dist/core/planning/aspects.d.ts.map +1 -0
- package/dist/core/planning/aspects.js +77 -0
- package/dist/core/planning/aspects.js.map +1 -0
- package/dist/core/planning/canonical.d.ts +10 -0
- package/dist/core/planning/canonical.d.ts.map +1 -0
- package/dist/core/planning/canonical.js +54 -0
- package/dist/core/planning/canonical.js.map +1 -0
- package/dist/core/planning/capabilities.d.ts +16 -0
- package/dist/core/planning/capabilities.d.ts.map +1 -0
- package/dist/core/planning/capabilities.js +90 -0
- package/dist/core/planning/capabilities.js.map +1 -0
- package/dist/core/planning/capture.d.ts +29 -0
- package/dist/core/planning/capture.d.ts.map +1 -0
- package/dist/core/planning/capture.js +18 -0
- package/dist/core/planning/capture.js.map +1 -0
- package/dist/core/planning/compiler.d.ts +12 -0
- package/dist/core/planning/compiler.d.ts.map +1 -0
- package/dist/core/planning/compiler.js +631 -0
- package/dist/core/planning/compiler.js.map +1 -0
- package/dist/core/planning/direct-runtime-adapter.d.ts +39 -0
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -0
- package/dist/core/planning/direct-runtime-adapter.js +238 -0
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -0
- package/dist/core/planning/execution-record.d.ts +21 -0
- package/dist/core/planning/execution-record.d.ts.map +1 -0
- package/dist/core/planning/execution-record.js +304 -0
- package/dist/core/planning/execution-record.js.map +1 -0
- package/dist/core/planning/index.d.ts +20 -0
- package/dist/core/planning/index.d.ts.map +1 -0
- package/dist/core/planning/index.js +18 -0
- package/dist/core/planning/index.js.map +1 -0
- package/dist/core/planning/kro-bundle.d.ts +24 -0
- package/dist/core/planning/kro-bundle.d.ts.map +1 -0
- package/dist/core/planning/kro-bundle.js +314 -0
- package/dist/core/planning/kro-bundle.js.map +1 -0
- package/dist/core/planning/kro-runtime-adapter.d.ts +28 -0
- package/dist/core/planning/kro-runtime-adapter.d.ts.map +1 -0
- package/dist/core/planning/kro-runtime-adapter.js +211 -0
- package/dist/core/planning/kro-runtime-adapter.js.map +1 -0
- package/dist/core/planning/materialization.d.ts +54 -0
- package/dist/core/planning/materialization.d.ts.map +1 -0
- package/dist/core/planning/materialization.js +489 -0
- package/dist/core/planning/materialization.js.map +1 -0
- package/dist/core/planning/plan-codec.d.ts +11 -0
- package/dist/core/planning/plan-codec.d.ts.map +1 -0
- package/dist/core/planning/plan-codec.js +555 -0
- package/dist/core/planning/plan-codec.js.map +1 -0
- package/dist/core/planning/planner.d.ts +21 -0
- package/dist/core/planning/planner.d.ts.map +1 -0
- package/dist/core/planning/planner.js +1518 -0
- package/dist/core/planning/planner.js.map +1 -0
- package/dist/core/planning/schema.d.ts +10 -0
- package/dist/core/planning/schema.d.ts.map +1 -0
- package/dist/core/planning/schema.js +159 -0
- package/dist/core/planning/schema.js.map +1 -0
- package/dist/core/planning/types.d.ts +441 -0
- package/dist/core/planning/types.d.ts.map +1 -0
- package/dist/core/planning/types.js +3 -0
- package/dist/core/planning/types.js.map +1 -0
- package/dist/core/planning/values.d.ts +76 -0
- package/dist/core/planning/values.d.ts.map +1 -0
- package/dist/core/planning/values.js +852 -0
- package/dist/core/planning/values.js.map +1 -0
- package/dist/core/proxy/create-resource.d.ts +12 -0
- package/dist/core/proxy/create-resource.d.ts.map +1 -1
- package/dist/core/proxy/create-resource.js +39 -9
- package/dist/core/proxy/create-resource.js.map +1 -1
- package/dist/core/readiness/evaluator-factories.d.ts +3 -1
- package/dist/core/readiness/evaluator-factories.d.ts.map +1 -1
- package/dist/core/readiness/evaluator-factories.js +130 -5
- package/dist/core/readiness/evaluator-factories.js.map +1 -1
- package/dist/core/readiness/index.d.ts +2 -1
- package/dist/core/readiness/index.d.ts.map +1 -1
- package/dist/core/readiness/index.js +2 -1
- package/dist/core/readiness/index.js.map +1 -1
- package/dist/core/readiness/portable-strategies.d.ts +28 -0
- package/dist/core/readiness/portable-strategies.d.ts.map +1 -0
- package/dist/core/readiness/portable-strategies.js +55 -0
- package/dist/core/readiness/portable-strategies.js.map +1 -0
- package/dist/core/readiness/strategy-configuration.d.ts +12 -0
- package/dist/core/readiness/strategy-configuration.d.ts.map +1 -0
- package/dist/core/readiness/strategy-configuration.js +51 -0
- package/dist/core/readiness/strategy-configuration.js.map +1 -0
- package/dist/core/references/cel-evaluator.d.ts +5 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +33 -2
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +2 -0
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +3 -1
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/resolver.d.ts +7 -1
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +91 -9
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +35 -21
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/resources/factory-registry.d.ts +64 -2
- package/dist/core/resources/factory-registry.d.ts.map +1 -1
- package/dist/core/resources/factory-registry.js +74 -3
- package/dist/core/resources/factory-registry.js.map +1 -1
- package/dist/core/resources/index.d.ts +3 -2
- package/dist/core/resources/index.d.ts.map +1 -1
- package/dist/core/resources/index.js +2 -1
- package/dist/core/resources/index.js.map +1 -1
- package/dist/core/resources/live-comparison.d.ts +58 -0
- package/dist/core/resources/live-comparison.d.ts.map +1 -0
- package/dist/core/resources/live-comparison.js +293 -0
- package/dist/core/resources/live-comparison.js.map +1 -0
- package/dist/core/runtime/standalone-operation.d.ts +12 -0
- package/dist/core/runtime/standalone-operation.d.ts.map +1 -0
- package/dist/core/runtime/standalone-operation.js +62 -0
- package/dist/core/runtime/standalone-operation.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +11 -1
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +277 -182
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +3 -3
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.js +14 -11
- package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +5 -1
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +35 -182
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/deployment.d.ts +135 -14
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/kubernetes.d.ts +3 -0
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/resource-graph.d.ts +7 -1
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +8 -1
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +25 -16
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/experimental-planning.d.ts +13 -0
- package/dist/experimental-planning.d.ts.map +1 -0
- package/dist/experimental-planning.js +12 -0
- package/dist/experimental-planning.js.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +27 -22
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-helm-repository.d.ts +15 -0
- package/dist/factories/apisix/compositions/apisix-helm-repository.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/apisix-helm-repository.js +28 -0
- package/dist/factories/apisix/compositions/apisix-helm-repository.js.map +1 -0
- package/dist/factories/apisix/compositions/index.d.ts +1 -0
- package/dist/factories/apisix/compositions/index.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/index.js +1 -0
- package/dist/factories/apisix/compositions/index.js.map +1 -1
- package/dist/factories/apisix/types.d.ts +22 -0
- package/dist/factories/apisix/types.d.ts.map +1 -1
- package/dist/factories/apisix/types.js +16 -0
- package/dist/factories/apisix/types.js.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.d.ts +1 -0
- package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.js +5 -4
- package/dist/factories/apisix/utils/admin-credentials.js.map +1 -1
- package/dist/factories/caddy/compositions/caddy-ingress.d.ts.map +1 -1
- package/dist/factories/caddy/compositions/caddy-ingress.js +9 -2
- package/dist/factories/caddy/compositions/caddy-ingress.js.map +1 -1
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -1
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +11 -25
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -1
- package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -1
- package/dist/factories/cert-manager/resources/certificates.js +2 -1
- package/dist/factories/cert-manager/resources/certificates.js.map +1 -1
- package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -1
- package/dist/factories/cert-manager/resources/challenges.js +3 -0
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -1
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +4 -4
- package/dist/factories/cilium/resources/gateway.d.ts.map +1 -1
- package/dist/factories/cilium/resources/gateway.js +13 -12
- package/dist/factories/cilium/resources/gateway.js.map +1 -1
- package/dist/factories/cilium/resources/networking.d.ts.map +1 -1
- package/dist/factories/cilium/resources/networking.js +9 -0
- package/dist/factories/cilium/resources/networking.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +2 -1
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +2 -6
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js.map +1 -1
- package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/installation.js +2 -0
- package/dist/factories/clickhouse/resources/installation.js.map +1 -1
- package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/keeper.js +2 -0
- package/dist/factories/clickhouse/resources/keeper.js.map +1 -1
- package/dist/factories/clickhouse/types.d.ts +5 -2
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js +2 -1
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +4 -2
- package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts.map +1 -1
- package/dist/factories/clickstack/compositions/k8s-telemetry.js +2 -5
- package/dist/factories/clickstack/compositions/k8s-telemetry.js.map +1 -1
- package/dist/factories/clickstack/types.d.ts +2 -1
- package/dist/factories/clickstack/types.d.ts.map +1 -1
- package/dist/factories/clickstack/types.js +3 -1
- package/dist/factories/clickstack/types.js.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +2 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +3 -8
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -1
- package/dist/factories/cnpg/resources/backup.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/backup.js +2 -0
- package/dist/factories/cnpg/resources/backup.js.map +1 -1
- package/dist/factories/cnpg/resources/cluster.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/cluster.js +2 -1
- package/dist/factories/cnpg/resources/cluster.js.map +1 -1
- package/dist/factories/cnpg/resources/pooler.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/pooler.js +2 -0
- package/dist/factories/cnpg/resources/pooler.js.map +1 -1
- package/dist/factories/cnpg/resources/scheduled-backup.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/scheduled-backup.js +2 -1
- package/dist/factories/cnpg/resources/scheduled-backup.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +6 -3
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js +2 -1
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts +2 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts.map +1 -1
- package/dist/factories/dagster/types.d.ts +5 -0
- package/dist/factories/dagster/types.d.ts.map +1 -1
- package/dist/factories/dagster/types.js +1 -0
- package/dist/factories/dagster/types.js.map +1 -1
- package/dist/factories/dagster/utils/helm-values-mapper.js +3 -0
- package/dist/factories/dagster/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +7 -4
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.js +20 -18
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -1
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js +41 -34
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +0 -6
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js +12 -2
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/harbor/compositions/harbor-installation.d.ts +46 -38
- package/dist/factories/harbor/compositions/harbor-installation.d.ts.map +1 -1
- package/dist/factories/harbor/compositions/harbor-installation.js +4 -2
- package/dist/factories/harbor/compositions/harbor-installation.js.map +1 -1
- package/dist/factories/harbor/types.d.ts +13 -11
- package/dist/factories/harbor/types.d.ts.map +1 -1
- package/dist/factories/harbor/types.js +11 -9
- package/dist/factories/harbor/types.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js +14 -1
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/index.d.ts +2 -0
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/index.js +1 -0
- package/dist/factories/helm/index.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +46 -7
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/status.d.ts +18 -0
- package/dist/factories/helm/status.d.ts.map +1 -0
- package/dist/factories/helm/status.js +38 -0
- package/dist/factories/helm/status.js.map +1 -0
- package/dist/factories/index.d.ts +2 -2
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -4
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +2 -4
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/inngest/resources/helm.d.ts.map +1 -1
- package/dist/factories/inngest/resources/helm.js +12 -3
- package/dist/factories/inngest/resources/helm.js.map +1 -1
- package/dist/factories/inngest/types.d.ts +3 -7
- package/dist/factories/inngest/types.d.ts.map +1 -1
- package/dist/factories/inngest/types.js +1 -1
- package/dist/factories/inngest/types.js.map +1 -1
- package/dist/factories/kro/kro-crd.d.ts.map +1 -1
- package/dist/factories/kro/kro-crd.js +32 -33
- package/dist/factories/kro/kro-crd.js.map +1 -1
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -1
- package/dist/factories/kro/kro-custom-resource.js +91 -85
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +127 -117
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js +27 -26
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +22 -22
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js +41 -39
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/component-status.js +14 -16
- package/dist/factories/kubernetes/core/component-status.js.map +1 -1
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/namespace.js +31 -38
- package/dist/factories/kubernetes/core/namespace.js.map +1 -1
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/node.js +17 -25
- package/dist/factories/kubernetes/core/node.js.map +1 -1
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/pod.js +31 -35
- package/dist/factories/kubernetes/core/pod.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js +34 -36
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.js +2 -4
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.js +29 -30
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.js +46 -57
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.d.ts +9 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.js +51 -1
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +48 -40
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +40 -46
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.js +30 -34
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +22 -21
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.js +32 -38
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.js +12 -11
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.js +39 -34
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.js +24 -23
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.js +45 -35
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/job.js +87 -77
- package/dist/factories/kubernetes/workloads/job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.js +24 -24
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.js +37 -26
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.js +69 -55
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-artifact-applier.d.ts +15 -0
- package/dist/factories/kubernetes/yaml/yaml-artifact-applier.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-artifact-applier.js +69 -0
- package/dist/factories/kubernetes/yaml/yaml-artifact-applier.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +2 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +3 -34
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +13 -91
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +21 -311
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/nats/compositions/nats-bootstrap.d.ts +2 -2
- package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -1
- package/dist/factories/nats/compositions/nats-bootstrap.js +2 -3
- package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -1
- package/dist/factories/nats/resources/jetstream.d.ts.map +1 -1
- package/dist/factories/nats/resources/jetstream.js +2 -0
- package/dist/factories/nats/resources/jetstream.js.map +1 -1
- package/dist/factories/nats/types.d.ts +3 -3
- package/dist/factories/nats/types.js +1 -1
- package/dist/factories/nats/types.js.map +1 -1
- package/dist/factories/ory/compositions/ory-platform-stack.d.ts.map +1 -1
- package/dist/factories/ory/compositions/ory-platform-stack.js +35 -9
- package/dist/factories/ory/compositions/ory-platform-stack.js.map +1 -1
- package/dist/factories/ory/resources/oathkeeper-rule.d.ts.map +1 -1
- package/dist/factories/ory/resources/oathkeeper-rule.js +11 -8
- package/dist/factories/ory/resources/oathkeeper-rule.js.map +1 -1
- package/dist/factories/ory/resources/oauth2-client.d.ts.map +1 -1
- package/dist/factories/ory/resources/oauth2-client.js +12 -9
- package/dist/factories/ory/resources/oauth2-client.js.map +1 -1
- package/dist/factories/ory/types.d.ts +3 -0
- package/dist/factories/ory/types.d.ts.map +1 -1
- package/dist/factories/ory/types.js +1 -0
- package/dist/factories/ory/types.js.map +1 -1
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts +2 -2
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts.map +1 -1
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.js +2 -3
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.js.map +1 -1
- package/dist/factories/rook/resources/ceph-object-store-user.d.ts.map +1 -1
- package/dist/factories/rook/resources/ceph-object-store-user.js +2 -0
- package/dist/factories/rook/resources/ceph-object-store-user.js.map +1 -1
- package/dist/factories/rook/resources/ceph-object-store.d.ts.map +1 -1
- package/dist/factories/rook/resources/ceph-object-store.js +2 -0
- package/dist/factories/rook/resources/ceph-object-store.js.map +1 -1
- package/dist/factories/rook/resources/object-bucket-claim.d.ts.map +1 -1
- package/dist/factories/rook/resources/object-bucket-claim.js +2 -0
- package/dist/factories/rook/resources/object-bucket-claim.js.map +1 -1
- package/dist/factories/rook/types.d.ts +1 -1
- package/dist/factories/rook/types.js +1 -1
- package/dist/factories/rook/types.js.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +2 -2
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/resources/searxng.d.ts.map +1 -1
- package/dist/factories/searxng/resources/searxng.js +2 -0
- package/dist/factories/searxng/resources/searxng.js.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +2 -2
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.js +4 -9
- package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
- package/dist/factories/valkey/resources/valkey.d.ts.map +1 -1
- package/dist/factories/valkey/resources/valkey.js +2 -1
- package/dist/factories/valkey/resources/valkey.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +3 -7
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js +1 -1
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +3 -2
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +7 -6
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/factories/webapp/types.d.ts +1 -0
- package/dist/factories/webapp/types.d.ts.map +1 -1
- package/dist/factories/webapp/types.js +2 -0
- package/dist/factories/webapp/types.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +7 -0
- package/dist/shared/brands.d.ts.map +1 -1
- package/dist/shared/brands.js +7 -0
- package/dist/shared/brands.js.map +1 -1
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.js.map +1 -1
- package/package.json +20 -5
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts +0 -23
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts.map +0 -1
- package/dist/factories/kubernetes/yaml/conflict-handler.js +0 -83
- package/dist/factories/kubernetes/yaml/conflict-handler.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { TypeKroError } from '../errors.js';
|
|
2
|
+
const evaluatorStrategies = new WeakMap();
|
|
3
|
+
const runtimeClassifications = new WeakMap();
|
|
4
|
+
const strategyResolvers = new Map();
|
|
5
|
+
function strategyKey(id, revision) {
|
|
6
|
+
return `${id}@${revision}`;
|
|
7
|
+
}
|
|
8
|
+
/** Register one stable readiness implementation that can be reconstructed from canonical data. */
|
|
9
|
+
export function registerPortableReadinessStrategy(id, revision, resolver) {
|
|
10
|
+
const key = strategyKey(id, revision);
|
|
11
|
+
const existing = strategyResolvers.get(key);
|
|
12
|
+
if (existing && existing !== resolver) {
|
|
13
|
+
throw new TypeKroError(`Portable readiness strategy ${key} is already registered with a different resolver.`, 'READINESS_STRATEGY_CONFLICT', { id, revision });
|
|
14
|
+
}
|
|
15
|
+
strategyResolvers.set(key, resolver);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Register one configuration-free deterministic evaluator.
|
|
19
|
+
*
|
|
20
|
+
* This is the concise path for factory-local evaluators whose complete input
|
|
21
|
+
* is the observed Kubernetes object. Parameterized evaluator families should
|
|
22
|
+
* continue to register an explicit resolver and canonical configuration.
|
|
23
|
+
*/
|
|
24
|
+
export function registerPortableReadinessEvaluator(id, revision, evaluator) {
|
|
25
|
+
const resolver = () => evaluator;
|
|
26
|
+
registerPortableReadinessStrategy(id, revision, resolver);
|
|
27
|
+
return identifyPortableReadinessEvaluator(evaluator, {
|
|
28
|
+
kind: 'registered',
|
|
29
|
+
id,
|
|
30
|
+
revision,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** Attach stable semantic identity to an evaluator while retaining its normal callable API. */
|
|
34
|
+
export function identifyPortableReadinessEvaluator(evaluator, strategy) {
|
|
35
|
+
evaluatorStrategies.set(evaluator, strategy);
|
|
36
|
+
return evaluator;
|
|
37
|
+
}
|
|
38
|
+
/** Mark an evaluator as intentionally process-local and record why it is not portable. */
|
|
39
|
+
export function identifyRuntimeReadinessEvaluator(evaluator, classification) {
|
|
40
|
+
runtimeClassifications.set(evaluator, classification);
|
|
41
|
+
return evaluator;
|
|
42
|
+
}
|
|
43
|
+
/** Return the serializable strategy represented by an evaluator, when one exists. */
|
|
44
|
+
export function getPortableReadinessStrategy(evaluator) {
|
|
45
|
+
return evaluatorStrategies.get(evaluator);
|
|
46
|
+
}
|
|
47
|
+
/** Return the explicit non-portability reason attached to a runtime evaluator. */
|
|
48
|
+
export function getRuntimeReadinessClassification(evaluator) {
|
|
49
|
+
return runtimeClassifications.get(evaluator);
|
|
50
|
+
}
|
|
51
|
+
/** Reconstruct a registered evaluator after a canonical artifact JSON round trip. */
|
|
52
|
+
export function resolvePortableReadinessStrategy(strategy) {
|
|
53
|
+
return strategyResolvers.get(strategyKey(strategy.id, strategy.revision))?.(strategy.configuration);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=portable-strategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portable-strategies.js","sourceRoot":"","sources":["../../../src/core/readiness/portable-strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAa5C,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAyC,CAAC;AACjF,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAqD,CAAC;AAChG,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE9D,SAAS,WAAW,CAAC,EAAU,EAAE,QAAgB;IAC/C,OAAO,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iCAAiC,CAC/C,EAAU,EACV,QAAgB,EAChB,QAA0B;IAE1B,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,YAAY,CACpB,+BAA+B,GAAG,mDAAmD,EACrF,6BAA6B,EAC7B,EAAE,EAAE,EAAE,QAAQ,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CAChD,EAAU,EACV,QAAgB,EAChB,SAAgC;IAEhC,MAAM,QAAQ,GAAqB,GAAG,EAAE,CAAC,SAAwC,CAAC;IAClF,iCAAiC,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO,kCAAkC,CAAC,SAAS,EAAE;QACnD,IAAI,EAAE,YAAY;QAClB,EAAE;QACF,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,kCAAkC,CAChD,SAAgC,EAChC,QAA4B;IAE5B,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,iCAAiC,CAC/C,SAAgC,EAChC,cAA8C;IAE9C,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,4BAA4B,CAC1C,SAAsC;IAEtC,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iCAAiC,CAC/C,SAAsC;IAEtC,OAAO,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gCAAgC,CAC9C,QAA4B;IAE5B,OAAO,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CACzE,QAAQ,CAAC,aAAa,CACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PlanValue } from '../planning/types.js';
|
|
2
|
+
type LiteralValue = string | number | boolean | null;
|
|
3
|
+
export declare function readinessLiteral(value: LiteralValue): PlanValue;
|
|
4
|
+
export declare function readinessConfiguration(entries: Readonly<Record<string, PlanValue | undefined>>): PlanValue;
|
|
5
|
+
export declare function optionalReadinessString(configuration: PlanValue | undefined, key: string): string | undefined;
|
|
6
|
+
export declare function requiredReadinessString(configuration: PlanValue | undefined, key: string): string;
|
|
7
|
+
export declare function optionalReadinessNumber(configuration: PlanValue | undefined, key: string): number | undefined;
|
|
8
|
+
export declare function optionalReadinessBoolean(configuration: PlanValue | undefined, key: string): boolean | undefined;
|
|
9
|
+
export declare function requiredReadinessNumber(configuration: PlanValue | undefined, key: string): number;
|
|
10
|
+
export declare function requiredReadinessBoolean(configuration: PlanValue | undefined, key: string): boolean;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=strategy-configuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-configuration.d.ts","sourceRoot":"","sources":["../../../src/core/readiness/strategy-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAE/D;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,GACvD,SAAS,CAQX;AASD,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,GACV,MAAM,CAMR;AAED,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,SAAS,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,SAAS,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,GACV,OAAO,GAAG,SAAS,CAGrB;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMjG;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,SAAS,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,GACV,OAAO,CAMT"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export function readinessLiteral(value) {
|
|
2
|
+
return { kind: 'literal', value };
|
|
3
|
+
}
|
|
4
|
+
export function readinessConfiguration(entries) {
|
|
5
|
+
return {
|
|
6
|
+
kind: 'object',
|
|
7
|
+
entries: Object.entries(entries)
|
|
8
|
+
.filter((entry) => entry[1] !== undefined)
|
|
9
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
10
|
+
.map(([key, value]) => ({ key, value })),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function configurationEntries(configuration) {
|
|
14
|
+
if (configuration?.kind !== 'object')
|
|
15
|
+
return new Map();
|
|
16
|
+
return new Map(configuration.entries.map((entry) => [entry.key, entry.value]));
|
|
17
|
+
}
|
|
18
|
+
export function optionalReadinessString(configuration, key) {
|
|
19
|
+
const value = configurationEntries(configuration).get(key);
|
|
20
|
+
return value?.kind === 'literal' && typeof value.value === 'string' ? value.value : undefined;
|
|
21
|
+
}
|
|
22
|
+
export function requiredReadinessString(configuration, key) {
|
|
23
|
+
const value = optionalReadinessString(configuration, key);
|
|
24
|
+
if (value === undefined) {
|
|
25
|
+
throw new Error(`Portable readiness configuration requires string field ${key}.`);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
export function optionalReadinessNumber(configuration, key) {
|
|
30
|
+
const value = configurationEntries(configuration).get(key);
|
|
31
|
+
return value?.kind === 'literal' && typeof value.value === 'number' ? value.value : undefined;
|
|
32
|
+
}
|
|
33
|
+
export function optionalReadinessBoolean(configuration, key) {
|
|
34
|
+
const value = configurationEntries(configuration).get(key);
|
|
35
|
+
return value?.kind === 'literal' && typeof value.value === 'boolean' ? value.value : undefined;
|
|
36
|
+
}
|
|
37
|
+
export function requiredReadinessNumber(configuration, key) {
|
|
38
|
+
const value = configurationEntries(configuration).get(key);
|
|
39
|
+
if (value?.kind !== 'literal' || typeof value.value !== 'number') {
|
|
40
|
+
throw new Error(`Portable readiness configuration requires number field ${key}.`);
|
|
41
|
+
}
|
|
42
|
+
return value.value;
|
|
43
|
+
}
|
|
44
|
+
export function requiredReadinessBoolean(configuration, key) {
|
|
45
|
+
const value = configurationEntries(configuration).get(key);
|
|
46
|
+
if (value?.kind !== 'literal' || typeof value.value !== 'boolean') {
|
|
47
|
+
throw new Error(`Portable readiness configuration requires boolean field ${key}.`);
|
|
48
|
+
}
|
|
49
|
+
return value.value;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=strategy-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-configuration.js","sourceRoot":"","sources":["../../../src/core/readiness/strategy-configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,11 @@ export declare class CelEvaluator {
|
|
|
45
45
|
* Extract resource references from a CEL expression
|
|
46
46
|
*/
|
|
47
47
|
private extractResourceReferences;
|
|
48
|
+
/**
|
|
49
|
+
* Preserve expression offsets while hiding quoted CEL text from the resource-reference scanner.
|
|
50
|
+
* A dotted URL or hostname inside a string literal is data, not a resource path.
|
|
51
|
+
*/
|
|
52
|
+
private maskStringLiterals;
|
|
48
53
|
/**
|
|
49
54
|
* Create a CEL expression from a template string with resource references
|
|
50
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel-evaluator.d.ts","sourceRoot":"","sources":["../../../src/core/references/cel-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,qBAAa,YAAY;IACvB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC1F;;OAEG;IACH,KAAK,CAAC,UAAU,EAAE,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC;IAwCrF;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAmBvE;;OAEG;YACW,eAAe;IA6C7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"cel-evaluator.d.ts","sourceRoot":"","sources":["../../../src/core/references/cel-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,qBAAa,YAAY;IACvB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC1F;;OAEG;IACH,KAAK,CAAC,UAAU,EAAE,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC;IAwCrF;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAmBvE;;OAEG;YACW,eAAe;IA6C7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,aAAa;IAgBlF,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAmB;IAEjD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB;;WAEG;2BACgB,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,KAAG,aAAa;QAgBhE;;WAEG;iCAEU,MAAM,GAAG,aAAa,aACtB,OAAO,cACN,OAAO,KAClB,aAAa;QAgBhB;;WAEG;mBACQ,aAAa,KAAG,aAAa;QAKxC;;WAEG;oBACS,aAAa,KAAG,aAAa;QAKzC;;WAEG;wBACa,aAAa,aAAa,MAAM,KAAG,aAAa;QAKhE;;WAEG;0BACe,aAAa,UAAU,MAAM,KAAG,aAAa;QAK/D;;WAEG;wBACa,aAAa,UAAU,MAAM,KAAG,aAAa;QAK7D;;WAEG;mBACQ,aAAa,aAAa,MAAM,KAAG,aAAa;QAQ3D;;WAEG;sBACW,aAAa,aAAa,MAAM,KAAG,aAAa;QAQ9D;;WAEG;sBACW,aAAa,aAAa,MAAM,KAAG,aAAa;QAQ9D;;WAEG;mBACQ,aAAa,aAAa,MAAM,KAAG,aAAa;MAO3D;CACH"}
|
|
@@ -170,9 +170,10 @@ export class CelEvaluator {
|
|
|
170
170
|
*/
|
|
171
171
|
extractResourceReferences(expression) {
|
|
172
172
|
const refs = [];
|
|
173
|
+
const searchableExpression = this.maskStringLiterals(expression);
|
|
173
174
|
// Pattern to match resource references: resourceId.section.field
|
|
174
175
|
const refPattern = /(\w+)\.(\w+)\.(\w+(?:\[\d+\])?(?:\.\w+)*)/g;
|
|
175
|
-
let match = refPattern.exec(
|
|
176
|
+
let match = refPattern.exec(searchableExpression);
|
|
176
177
|
while (match !== null) {
|
|
177
178
|
const [, resourceId, section, fieldPath] = match;
|
|
178
179
|
if (resourceId && section && fieldPath) {
|
|
@@ -181,10 +182,40 @@ export class CelEvaluator {
|
|
|
181
182
|
fieldPath: `${section}.${fieldPath}`,
|
|
182
183
|
});
|
|
183
184
|
}
|
|
184
|
-
match = refPattern.exec(
|
|
185
|
+
match = refPattern.exec(searchableExpression);
|
|
185
186
|
}
|
|
186
187
|
return refs;
|
|
187
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Preserve expression offsets while hiding quoted CEL text from the resource-reference scanner.
|
|
191
|
+
* A dotted URL or hostname inside a string literal is data, not a resource path.
|
|
192
|
+
*/
|
|
193
|
+
maskStringLiterals(expression) {
|
|
194
|
+
const chars = [...expression];
|
|
195
|
+
let quote;
|
|
196
|
+
let escaped = false;
|
|
197
|
+
for (let index = 0; index < chars.length; index += 1) {
|
|
198
|
+
const char = chars[index];
|
|
199
|
+
if (quote === undefined) {
|
|
200
|
+
if (char === '"' || char === "'") {
|
|
201
|
+
quote = char;
|
|
202
|
+
chars[index] = ' ';
|
|
203
|
+
}
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
chars[index] = ' ';
|
|
207
|
+
if (escaped) {
|
|
208
|
+
escaped = false;
|
|
209
|
+
}
|
|
210
|
+
else if (char === '\\') {
|
|
211
|
+
escaped = true;
|
|
212
|
+
}
|
|
213
|
+
else if (char === quote) {
|
|
214
|
+
quote = undefined;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return chars.join('');
|
|
218
|
+
}
|
|
188
219
|
/**
|
|
189
220
|
* Create a CEL expression from a template string with resource references
|
|
190
221
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel-evaluator.js","sourceRoot":"","sources":["../../../src/core/references/cel-evaluator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cel-evaluator.js","sourceRoot":"","sources":["../../../src/core/references/cel-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ import type { RefOrValue } from '../types/references.js';
|
|
|
21
21
|
export interface ExternalRefConfig {
|
|
22
22
|
apiVersion: string;
|
|
23
23
|
kind: string;
|
|
24
|
+
/** Kubernetes scope of the observed resource. Defaults to namespaced. */
|
|
25
|
+
scope?: 'namespaced' | 'cluster';
|
|
24
26
|
metadata: {
|
|
25
27
|
/**
|
|
26
28
|
* The referenced resource's name. Accepts a plain string OR a CEL expression / schema ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-refs.d.ts","sourceRoot":"","sources":["../../../src/core/references/external-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiBzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR;;;;;WAKG;QACH,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;KAChC,CAAC;IACF,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACtE,MAAM,EAAE,iBAAiB,GACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5B,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACtE,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"external-refs.d.ts","sourceRoot":"","sources":["../../../src/core/references/external-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiBzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE;QACR;;;;;WAKG;QACH,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;KAChC,CAAC;IACF,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACtE,MAAM,EAAE,iBAAiB,GACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5B,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACtE,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAsE5B;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC3E,MAAM,EAAE,iBAAiB,GACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5B,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC3E,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAkB5B;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAC/F,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAe1B"}
|
|
@@ -34,12 +34,14 @@ export function externalRef(configOrApiVersion, kind, instanceName, namespace) {
|
|
|
34
34
|
let resolvedKind;
|
|
35
35
|
let resolvedName;
|
|
36
36
|
let resolvedNamespace;
|
|
37
|
+
let resolvedScope = 'namespaced';
|
|
37
38
|
if (typeof configOrApiVersion === 'object') {
|
|
38
39
|
// Object-form: externalRef({ apiVersion, kind, metadata: { name, namespace } })
|
|
39
40
|
apiVersion = configOrApiVersion.apiVersion;
|
|
40
41
|
resolvedKind = configOrApiVersion.kind;
|
|
41
42
|
resolvedName = configOrApiVersion.metadata.name;
|
|
42
43
|
resolvedNamespace = configOrApiVersion.metadata.namespace;
|
|
44
|
+
resolvedScope = configOrApiVersion.scope ?? 'namespaced';
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
47
|
// Positional form: externalRef(apiVersion, kind, instanceName, namespace?)
|
|
@@ -71,7 +73,7 @@ export function externalRef(configOrApiVersion, kind, instanceName, namespace) {
|
|
|
71
73
|
};
|
|
72
74
|
// Use existing createResource function to get Enhanced proxy
|
|
73
75
|
// (createResource skips context registration for __externalRef resources)
|
|
74
|
-
const enhanced = createResource(resource);
|
|
76
|
+
const enhanced = createResource(resource, { scope: resolvedScope });
|
|
75
77
|
// Explicitly register with composition context so externalRef appears in Kro YAML.
|
|
76
78
|
// This only happens when called directly from user code inside kubernetesComposition.
|
|
77
79
|
// Cross-composition auto-refs (from core.ts Proxy get trap) go through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-refs.js","sourceRoot":"","sources":["../../../src/core/references/external-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAInE,gFAAgF;AAChF,mFAAmF;AACnF,sFAAsF;AACtF,eAAe,CAAC;IACd,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC;AAEH,eAAe,CAAC;IACd,WAAW,EAAE,kBAAkB;IAC/B,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"external-refs.js","sourceRoot":"","sources":["../../../src/core/references/external-refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,11 @@ export declare class ReferenceResolver {
|
|
|
26
26
|
private logger;
|
|
27
27
|
private kubeClient;
|
|
28
28
|
private k8sApi;
|
|
29
|
+
private customObjectsApi;
|
|
30
|
+
private customResourceDiscovery;
|
|
29
31
|
private deploymentMode;
|
|
30
|
-
constructor(kubeClient: k8s.KubeConfig, deploymentMode?: DeploymentMode, k8sApi?: k8s.KubernetesObjectApi);
|
|
32
|
+
constructor(kubeClient: k8s.KubeConfig, deploymentMode?: DeploymentMode, k8sApi?: k8s.KubernetesObjectApi, customObjectsApi?: k8s.CustomObjectsApi);
|
|
33
|
+
private getCustomObjectsApi;
|
|
31
34
|
/**
|
|
32
35
|
* Filter out fields that cannot be cloned by structuredClone
|
|
33
36
|
* This includes:
|
|
@@ -104,6 +107,9 @@ export declare class ReferenceResolver {
|
|
|
104
107
|
* Find a deployed resource by ID
|
|
105
108
|
*/
|
|
106
109
|
private findDeployedResource;
|
|
110
|
+
private discoverCustomResource;
|
|
111
|
+
private readCustomResource;
|
|
112
|
+
private readClusterResource;
|
|
107
113
|
/**
|
|
108
114
|
* Query a resource from the Kubernetes cluster
|
|
109
115
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/references/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/references/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAMpD,OAAO,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AAOzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EAEd,MAAM,aAAa,CAAC;AA2CrB;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,uBAAuB,CAA+C;IAC9E,OAAO,CAAC,cAAc,CAAiB;gBAGrC,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,cAAc,GAAE,cAAsC,EACtD,MAAM,CAAC,EAAE,GAAG,CAAC,mBAAmB,EAChC,gBAAgB,CAAC,EAAE,GAAG,CAAC,gBAAgB;IAWzC,OAAO,CAAC,mBAAmB;IAO3B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAgDtB;;OAEG;IAEG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2DhF;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmDrB;;OAEG;YACW,kBAAkB;IA4EhC;;OAEG;YACW,oBAAoB;IAyFlC;;;;;;;;;;OAUG;YACW,oBAAoB;IAsClC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;;;;;;OAQG;YACW,qBAAqB;IAkHnC;;;;;;OAMG;YACW,0BAA0B;IA+DxC;;OAEG;IACH,OAAO,CAAC,oBAAoB;YAOd,sBAAsB;YA+DtB,kBAAkB;YAwBlB,mBAAmB;IAqBjC;;OAEG;YACW,wBAAwB;IAqGtC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA8BvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;OAEG;IACG,oBAAoB,CAAC,CAAC,GAAG,OAAO,EACpC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAC7B,OAAO,GAAE,MAAuC,GAC/C,OAAO,CAAC,OAAO,CAAC;IAsEnB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,aAAa,IAAI,eAAe;CAMjC;AAgBD,qBAAa,wBAAyB,SAAQ,YAAY;gBAC5C,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;CAS7C;AAED,qBAAa,kBAAmB,SAAQ,YAAY;gBACtC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;CAS9C"}
|
|
@@ -10,7 +10,7 @@ import { CEL_EXPRESSION_BRAND, KUBERNETES_REF_MARKER_PATTERN } from '../constant
|
|
|
10
10
|
import { ResourceReadinessTimeoutError } from '../deployment/errors.js';
|
|
11
11
|
import { ResourceReadinessChecker } from '../deployment/readiness.js';
|
|
12
12
|
import { ensureError, TypeKroError } from '../errors.js';
|
|
13
|
-
import { createBunCompatibleKubernetesObjectApi } from '../kubernetes/index.js';
|
|
13
|
+
import { createBunCompatibleCustomObjectsApi, createBunCompatibleKubernetesObjectApi, } from '../kubernetes/index.js';
|
|
14
14
|
import { getComponentLogger } from '../logging/index.js';
|
|
15
15
|
import { copyResourceMetadata, getResourceId } from '../metadata/index.js';
|
|
16
16
|
import { CelEvaluator } from './cel-evaluator.js';
|
|
@@ -25,15 +25,24 @@ export class ReferenceResolver {
|
|
|
25
25
|
logger = getComponentLogger('reference-resolver');
|
|
26
26
|
kubeClient;
|
|
27
27
|
k8sApi;
|
|
28
|
+
customObjectsApi;
|
|
29
|
+
customResourceDiscovery = new Map();
|
|
28
30
|
deploymentMode;
|
|
29
|
-
constructor(kubeClient, deploymentMode = DeploymentMode.DIRECT, k8sApi) {
|
|
31
|
+
constructor(kubeClient, deploymentMode = DeploymentMode.DIRECT, k8sApi, customObjectsApi) {
|
|
30
32
|
this.kubeClient = kubeClient;
|
|
31
33
|
this.deploymentMode = deploymentMode;
|
|
32
34
|
// Use createBunCompatibleKubernetesObjectApi which handles both Bun and Node.js
|
|
33
35
|
// This works around Bun's fetch TLS issues (https://github.com/oven-sh/bun/issues/10642)
|
|
34
36
|
this.k8sApi = k8sApi || createBunCompatibleKubernetesObjectApi(kubeClient);
|
|
37
|
+
this.customObjectsApi = customObjectsApi;
|
|
35
38
|
this.celEvaluator = new CelEvaluator();
|
|
36
39
|
}
|
|
40
|
+
getCustomObjectsApi() {
|
|
41
|
+
if (!this.customObjectsApi) {
|
|
42
|
+
this.customObjectsApi = createBunCompatibleCustomObjectsApi(this.kubeClient);
|
|
43
|
+
}
|
|
44
|
+
return this.customObjectsApi;
|
|
45
|
+
}
|
|
37
46
|
/**
|
|
38
47
|
* Filter out fields that cannot be cloned by structuredClone
|
|
39
48
|
* This includes:
|
|
@@ -645,6 +654,83 @@ export class ReferenceResolver {
|
|
|
645
654
|
findDeployedResource(resourceId, context) {
|
|
646
655
|
return context.deployedResources.find((r) => r.id === resourceId);
|
|
647
656
|
}
|
|
657
|
+
async discoverCustomResource(apiVersion, kind) {
|
|
658
|
+
const cacheKey = `${apiVersion}/${kind}`;
|
|
659
|
+
const cached = this.customResourceDiscovery.get(cacheKey);
|
|
660
|
+
if (cached)
|
|
661
|
+
return cached;
|
|
662
|
+
const separator = apiVersion.indexOf('/');
|
|
663
|
+
if (separator <= 0 || separator === apiVersion.length - 1) {
|
|
664
|
+
throw new Error(`Cannot discover custom resource ${apiVersion} ${kind}`);
|
|
665
|
+
}
|
|
666
|
+
const group = apiVersion.slice(0, separator);
|
|
667
|
+
const version = apiVersion.slice(separator + 1);
|
|
668
|
+
const list = await this.getCustomObjectsApi().getAPIResources({ group, version });
|
|
669
|
+
const resource = list.resources?.find((candidate) => candidate.kind === kind && !candidate.name.includes('/'));
|
|
670
|
+
let discovered = resource
|
|
671
|
+
? {
|
|
672
|
+
group,
|
|
673
|
+
version,
|
|
674
|
+
plural: resource.name,
|
|
675
|
+
namespaced: resource.namespaced,
|
|
676
|
+
}
|
|
677
|
+
: undefined;
|
|
678
|
+
// Aggregated API discovery can briefly lag behind a newly established KRO-generated CRD.
|
|
679
|
+
// The CRD itself is the authoritative source for plural and scope, so consult it before
|
|
680
|
+
// treating a missing discovery entry as absence.
|
|
681
|
+
if (!discovered) {
|
|
682
|
+
const crds = (await this.k8sApi.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
|
|
683
|
+
const crd = crds.items?.find((candidate) => candidate.spec?.group === group &&
|
|
684
|
+
candidate.spec.names?.kind === kind &&
|
|
685
|
+
candidate.spec.versions?.some((candidateVersion) => candidateVersion.name === version && candidateVersion.served !== false));
|
|
686
|
+
const plural = crd?.spec?.names?.plural;
|
|
687
|
+
if (plural) {
|
|
688
|
+
discovered = {
|
|
689
|
+
group,
|
|
690
|
+
version,
|
|
691
|
+
plural,
|
|
692
|
+
namespaced: crd.spec?.scope !== 'Cluster',
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
if (!discovered) {
|
|
697
|
+
throw new Error(`Kubernetes discovery and CRD registry did not report ${apiVersion} ${kind}`);
|
|
698
|
+
}
|
|
699
|
+
this.customResourceDiscovery.set(cacheKey, discovered);
|
|
700
|
+
return discovered;
|
|
701
|
+
}
|
|
702
|
+
async readCustomResource(resourceInfo, fallbackNamespace) {
|
|
703
|
+
const discovered = await this.discoverCustomResource(resourceInfo.apiVersion, resourceInfo.kind);
|
|
704
|
+
const request = {
|
|
705
|
+
group: discovered.group,
|
|
706
|
+
version: discovered.version,
|
|
707
|
+
plural: discovered.plural,
|
|
708
|
+
name: resourceInfo.name,
|
|
709
|
+
};
|
|
710
|
+
const customObjectsApi = this.getCustomObjectsApi();
|
|
711
|
+
const resource = discovered.namespaced
|
|
712
|
+
? await customObjectsApi.getNamespacedCustomObject({
|
|
713
|
+
...request,
|
|
714
|
+
namespace: resourceInfo.namespace || fallbackNamespace,
|
|
715
|
+
})
|
|
716
|
+
: await customObjectsApi.getClusterCustomObject(request);
|
|
717
|
+
return resource;
|
|
718
|
+
}
|
|
719
|
+
async readClusterResource(resourceInfo, resourceRef, fallbackNamespace) {
|
|
720
|
+
try {
|
|
721
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
722
|
+
// biome-ignore lint/suspicious/noExplicitAny: client-node read() accepts a broad Kubernetes object shape.
|
|
723
|
+
return await this.k8sApi.read(resourceRef);
|
|
724
|
+
}
|
|
725
|
+
catch (error) {
|
|
726
|
+
const message = ensureError(error).message;
|
|
727
|
+
if (!resourceInfo.apiVersion.includes('/') ||
|
|
728
|
+
!message.includes('Unrecognized API version and kind')) {
|
|
729
|
+
throw error;
|
|
730
|
+
}
|
|
731
|
+
return this.readCustomResource(resourceInfo, fallbackNamespace);
|
|
732
|
+
}
|
|
733
|
+
}
|
|
648
734
|
/**
|
|
649
735
|
* Query a resource from the Kubernetes cluster
|
|
650
736
|
*/
|
|
@@ -683,13 +769,9 @@ export class ReferenceResolver {
|
|
|
683
769
|
},
|
|
684
770
|
};
|
|
685
771
|
queryLogger.debug('Querying cluster resource', { resourceRef });
|
|
686
|
-
//
|
|
687
|
-
//
|
|
688
|
-
|
|
689
|
-
// but V1ObjectMeta.name is typed as optional, causing exactOptionalPropertyTypes mismatch.
|
|
690
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
691
|
-
// biome-ignore lint/suspicious/noExplicitAny: client-node read() accepts a broad Kubernetes object shape.
|
|
692
|
-
const resource = await this.k8sApi.read(resourceRef);
|
|
772
|
+
// Registered resources use KubernetesObjectApi. Generated or otherwise
|
|
773
|
+
// unregistered CR kinds fall back to discovery + CustomObjectsApi.
|
|
774
|
+
const resource = await this.readClusterResource(resourceInfo, resourceRef, context.namespace || 'default');
|
|
693
775
|
queryLogger.debug('Successfully retrieved cluster resource', {
|
|
694
776
|
resourceName: resource.metadata?.name,
|
|
695
777
|
resourceKind: resource.kind,
|