typekro 0.3.1 → 0.5.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/README.md +142 -1054
- package/dist/.tsbuildinfo +1 -1
- package/dist/advanced/index.d.ts +52 -0
- package/dist/advanced/index.d.ts.map +1 -0
- package/dist/advanced/index.js +60 -0
- package/dist/advanced/index.js.map +1 -0
- package/dist/alchemy/deployers.d.ts +0 -5
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +26 -89
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/index.d.ts +8 -8
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +12 -11
- package/dist/alchemy/index.js.map +1 -1
- package/dist/alchemy/resolver.d.ts.map +1 -1
- package/dist/alchemy/resolver.js +6 -5
- package/dist/alchemy/resolver.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +20 -8
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/type-inference.d.ts.map +1 -1
- package/dist/alchemy/type-inference.js +6 -5
- package/dist/alchemy/type-inference.js.map +1 -1
- package/dist/alchemy/types.d.ts +1 -1
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/alchemy/utilities.d.ts.map +1 -1
- package/dist/alchemy/utilities.js +1 -1
- package/dist/alchemy/utilities.js.map +1 -1
- package/dist/alchemy/wrapper.d.ts +4 -2
- package/dist/alchemy/wrapper.d.ts.map +1 -1
- package/dist/alchemy/wrapper.js +2 -1
- package/dist/alchemy/wrapper.js.map +1 -1
- package/dist/compositions/typekro-runtime/index.d.ts +3 -0
- package/dist/compositions/typekro-runtime/index.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/index.js.map +1 -0
- package/dist/{core/composition → compositions}/typekro-runtime/typekro-runtime.d.ts +7 -10
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/typekro-runtime.js +404 -0
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -0
- package/dist/compositions/typekro-runtime/types.d.ts +45 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -0
- package/dist/compositions/typekro-runtime/types.js.map +1 -0
- package/dist/core/composition/context.d.ts +91 -0
- package/dist/core/composition/context.d.ts.map +1 -0
- package/dist/core/composition/context.js +125 -0
- package/dist/core/composition/context.js.map +1 -0
- package/dist/core/composition/imperative.d.ts +37 -11
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +433 -37
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/index.d.ts +2 -4
- package/dist/core/composition/index.d.ts.map +1 -1
- package/dist/core/composition/index.js +1 -4
- package/dist/core/composition/index.js.map +1 -1
- package/dist/core/composition-debugger.d.ts +78 -0
- package/dist/core/composition-debugger.d.ts.map +1 -0
- package/dist/core/composition-debugger.js +142 -0
- package/dist/core/composition-debugger.js.map +1 -0
- package/dist/core/config/defaults.d.ts +109 -0
- package/dist/core/config/defaults.d.ts.map +1 -0
- package/dist/core/config/defaults.js +150 -0
- package/dist/core/config/defaults.js.map +1 -0
- package/dist/core/config/env.d.ts +12 -0
- package/dist/core/config/env.d.ts.map +1 -0
- package/dist/core/config/env.js +16 -0
- package/dist/core/config/env.js.map +1 -0
- package/dist/core/config/index.d.ts +3 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/index.js +3 -0
- package/dist/core/config/index.js.map +1 -0
- package/dist/core/constants/brands.d.ts +4 -37
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +4 -40
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/dependencies/graph.d.ts.map +1 -1
- package/dist/core/dependencies/graph.js +4 -4
- package/dist/core/dependencies/graph.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +3 -3
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/client-provider-manager.d.ts +40 -0
- package/dist/core/deployment/client-provider-manager.d.ts.map +1 -0
- package/dist/core/deployment/client-provider-manager.js +63 -0
- package/dist/core/deployment/client-provider-manager.js.map +1 -0
- package/dist/core/deployment/closure-planner.d.ts +20 -0
- package/dist/core/deployment/closure-planner.d.ts.map +1 -0
- package/dist/core/deployment/closure-planner.js +96 -0
- package/dist/core/deployment/closure-planner.js.map +1 -0
- package/dist/core/deployment/crd-manager.d.ts +52 -0
- package/dist/core/deployment/crd-manager.d.ts.map +1 -0
- package/dist/core/deployment/crd-manager.js +227 -0
- package/dist/core/deployment/crd-manager.js.map +1 -0
- package/dist/core/deployment/debug-logger.d.ts +3 -14
- package/dist/core/deployment/debug-logger.d.ts.map +1 -1
- package/dist/core/deployment/debug-logger.js +41 -12
- package/dist/core/deployment/debug-logger.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +59 -9
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +494 -117
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +126 -64
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +611 -1227
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/errors.d.ts +30 -0
- package/dist/core/deployment/errors.d.ts.map +1 -0
- package/dist/core/deployment/errors.js +84 -0
- package/dist/core/deployment/errors.js.map +1 -0
- package/dist/core/deployment/event-filter.d.ts.map +1 -1
- package/dist/core/deployment/event-filter.js +21 -18
- package/dist/core/deployment/event-filter.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +36 -2
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +279 -51
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/index.d.ts +5 -2
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +5 -3
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +44 -0
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -0
- package/dist/core/deployment/k8s-helpers.js +109 -0
- package/dist/core/deployment/k8s-helpers.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +41 -13
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +355 -210
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts +54 -0
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -0
- package/dist/core/deployment/kro-readiness.js +140 -0
- package/dist/core/deployment/kro-readiness.js.map +1 -0
- package/dist/core/deployment/readiness-waiter.d.ts +60 -0
- package/dist/core/deployment/readiness-waiter.d.ts.map +1 -0
- package/dist/core/deployment/readiness-waiter.js +245 -0
- package/dist/core/deployment/readiness-waiter.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts +3 -9
- package/dist/core/deployment/readiness.d.ts.map +1 -1
- package/dist/core/deployment/readiness.js +16 -30
- package/dist/core/deployment/readiness.js.map +1 -1
- package/dist/core/deployment/resource-applier.d.ts +58 -0
- package/dist/core/deployment/resource-applier.d.ts.map +1 -0
- package/dist/core/deployment/resource-applier.js +385 -0
- package/dist/core/deployment/resource-applier.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +21 -3
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +132 -13
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +38 -9
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +92 -22
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/status-hydrator.d.ts +1 -1
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -1
- package/dist/core/deployment/status-hydrator.js +21 -15
- package/dist/core/deployment/status-hydrator.js.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +16 -9
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +14 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +326 -206
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +10 -3
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +60 -1
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts +16 -6
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +57 -105
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/errors.d.ts +134 -83
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +177 -300
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analysis/analyzer.d.ts +155 -0
- package/dist/core/expressions/analysis/analyzer.d.ts.map +1 -0
- package/dist/core/expressions/analysis/analyzer.js +540 -0
- package/dist/core/expressions/analysis/analyzer.js.map +1 -0
- package/dist/core/expressions/analysis/array-method-converters.d.ts +19 -0
- package/dist/core/expressions/analysis/array-method-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/array-method-converters.js +175 -0
- package/dist/core/expressions/analysis/array-method-converters.js.map +1 -0
- package/dist/core/expressions/analysis/ast-helpers.d.ts +49 -0
- package/dist/core/expressions/analysis/ast-helpers.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-helpers.js +106 -0
- package/dist/core/expressions/analysis/ast-helpers.js.map +1 -0
- package/dist/core/expressions/analysis/ast-node-converters.d.ts +15 -0
- package/dist/core/expressions/analysis/ast-node-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-node-converters.js +123 -0
- package/dist/core/expressions/analysis/ast-node-converters.js.map +1 -0
- package/dist/core/expressions/analysis/ast-type-guards.d.ts +14 -0
- package/dist/core/expressions/analysis/ast-type-guards.d.ts.map +1 -0
- package/dist/core/expressions/analysis/ast-type-guards.js +15 -0
- package/dist/core/expressions/analysis/ast-type-guards.js.map +1 -0
- package/dist/core/expressions/{cache.d.ts → analysis/cache.d.ts} +1 -1
- package/dist/core/expressions/analysis/cache.d.ts.map +1 -0
- package/dist/core/expressions/{cache.js → analysis/cache.js} +13 -13
- package/dist/core/expressions/analysis/cache.js.map +1 -0
- package/dist/core/expressions/analysis/call-expression-converters.d.ts +18 -0
- package/dist/core/expressions/analysis/call-expression-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/call-expression-converters.js +220 -0
- package/dist/core/expressions/analysis/call-expression-converters.js.map +1 -0
- package/dist/core/expressions/analysis/cel-emitter.d.ts +85 -0
- package/dist/core/expressions/analysis/cel-emitter.d.ts.map +1 -0
- package/dist/core/expressions/analysis/cel-emitter.js +455 -0
- package/dist/core/expressions/analysis/cel-emitter.js.map +1 -0
- package/dist/core/expressions/analysis/expression-classifier.d.ts +77 -0
- package/dist/core/expressions/analysis/expression-classifier.d.ts.map +1 -0
- package/dist/core/expressions/analysis/expression-classifier.js +487 -0
- package/dist/core/expressions/analysis/expression-classifier.js.map +1 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts +146 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.js +243 -0
- package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -0
- package/dist/core/expressions/analysis/operator-utils.d.ts +35 -0
- package/dist/core/expressions/analysis/operator-utils.d.ts.map +1 -0
- package/dist/core/expressions/analysis/operator-utils.js +167 -0
- package/dist/core/expressions/analysis/operator-utils.js.map +1 -0
- package/dist/core/expressions/analysis/parse-core.d.ts +63 -0
- package/dist/core/expressions/analysis/parse-core.d.ts.map +1 -0
- package/dist/core/expressions/analysis/parse-core.js +115 -0
- package/dist/core/expressions/analysis/parse-core.js.map +1 -0
- package/dist/core/expressions/analysis/parser.d.ts +127 -0
- package/dist/core/expressions/analysis/parser.d.ts.map +1 -0
- package/dist/core/expressions/analysis/parser.js +212 -0
- package/dist/core/expressions/analysis/parser.js.map +1 -0
- package/dist/core/expressions/analysis/scope-resolver.d.ts +57 -0
- package/dist/core/expressions/analysis/scope-resolver.d.ts.map +1 -0
- package/dist/core/expressions/analysis/scope-resolver.js +440 -0
- package/dist/core/expressions/analysis/scope-resolver.js.map +1 -0
- package/dist/core/expressions/analysis/shared-types.d.ts +132 -0
- package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -0
- package/dist/core/expressions/analysis/shared-types.js +13 -0
- package/dist/core/expressions/analysis/shared-types.js.map +1 -0
- package/dist/core/expressions/analysis/source-map.d.ts.map +1 -0
- package/dist/core/expressions/{source-map.js → analysis/source-map.js} +16 -17
- package/dist/core/expressions/analysis/source-map.js.map +1 -0
- package/dist/core/expressions/analysis/string-method-converters.d.ts +27 -0
- package/dist/core/expressions/analysis/string-method-converters.d.ts.map +1 -0
- package/dist/core/expressions/analysis/string-method-converters.js +208 -0
- package/dist/core/expressions/analysis/string-method-converters.js.map +1 -0
- package/dist/core/expressions/{types.d.ts → analysis/types.d.ts} +5 -5
- package/dist/core/expressions/analysis/types.d.ts.map +1 -0
- package/dist/core/expressions/analysis/types.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +92 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +301 -0
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +77 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +364 -0
- package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts +37 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.js +375 -0
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +140 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer-types.js +8 -0
- package/dist/core/expressions/composition/composition-analyzer-types.js.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer.d.ts +39 -0
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/composition/composition-analyzer.js +144 -0
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -0
- package/dist/core/expressions/composition/context-tracker.d.ts +39 -0
- package/dist/core/expressions/composition/context-tracker.d.ts.map +1 -0
- package/dist/core/expressions/composition/context-tracker.js +64 -0
- package/dist/core/expressions/composition/context-tracker.js.map +1 -0
- package/dist/core/expressions/composition/expression-analyzer.d.ts +101 -0
- package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/composition/expression-analyzer.js +425 -0
- package/dist/core/expressions/composition/expression-analyzer.js.map +1 -0
- package/dist/core/expressions/{imperative-analyzer.d.ts → composition/imperative-analyzer.d.ts} +3 -3
- package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{imperative-analyzer.js → composition/imperative-analyzer.js} +68 -30
- package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -0
- package/dist/core/expressions/composition/index.d.ts +17 -0
- package/dist/core/expressions/composition/index.d.ts.map +1 -0
- package/dist/core/expressions/composition/index.js +18 -0
- package/dist/core/expressions/composition/index.js.map +1 -0
- package/dist/core/expressions/composition/integration-hooks.d.ts +71 -0
- package/dist/core/expressions/composition/integration-hooks.d.ts.map +1 -0
- package/dist/core/expressions/composition/integration-hooks.js +248 -0
- package/dist/core/expressions/composition/integration-hooks.js.map +1 -0
- package/dist/core/expressions/composition/scope-manager.d.ts +93 -0
- package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -0
- package/dist/core/expressions/composition/scope-manager.js +215 -0
- package/dist/core/expressions/composition/scope-manager.js.map +1 -0
- package/dist/core/expressions/composition/types.d.ts +41 -0
- package/dist/core/expressions/composition/types.d.ts.map +1 -0
- package/dist/core/expressions/composition/types.js +7 -0
- package/dist/core/expressions/composition/types.js.map +1 -0
- package/dist/core/expressions/{conditional-expression-processor.d.ts → conditional/conditional-expression-processor.d.ts} +3 -3
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -0
- package/dist/core/expressions/{conditional-expression-processor.js → conditional/conditional-expression-processor.js} +59 -50
- package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -0
- package/dist/core/expressions/{conditional-integration.d.ts → conditional/conditional-integration.d.ts} +13 -35
- package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -0
- package/dist/core/expressions/{conditional-integration.js → conditional/conditional-integration.js} +92 -86
- package/dist/core/expressions/conditional/conditional-integration.js.map +1 -0
- package/dist/core/expressions/{context-aware-generator.d.ts → context/context-aware-generator.d.ts} +4 -28
- package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -0
- package/dist/core/expressions/{context-aware-generator.js → context/context-aware-generator.js} +27 -121
- package/dist/core/expressions/context/context-aware-generator.js.map +1 -0
- package/dist/core/expressions/{context-detector.d.ts → context/context-detector.d.ts} +7 -13
- package/dist/core/expressions/context/context-detector.d.ts.map +1 -0
- package/dist/core/expressions/{context-detector.js → context/context-detector.js} +45 -63
- package/dist/core/expressions/context/context-detector.js.map +1 -0
- package/dist/core/expressions/{context-validator.d.ts → context/context-validator.d.ts} +5 -36
- package/dist/core/expressions/context/context-validator.d.ts.map +1 -0
- package/dist/core/expressions/{context-validator.js → context/context-validator.js} +55 -124
- package/dist/core/expressions/context/context-validator.js.map +1 -0
- package/dist/core/expressions/{cel-conversion-engine.d.ts → factory/cel-conversion-engine.d.ts} +3 -3
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -0
- package/dist/core/expressions/{cel-conversion-engine.js → factory/cel-conversion-engine.js} +19 -19
- package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -0
- package/dist/core/expressions/factory/dependency-tracker.d.ts +222 -0
- package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -0
- package/dist/core/expressions/factory/dependency-tracker.js +512 -0
- package/dist/core/expressions/factory/dependency-tracker.js.map +1 -0
- package/dist/core/expressions/{factory-integration.d.ts → factory/factory-integration.d.ts} +3 -18
- package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -0
- package/dist/core/expressions/{factory-integration.js → factory/factory-integration.js} +28 -29
- package/dist/core/expressions/factory/factory-integration.js.map +1 -0
- package/dist/core/expressions/{factory-pattern-handler.d.ts → factory/factory-pattern-handler.d.ts} +8 -8
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -0
- package/dist/core/expressions/{factory-pattern-handler.js → factory/factory-pattern-handler.js} +101 -73
- package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -0
- package/dist/core/expressions/{migration-helpers.d.ts → factory/migration-helpers.d.ts} +4 -4
- package/dist/core/expressions/factory/migration-helpers.d.ts.map +1 -0
- package/dist/core/expressions/{migration-helpers.js → factory/migration-helpers.js} +28 -26
- package/dist/core/expressions/factory/migration-helpers.js.map +1 -0
- package/dist/core/expressions/factory/resource-analyzer.d.ts +139 -0
- package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/factory/resource-analyzer.js +286 -0
- package/dist/core/expressions/factory/resource-analyzer.js.map +1 -0
- package/dist/core/expressions/factory/resource-type-validator.d.ts +149 -0
- package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -0
- package/dist/core/expressions/factory/resource-type-validator.js +318 -0
- package/dist/core/expressions/factory/resource-type-validator.js.map +1 -0
- package/dist/core/expressions/factory/status-ast-utils.d.ts +36 -0
- package/dist/core/expressions/factory/status-ast-utils.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-ast-utils.js +320 -0
- package/dist/core/expressions/factory/status-ast-utils.js.map +1 -0
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts +91 -0
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-builder-analyzer.js +374 -0
- package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -0
- package/dist/core/expressions/factory/status-builder-types.d.ts +166 -0
- package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-builder-types.js +8 -0
- package/dist/core/expressions/factory/status-builder-types.js.map +1 -0
- package/dist/core/expressions/factory/status-cel-generation.d.ts +67 -0
- package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-cel-generation.js +330 -0
- package/dist/core/expressions/factory/status-cel-generation.js.map +1 -0
- package/dist/core/expressions/factory/status-field-analysis.d.ts +57 -0
- package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -0
- package/dist/core/expressions/factory/status-field-analysis.js +475 -0
- package/dist/core/expressions/factory/status-field-analysis.js.map +1 -0
- package/dist/core/expressions/index.d.ts +39 -49
- package/dist/core/expressions/index.d.ts.map +1 -1
- package/dist/core/expressions/index.js +46 -45
- package/dist/core/expressions/index.js.map +1 -1
- package/dist/core/expressions/{magic-assignable-analyzer.d.ts → magic-proxy/magic-assignable-analyzer.d.ts} +5 -5
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{magic-assignable-analyzer.js → magic-proxy/magic-assignable-analyzer.js} +29 -24
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -0
- package/dist/core/expressions/{magic-proxy-analyzer.d.ts → magic-proxy/magic-proxy-analyzer.d.ts} +15 -68
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -0
- package/dist/core/expressions/{magic-proxy-analyzer.js → magic-proxy/magic-proxy-analyzer.js} +45 -195
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +44 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js +175 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -0
- package/dist/core/expressions/{magic-proxy-detector.d.ts → magic-proxy/magic-proxy-detector.d.ts} +7 -7
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -0
- package/dist/core/expressions/{magic-proxy-detector.js → magic-proxy/magic-proxy-detector.js} +36 -28
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +36 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.js +8 -0
- package/dist/core/expressions/magic-proxy/magic-proxy-types.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts +54 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.js +239 -0
- package/dist/core/expressions/magic-proxy/optionality-analysis.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts +51 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.js +201 -0
- package/dist/core/expressions/magic-proxy/optionality-cel-generation.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +119 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.js +321 -0
- package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts +84 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.js +378 -0
- package/dist/core/expressions/magic-proxy/optionality-hydration.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts +61 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js +218 -0
- package/dist/core/expressions/magic-proxy/optionality-optional-chaining.js.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-types.d.ts +206 -0
- package/dist/core/expressions/magic-proxy/optionality-types.d.ts.map +1 -0
- package/dist/core/expressions/magic-proxy/optionality-types.js +9 -0
- package/dist/core/expressions/magic-proxy/optionality-types.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-checker.d.ts +74 -0
- package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -0
- package/dist/core/expressions/{compile-time-validation.js → validation/compile-time-checker.js} +44 -91
- package/dist/core/expressions/validation/compile-time-checker.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-errors.d.ts +70 -0
- package/dist/core/expressions/validation/compile-time-errors.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-errors.js +63 -0
- package/dist/core/expressions/validation/compile-time-errors.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-types.d.ts +147 -0
- package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-types.js +8 -0
- package/dist/core/expressions/validation/compile-time-types.js.map +1 -0
- package/dist/core/expressions/validation/compile-time-validation.d.ts +13 -0
- package/dist/core/expressions/validation/compile-time-validation.d.ts.map +1 -0
- package/dist/core/expressions/validation/compile-time-validation.js +14 -0
- package/dist/core/expressions/validation/compile-time-validation.js.map +1 -0
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts +35 -0
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/kubernetes-field-types.js +230 -0
- package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -0
- package/dist/core/expressions/validation/resource-field-utils.d.ts +69 -0
- package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-field-utils.js +280 -0
- package/dist/core/expressions/validation/resource-field-utils.js.map +1 -0
- package/dist/core/expressions/{resource-validation.d.ts → validation/resource-validation-types.d.ts} +6 -63
- package/dist/core/expressions/validation/resource-validation-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-validation-types.js +69 -0
- package/dist/core/expressions/validation/resource-validation-types.js.map +1 -0
- package/dist/core/expressions/validation/resource-validation.d.ts +49 -0
- package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -0
- package/dist/core/expressions/validation/resource-validation.js +288 -0
- package/dist/core/expressions/validation/resource-validation.js.map +1 -0
- package/dist/core/expressions/{type-inference.d.ts → validation/type-inference-types.d.ts} +34 -88
- package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -0
- package/dist/core/expressions/validation/type-inference-types.js +52 -0
- package/dist/core/expressions/validation/type-inference-types.js.map +1 -0
- package/dist/core/expressions/validation/type-inference.d.ts +86 -0
- package/dist/core/expressions/validation/type-inference.d.ts.map +1 -0
- package/dist/core/expressions/{type-inference.js → validation/type-inference.js} +66 -299
- package/dist/core/expressions/validation/type-inference.js.map +1 -0
- package/dist/core/expressions/{type-safety.d.ts → validation/type-safety.d.ts} +6 -5
- package/dist/core/expressions/validation/type-safety.d.ts.map +1 -0
- package/dist/core/expressions/{type-safety.js → validation/type-safety.js} +34 -19
- package/dist/core/expressions/validation/type-safety.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -1
- package/dist/core/kubernetes/api.js +26 -18
- package/dist/core/kubernetes/api.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.d.ts +117 -0
- package/dist/core/kubernetes/bun-api-client.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-api-client.js +183 -0
- package/dist/core/kubernetes/bun-api-client.js.map +1 -0
- package/dist/core/kubernetes/bun-http-library.d.ts +104 -0
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -0
- package/dist/core/kubernetes/bun-http-library.js +240 -0
- package/dist/core/kubernetes/bun-http-library.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +124 -35
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +209 -84
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/kubernetes/errors.d.ts +189 -0
- package/dist/core/kubernetes/errors.d.ts.map +1 -0
- package/dist/core/kubernetes/errors.js +298 -0
- package/dist/core/kubernetes/errors.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +20 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -0
- package/dist/core/kubernetes/index.js +23 -0
- package/dist/core/kubernetes/index.js.map +1 -0
- package/dist/core/kubernetes/type-guards.d.ts +142 -0
- package/dist/core/kubernetes/type-guards.d.ts.map +1 -0
- package/dist/core/kubernetes/type-guards.js +151 -0
- package/dist/core/kubernetes/type-guards.js.map +1 -0
- package/dist/core/logging/config.d.ts.map +1 -1
- package/dist/core/logging/config.js +20 -4
- package/dist/core/logging/config.js.map +1 -1
- package/dist/core/logging/logger.d.ts +3 -3
- package/dist/core/logging/logger.d.ts.map +1 -1
- package/dist/core/logging/logger.js +19 -11
- package/dist/core/logging/logger.js.map +1 -1
- package/dist/core/logging/types.d.ts +13 -8
- package/dist/core/logging/types.d.ts.map +1 -1
- package/dist/core/metadata/index.d.ts +9 -0
- package/dist/core/metadata/index.d.ts.map +1 -0
- package/dist/core/metadata/index.js +9 -0
- package/dist/core/metadata/index.js.map +1 -0
- package/dist/core/metadata/resource-metadata.d.ts +116 -0
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -0
- package/dist/core/metadata/resource-metadata.js +217 -0
- package/dist/core/metadata/resource-metadata.js.map +1 -0
- package/dist/core/proxy/create-resource.d.ts +50 -0
- package/dist/core/proxy/create-resource.d.ts.map +1 -0
- package/dist/core/proxy/create-resource.js +393 -0
- package/dist/core/proxy/create-resource.js.map +1 -0
- package/dist/core/proxy/index.d.ts +8 -0
- package/dist/core/proxy/index.d.ts.map +1 -0
- package/dist/core/proxy/index.js +7 -0
- package/dist/core/proxy/index.js.map +1 -0
- package/dist/core/proxy/known-status-fields.d.ts +27 -0
- package/dist/core/proxy/known-status-fields.d.ts.map +1 -0
- package/dist/core/proxy/known-status-fields.js +185 -0
- package/dist/core/proxy/known-status-fields.js.map +1 -0
- package/dist/core/readiness/evaluator-factories.d.ts +100 -0
- package/dist/core/readiness/evaluator-factories.d.ts.map +1 -0
- package/dist/core/readiness/evaluator-factories.js +168 -0
- package/dist/core/readiness/evaluator-factories.js.map +1 -0
- package/dist/core/readiness/evaluator.d.ts +21 -0
- package/dist/core/readiness/evaluator.d.ts.map +1 -0
- package/dist/core/readiness/evaluator.js +38 -0
- package/dist/core/readiness/evaluator.js.map +1 -0
- package/dist/core/readiness/index.d.ts +3 -0
- package/dist/core/readiness/index.d.ts.map +1 -1
- package/dist/core/readiness/index.js +2 -0
- package/dist/core/readiness/index.js.map +1 -1
- package/dist/core/readiness/registry.d.ts +3 -3
- package/dist/core/readiness/registry.d.ts.map +1 -1
- package/dist/core/readiness/registry.js +2 -0
- package/dist/core/readiness/registry.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts +11 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +77 -29
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.d.ts +66 -23
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +184 -117
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +39 -21
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +70 -30
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/index.d.ts +5 -4
- package/dist/core/references/index.d.ts.map +1 -1
- package/dist/core/references/index.js +6 -6
- package/dist/core/references/index.js.map +1 -1
- package/dist/core/references/resolver.d.ts +26 -3
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +322 -47
- 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 +105 -14
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/resources/factory-registry.d.ts +99 -0
- package/dist/core/resources/factory-registry.d.ts.map +1 -0
- package/dist/core/resources/factory-registry.js +166 -0
- package/dist/core/resources/factory-registry.js.map +1 -0
- package/dist/core/resources/id.d.ts +44 -0
- package/dist/core/resources/id.d.ts.map +1 -0
- package/dist/core/resources/id.js +78 -0
- package/dist/core/resources/id.js.map +1 -0
- package/dist/core/resources/index.d.ts +7 -0
- package/dist/core/resources/index.d.ts.map +1 -0
- package/dist/core/resources/index.js +6 -0
- package/dist/core/resources/index.js.map +1 -0
- package/dist/core/runtime-patches/crd-patcher.d.ts +30 -0
- package/dist/core/runtime-patches/crd-patcher.d.ts.map +1 -0
- package/dist/core/runtime-patches/crd-patcher.js +124 -0
- package/dist/core/runtime-patches/crd-patcher.js.map +1 -0
- package/dist/core/runtime-patches/crd-schema-fix.d.ts +145 -0
- package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -0
- package/dist/core/runtime-patches/crd-schema-fix.js +349 -0
- package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -0
- package/dist/core/runtime-patches/index.d.ts +8 -0
- package/dist/core/runtime-patches/index.d.ts.map +1 -0
- package/dist/core/runtime-patches/index.js +8 -0
- package/dist/core/runtime-patches/index.js.map +1 -0
- package/dist/core/{evaluation → serialization}/cel-optimizer.d.ts +2 -2
- package/dist/core/serialization/cel-optimizer.d.ts.map +1 -0
- package/dist/core/{evaluation → serialization}/cel-optimizer.js +11 -23
- package/dist/core/serialization/cel-optimizer.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts +36 -0
- package/dist/core/serialization/cel-references.d.ts.map +1 -0
- package/dist/core/serialization/cel-references.js +183 -0
- package/dist/core/serialization/cel-references.js.map +1 -0
- package/dist/core/serialization/core.d.ts +168 -3
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +392 -691
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/index.d.ts +3 -1
- package/dist/core/serialization/index.d.ts.map +1 -1
- package/dist/core/serialization/index.js +5 -1
- package/dist/core/serialization/index.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +34 -3
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +141 -11
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/status-analysis-helpers.d.ts +68 -0
- package/dist/core/serialization/status-analysis-helpers.d.ts.map +1 -0
- package/dist/core/serialization/status-analysis-helpers.js +284 -0
- package/dist/core/serialization/status-analysis-helpers.js.map +1 -0
- package/dist/core/serialization/status-analysis-pipeline.d.ts +63 -0
- package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -0
- package/dist/core/serialization/status-analysis-pipeline.js +419 -0
- package/dist/core/serialization/status-analysis-pipeline.js.map +1 -0
- package/dist/core/serialization/validation.d.ts.map +1 -1
- package/dist/core/serialization/validation.js +5 -3
- package/dist/core/serialization/validation.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +14 -3
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +453 -13
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/common.d.ts +66 -9
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +289 -81
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +1 -23
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/index.d.ts +6 -10
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +32 -4
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts +371 -19
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/kubernetes.js +11 -1
- package/dist/core/types/kubernetes.js.map +1 -1
- package/dist/core/types/references.d.ts +74 -4
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/types/references.js +3 -2
- package/dist/core/types/references.js.map +1 -1
- package/dist/core/types/resource-graph.d.ts +9 -33
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/resource-graph.js +2 -2
- package/dist/core/types/schema.d.ts +51 -0
- package/dist/core/types/schema.d.ts.map +1 -0
- package/dist/core/types/schema.js +9 -0
- package/dist/core/types/schema.js.map +1 -0
- package/dist/core/types/serialization.d.ts +105 -35
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/types/yaml.d.ts +0 -24
- package/dist/core/types/yaml.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts +5 -5
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +83 -19
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/yaml/path-resolver.d.ts +21 -6
- package/dist/core/yaml/path-resolver.d.ts.map +1 -1
- package/dist/core/yaml/path-resolver.js +404 -38
- package/dist/core/yaml/path-resolver.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +42 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +267 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -0
- package/dist/factories/apisix/compositions/index.d.ts +5 -0
- package/dist/factories/apisix/compositions/index.d.ts.map +1 -0
- package/dist/factories/apisix/compositions/index.js +5 -0
- package/dist/factories/apisix/compositions/index.js.map +1 -0
- package/dist/factories/apisix/index.d.ts +11 -0
- package/dist/factories/apisix/index.d.ts.map +1 -0
- package/dist/factories/apisix/index.js +11 -0
- package/dist/factories/apisix/index.js.map +1 -0
- package/dist/factories/apisix/resources/helm.d.ts +59 -0
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -0
- package/dist/factories/apisix/resources/helm.js +148 -0
- package/dist/factories/apisix/resources/helm.js.map +1 -0
- package/dist/factories/apisix/resources/index.d.ts +5 -0
- package/dist/factories/apisix/resources/index.d.ts.map +1 -0
- package/dist/factories/apisix/resources/index.js +5 -0
- package/dist/factories/apisix/resources/index.js.map +1 -0
- package/dist/factories/apisix/types.d.ts +372 -0
- package/dist/factories/apisix/types.d.ts.map +1 -0
- package/dist/factories/apisix/types.js +88 -0
- package/dist/factories/apisix/types.js.map +1 -0
- package/dist/factories/apisix/utils/admin-credentials.d.ts +43 -0
- package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -0
- package/dist/factories/apisix/utils/admin-credentials.js +82 -0
- package/dist/factories/apisix/utils/admin-credentials.js.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts +19 -0
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js +106 -0
- package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/apisix/utils/index.d.ts +6 -0
- package/dist/factories/apisix/utils/index.d.ts.map +1 -0
- package/dist/factories/apisix/utils/index.js +6 -0
- package/dist/factories/apisix/utils/index.js.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts +45 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js +309 -0
- package/dist/factories/cert-manager/compositions/cert-manager-bootstrap.js.map +1 -0
- package/dist/factories/cert-manager/compositions/index.d.ts +2 -0
- package/dist/factories/cert-manager/compositions/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/compositions/index.js +2 -0
- package/dist/factories/cert-manager/compositions/index.js.map +1 -0
- package/dist/factories/cert-manager/index.d.ts +10 -0
- package/dist/factories/cert-manager/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/index.js +19 -0
- package/dist/factories/cert-manager/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts +39 -0
- package/dist/factories/cert-manager/resources/certificates.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/certificates.js +97 -0
- package/dist/factories/cert-manager/resources/certificates.js.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts +113 -0
- package/dist/factories/cert-manager/resources/challenges.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/challenges.js +281 -0
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -0
- package/dist/factories/cert-manager/resources/helm.d.ts +37 -0
- package/dist/factories/cert-manager/resources/helm.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/helm.js +253 -0
- package/dist/factories/cert-manager/resources/helm.js.map +1 -0
- package/dist/factories/cert-manager/resources/index.d.ts +5 -0
- package/dist/factories/cert-manager/resources/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/index.js +6 -0
- package/dist/factories/cert-manager/resources/index.js.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts +79 -0
- package/dist/factories/cert-manager/resources/issuers.d.ts.map +1 -0
- package/dist/factories/cert-manager/resources/issuers.js +109 -0
- package/dist/factories/cert-manager/resources/issuers.js.map +1 -0
- package/dist/factories/cert-manager/types.d.ts +942 -0
- package/dist/factories/cert-manager/types.d.ts.map +1 -0
- package/dist/factories/cert-manager/types.js +178 -0
- package/dist/factories/cert-manager/types.js.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts +23 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js +116 -0
- package/dist/factories/cert-manager/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/cert-manager/utils/index.d.ts +2 -0
- package/dist/factories/cert-manager/utils/index.d.ts.map +1 -0
- package/dist/factories/cert-manager/utils/index.js +2 -0
- package/dist/factories/cert-manager/utils/index.js.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +220 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js +321 -0
- package/dist/factories/cilium/compositions/cilium-bootstrap.js.map +1 -0
- package/dist/factories/cilium/compositions/index.d.ts +8 -0
- package/dist/factories/cilium/compositions/index.d.ts.map +1 -0
- package/dist/factories/cilium/compositions/index.js +11 -0
- package/dist/factories/cilium/compositions/index.js.map +1 -0
- package/dist/factories/cilium/errors.d.ts +41 -0
- package/dist/factories/cilium/errors.d.ts.map +1 -0
- package/dist/factories/cilium/errors.js +75 -0
- package/dist/factories/cilium/errors.js.map +1 -0
- package/dist/factories/cilium/index.d.ts +11 -0
- package/dist/factories/cilium/index.d.ts.map +1 -0
- package/dist/factories/cilium/index.js +23 -0
- package/dist/factories/cilium/index.js.map +1 -0
- package/dist/factories/cilium/resources/gateway.d.ts +72 -0
- package/dist/factories/cilium/resources/gateway.d.ts.map +1 -0
- package/dist/factories/cilium/resources/gateway.js +116 -0
- package/dist/factories/cilium/resources/gateway.js.map +1 -0
- package/dist/factories/cilium/resources/helm.d.ts +93 -0
- package/dist/factories/cilium/resources/helm.d.ts.map +1 -0
- package/dist/factories/cilium/resources/helm.js +369 -0
- package/dist/factories/cilium/resources/helm.js.map +1 -0
- package/dist/factories/cilium/resources/index.d.ts +10 -0
- package/dist/factories/cilium/resources/index.d.ts.map +1 -0
- package/dist/factories/cilium/resources/index.js +19 -0
- package/dist/factories/cilium/resources/index.js.map +1 -0
- package/dist/factories/cilium/resources/networking.d.ts +198 -0
- package/dist/factories/cilium/resources/networking.d.ts.map +1 -0
- package/dist/factories/cilium/resources/networking.js +482 -0
- package/dist/factories/cilium/resources/networking.js.map +1 -0
- package/dist/factories/cilium/types.d.ts +957 -0
- package/dist/factories/cilium/types.d.ts.map +1 -0
- package/dist/factories/cilium/types.js +10 -0
- package/dist/factories/cilium/types.js.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts +32 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +146 -0
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -0
- package/dist/factories/external-dns/compositions/index.d.ts +2 -0
- package/dist/factories/external-dns/compositions/index.d.ts.map +1 -0
- package/dist/factories/external-dns/compositions/index.js +3 -0
- package/dist/factories/external-dns/compositions/index.js.map +1 -0
- package/dist/factories/external-dns/index.d.ts +10 -0
- package/dist/factories/external-dns/index.d.ts.map +1 -0
- package/dist/factories/external-dns/index.js +19 -0
- package/dist/factories/external-dns/index.js.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts +54 -0
- package/dist/factories/external-dns/resources/dns-endpoint.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js +53 -0
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -0
- package/dist/factories/external-dns/resources/helm.d.ts +57 -0
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/helm.js +440 -0
- package/dist/factories/external-dns/resources/helm.js.map +1 -0
- package/dist/factories/external-dns/resources/index.d.ts +3 -0
- package/dist/factories/external-dns/resources/index.d.ts.map +1 -0
- package/dist/factories/external-dns/resources/index.js +4 -0
- package/dist/factories/external-dns/resources/index.js.map +1 -0
- package/dist/factories/external-dns/types.d.ts +180 -0
- package/dist/factories/external-dns/types.d.ts.map +1 -0
- package/dist/factories/external-dns/types.js +39 -0
- package/dist/factories/external-dns/types.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +14 -4
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js +33 -0
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.d.ts +2 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.js.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js +3 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +13 -0
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +35 -16
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts +26 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js +30 -17
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/index.d.ts +10 -4
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/index.js +10 -4
- package/dist/factories/helm/index.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts +21 -8
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +98 -82
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +37 -3
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +8 -3
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +27 -4
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/kro/kro-crd.d.ts.map +1 -1
- package/dist/factories/kro/kro-crd.js +3 -2
- 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 +3 -2
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts +29 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +26 -8
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +3 -2
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +3 -2
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -1
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +3 -2
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +3 -2
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +3 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +3 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +2 -1
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +3 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -1
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.d.ts +17 -1
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/config-map.js +25 -7
- package/dist/factories/kubernetes/config/config-map.js.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts +23 -1
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.js +31 -7
- package/dist/factories/kubernetes/config/secret.js.map +1 -1
- package/dist/factories/kubernetes/coordination/lease.d.ts +3 -1
- package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -1
- package/dist/factories/kubernetes/coordination/lease.js +2 -1
- package/dist/factories/kubernetes/coordination/lease.js.map +1 -1
- package/dist/factories/kubernetes/core/component-status.d.ts +3 -1
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/component-status.js.map +1 -1
- package/dist/factories/kubernetes/core/namespace.d.ts +10 -0
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/namespace.js +13 -2
- package/dist/factories/kubernetes/core/namespace.js.map +1 -1
- package/dist/factories/kubernetes/core/node.d.ts +3 -1
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/node.js.map +1 -1
- package/dist/factories/kubernetes/core/pod.d.ts +3 -1
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -1
- package/dist/factories/kubernetes/core/pod.js +2 -1
- package/dist/factories/kubernetes/core/pod.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +3 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -1
- package/dist/factories/kubernetes/extensions/custom-resource.js +5 -1
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -1
- package/dist/factories/kubernetes/index.d.ts +0 -2
- package/dist/factories/kubernetes/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/index.js +3 -8
- package/dist/factories/kubernetes/index.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +3 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts +3 -1
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/endpoints.js +3 -2
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress-class.d.ts +3 -1
- package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/ingress-class.js +2 -7
- package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.d.ts +15 -2
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/ingress.js +64 -11
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.d.ts +3 -1
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/network-policy.js +2 -8
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
- package/dist/factories/kubernetes/networking/service.d.ts +14 -1
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +28 -3
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.d.ts +3 -1
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/limit-range.js +2 -8
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +3 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +3 -2
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.d.ts +3 -1
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -1
- package/dist/factories/kubernetes/policy/resource-quota.js +3 -2
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +20 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +19 -8
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/cluster-role.js +2 -8
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role-binding.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/role-binding.js +2 -8
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -1
- package/dist/factories/kubernetes/rbac/role.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/role.js +2 -8
- package/dist/factories/kubernetes/rbac/role.js.map +1 -1
- package/dist/factories/kubernetes/rbac/service-account.d.ts +3 -1
- package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -1
- package/dist/factories/kubernetes/rbac/service-account.js +2 -8
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts +3 -1
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/scheduling/priority-class.js +2 -7
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +3 -2
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.js +2 -1
- package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -1
- package/dist/factories/kubernetes/storage/csi-driver.d.ts +3 -1
- package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/csi-driver.js +2 -7
- package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -1
- package/dist/factories/kubernetes/storage/csi-node.d.ts +3 -1
- package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/csi-node.js +2 -1
- package/dist/factories/kubernetes/storage/csi-node.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +14 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +13 -1
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts +3 -1
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/persistent-volume.js +3 -2
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.d.ts +3 -1
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/storage-class.js +2 -8
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts +3 -1
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -1
- package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/cron-job.js +14 -2
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/daemon-set.js +13 -1
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/deployment.js +35 -5
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -1
- package/dist/factories/kubernetes/workloads/job.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/job.js +19 -2
- package/dist/factories/kubernetes/workloads/job.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.d.ts +3 -1
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replica-set.js +2 -1
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts +3 -1
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/replication-controller.js +3 -2
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts +14 -1
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/kubernetes/workloads/stateful-set.js +22 -2
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -1
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts +23 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.js +83 -0
- package/dist/factories/kubernetes/yaml/conflict-handler.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +6 -11
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +10 -75
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +72 -13
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +271 -91
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/pebble/compositions/index.d.ts +2 -0
- package/dist/factories/pebble/compositions/index.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/index.js +3 -0
- package/dist/factories/pebble/compositions/index.js.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts +56 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.d.ts.map +1 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js +95 -0
- package/dist/factories/pebble/compositions/pebble-bootstrap.js.map +1 -0
- package/dist/factories/pebble/index.d.ts +10 -0
- package/dist/factories/pebble/index.d.ts.map +1 -0
- package/dist/factories/pebble/index.js +19 -0
- package/dist/factories/pebble/index.js.map +1 -0
- package/dist/factories/pebble/resources/helm.d.ts +99 -0
- package/dist/factories/pebble/resources/helm.d.ts.map +1 -0
- package/dist/factories/pebble/resources/helm.js +148 -0
- package/dist/factories/pebble/resources/helm.js.map +1 -0
- package/dist/factories/pebble/resources/index.d.ts +2 -0
- package/dist/factories/pebble/resources/index.d.ts.map +1 -0
- package/dist/factories/pebble/resources/index.js +3 -0
- package/dist/factories/pebble/resources/index.js.map +1 -0
- package/dist/factories/pebble/types.d.ts +184 -0
- package/dist/factories/pebble/types.d.ts.map +1 -0
- package/dist/factories/pebble/types.js +23 -0
- package/dist/factories/pebble/types.js.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/pebble/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js +96 -0
- package/dist/factories/pebble/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/shared.d.ts +12 -54
- package/dist/factories/shared.d.ts.map +1 -1
- package/dist/factories/shared.js +10 -450
- package/dist/factories/shared.js.map +1 -1
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts +11 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -1
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js +12 -0
- package/dist/factories/simple/autoscaling/horizontal-pod-autoscaler.js.map +1 -1
- package/dist/factories/simple/compositions/web-service.d.ts +35 -0
- package/dist/factories/simple/compositions/web-service.d.ts.map +1 -0
- package/dist/{core/composition/composition.js → factories/simple/compositions/web-service.js} +15 -2
- package/dist/factories/simple/compositions/web-service.js.map +1 -0
- package/dist/factories/simple/config/config-map.d.ts +18 -2
- package/dist/factories/simple/config/config-map.d.ts.map +1 -1
- package/dist/factories/simple/config/config-map.js +14 -0
- package/dist/factories/simple/config/config-map.js.map +1 -1
- package/dist/factories/simple/config/secret.d.ts +22 -2
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.js +39 -3
- package/dist/factories/simple/config/secret.js.map +1 -1
- package/dist/factories/simple/helm/index.d.ts +10 -0
- package/dist/factories/simple/helm/index.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.js +10 -0
- package/dist/factories/simple/helm/index.js.map +1 -1
- package/dist/factories/simple/index.d.ts +1 -1
- package/dist/factories/simple/networking/ingress.d.ts +14 -2
- package/dist/factories/simple/networking/ingress.d.ts.map +1 -1
- package/dist/factories/simple/networking/ingress.js +12 -0
- package/dist/factories/simple/networking/ingress.js.map +1 -1
- package/dist/factories/simple/networking/network-policy.d.ts +11 -1
- package/dist/factories/simple/networking/network-policy.d.ts.map +1 -1
- package/dist/factories/simple/networking/network-policy.js +10 -0
- package/dist/factories/simple/networking/network-policy.js.map +1 -1
- package/dist/factories/simple/networking/service.d.ts +10 -0
- package/dist/factories/simple/networking/service.d.ts.map +1 -1
- package/dist/factories/simple/networking/service.js +10 -0
- package/dist/factories/simple/networking/service.js.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts +10 -0
- package/dist/factories/simple/storage/persistent-volume-claim.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume-claim.js +11 -0
- package/dist/factories/simple/storage/persistent-volume-claim.js.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.d.ts +11 -0
- package/dist/factories/simple/storage/persistent-volume.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.js +12 -0
- package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
- package/dist/factories/simple/types.d.ts +21 -1
- package/dist/factories/simple/types.d.ts.map +1 -1
- package/dist/factories/simple/workloads/cron-job.d.ts +10 -0
- package/dist/factories/simple/workloads/cron-job.d.ts.map +1 -1
- package/dist/factories/simple/workloads/cron-job.js +11 -0
- package/dist/factories/simple/workloads/cron-job.js.map +1 -1
- package/dist/factories/simple/workloads/daemon-set.d.ts +9 -0
- package/dist/factories/simple/workloads/daemon-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/daemon-set.js +9 -0
- package/dist/factories/simple/workloads/daemon-set.js.map +1 -1
- package/dist/factories/simple/workloads/deployment.d.ts +11 -1
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +19 -9
- package/dist/factories/simple/workloads/deployment.js.map +1 -1
- package/dist/factories/simple/workloads/job.d.ts +10 -0
- package/dist/factories/simple/workloads/job.d.ts.map +1 -1
- package/dist/factories/simple/workloads/job.js +11 -0
- package/dist/factories/simple/workloads/job.js.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts +11 -0
- package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.js +12 -0
- package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
- package/dist/factories/simple/yaml/index.d.ts +8 -0
- package/dist/factories/simple/yaml/index.d.ts.map +1 -1
- package/dist/factories/simple/yaml/index.js +8 -0
- package/dist/factories/simple/yaml/index.js.map +1 -1
- package/dist/index.d.ts +105 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -42
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +32 -0
- package/dist/shared/brands.d.ts.map +1 -0
- package/dist/shared/brands.js +32 -0
- package/dist/shared/brands.js.map +1 -0
- package/dist/utils/helpers.d.ts +31 -57
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +47 -428
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +5 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -6
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/string.d.ts +31 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +82 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/type-guards.d.ts +20 -6
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +78 -20
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +66 -16
- package/dist/core/composition/composition.d.ts +0 -10
- package/dist/core/composition/composition.d.ts.map +0 -1
- package/dist/core/composition/composition.js.map +0 -1
- package/dist/core/composition/typekro-runtime/index.d.ts +0 -3
- package/dist/core/composition/typekro-runtime/index.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/index.js.map +0 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +0 -99
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +0 -1
- package/dist/core/composition/typekro-runtime/types.d.ts +0 -16
- package/dist/core/composition/typekro-runtime/types.d.ts.map +0 -1
- package/dist/core/composition/typekro-runtime/types.js.map +0 -1
- package/dist/core/composition/types.d.ts +0 -27
- package/dist/core/composition/types.d.ts.map +0 -1
- package/dist/core/composition/types.js +0 -8
- package/dist/core/composition/types.js.map +0 -1
- package/dist/core/dependencies/type-guards.d.ts +0 -17
- package/dist/core/dependencies/type-guards.d.ts.map +0 -1
- package/dist/core/dependencies/type-guards.js +0 -40
- package/dist/core/dependencies/type-guards.js.map +0 -1
- package/dist/core/deployment/deployment-strategies.d.ts +0 -12
- package/dist/core/deployment/deployment-strategies.d.ts.map +0 -1
- package/dist/core/deployment/deployment-strategies.js +0 -11
- package/dist/core/deployment/deployment-strategies.js.map +0 -1
- package/dist/core/deployment/event-streamer.d.ts +0 -112
- package/dist/core/deployment/event-streamer.d.ts.map +0 -1
- package/dist/core/deployment/event-streamer.js +0 -348
- package/dist/core/deployment/event-streamer.js.map +0 -1
- package/dist/core/direct-deployment.d.ts +0 -8
- package/dist/core/direct-deployment.d.ts.map +0 -1
- package/dist/core/direct-deployment.js +0 -9
- package/dist/core/direct-deployment.js.map +0 -1
- package/dist/core/evaluation/cel-optimizer.d.ts.map +0 -1
- package/dist/core/evaluation/cel-optimizer.js.map +0 -1
- package/dist/core/expressions/analyzer.d.ts +0 -584
- package/dist/core/expressions/analyzer.d.ts.map +0 -1
- package/dist/core/expressions/analyzer.js +0 -2956
- package/dist/core/expressions/analyzer.js.map +0 -1
- package/dist/core/expressions/cache.d.ts.map +0 -1
- package/dist/core/expressions/cache.js.map +0 -1
- package/dist/core/expressions/cel-conversion-engine.d.ts.map +0 -1
- package/dist/core/expressions/cel-conversion-engine.js.map +0 -1
- package/dist/core/expressions/compile-time-validation.d.ts +0 -270
- package/dist/core/expressions/compile-time-validation.d.ts.map +0 -1
- package/dist/core/expressions/compile-time-validation.js.map +0 -1
- package/dist/core/expressions/composition-integration.d.ts +0 -315
- package/dist/core/expressions/composition-integration.d.ts.map +0 -1
- package/dist/core/expressions/composition-integration.js +0 -936
- package/dist/core/expressions/composition-integration.js.map +0 -1
- package/dist/core/expressions/conditional-expression-processor.d.ts.map +0 -1
- package/dist/core/expressions/conditional-expression-processor.js.map +0 -1
- package/dist/core/expressions/conditional-integration.d.ts.map +0 -1
- package/dist/core/expressions/conditional-integration.js.map +0 -1
- package/dist/core/expressions/conditional-validation.d.ts +0 -181
- package/dist/core/expressions/conditional-validation.d.ts.map +0 -1
- package/dist/core/expressions/conditional-validation.js +0 -460
- package/dist/core/expressions/conditional-validation.js.map +0 -1
- package/dist/core/expressions/context-aware-generator.d.ts.map +0 -1
- package/dist/core/expressions/context-aware-generator.js.map +0 -1
- package/dist/core/expressions/context-detector.d.ts.map +0 -1
- package/dist/core/expressions/context-detector.js.map +0 -1
- package/dist/core/expressions/context-switcher.d.ts +0 -185
- package/dist/core/expressions/context-switcher.d.ts.map +0 -1
- package/dist/core/expressions/context-switcher.js +0 -515
- package/dist/core/expressions/context-switcher.js.map +0 -1
- package/dist/core/expressions/context-validator.d.ts.map +0 -1
- package/dist/core/expressions/context-validator.js.map +0 -1
- package/dist/core/expressions/custom-context-manager.d.ts +0 -194
- package/dist/core/expressions/custom-context-manager.d.ts.map +0 -1
- package/dist/core/expressions/custom-context-manager.js +0 -390
- package/dist/core/expressions/custom-context-manager.js.map +0 -1
- package/dist/core/expressions/expression-proxy.d.ts +0 -80
- package/dist/core/expressions/expression-proxy.d.ts.map +0 -1
- package/dist/core/expressions/expression-proxy.js +0 -227
- package/dist/core/expressions/expression-proxy.js.map +0 -1
- package/dist/core/expressions/factory-integration.d.ts.map +0 -1
- package/dist/core/expressions/factory-integration.js.map +0 -1
- package/dist/core/expressions/factory-pattern-handler.d.ts.map +0 -1
- package/dist/core/expressions/factory-pattern-handler.js.map +0 -1
- package/dist/core/expressions/field-hydration-processor.d.ts +0 -188
- package/dist/core/expressions/field-hydration-processor.d.ts.map +0 -1
- package/dist/core/expressions/field-hydration-processor.js +0 -562
- package/dist/core/expressions/field-hydration-processor.js.map +0 -1
- package/dist/core/expressions/imperative-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/imperative-analyzer.js.map +0 -1
- package/dist/core/expressions/lazy-analysis.d.ts +0 -1128
- package/dist/core/expressions/lazy-analysis.d.ts.map +0 -1
- package/dist/core/expressions/lazy-analysis.js +0 -2443
- package/dist/core/expressions/lazy-analysis.js.map +0 -1
- package/dist/core/expressions/magic-assignable-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/magic-assignable-analyzer.js.map +0 -1
- package/dist/core/expressions/magic-proxy-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/magic-proxy-analyzer.js.map +0 -1
- package/dist/core/expressions/magic-proxy-detector.d.ts.map +0 -1
- package/dist/core/expressions/magic-proxy-detector.js.map +0 -1
- package/dist/core/expressions/migration-helpers.d.ts.map +0 -1
- package/dist/core/expressions/migration-helpers.js.map +0 -1
- package/dist/core/expressions/optionality-handler.d.ts +0 -503
- package/dist/core/expressions/optionality-handler.d.ts.map +0 -1
- package/dist/core/expressions/optionality-handler.js +0 -1306
- package/dist/core/expressions/optionality-handler.js.map +0 -1
- package/dist/core/expressions/readiness-integration.d.ts +0 -119
- package/dist/core/expressions/readiness-integration.d.ts.map +0 -1
- package/dist/core/expressions/readiness-integration.js +0 -386
- package/dist/core/expressions/readiness-integration.js.map +0 -1
- package/dist/core/expressions/resource-analyzer.d.ts +0 -486
- package/dist/core/expressions/resource-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/resource-analyzer.js +0 -1086
- package/dist/core/expressions/resource-analyzer.js.map +0 -1
- package/dist/core/expressions/resource-validation.d.ts.map +0 -1
- package/dist/core/expressions/resource-validation.js +0 -552
- package/dist/core/expressions/resource-validation.js.map +0 -1
- package/dist/core/expressions/runtime-error-mapper.d.ts +0 -138
- package/dist/core/expressions/runtime-error-mapper.d.ts.map +0 -1
- package/dist/core/expressions/runtime-error-mapper.js +0 -412
- package/dist/core/expressions/runtime-error-mapper.js.map +0 -1
- package/dist/core/expressions/source-map.d.ts.map +0 -1
- package/dist/core/expressions/source-map.js.map +0 -1
- package/dist/core/expressions/status-builder-analyzer.d.ts +0 -353
- package/dist/core/expressions/status-builder-analyzer.d.ts.map +0 -1
- package/dist/core/expressions/status-builder-analyzer.js +0 -1311
- package/dist/core/expressions/status-builder-analyzer.js.map +0 -1
- package/dist/core/expressions/type-inference.d.ts.map +0 -1
- package/dist/core/expressions/type-inference.js.map +0 -1
- package/dist/core/expressions/type-safety.d.ts.map +0 -1
- package/dist/core/expressions/type-safety.js.map +0 -1
- package/dist/core/expressions/types.d.ts.map +0 -1
- package/dist/core/expressions/types.js.map +0 -1
- package/dist/core/factory.d.ts +0 -12
- package/dist/core/factory.d.ts.map +0 -1
- package/dist/core/factory.js +0 -13
- package/dist/core/factory.js.map +0 -1
- package/dist/core/readiness/cluster-state.d.ts +0 -229
- package/dist/core/readiness/cluster-state.d.ts.map +0 -1
- package/dist/core/readiness/cluster-state.js +0 -366
- package/dist/core/readiness/cluster-state.js.map +0 -1
- package/dist/core.d.ts +0 -30
- package/dist/core.d.ts.map +0 -1
- package/dist/core.js +0 -59
- package/dist/core.js.map +0 -1
- /package/dist/{core/composition → compositions}/typekro-runtime/index.js +0 -0
- /package/dist/{core/composition → compositions}/typekro-runtime/types.js +0 -0
- /package/dist/core/expressions/{source-map.d.ts → analysis/source-map.d.ts} +0 -0
- /package/dist/core/expressions/{types.js → analysis/types.js} +0 -0
|
@@ -5,15 +5,24 @@
|
|
|
5
5
|
* using the Kro controller for dependency resolution and resource management.
|
|
6
6
|
*/
|
|
7
7
|
import * as k8s from '@kubernetes/client-node';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import { compile as compileExpression } from 'angular-expressions';
|
|
9
|
+
import { preserveNonEnumerableProperties } from '../../utils/helpers.js';
|
|
10
|
+
import { DEFAULT_DEPLOYMENT_TIMEOUT, DEFAULT_KRO_INSTANCE_TIMEOUT, DEFAULT_RGD_TIMEOUT, } from '../config/defaults.js';
|
|
11
|
+
import { CEL_EXPRESSION_BRAND } from '../constants/brands.js';
|
|
12
|
+
import { CRDInstanceError, ensureError, ResourceGraphFactoryError } from '../errors.js';
|
|
13
|
+
import { createBunCompatibleKubernetesObjectApi } from '../kubernetes/index.js';
|
|
12
14
|
import { getComponentLogger } from '../logging/index.js';
|
|
13
15
|
import { createSchemaProxy, DeploymentMode } from '../references/index.js';
|
|
16
|
+
// Dependency inversion: kroCustomResource, resourceGraphDefinition, and
|
|
17
|
+
// alchemy bridge are injected via FactoryOptions providers (Phase 3.5)
|
|
18
|
+
// instead of dynamic import() from higher layers.
|
|
19
|
+
import { getResourceId } from '../resources/id.js';
|
|
14
20
|
import { generateKroSchemaFromArktype } from '../serialization/schema.js';
|
|
15
21
|
import { serializeResourceGraphToYaml } from '../serialization/yaml.js';
|
|
22
|
+
import { KubernetesClientManager } from './client-provider-manager.js';
|
|
16
23
|
import { DirectDeploymentEngine } from './engine.js';
|
|
24
|
+
import { waitForKroInstanceReady as waitForKroInstanceReadyShared } from './kro-readiness.js';
|
|
25
|
+
import { convertToKubernetesName, generateInstanceName, pluralizeKind, validateSpec, } from './shared-utilities.js';
|
|
17
26
|
/**
|
|
18
27
|
* KroResourceFactory implementation
|
|
19
28
|
*
|
|
@@ -34,23 +43,31 @@ export class KroResourceFactoryImpl {
|
|
|
34
43
|
alchemyScope;
|
|
35
44
|
logger = getComponentLogger('kro-factory');
|
|
36
45
|
factoryOptions;
|
|
37
|
-
|
|
46
|
+
clientManager;
|
|
47
|
+
// Dependency-inversion providers (Phase 3.5) — injected via FactoryOptions
|
|
48
|
+
// instead of dynamic import() from factories/ and alchemy/ layers.
|
|
49
|
+
kroCustomResourceProvider;
|
|
50
|
+
rgdProvider;
|
|
51
|
+
alchemyBridge;
|
|
38
52
|
constructor(name, resources, schemaDefinition, statusMappings, options = {}) {
|
|
39
53
|
this.name = name;
|
|
40
54
|
this.namespace = options.namespace || 'default';
|
|
41
55
|
this.alchemyScope = options.alchemyScope;
|
|
42
56
|
this.isAlchemyManaged = !!options.alchemyScope;
|
|
43
|
-
this.rgdName =
|
|
57
|
+
this.rgdName = convertToKubernetesName(name); // Convert to valid Kubernetes resource name
|
|
44
58
|
this.resources = resources;
|
|
45
59
|
this.closures = options.closures || {};
|
|
46
60
|
this.schemaDefinition = schemaDefinition;
|
|
47
61
|
this.statusMappings = statusMappings;
|
|
48
62
|
this.factoryOptions = options;
|
|
63
|
+
this.clientManager = new KubernetesClientManager(options);
|
|
49
64
|
this.schema = createSchemaProxy();
|
|
65
|
+
// Injected providers — fall back to dynamic import() for backward compatibility
|
|
66
|
+
this.kroCustomResourceProvider = options.kroCustomResourceProvider;
|
|
67
|
+
this.rgdProvider = options.rgdProvider;
|
|
68
|
+
this.alchemyBridge = options.alchemyBridge;
|
|
50
69
|
// Validate closures for Kro mode - detect KubernetesRef inputs and raise clear errors
|
|
51
70
|
this.validateClosuresForKroMode();
|
|
52
|
-
// Don't initialize client provider in constructor - do it lazily when needed
|
|
53
|
-
// This allows tests to create factories without requiring a kubeconfig
|
|
54
71
|
}
|
|
55
72
|
/**
|
|
56
73
|
* Validate closures for Kro mode compatibility
|
|
@@ -68,75 +85,33 @@ export class KroResourceFactoryImpl {
|
|
|
68
85
|
closureNames: Object.keys(this.closures),
|
|
69
86
|
});
|
|
70
87
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Convert camelCase resource graph name to valid Kubernetes resource name (kebab-case)
|
|
73
|
-
*/
|
|
74
|
-
convertToKubernetesName(name) {
|
|
75
|
-
// Validate input name
|
|
76
|
-
if (!name || typeof name !== 'string') {
|
|
77
|
-
throw new Error(`Invalid resource graph name: ${JSON.stringify(name)}. Resource graph name must be a non-empty string.`);
|
|
78
|
-
}
|
|
79
|
-
const trimmedName = name.trim();
|
|
80
|
-
if (trimmedName.length === 0) {
|
|
81
|
-
throw new Error(`Invalid resource graph name: Resource graph name cannot be empty or whitespace-only.`);
|
|
82
|
-
}
|
|
83
|
-
// Convert to kebab-case and validate result
|
|
84
|
-
const kubernetesName = trimmedName
|
|
85
|
-
.replace(/([a-z])([A-Z])/g, '$1-$2') // Insert dash before capital letters
|
|
86
|
-
.toLowerCase(); // Convert to lowercase
|
|
87
|
-
// Validate Kubernetes naming conventions
|
|
88
|
-
if (!/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/.test(kubernetesName)) {
|
|
89
|
-
throw new Error(`Invalid resource graph name: "${name}" converts to "${kubernetesName}" which is not a valid Kubernetes resource name. Names must consist of lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.`);
|
|
90
|
-
}
|
|
91
|
-
if (kubernetesName.length > 253) {
|
|
92
|
-
throw new Error(`Invalid resource graph name: "${name}" converts to "${kubernetesName}" which exceeds the 253 character limit for Kubernetes resource names.`);
|
|
93
|
-
}
|
|
94
|
-
return kubernetesName;
|
|
95
|
-
}
|
|
96
88
|
/**
|
|
97
89
|
* Get or create the Kubernetes client provider (lazy initialization)
|
|
98
90
|
*/
|
|
99
91
|
getClientProvider() {
|
|
100
|
-
|
|
101
|
-
this.clientProvider = this.createClientProvider(this.factoryOptions);
|
|
102
|
-
}
|
|
103
|
-
return this.clientProvider;
|
|
92
|
+
return this.clientManager.getClientProvider();
|
|
104
93
|
}
|
|
105
94
|
/**
|
|
106
|
-
*
|
|
95
|
+
* Get the Kubernetes config from the centralized provider
|
|
107
96
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (options.kubeConfig) {
|
|
111
|
-
this.logger.debug('Using pre-configured KubeConfig from factory options');
|
|
112
|
-
return createKubernetesClientProviderWithKubeConfig(options.kubeConfig);
|
|
113
|
-
}
|
|
114
|
-
// Create client provider with configuration from factory options
|
|
115
|
-
const clientConfig = {
|
|
116
|
-
...(options.skipTLSVerify !== undefined && { skipTLSVerify: options.skipTLSVerify }),
|
|
117
|
-
// Add other configuration options as needed
|
|
118
|
-
};
|
|
119
|
-
this.logger.debug('Creating new KubernetesClientProvider with configuration', {
|
|
120
|
-
skipTLSVerify: clientConfig.skipTLSVerify,
|
|
121
|
-
});
|
|
122
|
-
return createKubernetesClientProvider(clientConfig);
|
|
97
|
+
getKubeConfig() {
|
|
98
|
+
return this.clientManager.getKubeConfig();
|
|
123
99
|
}
|
|
124
100
|
/**
|
|
125
|
-
* Get
|
|
101
|
+
* Get CustomObjectsApi client
|
|
126
102
|
*/
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return clientProvider.getKubeConfig();
|
|
103
|
+
getCustomObjectsApi() {
|
|
104
|
+
return this.clientManager.getCustomObjectsApi();
|
|
130
105
|
}
|
|
131
106
|
/**
|
|
132
107
|
* Deploy a new instance by creating a custom resource
|
|
133
108
|
*/
|
|
134
109
|
async deploy(spec) {
|
|
135
110
|
// Validate spec against ArkType schema
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
111
|
+
validateSpec(spec, this.schemaDefinition, {
|
|
112
|
+
kind: this.schemaDefinition.kind,
|
|
113
|
+
name: this.name,
|
|
114
|
+
});
|
|
140
115
|
// Execute closures before RGD creation (Kro mode requirement)
|
|
141
116
|
await this.executeClosuresBeforeRGD(spec);
|
|
142
117
|
if (this.isAlchemyManaged) {
|
|
@@ -161,11 +136,11 @@ export class KroResourceFactoryImpl {
|
|
|
161
136
|
// The closures returned by the resource builder are deployment closures that expect a DeploymentContext
|
|
162
137
|
// We need to execute them with a mock context to trigger validation
|
|
163
138
|
const mockDeploymentContext = {
|
|
164
|
-
kubernetesApi
|
|
139
|
+
// kubernetesApi intentionally omitted - not needed for validation
|
|
165
140
|
namespace: this.namespace,
|
|
166
141
|
deployedResources: new Map(),
|
|
167
142
|
resolveReference: async (ref) => {
|
|
168
|
-
throw new
|
|
143
|
+
throw new ResourceGraphFactoryError(`Kro mode does not support dynamic reference resolution. Found reference: ${ref.resourceId}.${ref.fieldPath}`, this.name, 'deployment');
|
|
169
144
|
},
|
|
170
145
|
};
|
|
171
146
|
for (const [closureName, closure] of Object.entries(this.closures)) {
|
|
@@ -180,18 +155,21 @@ export class KroResourceFactoryImpl {
|
|
|
180
155
|
throw error;
|
|
181
156
|
}
|
|
182
157
|
// For other errors, wrap them with context
|
|
183
|
-
throw new
|
|
158
|
+
throw new ResourceGraphFactoryError(`Failed to validate closure '${closureName}': ${ensureError(error).message}`, this.name, 'deployment');
|
|
184
159
|
}
|
|
185
160
|
}
|
|
186
161
|
const allResults = [];
|
|
187
162
|
// Only create deployment context after validation passes
|
|
163
|
+
// Use createBunCompatibleKubernetesObjectApi which handles both Bun and Node.js
|
|
164
|
+
const kubeConfig = this.getKubeConfig();
|
|
188
165
|
const deploymentContext = {
|
|
189
|
-
kubernetesApi:
|
|
166
|
+
kubernetesApi: createBunCompatibleKubernetesObjectApi(kubeConfig),
|
|
167
|
+
kubeConfig: kubeConfig,
|
|
190
168
|
...(this.alchemyScope && { alchemyScope: this.alchemyScope }),
|
|
191
169
|
namespace: this.namespace,
|
|
192
170
|
deployedResources: new Map(), // Empty for pre-RGD execution
|
|
193
171
|
resolveReference: async (ref) => {
|
|
194
|
-
throw new
|
|
172
|
+
throw new ResourceGraphFactoryError(`Kro mode does not support dynamic reference resolution. Found reference: ${ref.resourceId}.${ref.fieldPath}`, this.name, 'deployment');
|
|
195
173
|
},
|
|
196
174
|
};
|
|
197
175
|
// Execute closures sequentially to maintain order
|
|
@@ -219,9 +197,9 @@ export class KroResourceFactoryImpl {
|
|
|
219
197
|
}
|
|
220
198
|
this.logger.error('Closure execution failed', {
|
|
221
199
|
name: closureName,
|
|
222
|
-
message: error
|
|
200
|
+
message: ensureError(error).message,
|
|
223
201
|
});
|
|
224
|
-
throw new
|
|
202
|
+
throw new ResourceGraphFactoryError(`Failed to execute closure '${closureName}': ${ensureError(error).message}`, this.name, 'deployment', ensureError(error));
|
|
225
203
|
}
|
|
226
204
|
}
|
|
227
205
|
this.logger.info('All closures executed successfully', {
|
|
@@ -238,9 +216,11 @@ export class KroResourceFactoryImpl {
|
|
|
238
216
|
// Create DirectDeploymentEngine with KRO mode for CEL string conversion
|
|
239
217
|
const deploymentEngine = new DirectDeploymentEngine(this.getKubeConfig(), undefined, undefined, DeploymentMode.KRO);
|
|
240
218
|
// Create custom resource instance
|
|
241
|
-
const instanceName =
|
|
219
|
+
const instanceName = generateInstanceName(spec, this.name);
|
|
242
220
|
const customResourceData = this.createCustomResourceInstance(instanceName, spec);
|
|
243
221
|
// Wrap with kroCustomResource factory to get Enhanced object with readiness evaluation
|
|
222
|
+
const kroCustomResource = this.kroCustomResourceProvider ??
|
|
223
|
+
(await import('../../factories/kro/kro-custom-resource.js')).kroCustomResource;
|
|
244
224
|
const enhancedCustomResource = kroCustomResource({
|
|
245
225
|
apiVersion: customResourceData.apiVersion,
|
|
246
226
|
kind: customResourceData.kind,
|
|
@@ -261,27 +241,28 @@ export class KroResourceFactoryImpl {
|
|
|
261
241
|
},
|
|
262
242
|
spec: customResourceData.spec, // Use spec directly from customResourceData to ensure it's preserved
|
|
263
243
|
};
|
|
264
|
-
// Preserve
|
|
265
|
-
|
|
266
|
-
if (readinessEvaluator) {
|
|
267
|
-
Object.defineProperty(deployableResource, 'readinessEvaluator', {
|
|
268
|
-
value: readinessEvaluator,
|
|
269
|
-
enumerable: false,
|
|
270
|
-
configurable: false,
|
|
271
|
-
writable: false,
|
|
272
|
-
});
|
|
273
|
-
}
|
|
244
|
+
// Preserve non-enumerable properties (readinessEvaluator, __resourceId) lost during spread
|
|
245
|
+
preserveNonEnumerableProperties(enhancedCustomResource, deployableResource);
|
|
274
246
|
// Deploy without waiting for readiness - we'll handle that ourselves
|
|
247
|
+
this.logger.info('Deploying Kro instance', { instanceName, rgdName: this.rgdName });
|
|
275
248
|
const _deployedResource = await deploymentEngine.deployResource(deployableResource, {
|
|
276
249
|
mode: 'kro',
|
|
277
250
|
namespace: this.namespace,
|
|
278
251
|
waitForReady: false, // We'll handle Kro-specific readiness ourselves
|
|
279
|
-
timeout: this.factoryOptions.timeout ||
|
|
252
|
+
timeout: this.factoryOptions.timeout || DEFAULT_DEPLOYMENT_TIMEOUT,
|
|
253
|
+
});
|
|
254
|
+
this.logger.info('Instance deployed, checking readiness', {
|
|
255
|
+
instanceName,
|
|
256
|
+
rgdName: this.rgdName,
|
|
280
257
|
});
|
|
281
258
|
// Handle Kro-specific readiness checking if requested
|
|
282
259
|
if (this.factoryOptions.waitForReady ?? true) {
|
|
283
|
-
await this.waitForKroInstanceReady(instanceName, this.factoryOptions.timeout ||
|
|
260
|
+
await this.waitForKroInstanceReady(instanceName, this.factoryOptions.timeout || DEFAULT_KRO_INSTANCE_TIMEOUT); // 10 minutes
|
|
284
261
|
}
|
|
262
|
+
this.logger.info('Instance ready, creating enhanced proxy', {
|
|
263
|
+
instanceName,
|
|
264
|
+
rgdName: this.rgdName,
|
|
265
|
+
});
|
|
285
266
|
// Create Enhanced proxy for the deployed instance
|
|
286
267
|
return await this.createEnhancedProxy(spec, instanceName);
|
|
287
268
|
}
|
|
@@ -292,12 +273,14 @@ export class KroResourceFactoryImpl {
|
|
|
292
273
|
*/
|
|
293
274
|
async deployWithAlchemy(spec) {
|
|
294
275
|
if (!this.alchemyScope) {
|
|
295
|
-
throw new
|
|
276
|
+
throw new ResourceGraphFactoryError('Alchemy scope is required for alchemy deployment', this.name, 'deployment');
|
|
296
277
|
}
|
|
297
278
|
// Use static registration functions
|
|
298
279
|
// Create deployer instance using DirectDeploymentEngine with KRO mode
|
|
299
280
|
const kroEngine = new DirectDeploymentEngine(this.getKubeConfig(), undefined, undefined, DeploymentMode.KRO);
|
|
300
|
-
const deployer =
|
|
281
|
+
const deployer = this.alchemyBridge
|
|
282
|
+
? this.alchemyBridge.createDeployer(kroEngine)
|
|
283
|
+
: new (await import('../../alchemy/deployment.js')).KroTypeKroDeployer(kroEngine);
|
|
301
284
|
// 1. Ensure RGD is deployed via alchemy (once per factory)
|
|
302
285
|
const kroSchema = generateKroSchemaFromArktype(this.name, this.schemaDefinition, this.resources, this.statusMappings);
|
|
303
286
|
const rgdManifest = {
|
|
@@ -310,37 +293,43 @@ export class KroResourceFactoryImpl {
|
|
|
310
293
|
spec: {
|
|
311
294
|
schema: kroSchema,
|
|
312
295
|
resources: Object.values(this.resources).map((resource) => ({
|
|
313
|
-
id: resource
|
|
296
|
+
id: getResourceId(resource),
|
|
314
297
|
template: resource,
|
|
315
298
|
})),
|
|
316
299
|
},
|
|
317
300
|
};
|
|
318
301
|
// Register RGD type dynamically
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
const
|
|
302
|
+
const rgdFactory = this.rgdProvider ??
|
|
303
|
+
(await import('../../factories/kro/resource-graph-definition.js')).resourceGraphDefinition;
|
|
304
|
+
const rgdEnhanced = rgdFactory(rgdManifest);
|
|
305
|
+
const bridge = this.alchemyBridge ?? (await import('../../alchemy/deployment.js'));
|
|
306
|
+
const RGDProvider = bridge.ensureResourceTypeRegistered(rgdEnhanced);
|
|
307
|
+
const rgdId = bridge.createAlchemyResourceId(rgdEnhanced, this.namespace);
|
|
322
308
|
await RGDProvider(rgdId, {
|
|
323
309
|
resource: rgdEnhanced,
|
|
324
310
|
namespace: this.namespace,
|
|
325
311
|
deployer: deployer,
|
|
326
312
|
options: {
|
|
327
313
|
waitForReady: true,
|
|
328
|
-
timeout:
|
|
314
|
+
timeout: DEFAULT_RGD_TIMEOUT, // RGD should be ready quickly
|
|
329
315
|
},
|
|
330
316
|
});
|
|
331
317
|
// 2. Create instance via alchemy (once per deploy call)
|
|
332
|
-
const instanceName =
|
|
318
|
+
const instanceName = generateInstanceName(spec, this.name);
|
|
333
319
|
const crdInstanceManifest = this.createCustomResourceInstance(instanceName, spec);
|
|
334
320
|
// Register CRD instance type dynamically
|
|
335
|
-
|
|
336
|
-
|
|
321
|
+
// Cast required: crdInstanceManifest is a plain KubernetesResource, but alchemy functions
|
|
322
|
+
// expect Enhanced<unknown, unknown>. They only access kind/metadata.name for type inference.
|
|
323
|
+
const crdAsEnhanced = crdInstanceManifest;
|
|
324
|
+
const CRDInstanceProvider = bridge.ensureResourceTypeRegistered(crdAsEnhanced);
|
|
325
|
+
const instanceId = bridge.createAlchemyResourceId(crdAsEnhanced, this.namespace);
|
|
337
326
|
await CRDInstanceProvider(instanceId, {
|
|
338
|
-
resource:
|
|
327
|
+
resource: crdAsEnhanced,
|
|
339
328
|
namespace: this.namespace,
|
|
340
329
|
deployer: deployer,
|
|
341
330
|
options: {
|
|
342
331
|
waitForReady: this.factoryOptions.waitForReady ?? true,
|
|
343
|
-
timeout: this.factoryOptions.timeout ??
|
|
332
|
+
timeout: this.factoryOptions.timeout ?? DEFAULT_DEPLOYMENT_TIMEOUT,
|
|
344
333
|
},
|
|
345
334
|
});
|
|
346
335
|
// Create Enhanced proxy for the deployed instance
|
|
@@ -351,40 +340,50 @@ export class KroResourceFactoryImpl {
|
|
|
351
340
|
*/
|
|
352
341
|
async getInstances() {
|
|
353
342
|
const kubeConfig = this.getKubeConfig();
|
|
354
|
-
|
|
343
|
+
// Use Bun-compatible API client to ensure proper TLS handling
|
|
344
|
+
const { createBunCompatibleCustomObjectsApi } = await import('../kubernetes/bun-api-client.js');
|
|
345
|
+
const customApi = createBunCompatibleCustomObjectsApi(kubeConfig);
|
|
355
346
|
try {
|
|
356
347
|
// The schema definition should contain just the version part (e.g., 'v1alpha1')
|
|
357
348
|
// If it somehow contains the full API version, extract just the version part
|
|
358
349
|
const version = this.schemaDefinition.apiVersion.includes('/')
|
|
359
350
|
? this.schemaDefinition.apiVersion.split('/')[1] || this.schemaDefinition.apiVersion
|
|
360
351
|
: this.schemaDefinition.apiVersion;
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
352
|
+
// In the new API, methods take request objects and return objects directly
|
|
353
|
+
const listResponse = await customApi.listNamespacedCustomObject({
|
|
354
|
+
group: 'kro.run',
|
|
355
|
+
version,
|
|
356
|
+
namespace: this.namespace,
|
|
357
|
+
plural: `${this.schemaDefinition.kind.toLowerCase()}s`, // Pluralize the kind
|
|
358
|
+
});
|
|
359
|
+
const listResult = listResponse;
|
|
360
|
+
const instances = listResult.items || [];
|
|
364
361
|
return await Promise.all(instances.map(async (instance) => {
|
|
365
|
-
return await this.createEnhancedProxy(instance.spec, instance.metadata
|
|
362
|
+
return await this.createEnhancedProxy(instance.spec, instance.metadata?.name || 'unknown');
|
|
366
363
|
}));
|
|
367
364
|
}
|
|
368
365
|
catch (error) {
|
|
369
366
|
const k8sError = error;
|
|
370
367
|
// If the CRD doesn't exist yet or there are no instances, return empty array
|
|
368
|
+
const bodyString = typeof k8sError.body === 'string' ? k8sError.body : JSON.stringify(k8sError.body || '');
|
|
371
369
|
if (k8sError.message?.includes('not found') ||
|
|
372
370
|
k8sError.message?.includes('404') ||
|
|
373
|
-
|
|
374
|
-
|
|
371
|
+
bodyString.includes('not found') ||
|
|
372
|
+
bodyString.includes('404') ||
|
|
375
373
|
k8sError.statusCode === 404 ||
|
|
376
374
|
String(error).includes('404') ||
|
|
377
375
|
String(error).includes('not found')) {
|
|
378
376
|
return [];
|
|
379
377
|
}
|
|
380
|
-
throw new
|
|
378
|
+
throw new CRDInstanceError(`Failed to list instances: ${k8sError.message || String(error)}`, this.schemaDefinition.apiVersion, this.schemaDefinition.kind, '*', 'statusResolution', ensureError(error));
|
|
381
379
|
}
|
|
382
380
|
}
|
|
383
381
|
/**
|
|
384
382
|
* Delete a specific instance by name
|
|
385
383
|
*/
|
|
386
384
|
async deleteInstance(name) {
|
|
387
|
-
const
|
|
385
|
+
const kubeConfig = this.getKubeConfig();
|
|
386
|
+
const k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
388
387
|
const apiVersion = this.schemaDefinition.apiVersion.includes('/')
|
|
389
388
|
? this.schemaDefinition.apiVersion
|
|
390
389
|
: `kro.run/${this.schemaDefinition.apiVersion}`;
|
|
@@ -401,7 +400,7 @@ export class KroResourceFactoryImpl {
|
|
|
401
400
|
catch (error) {
|
|
402
401
|
const k8sError = error;
|
|
403
402
|
if (k8sError.statusCode !== 404) {
|
|
404
|
-
throw new
|
|
403
|
+
throw new CRDInstanceError(`Failed to delete instance ${name}: ${k8sError.message || String(error)}`, this.schemaDefinition.apiVersion, this.schemaDefinition.kind, name, 'deletion', ensureError(error));
|
|
405
404
|
}
|
|
406
405
|
// Instance already deleted, ignore 404
|
|
407
406
|
}
|
|
@@ -425,8 +424,10 @@ export class KroResourceFactoryImpl {
|
|
|
425
424
|
* Get ResourceGraphDefinition status
|
|
426
425
|
*/
|
|
427
426
|
async getRGDStatus() {
|
|
428
|
-
const
|
|
427
|
+
const kubeConfig = this.getKubeConfig();
|
|
428
|
+
const k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
429
429
|
try {
|
|
430
|
+
// In the new API, methods return objects directly (no .body wrapper)
|
|
430
431
|
const response = await k8sApi.read({
|
|
431
432
|
apiVersion: 'kro.run/v1alpha1',
|
|
432
433
|
kind: 'ResourceGraphDefinition',
|
|
@@ -435,7 +436,7 @@ export class KroResourceFactoryImpl {
|
|
|
435
436
|
namespace: this.namespace,
|
|
436
437
|
},
|
|
437
438
|
});
|
|
438
|
-
const rgd = response
|
|
439
|
+
const rgd = response;
|
|
439
440
|
// Map Kro's state to our phase enum
|
|
440
441
|
let phase = 'pending';
|
|
441
442
|
if (rgd.status?.state === 'Active') {
|
|
@@ -455,14 +456,24 @@ export class KroResourceFactoryImpl {
|
|
|
455
456
|
}
|
|
456
457
|
catch (error) {
|
|
457
458
|
const k8sError = error;
|
|
458
|
-
|
|
459
|
+
// Check for 404 in multiple ways since different API clients report it differently
|
|
460
|
+
const bodyString = typeof k8sError.body === 'string' ? k8sError.body : JSON.stringify(k8sError.body || '');
|
|
461
|
+
const is404 = k8sError.statusCode === 404 ||
|
|
462
|
+
k8sError.message?.includes('404') ||
|
|
463
|
+
k8sError.message?.includes('not found') ||
|
|
464
|
+
k8sError.message?.includes('NotFound') ||
|
|
465
|
+
bodyString.includes('"code":404') ||
|
|
466
|
+
bodyString.includes('"reason":"NotFound"') ||
|
|
467
|
+
String(error).includes('404') ||
|
|
468
|
+
String(error).includes('not found');
|
|
469
|
+
if (is404) {
|
|
459
470
|
return {
|
|
460
471
|
name: this.rgdName,
|
|
461
472
|
phase: 'pending',
|
|
462
473
|
conditions: [],
|
|
463
474
|
};
|
|
464
475
|
}
|
|
465
|
-
throw new
|
|
476
|
+
throw new ResourceGraphFactoryError(`Failed to get RGD status: ${k8sError.message || String(error)}`, this.name, 'getInstance', ensureError(error));
|
|
466
477
|
}
|
|
467
478
|
}
|
|
468
479
|
/**
|
|
@@ -471,7 +482,7 @@ export class KroResourceFactoryImpl {
|
|
|
471
482
|
toYaml(spec) {
|
|
472
483
|
if (spec) {
|
|
473
484
|
// Generate CRD instance YAML
|
|
474
|
-
const instanceName =
|
|
485
|
+
const instanceName = generateInstanceName(spec, this.name);
|
|
475
486
|
const customResource = this.createCustomResourceInstance(instanceName, spec);
|
|
476
487
|
return `apiVersion: ${customResource.apiVersion}
|
|
477
488
|
kind: ${customResource.kind}
|
|
@@ -511,56 +522,71 @@ ${Object.entries(spec)
|
|
|
511
522
|
},
|
|
512
523
|
};
|
|
513
524
|
// Create Enhanced RGD with readiness evaluator
|
|
514
|
-
const
|
|
525
|
+
const rgdFactory = this.rgdProvider ??
|
|
526
|
+
(await import('../../factories/kro/resource-graph-definition.js')).resourceGraphDefinition;
|
|
527
|
+
const enhancedRGD = rgdFactory(rgdWithMetadata);
|
|
528
|
+
// Create a deployable resource with the required 'id' field
|
|
529
|
+
const deployableRGD = {
|
|
530
|
+
...enhancedRGD,
|
|
531
|
+
id: this.rgdName,
|
|
532
|
+
};
|
|
533
|
+
// Preserve non-enumerable properties (readinessEvaluator, __resourceId) lost during spread
|
|
534
|
+
preserveNonEnumerableProperties(enhancedRGD, deployableRGD);
|
|
515
535
|
// Debug: Log the RGD being deployed
|
|
516
536
|
this.logger.debug('Deploying RGD', {
|
|
517
537
|
rgdName: this.rgdName,
|
|
518
|
-
rgdManifest: JSON.stringify(rgdWithMetadata, null, 2)
|
|
538
|
+
rgdManifest: JSON.stringify(rgdWithMetadata, null, 2),
|
|
519
539
|
});
|
|
520
540
|
try {
|
|
521
541
|
// Deploy RGD using DirectDeploymentEngine with readiness checking
|
|
522
|
-
|
|
542
|
+
this.logger.info('Deploying RGD via engine', { rgdName: this.rgdName });
|
|
543
|
+
await deploymentEngine.deployResource(deployableRGD, {
|
|
523
544
|
mode: 'direct',
|
|
524
545
|
namespace: this.namespace,
|
|
525
546
|
waitForReady: true,
|
|
526
|
-
timeout: this.factoryOptions.timeout ||
|
|
547
|
+
timeout: this.factoryOptions.timeout || DEFAULT_RGD_TIMEOUT,
|
|
527
548
|
});
|
|
549
|
+
this.logger.info('RGD deployed, waiting for CRD', { rgdName: this.rgdName });
|
|
528
550
|
// Wait for the CRD to be created by Kro using DirectDeploymentEngine
|
|
529
551
|
await this.waitForCRDReadyWithEngine(deploymentEngine);
|
|
552
|
+
this.logger.info('CRD ready', { rgdName: this.rgdName });
|
|
530
553
|
}
|
|
531
554
|
catch (error) {
|
|
532
555
|
// Debug: Check the actual RGD status when it fails
|
|
533
556
|
try {
|
|
534
|
-
const
|
|
557
|
+
const kubeConfig = this.getKubeConfig();
|
|
558
|
+
const k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
559
|
+
// In the new API, methods return objects directly (no .body wrapper)
|
|
535
560
|
const rgdStatus = await k8sApi.read({
|
|
536
561
|
apiVersion: 'kro.run/v1alpha1',
|
|
537
562
|
kind: 'ResourceGraphDefinition',
|
|
538
|
-
metadata: { name: this.rgdName, namespace: this.namespace }
|
|
563
|
+
metadata: { name: this.rgdName, namespace: this.namespace },
|
|
539
564
|
});
|
|
565
|
+
const rgdResult = rgdStatus;
|
|
540
566
|
this.logger.error('RGD deployment failed, current status:', undefined, {
|
|
541
567
|
rgdName: this.rgdName,
|
|
542
|
-
status:
|
|
543
|
-
conditions:
|
|
568
|
+
status: rgdResult.status,
|
|
569
|
+
conditions: rgdResult.status?.conditions,
|
|
544
570
|
});
|
|
545
571
|
}
|
|
546
572
|
catch (statusError) {
|
|
547
|
-
this.logger.error('Could not fetch RGD status for debugging', statusError);
|
|
573
|
+
this.logger.error('Could not fetch RGD status for debugging', ensureError(statusError));
|
|
548
574
|
}
|
|
549
|
-
throw new
|
|
575
|
+
throw new ResourceGraphFactoryError(`Failed to deploy RGD using DirectDeploymentEngine: ${ensureError(error).message}`, this.name, 'deployment', ensureError(error));
|
|
550
576
|
}
|
|
551
577
|
}
|
|
552
578
|
/**
|
|
553
579
|
* Wait for the CRD to be created by Kro using DirectDeploymentEngine
|
|
554
580
|
*/
|
|
555
581
|
async waitForCRDReadyWithEngine(deploymentEngine) {
|
|
556
|
-
const crdName = `${this.schemaDefinition.kind
|
|
582
|
+
const crdName = `${pluralizeKind(this.schemaDefinition.kind)}.kro.run`;
|
|
557
583
|
// Debug: Check if the method exists
|
|
558
584
|
if (typeof deploymentEngine.waitForCRDReady !== 'function') {
|
|
559
|
-
throw new
|
|
585
|
+
throw new ResourceGraphFactoryError(`deploymentEngine.waitForCRDReady is not a function. Available methods: ${Object.getOwnPropertyNames(Object.getPrototypeOf(deploymentEngine)).join(', ')}`, this.name, 'deployment');
|
|
560
586
|
}
|
|
561
587
|
// Use the deployment engine's built-in CRD readiness checking
|
|
562
588
|
// This will wait for the CRD to be created by Kro and become ready
|
|
563
|
-
await deploymentEngine.waitForCRDReady(crdName, this.factoryOptions.timeout ||
|
|
589
|
+
await deploymentEngine.waitForCRDReady(crdName, this.factoryOptions.timeout || DEFAULT_RGD_TIMEOUT);
|
|
564
590
|
}
|
|
565
591
|
/**
|
|
566
592
|
* Separate static and dynamic status fields
|
|
@@ -574,21 +600,188 @@ ${Object.entries(spec)
|
|
|
574
600
|
return separateStatusFields(this.statusMappings);
|
|
575
601
|
}
|
|
576
602
|
/**
|
|
577
|
-
*
|
|
603
|
+
* Evaluate static CEL expressions with actual spec values
|
|
578
604
|
*/
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
605
|
+
async evaluateStaticFields(staticFields, spec) {
|
|
606
|
+
const evaluatedFields = {};
|
|
607
|
+
for (const [fieldName, fieldValue] of Object.entries(staticFields)) {
|
|
608
|
+
if (this.isCelExpression(fieldValue)) {
|
|
609
|
+
try {
|
|
610
|
+
// Evaluate CEL expressions that contain only schema references
|
|
611
|
+
const evaluatedValue = this.evaluateStaticCelExpression(fieldValue, spec);
|
|
612
|
+
evaluatedFields[fieldName] = evaluatedValue;
|
|
613
|
+
}
|
|
614
|
+
catch (error) {
|
|
615
|
+
this.logger.warn('Failed to evaluate static CEL expression', {
|
|
616
|
+
field: fieldName,
|
|
617
|
+
expression: fieldValue.expression,
|
|
618
|
+
error: ensureError(error).message,
|
|
619
|
+
});
|
|
620
|
+
// Fallback to the original value
|
|
621
|
+
evaluatedFields[fieldName] = fieldValue;
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
else if (typeof fieldValue === 'string' &&
|
|
625
|
+
fieldValue.includes('__KUBERNETES_REF___schema___')) {
|
|
626
|
+
// Resolve __KUBERNETES_REF_ marker strings from template literal coercion.
|
|
627
|
+
// When the composition function uses template literals like `${spec.name}-suffix`,
|
|
628
|
+
// the proxy's Symbol.toPrimitive produces marker strings at runtime. These need
|
|
629
|
+
// to be resolved to actual spec values at deploy time.
|
|
630
|
+
evaluatedFields[fieldName] = this.resolveSchemaRefMarkers(fieldValue, spec);
|
|
631
|
+
}
|
|
632
|
+
else if (typeof fieldValue === 'string' &&
|
|
633
|
+
fieldValue.startsWith('${') &&
|
|
634
|
+
fieldValue.endsWith('}')) {
|
|
635
|
+
// Evaluate inline CEL expression strings produced by the composition AST analyzer.
|
|
636
|
+
// statusOverrides from analyzeCompositionBody write ternary/conditional expressions
|
|
637
|
+
// as plain strings like "${schema.spec.enabled ? 2 : 1}" into statusMappings.
|
|
638
|
+
// These must be evaluated with actual spec values at deploy time.
|
|
639
|
+
try {
|
|
640
|
+
evaluatedFields[fieldName] = this.evaluateInlineCelString(fieldValue, spec);
|
|
641
|
+
}
|
|
642
|
+
catch (error) {
|
|
643
|
+
this.logger.warn('Failed to evaluate inline CEL expression string', {
|
|
644
|
+
field: fieldName,
|
|
645
|
+
expression: fieldValue,
|
|
646
|
+
error: ensureError(error).message,
|
|
647
|
+
});
|
|
648
|
+
evaluatedFields[fieldName] = fieldValue;
|
|
587
649
|
}
|
|
588
650
|
}
|
|
651
|
+
else if (typeof fieldValue === 'object' &&
|
|
652
|
+
fieldValue !== null &&
|
|
653
|
+
!Array.isArray(fieldValue)) {
|
|
654
|
+
// Recursively evaluate nested objects
|
|
655
|
+
evaluatedFields[fieldName] = await this.evaluateStaticFields(fieldValue, spec);
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
// Keep non-CEL values as-is
|
|
659
|
+
evaluatedFields[fieldName] = fieldValue;
|
|
660
|
+
}
|
|
589
661
|
}
|
|
590
|
-
|
|
591
|
-
|
|
662
|
+
return evaluatedFields;
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Evaluate a static CEL expression that contains only schema references or literal values.
|
|
666
|
+
*
|
|
667
|
+
* Uses `angular-expressions` for safe AST-based evaluation instead of `new Function()` / `eval()`.
|
|
668
|
+
* Spec field references (e.g., `schema.spec.name`, `spec.replicas`) are resolved by passing the
|
|
669
|
+
* spec values as a scope object, eliminating string interpolation injection risks entirely.
|
|
670
|
+
*/
|
|
671
|
+
evaluateStaticCelExpression(celExpression, spec) {
|
|
672
|
+
const expression = celExpression.expression;
|
|
673
|
+
// Use null-prototype object to prevent prototype chain access (defense-in-depth).
|
|
674
|
+
// angular-expressions has hasOwnProperty guards, but a null-prototype scope
|
|
675
|
+
// eliminates any residual risk from constructor/toString/__proto__ leaking.
|
|
676
|
+
// Object.freeze prevents expression-based mutation of the original spec data.
|
|
677
|
+
const specRecord = Object.freeze(Object.assign(Object.create(null), spec));
|
|
678
|
+
// Build a scope expression by stripping schema.spec. or spec. prefixes so that
|
|
679
|
+
// angular-expressions can resolve field references directly from the spec scope.
|
|
680
|
+
let scopeExpression = expression;
|
|
681
|
+
if (expression.includes('schema.spec.')) {
|
|
682
|
+
// Replace schema.spec.fieldName → fieldName (resolved from scope)
|
|
683
|
+
scopeExpression = scopeExpression.replace(/schema\.spec\.(\w+)/g, '$1');
|
|
684
|
+
}
|
|
685
|
+
if (scopeExpression.includes('spec.')) {
|
|
686
|
+
// Replace spec.fieldName → fieldName (resolved from scope)
|
|
687
|
+
scopeExpression = scopeExpression.replace(/\bspec\.(\w+)/g, '$1');
|
|
688
|
+
}
|
|
689
|
+
try {
|
|
690
|
+
const evaluator = compileExpression(scopeExpression);
|
|
691
|
+
const result = evaluator(specRecord);
|
|
692
|
+
return result;
|
|
693
|
+
}
|
|
694
|
+
catch (error) {
|
|
695
|
+
// If evaluation fails, the expression might be an unquoted string like: http://kro-webapp-service
|
|
696
|
+
// In this case, return it as-is (it's already a string value)
|
|
697
|
+
if (!expression.includes('schema.spec.') && !expression.includes('spec.')) {
|
|
698
|
+
this.logger.debug('Static expression evaluation failed, returning as string literal', {
|
|
699
|
+
expression,
|
|
700
|
+
error: ensureError(error).message,
|
|
701
|
+
});
|
|
702
|
+
return expression;
|
|
703
|
+
}
|
|
704
|
+
this.logger.warn('Failed to evaluate expression safely', {
|
|
705
|
+
expression: scopeExpression,
|
|
706
|
+
originalExpression: expression,
|
|
707
|
+
error: ensureError(error).message,
|
|
708
|
+
});
|
|
709
|
+
throw error;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Resolve `__KUBERNETES_REF___schema___<fieldPath>__` markers in a string.
|
|
714
|
+
*
|
|
715
|
+
* When a composition function uses template literals like `` `${spec.name}-suffix` ``,
|
|
716
|
+
* the magic proxy's Symbol.toPrimitive returns a marker string at composition time.
|
|
717
|
+
* At deploy time we replace each marker with the actual spec value.
|
|
718
|
+
*/
|
|
719
|
+
resolveSchemaRefMarkers(value, spec) {
|
|
720
|
+
const resolved = value.replace(/__KUBERNETES_REF___schema___([a-zA-Z0-9.$]+)__/g, (_match, fieldPath) => {
|
|
721
|
+
// fieldPath is e.g. "spec.name" or "spec.nested.field"
|
|
722
|
+
const parts = fieldPath.replace(/^spec\./, '').split('.');
|
|
723
|
+
let current = spec;
|
|
724
|
+
for (const part of parts) {
|
|
725
|
+
if (current != null && typeof current === 'object') {
|
|
726
|
+
current = current[part];
|
|
727
|
+
}
|
|
728
|
+
else {
|
|
729
|
+
this.logger.warn('Could not resolve schema ref marker', {
|
|
730
|
+
marker: _match,
|
|
731
|
+
fieldPath,
|
|
732
|
+
failedAt: part,
|
|
733
|
+
});
|
|
734
|
+
return _match; // Keep marker if unresolvable
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
return String(current ?? '');
|
|
738
|
+
});
|
|
739
|
+
return resolved;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Evaluate an inline CEL expression string like `"${schema.spec.enabled ? 2 : 1}"`.
|
|
743
|
+
*
|
|
744
|
+
* The composition body AST analyzer produces these for ternary expressions in
|
|
745
|
+
* status return values (statusOverrides). They are plain strings wrapping a CEL
|
|
746
|
+
* expression that must be evaluated with the real spec values.
|
|
747
|
+
*/
|
|
748
|
+
evaluateInlineCelString(celString, spec) {
|
|
749
|
+
// Strip the wrapping ${ ... }
|
|
750
|
+
const innerExpression = celString.slice(2, -1);
|
|
751
|
+
// Build scope expression: strip schema.spec. / spec. prefixes
|
|
752
|
+
let scopeExpression = innerExpression;
|
|
753
|
+
if (scopeExpression.includes('schema.spec.')) {
|
|
754
|
+
scopeExpression = scopeExpression.replace(/schema\.spec\.(\w+)/g, '$1');
|
|
755
|
+
}
|
|
756
|
+
if (scopeExpression.includes('spec.')) {
|
|
757
|
+
scopeExpression = scopeExpression.replace(/\bspec\.(\w+)/g, '$1');
|
|
758
|
+
}
|
|
759
|
+
// Resolve any __KUBERNETES_REF_ markers that may be embedded in the expression
|
|
760
|
+
// (e.g. from template literals inside ternary branches)
|
|
761
|
+
if (scopeExpression.includes('__KUBERNETES_REF___schema___')) {
|
|
762
|
+
scopeExpression = scopeExpression.replace(/__KUBERNETES_REF___schema___([a-zA-Z0-9.$]+)__/g, (_match, fieldPath) => {
|
|
763
|
+
const parts = fieldPath.replace(/^spec\./, '').split('.');
|
|
764
|
+
return parts.join('.');
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
// Convert CEL single-quoted string literals to double-quoted for angular-expressions
|
|
768
|
+
// Match single-quoted strings that are NOT inside backticks
|
|
769
|
+
scopeExpression = scopeExpression.replace(/'([^'\\]*)'/g, '"$1"');
|
|
770
|
+
const specRecord = Object.freeze(Object.assign(Object.create(null), spec));
|
|
771
|
+
const evaluator = compileExpression(scopeExpression);
|
|
772
|
+
return evaluator(specRecord);
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* Check if a value is a CEL expression (using canonical brand symbol)
|
|
776
|
+
*/
|
|
777
|
+
isCelExpression(value) {
|
|
778
|
+
if (typeof value !== 'object' || value === null) {
|
|
779
|
+
return false;
|
|
780
|
+
}
|
|
781
|
+
return (CEL_EXPRESSION_BRAND in value &&
|
|
782
|
+
value[CEL_EXPRESSION_BRAND] === true &&
|
|
783
|
+
'expression' in value &&
|
|
784
|
+
typeof value.expression === 'string');
|
|
592
785
|
}
|
|
593
786
|
/**
|
|
594
787
|
* Create custom resource instance
|
|
@@ -616,8 +809,10 @@ ${Object.entries(spec)
|
|
|
616
809
|
const hydrationLogger = this.logger.child({ instanceName });
|
|
617
810
|
// Separate static and dynamic status fields
|
|
618
811
|
const { staticFields, dynamicFields } = await this.separateStatusFields();
|
|
619
|
-
//
|
|
620
|
-
const
|
|
812
|
+
// Evaluate static CEL expressions with actual spec values
|
|
813
|
+
const evaluatedStaticFields = await this.evaluateStaticFields(staticFields, spec);
|
|
814
|
+
// Start with evaluated static fields as the base status
|
|
815
|
+
const status = { ...evaluatedStaticFields };
|
|
621
816
|
// Create the initial Enhanced proxy
|
|
622
817
|
// The Enhanced proxy should represent the actual instance, which uses the full API version
|
|
623
818
|
const instanceApiVersion = this.schemaDefinition.apiVersion.includes('/')
|
|
@@ -642,6 +837,9 @@ ${Object.entries(spec)
|
|
|
642
837
|
'typekro.io/kind': this.schemaDefinition.kind,
|
|
643
838
|
},
|
|
644
839
|
},
|
|
840
|
+
// Type cast: constructing a partial Enhanced proxy — only metadata.name and spec
|
|
841
|
+
// are accessed by callers at this call site. TypeScript cannot verify structural
|
|
842
|
+
// completeness; callers are responsible for only accessing these fields.
|
|
645
843
|
};
|
|
646
844
|
// Hydrate dynamic status fields if enabled and there are dynamic fields
|
|
647
845
|
if (this.factoryOptions.hydrateStatus !== false && Object.keys(dynamicFields).length > 0) {
|
|
@@ -657,7 +855,7 @@ ${Object.entries(spec)
|
|
|
657
855
|
Object.assign(enhancedProxy.status, mergedStatus);
|
|
658
856
|
}
|
|
659
857
|
catch (error) {
|
|
660
|
-
hydrationLogger.
|
|
858
|
+
hydrationLogger.error('Dynamic status hydration failed', ensureError(error));
|
|
661
859
|
// Continue with static fields only if dynamic hydration fails
|
|
662
860
|
}
|
|
663
861
|
}
|
|
@@ -670,81 +868,26 @@ ${Object.entries(spec)
|
|
|
670
868
|
return this.createEnhancedProxyWithMixedHydration(spec, instanceName);
|
|
671
869
|
}
|
|
672
870
|
/**
|
|
673
|
-
* Wait for Kro instance to be ready with Kro-specific logic
|
|
871
|
+
* Wait for Kro instance to be ready with Kro-specific logic.
|
|
872
|
+
* Delegates to the shared `waitForKroInstanceReady` in `kro-readiness.ts`.
|
|
674
873
|
*/
|
|
675
874
|
async waitForKroInstanceReady(instanceName, timeout) {
|
|
676
|
-
const
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
const instance = response.body;
|
|
693
|
-
// Kro-specific readiness logic
|
|
694
|
-
const status = instance.status;
|
|
695
|
-
if (!status) {
|
|
696
|
-
readinessLogger.debug('No status found yet, continuing to wait', { instanceName });
|
|
697
|
-
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
698
|
-
continue;
|
|
699
|
-
}
|
|
700
|
-
const state = status.state;
|
|
701
|
-
const conditions = status.conditions || [];
|
|
702
|
-
const syncedCondition = conditions.find((c) => c.type === 'InstanceSynced');
|
|
703
|
-
// Check if status has fields beyond the basic Kro fields (conditions, state)
|
|
704
|
-
const statusKeys = Object.keys(status);
|
|
705
|
-
const basicKroFields = ['conditions', 'state'];
|
|
706
|
-
const hasCustomStatusFields = statusKeys.some((key) => !basicKroFields.includes(key));
|
|
707
|
-
const isActive = state === 'ACTIVE';
|
|
708
|
-
const isSynced = syncedCondition?.status === 'True';
|
|
709
|
-
readinessLogger.debug('Kro instance status check', {
|
|
710
|
-
instanceName,
|
|
711
|
-
state,
|
|
712
|
-
isActive,
|
|
713
|
-
isSynced,
|
|
714
|
-
hasCustomStatusFields,
|
|
715
|
-
statusKeys,
|
|
716
|
-
});
|
|
717
|
-
// Resource is ready when it's active, synced, and has custom status fields populated
|
|
718
|
-
if (isActive && isSynced && hasCustomStatusFields) {
|
|
719
|
-
readinessLogger.info('Kro instance is ready', { instanceName });
|
|
720
|
-
return;
|
|
721
|
-
}
|
|
722
|
-
// Check for failure states
|
|
723
|
-
if (state === 'FAILED') {
|
|
724
|
-
const failedCondition = conditions.find((c) => c.status === 'False');
|
|
725
|
-
const errorMessage = failedCondition?.message || 'Unknown error';
|
|
726
|
-
throw new Error(`Kro instance deployment failed: ${errorMessage}`);
|
|
727
|
-
}
|
|
728
|
-
readinessLogger.debug('Kro instance not ready yet, continuing to wait', {
|
|
729
|
-
instanceName,
|
|
730
|
-
state,
|
|
731
|
-
isSynced,
|
|
732
|
-
hasCustomStatusFields,
|
|
733
|
-
});
|
|
734
|
-
}
|
|
735
|
-
catch (error) {
|
|
736
|
-
const k8sError = error;
|
|
737
|
-
if (k8sError.statusCode !== 404) {
|
|
738
|
-
throw error;
|
|
739
|
-
}
|
|
740
|
-
// Instance not found yet, continue waiting
|
|
741
|
-
readinessLogger.debug('Instance not found yet, continuing to wait', { instanceName });
|
|
742
|
-
}
|
|
743
|
-
// Wait before checking again - use shorter intervals for faster response
|
|
744
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
745
|
-
}
|
|
746
|
-
const elapsed = Date.now() - startTime;
|
|
747
|
-
throw new Error(`Timeout waiting for Kro instance ${instanceName} to be ready after ${elapsed}ms (timeout: ${timeout}ms). This usually means the Kro controller is not running or the RGD deployment failed. Check Kro controller logs: kubectl logs -n kro-system deployment/kro`);
|
|
875
|
+
const apiVersion = this.schemaDefinition.apiVersion.includes('/')
|
|
876
|
+
? this.schemaDefinition.apiVersion
|
|
877
|
+
: `kro.run/${this.schemaDefinition.apiVersion}`;
|
|
878
|
+
const kubeConfig = this.getKubeConfig();
|
|
879
|
+
const k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
880
|
+
return waitForKroInstanceReadyShared({
|
|
881
|
+
instanceName,
|
|
882
|
+
timeout,
|
|
883
|
+
k8sApi,
|
|
884
|
+
customObjectsApi: this.getCustomObjectsApi(),
|
|
885
|
+
namespace: this.namespace,
|
|
886
|
+
apiVersion,
|
|
887
|
+
kind: this.schemaDefinition.kind,
|
|
888
|
+
rgdName: this.name,
|
|
889
|
+
factoryContext: this.name,
|
|
890
|
+
});
|
|
748
891
|
}
|
|
749
892
|
/**
|
|
750
893
|
* Hydrate dynamic status fields by evaluating CEL expressions against live Kro resource data
|
|
@@ -755,7 +898,8 @@ ${Object.entries(spec)
|
|
|
755
898
|
const apiVersion = this.schemaDefinition.apiVersion.includes('/')
|
|
756
899
|
? this.schemaDefinition.apiVersion
|
|
757
900
|
: `kro.run/${this.schemaDefinition.apiVersion}`;
|
|
758
|
-
const
|
|
901
|
+
const kubeConfig = this.getKubeConfig();
|
|
902
|
+
const k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
759
903
|
const response = await k8sApi.read({
|
|
760
904
|
apiVersion,
|
|
761
905
|
kind: this.schemaDefinition.kind,
|
|
@@ -764,7 +908,8 @@ ${Object.entries(spec)
|
|
|
764
908
|
namespace: this.namespace,
|
|
765
909
|
},
|
|
766
910
|
});
|
|
767
|
-
|
|
911
|
+
// In the new API, methods return objects directly (no .body wrapper)
|
|
912
|
+
const liveInstance = response;
|
|
768
913
|
if (!liveInstance.status) {
|
|
769
914
|
dynamicLogger.warn('No status found in live instance, returning empty dynamic fields');
|
|
770
915
|
return {};
|