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
|
@@ -4,11 +4,16 @@
|
|
|
4
4
|
* This factory handles direct deployment of Kubernetes resources using TypeKro's
|
|
5
5
|
* internal dependency resolution engine, without requiring the Kro controller.
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
7
|
+
import * as yaml from 'js-yaml';
|
|
8
|
+
import { toCamelCase } from '../../utils/string.js';
|
|
9
|
+
import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
|
|
10
|
+
import { createCompositionContext, runWithCompositionContext } from '../composition/context.js';
|
|
11
|
+
import { DEFAULT_DELETE_TIMEOUT, DEFAULT_FAST_POLL_INTERVAL, DEFAULT_MAX_RECURSION_DEPTH, } from '../config/defaults.js';
|
|
8
12
|
import { DependencyResolver } from '../dependencies/index.js';
|
|
9
|
-
import {
|
|
10
|
-
import { createKubernetesClientProvider, createKubernetesClientProviderWithKubeConfig, } from '../kubernetes/client-provider.js';
|
|
13
|
+
import { ensureError, ResourceGraphFactoryError, TypeKroError, ValidationError, } from '../errors.js';
|
|
11
14
|
import { getComponentLogger } from '../logging/index.js';
|
|
15
|
+
import { copyResourceMetadata, getResourceId, setResourceId } from '../metadata/index.js';
|
|
16
|
+
import { KubernetesClientManager } from './client-provider-manager.js';
|
|
12
17
|
import { DirectDeploymentEngine } from './engine.js';
|
|
13
18
|
import { ResourceReadinessChecker } from './readiness.js';
|
|
14
19
|
import { createRollbackManagerWithKubeConfig } from './rollback-manager.js';
|
|
@@ -34,7 +39,7 @@ export class DirectResourceFactoryImpl {
|
|
|
34
39
|
factoryOptions;
|
|
35
40
|
deployedInstances = new Map();
|
|
36
41
|
logger = getComponentLogger('direct-factory');
|
|
37
|
-
|
|
42
|
+
clientManager;
|
|
38
43
|
constructor(name, resources, schemaDefinition, statusBuilder, options = {}) {
|
|
39
44
|
this.name = name;
|
|
40
45
|
this.namespace = options.namespace || 'default';
|
|
@@ -45,36 +50,13 @@ export class DirectResourceFactoryImpl {
|
|
|
45
50
|
this.schemaDefinition = schemaDefinition;
|
|
46
51
|
this.statusBuilder = statusBuilder;
|
|
47
52
|
this.factoryOptions = options;
|
|
48
|
-
|
|
49
|
-
// This allows tests to create factories without requiring a kubeconfig
|
|
53
|
+
this.clientManager = new KubernetesClientManager(options);
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Get or create the Kubernetes client provider (lazy initialization)
|
|
53
57
|
*/
|
|
54
58
|
getClientProvider() {
|
|
55
|
-
|
|
56
|
-
this.clientProvider = this.createClientProvider(this.factoryOptions);
|
|
57
|
-
}
|
|
58
|
-
return this.clientProvider;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Create and configure the Kubernetes client provider
|
|
62
|
-
*/
|
|
63
|
-
createClientProvider(options) {
|
|
64
|
-
// If a pre-configured kubeConfig is provided, use it directly
|
|
65
|
-
if (options.kubeConfig) {
|
|
66
|
-
this.logger.debug('Using pre-configured KubeConfig from factory options');
|
|
67
|
-
return createKubernetesClientProviderWithKubeConfig(options.kubeConfig);
|
|
68
|
-
}
|
|
69
|
-
// Create client provider with configuration from factory options
|
|
70
|
-
const clientConfig = {
|
|
71
|
-
...(options.skipTLSVerify !== undefined && { skipTLSVerify: options.skipTLSVerify }),
|
|
72
|
-
// Add other configuration options as needed
|
|
73
|
-
};
|
|
74
|
-
this.logger.debug('Creating new KubernetesClientProvider with configuration', {
|
|
75
|
-
skipTLSVerify: clientConfig.skipTLSVerify,
|
|
76
|
-
});
|
|
77
|
-
return createKubernetesClientProvider(clientConfig);
|
|
59
|
+
return this.clientManager.getClientProvider();
|
|
78
60
|
}
|
|
79
61
|
/**
|
|
80
62
|
* Get or create the deployment engine using the centralized client provider
|
|
@@ -86,7 +68,8 @@ export class DirectResourceFactoryImpl {
|
|
|
86
68
|
const clientProvider = this.getClientProvider();
|
|
87
69
|
const kubeConfig = clientProvider.getKubeConfig();
|
|
88
70
|
// Create the deployment engine with the provider's KubeConfig
|
|
89
|
-
|
|
71
|
+
// Pass HTTP timeout configuration if provided in factory options
|
|
72
|
+
this.deploymentEngine = new DirectDeploymentEngine(kubeConfig, undefined, undefined, 'direct', this.factoryOptions.httpTimeouts);
|
|
90
73
|
this.logger.debug('DirectDeploymentEngine created successfully', {
|
|
91
74
|
currentContext: kubeConfig.getCurrentContext(),
|
|
92
75
|
server: kubeConfig.getCurrentCluster()?.server,
|
|
@@ -112,7 +95,7 @@ export class DirectResourceFactoryImpl {
|
|
|
112
95
|
if (instance.metadata?.annotations?.['typekro.io/deployment-status'] === 'failed') {
|
|
113
96
|
const errorMessage = instance.metadata?.annotations?.['typekro.io/deployment-error'] ||
|
|
114
97
|
'Deployment failed - check logs for details';
|
|
115
|
-
throw new
|
|
98
|
+
throw new ResourceGraphFactoryError(errorMessage, this.name, 'deployment');
|
|
116
99
|
}
|
|
117
100
|
// Track the deployed instance
|
|
118
101
|
const instanceName = this.generateInstanceName(spec);
|
|
@@ -144,17 +127,81 @@ export class DirectResourceFactoryImpl {
|
|
|
144
127
|
async deleteInstance(name) {
|
|
145
128
|
const instance = this.deployedInstances.get(name);
|
|
146
129
|
if (!instance) {
|
|
147
|
-
throw new
|
|
130
|
+
throw new TypeKroError(`Instance not found: ${name}`, 'INSTANCE_NOT_FOUND', {
|
|
131
|
+
instanceName: name,
|
|
132
|
+
factoryName: this.name,
|
|
133
|
+
});
|
|
148
134
|
}
|
|
149
135
|
try {
|
|
150
|
-
// Use the deployment engine to delete
|
|
136
|
+
// Use the deployment engine to delete resources using actual deployment ID
|
|
151
137
|
const engine = this.getDeploymentEngine();
|
|
152
|
-
|
|
138
|
+
const deploymentId = instance.metadata?.annotations?.['typekro.io/deployment-id'];
|
|
139
|
+
if (!deploymentId) {
|
|
140
|
+
throw new TypeKroError(`Instance ${name} does not have a deployment ID annotation. Cannot perform cleanup.`, 'MISSING_DEPLOYMENT_ID', { instanceName: name, factoryName: this.name });
|
|
141
|
+
}
|
|
142
|
+
const rollbackResult = await engine.rollback(deploymentId);
|
|
143
|
+
// Wait for any namespaces to be fully deleted before returning.
|
|
144
|
+
// Namespace deletion is asynchronous (enters "Terminating" phase) and can
|
|
145
|
+
// cause race conditions if the caller immediately re-creates resources.
|
|
146
|
+
const deletedNamespaces = rollbackResult.rolledBackResources
|
|
147
|
+
.filter((r) => r.startsWith('Namespace/'))
|
|
148
|
+
.map((r) => r.split('/')[1]);
|
|
149
|
+
if (deletedNamespaces.length > 0) {
|
|
150
|
+
const k8sApi = engine.getKubernetesApi();
|
|
151
|
+
const deleteTimeout = this.factoryOptions.timeout ?? DEFAULT_DELETE_TIMEOUT;
|
|
152
|
+
await this.waitForNamespaceDeletion(k8sApi, deletedNamespaces, deleteTimeout);
|
|
153
|
+
}
|
|
153
154
|
// Remove from tracking
|
|
154
155
|
this.deployedInstances.delete(name);
|
|
155
156
|
}
|
|
156
157
|
catch (error) {
|
|
157
|
-
|
|
158
|
+
// If the deployment isn't found in the state, it may have already been cleaned up
|
|
159
|
+
// or the deployment ID format changed. Log and remove from tracking anyway.
|
|
160
|
+
const errorMessage = ensureError(error).message;
|
|
161
|
+
if (errorMessage.includes('not found') || errorMessage.includes('Cannot rollback')) {
|
|
162
|
+
this.deployedInstances.delete(name);
|
|
163
|
+
// Don't throw - the instance is already gone
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
throw new ResourceGraphFactoryError(`Failed to delete instance ${name}: ${errorMessage}`, this.name, 'cleanup');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Poll until the given namespaces no longer exist (HTTP 404).
|
|
171
|
+
* Namespaces enter a "Terminating" phase on deletion and may take time
|
|
172
|
+
* to fully disappear, especially when finalizers or remaining resources
|
|
173
|
+
* are involved.
|
|
174
|
+
*/
|
|
175
|
+
async waitForNamespaceDeletion(k8sApi, namespaces, timeout) {
|
|
176
|
+
const pollInterval = DEFAULT_FAST_POLL_INTERVAL;
|
|
177
|
+
for (const ns of namespaces) {
|
|
178
|
+
// Each namespace gets its own timeout budget
|
|
179
|
+
const nsStartTime = Date.now();
|
|
180
|
+
while (Date.now() - nsStartTime < timeout) {
|
|
181
|
+
try {
|
|
182
|
+
await k8sApi.read({
|
|
183
|
+
apiVersion: 'v1',
|
|
184
|
+
kind: 'Namespace',
|
|
185
|
+
metadata: { name: ns },
|
|
186
|
+
});
|
|
187
|
+
// Namespace still exists (likely "Terminating"), keep polling
|
|
188
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
// 404 means the namespace is fully gone
|
|
192
|
+
const k8sErr = error;
|
|
193
|
+
if (k8sErr.statusCode === 404 || k8sErr.body?.code === 404) {
|
|
194
|
+
this.logger.debug('Namespace fully deleted', { namespace: ns });
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
// Unexpected error — log and stop waiting for this namespace
|
|
198
|
+
this.logger.warn('Error polling namespace deletion', {
|
|
199
|
+
namespace: ns,
|
|
200
|
+
error: ensureError(error).message,
|
|
201
|
+
});
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
158
205
|
}
|
|
159
206
|
}
|
|
160
207
|
/**
|
|
@@ -223,11 +270,11 @@ export class DirectResourceFactoryImpl {
|
|
|
223
270
|
const healthError = {
|
|
224
271
|
resourceId: deployedResource.id,
|
|
225
272
|
phase: 'readiness',
|
|
226
|
-
error:
|
|
273
|
+
error: ensureError(error),
|
|
227
274
|
timestamp: new Date(),
|
|
228
275
|
};
|
|
229
276
|
healthErrors.push(healthError);
|
|
230
|
-
healthLogger.error('Failed to check resource health', error, {
|
|
277
|
+
healthLogger.error('Failed to check resource health', ensureError(error), {
|
|
231
278
|
resourceId: deployedResource.id,
|
|
232
279
|
});
|
|
233
280
|
}
|
|
@@ -275,7 +322,7 @@ export class DirectResourceFactoryImpl {
|
|
|
275
322
|
}
|
|
276
323
|
}
|
|
277
324
|
catch (error) {
|
|
278
|
-
healthLogger.error('Error checking factory health', error);
|
|
325
|
+
healthLogger.error('Error checking factory health', ensureError(error));
|
|
279
326
|
return 'failed';
|
|
280
327
|
}
|
|
281
328
|
}
|
|
@@ -324,8 +371,9 @@ export class DirectResourceFactoryImpl {
|
|
|
324
371
|
namespace: deployedResource.namespace,
|
|
325
372
|
},
|
|
326
373
|
};
|
|
374
|
+
// In the new API, methods return objects directly (no .body wrapper)
|
|
327
375
|
const liveResource = await k8sApi.read(resourceRef);
|
|
328
|
-
const isReady = readinessChecker.isResourceReady(liveResource
|
|
376
|
+
const isReady = readinessChecker.isResourceReady(liveResource);
|
|
329
377
|
if (isReady) {
|
|
330
378
|
healthyCount++;
|
|
331
379
|
}
|
|
@@ -338,7 +386,7 @@ export class DirectResourceFactoryImpl {
|
|
|
338
386
|
const healthError = {
|
|
339
387
|
resourceId: deployedResource.id,
|
|
340
388
|
phase: 'readiness',
|
|
341
|
-
error:
|
|
389
|
+
error: ensureError(error),
|
|
342
390
|
timestamp: new Date(),
|
|
343
391
|
};
|
|
344
392
|
healthErrors.push(healthError);
|
|
@@ -358,7 +406,7 @@ export class DirectResourceFactoryImpl {
|
|
|
358
406
|
};
|
|
359
407
|
}
|
|
360
408
|
catch (error) {
|
|
361
|
-
healthLogger.error('Error getting health details', error);
|
|
409
|
+
healthLogger.error('Error getting health details', ensureError(error));
|
|
362
410
|
return {
|
|
363
411
|
health: 'failed',
|
|
364
412
|
resourceCounts: { healthy: 0, degraded: 0, failed: 0, total: 0 },
|
|
@@ -366,7 +414,7 @@ export class DirectResourceFactoryImpl {
|
|
|
366
414
|
{
|
|
367
415
|
resourceId: 'factory',
|
|
368
416
|
phase: 'readiness',
|
|
369
|
-
error:
|
|
417
|
+
error: ensureError(error),
|
|
370
418
|
timestamp: new Date(),
|
|
371
419
|
},
|
|
372
420
|
],
|
|
@@ -421,47 +469,66 @@ export class DirectResourceFactoryImpl {
|
|
|
421
469
|
return this.getDeploymentEngine().deploy(resourceGraph, deploymentOptions);
|
|
422
470
|
}
|
|
423
471
|
/**
|
|
424
|
-
* Generate YAML for instance deployment
|
|
472
|
+
* Generate YAML for instance deployment.
|
|
473
|
+
*
|
|
474
|
+
* In direct mode this produces plain Kubernetes manifests with all schema
|
|
475
|
+
* references resolved from the provided spec. If any KubernetesRef or
|
|
476
|
+
* CelExpression objects remain after resolution (cross-resource references,
|
|
477
|
+
* explicit Cel.expr/Cel.template calls, $-prefixed optional access) a
|
|
478
|
+
* ValidationError is thrown — those constructs require the Kro controller
|
|
479
|
+
* or runtime deployment via deploy().
|
|
425
480
|
*/
|
|
426
481
|
toYaml(spec) {
|
|
427
482
|
// Resolve references with the actual spec values
|
|
428
483
|
const resolvedResources = this.resolveResourcesForSpec(spec);
|
|
429
|
-
//
|
|
484
|
+
// Validate that all values are fully resolved — no KubernetesRef or
|
|
485
|
+
// CelExpression objects should remain in direct-mode YAML output.
|
|
486
|
+
const unresolvedRefs = findUnresolvedReferences(resolvedResources);
|
|
487
|
+
if (unresolvedRefs.length > 0) {
|
|
488
|
+
const details = unresolvedRefs.map((r) => ` - ${r.path}: ${r.description}`).join('\n');
|
|
489
|
+
throw new ValidationError(`Cannot generate direct-mode YAML: ${unresolvedRefs.length} unresolved reference(s) found.\n` +
|
|
490
|
+
`Direct mode toYaml() produces plain Kubernetes manifests where all values must be resolved.\n\n` +
|
|
491
|
+
`Unresolved references:\n${details}\n\n` +
|
|
492
|
+
`To fix this, either:\n` +
|
|
493
|
+
` 1. Use factory('kro') to generate Kro-managed YAML with CEL expressions\n` +
|
|
494
|
+
` 2. Use deploy() which resolves all references at runtime against the live cluster\n` +
|
|
495
|
+
` 3. Remove Cel.expr() / Cel.template() / cross-resource references from your resource builder`, 'DirectResourceFactory', this.name, undefined, [
|
|
496
|
+
'Use factory("kro") for resource graphs with CEL expressions or cross-resource references',
|
|
497
|
+
'Use deploy() for runtime resolution against the live cluster',
|
|
498
|
+
'Remove explicit Cel.expr() / Cel.template() calls if direct-mode YAML is needed',
|
|
499
|
+
]);
|
|
500
|
+
}
|
|
501
|
+
// Generate individual Kubernetes resource YAML manifests (not RGD).
|
|
502
|
+
// Uses js-yaml for safe serialization — avoids YAML injection via string interpolation.
|
|
430
503
|
const yamlParts = Object.values(resolvedResources).map((resource) => {
|
|
431
504
|
// Remove TypeKro-specific fields and generate clean Kubernetes YAML
|
|
432
505
|
const cleanResource = { ...resource };
|
|
433
506
|
delete cleanResource.id; // Remove TypeKro id field
|
|
434
|
-
//
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
}
|
|
507
|
+
// Build a clean manifest object for yaml.dump
|
|
508
|
+
const manifest = {
|
|
509
|
+
apiVersion: cleanResource.apiVersion,
|
|
510
|
+
kind: cleanResource.kind,
|
|
511
|
+
metadata: {
|
|
512
|
+
name: cleanResource.metadata?.name,
|
|
513
|
+
namespace: this.namespace,
|
|
514
|
+
...(cleanResource.metadata?.labels
|
|
515
|
+
? { labels: cleanResource.metadata.labels }
|
|
516
|
+
: undefined),
|
|
517
|
+
},
|
|
518
|
+
};
|
|
446
519
|
// Handle different resource types
|
|
447
520
|
const resourceWithSpec = cleanResource;
|
|
448
521
|
if (resourceWithSpec.spec) {
|
|
449
|
-
|
|
450
|
-
.map(([key, value]) => ` ${key}: ${typeof value === 'object'
|
|
451
|
-
? JSON.stringify(value, null, 2)
|
|
452
|
-
.split('\n')
|
|
453
|
-
.map((line, i) => (i === 0 ? line : ` ${line}`))
|
|
454
|
-
.join('\n')
|
|
455
|
-
: value}`)
|
|
456
|
-
.join('\n')}`;
|
|
522
|
+
manifest.spec = resourceWithSpec.spec;
|
|
457
523
|
}
|
|
458
524
|
const resourceWithData = cleanResource;
|
|
459
525
|
if (resourceWithData.data) {
|
|
460
|
-
|
|
461
|
-
.map(([key, value]) => ` ${key}: ${typeof value === 'string' ? JSON.stringify(value) : value}`)
|
|
462
|
-
.join('\n')}`;
|
|
526
|
+
manifest.data = resourceWithData.data;
|
|
463
527
|
}
|
|
464
|
-
|
|
528
|
+
// JSON round-trip strips non-serializable values (functions, symbols, proxies)
|
|
529
|
+
// that may remain in resolved resources before safe YAML serialization.
|
|
530
|
+
const safeManifest = JSON.parse(JSON.stringify(manifest));
|
|
531
|
+
return yaml.dump(safeManifest, { lineWidth: -1, noRefs: true, sortKeys: false }).trimEnd();
|
|
465
532
|
});
|
|
466
533
|
return yamlParts.join('\n---\n');
|
|
467
534
|
}
|
|
@@ -473,20 +540,45 @@ metadata:
|
|
|
473
540
|
const resolvedResources = this.resolveResourcesForSpec(spec);
|
|
474
541
|
const instanceName = this.generateInstanceName(spec);
|
|
475
542
|
const resourceArray = Object.values(resolvedResources).map((resource, index) => {
|
|
543
|
+
this.logger.debug('Processing resource for ID generation', {
|
|
544
|
+
index,
|
|
545
|
+
resourceId: resource.id,
|
|
546
|
+
resourceKind: resource.kind,
|
|
547
|
+
hasId: !!resource.id,
|
|
548
|
+
resourceKeys: Object.keys(resource),
|
|
549
|
+
});
|
|
476
550
|
const baseId = `${instanceName}-resource-${index}-${resource.id || resource.kind?.toLowerCase() || 'unknown'}`;
|
|
551
|
+
const finalId = toCamelCase(baseId);
|
|
552
|
+
this.logger.debug('Generated resource ID', {
|
|
553
|
+
index,
|
|
554
|
+
originalId: resource.id,
|
|
555
|
+
resourceKind: resource.kind,
|
|
556
|
+
baseId,
|
|
557
|
+
finalId,
|
|
558
|
+
});
|
|
477
559
|
const resourceWithId = {
|
|
478
560
|
...resource,
|
|
479
|
-
id:
|
|
561
|
+
id: finalId,
|
|
480
562
|
};
|
|
481
|
-
// Preserve the
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
563
|
+
// Preserve resource metadata from the original resource to the spread copy
|
|
564
|
+
// The WeakMap-based copyResourceMetadata replaces manual Object.defineProperty calls
|
|
565
|
+
copyResourceMetadata(resource, resourceWithId);
|
|
566
|
+
// Also check proxy 'id' as fallback for the original resource key
|
|
567
|
+
const originalResourceId = getResourceId(resource);
|
|
568
|
+
const resourceIdFromProxy = resource.id;
|
|
569
|
+
const effectiveOriginalId = originalResourceId || resourceIdFromProxy;
|
|
570
|
+
this.logger.debug('Checking resourceId preservation', {
|
|
571
|
+
originalResourceId,
|
|
572
|
+
resourceIdFromProxy,
|
|
573
|
+
effectiveOriginalId,
|
|
574
|
+
hasOriginalResourceId: !!originalResourceId,
|
|
575
|
+
hasResourceIdFromProxy: !!resourceIdFromProxy,
|
|
576
|
+
});
|
|
577
|
+
if (effectiveOriginalId) {
|
|
578
|
+
setResourceId(resourceWithId, effectiveOriginalId);
|
|
579
|
+
this.logger.debug('Preserved resourceId on resource', {
|
|
580
|
+
originalResourceId: effectiveOriginalId,
|
|
581
|
+
newId: finalId,
|
|
490
582
|
});
|
|
491
583
|
}
|
|
492
584
|
return resourceWithId;
|
|
@@ -507,9 +599,37 @@ metadata:
|
|
|
507
599
|
}
|
|
508
600
|
/**
|
|
509
601
|
* Resolve resources for a specific spec
|
|
510
|
-
* This uses
|
|
602
|
+
* This uses composition re-execution when available, or falls back to reference resolution
|
|
511
603
|
*/
|
|
604
|
+
reExecutedStatus = null; // Store the re-executed status
|
|
512
605
|
resolveResourcesForSpec(spec) {
|
|
606
|
+
// Reset the re-executed status
|
|
607
|
+
this.reExecutedStatus = null;
|
|
608
|
+
// Check if we have composition re-execution parameters
|
|
609
|
+
if (this.factoryOptions.compositionFn && this.factoryOptions.compositionDefinition) {
|
|
610
|
+
this.logger.debug('Re-executing composition with actual spec values', {
|
|
611
|
+
hasCompositionFn: !!this.factoryOptions.compositionFn,
|
|
612
|
+
hasCompositionDefinition: !!this.factoryOptions.compositionDefinition,
|
|
613
|
+
});
|
|
614
|
+
try {
|
|
615
|
+
// Re-execute the composition with actual spec values
|
|
616
|
+
const reExecutionResult = this.reExecuteCompositionWithActualValues(spec);
|
|
617
|
+
if (reExecutionResult) {
|
|
618
|
+
this.logger.debug('Successfully re-executed composition with actual values', {
|
|
619
|
+
resourceCount: Object.keys(reExecutionResult.resources).length,
|
|
620
|
+
statusFields: reExecutionResult.status ? Object.keys(reExecutionResult.status) : [],
|
|
621
|
+
});
|
|
622
|
+
// Store the re-executed status for later use
|
|
623
|
+
this.reExecutedStatus = reExecutionResult.status;
|
|
624
|
+
return reExecutionResult.resources;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
catch (error) {
|
|
628
|
+
this.logger.error('Failed to re-execute composition, falling back to reference resolution', ensureError(error));
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
// Fall back to the original reference resolution approach
|
|
632
|
+
this.logger.debug('Using reference resolution approach (no composition re-execution available)');
|
|
513
633
|
const resolvedResources = {};
|
|
514
634
|
for (const [key, resource] of Object.entries(this.resources)) {
|
|
515
635
|
try {
|
|
@@ -520,12 +640,187 @@ metadata:
|
|
|
520
640
|
}
|
|
521
641
|
catch (error) {
|
|
522
642
|
// If resolution fails, use the original resource
|
|
523
|
-
this.logger.
|
|
643
|
+
this.logger.error('Failed to resolve references for resource', ensureError(error));
|
|
524
644
|
resolvedResources[key] = resource;
|
|
525
645
|
}
|
|
526
646
|
}
|
|
527
647
|
return resolvedResources;
|
|
528
648
|
}
|
|
649
|
+
/**
|
|
650
|
+
* Re-execute the composition function with actual spec values
|
|
651
|
+
* This provides actual values instead of proxy functions to the composition
|
|
652
|
+
*/
|
|
653
|
+
reExecuteCompositionWithActualValues(spec) {
|
|
654
|
+
if (!this.factoryOptions.compositionFn || !this.factoryOptions.compositionDefinition) {
|
|
655
|
+
return null;
|
|
656
|
+
}
|
|
657
|
+
try {
|
|
658
|
+
this.logger.debug('Re-executing composition with actual spec values');
|
|
659
|
+
// Composition context utilities are now statically imported from core
|
|
660
|
+
// Create a new composition context for re-execution.
|
|
661
|
+
// Enable ID deduplication so forEach loops that create multiple resources
|
|
662
|
+
// with the same id (e.g., 'regionDep') get unique keys ('regionDep', 'regionDep-1', etc.)
|
|
663
|
+
const reExecutionContext = createCompositionContext('re-execution', {
|
|
664
|
+
deduplicateIds: true,
|
|
665
|
+
});
|
|
666
|
+
// Execute the composition function within the new context and capture both resources and status
|
|
667
|
+
const { resources, status } = runWithCompositionContext(reExecutionContext, () => {
|
|
668
|
+
// Execute the composition function with actual spec values
|
|
669
|
+
const computedStatus = this.factoryOptions.compositionFn?.(spec);
|
|
670
|
+
return {
|
|
671
|
+
resources: reExecutionContext.resources,
|
|
672
|
+
status: computedStatus,
|
|
673
|
+
};
|
|
674
|
+
});
|
|
675
|
+
this.logger.debug('Composition re-execution completed', {
|
|
676
|
+
capturedResourceCount: Object.keys(resources).length,
|
|
677
|
+
resourceIds: Object.keys(resources),
|
|
678
|
+
statusFields: status ? Object.keys(status) : [],
|
|
679
|
+
});
|
|
680
|
+
// Convert Enhanced resources back to KubernetesResource format.
|
|
681
|
+
// Filter out externalRef resources — they already exist in the cluster
|
|
682
|
+
// and should NOT be deployed in direct mode.
|
|
683
|
+
const kubernetesResources = {};
|
|
684
|
+
for (const [id, enhanced] of Object.entries(resources)) {
|
|
685
|
+
// Skip external references — they're not managed by us
|
|
686
|
+
if (Reflect.get(enhanced, '__externalRef') === true) {
|
|
687
|
+
this.logger.debug('Skipping externalRef resource in direct mode', { id });
|
|
688
|
+
continue;
|
|
689
|
+
}
|
|
690
|
+
// Extract the underlying Kubernetes resource from the Enhanced proxy
|
|
691
|
+
const kubernetesResource = this.extractKubernetesResourceFromEnhanced(enhanced);
|
|
692
|
+
kubernetesResources[id] = kubernetesResource;
|
|
693
|
+
}
|
|
694
|
+
// The status returned from re-execution should preserve CEL expressions
|
|
695
|
+
// Only spec-based values should be resolved, resource-based CEL expressions should remain
|
|
696
|
+
return {
|
|
697
|
+
resources: kubernetesResources,
|
|
698
|
+
status: status,
|
|
699
|
+
};
|
|
700
|
+
}
|
|
701
|
+
catch (error) {
|
|
702
|
+
this.logger.error('Failed to re-execute composition', ensureError(error));
|
|
703
|
+
return null;
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Get the re-executed status if available
|
|
708
|
+
* This is used by the deployment strategy to use computed status instead of calling status builder with proxy functions
|
|
709
|
+
*/
|
|
710
|
+
getReExecutedStatus() {
|
|
711
|
+
return this.reExecutedStatus;
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* Deep resolve any KubernetesRef objects in a value to their string representation
|
|
715
|
+
* This is needed because when composition functions build objects with schema proxy values,
|
|
716
|
+
* those values are KubernetesRef objects that need to be converted to actual values or
|
|
717
|
+
* placeholder strings for serialization.
|
|
718
|
+
*
|
|
719
|
+
* For schema references (resourceId === '__schema__'), we return a placeholder that will
|
|
720
|
+
* be resolved later when actual spec values are available.
|
|
721
|
+
*
|
|
722
|
+
* For resource references, we return a CEL expression placeholder.
|
|
723
|
+
*/
|
|
724
|
+
deepResolveKubernetesRefs(value, path = 'root') {
|
|
725
|
+
// Handle KubernetesRef objects
|
|
726
|
+
if (isKubernetesRef(value)) {
|
|
727
|
+
this.logger.trace('Found KubernetesRef in value', {
|
|
728
|
+
path,
|
|
729
|
+
resourceId: value.resourceId,
|
|
730
|
+
fieldPath: value.fieldPath,
|
|
731
|
+
});
|
|
732
|
+
// For schema references, return a marker that can be resolved later
|
|
733
|
+
if (value.resourceId === '__schema__') {
|
|
734
|
+
return `__KUBERNETES_REF___schema___${value.fieldPath}__`;
|
|
735
|
+
}
|
|
736
|
+
// For resource references, return a CEL expression placeholder
|
|
737
|
+
return `__KUBERNETES_REF_${value.resourceId}_${value.fieldPath}__`;
|
|
738
|
+
}
|
|
739
|
+
// Handle CelExpression objects
|
|
740
|
+
if (isCelExpression(value)) {
|
|
741
|
+
this.logger.trace('Found CelExpression in value', {
|
|
742
|
+
path,
|
|
743
|
+
expression: value.expression,
|
|
744
|
+
});
|
|
745
|
+
return value.expression;
|
|
746
|
+
}
|
|
747
|
+
// Handle arrays
|
|
748
|
+
if (Array.isArray(value)) {
|
|
749
|
+
return value.map((item, index) => this.deepResolveKubernetesRefs(item, `${path}[${index}]`));
|
|
750
|
+
}
|
|
751
|
+
// Handle objects
|
|
752
|
+
if (value !== null && typeof value === 'object') {
|
|
753
|
+
const resolved = {};
|
|
754
|
+
for (const [key, val] of Object.entries(value)) {
|
|
755
|
+
resolved[key] = this.deepResolveKubernetesRefs(val, `${path}.${key}`);
|
|
756
|
+
}
|
|
757
|
+
return resolved;
|
|
758
|
+
}
|
|
759
|
+
// Return primitives as-is
|
|
760
|
+
return value;
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Extract the underlying Kubernetes resource from an Enhanced proxy
|
|
764
|
+
*
|
|
765
|
+
* IMPORTANT: This method preserves ALL enumerable properties from the Enhanced resource,
|
|
766
|
+
* not just standard Kubernetes fields. This is critical for resources like Secret (data),
|
|
767
|
+
* ConfigMap (data, binaryData), RBAC resources (rules, roleRef, subjects), etc.
|
|
768
|
+
*
|
|
769
|
+
* It also resolves any KubernetesRef objects in the resource properties to their
|
|
770
|
+
* string representations, which is critical for HelmRelease values that may contain
|
|
771
|
+
* schema proxy references.
|
|
772
|
+
*/
|
|
773
|
+
extractKubernetesResourceFromEnhanced(enhanced) {
|
|
774
|
+
// Start with required Kubernetes resource structure
|
|
775
|
+
const resource = {
|
|
776
|
+
apiVersion: enhanced.apiVersion,
|
|
777
|
+
kind: enhanced.kind,
|
|
778
|
+
metadata: this.deepResolveKubernetesRefs(enhanced.metadata),
|
|
779
|
+
};
|
|
780
|
+
// Preserve ALL other enumerable properties from the Enhanced resource
|
|
781
|
+
// This ensures resource-specific fields (data, rules, roleRef, etc.) are not lost
|
|
782
|
+
for (const [key, value] of Object.entries(enhanced)) {
|
|
783
|
+
// Skip the core fields we've already set
|
|
784
|
+
if (key === 'apiVersion' || key === 'kind' || key === 'metadata') {
|
|
785
|
+
continue;
|
|
786
|
+
}
|
|
787
|
+
// Include all other properties (spec, status, data, rules, etc.)
|
|
788
|
+
// Deep resolve any KubernetesRef objects in the value
|
|
789
|
+
if (value !== undefined && value !== null) {
|
|
790
|
+
Reflect.set(resource, key, this.deepResolveKubernetesRefs(value));
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
// Preserve the non-enumerable id field if it exists (needed for resource mapping in CEL resolution)
|
|
794
|
+
if (enhanced.id) {
|
|
795
|
+
resource.id = enhanced.id;
|
|
796
|
+
}
|
|
797
|
+
// Preserve the non-enumerable readinessEvaluator if it exists.
|
|
798
|
+
// Preserve resource metadata (resourceId, readinessEvaluator, etc.) from Enhanced proxy
|
|
799
|
+
copyResourceMetadata(enhanced, resource);
|
|
800
|
+
return resource;
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Traverse a spec object using dot-separated path parts, returning the resolved value.
|
|
804
|
+
* Shared by both KubernetesRef resolution (Case 1) and template marker resolution (Case 4).
|
|
805
|
+
*/
|
|
806
|
+
traverseSpec(spec, pathParts, logPath) {
|
|
807
|
+
let currentValue = spec;
|
|
808
|
+
this.logger.trace('Traversing spec with path parts', { pathParts });
|
|
809
|
+
for (const part of pathParts) {
|
|
810
|
+
if (currentValue && typeof currentValue === 'object' && part in currentValue) {
|
|
811
|
+
currentValue = currentValue[part];
|
|
812
|
+
}
|
|
813
|
+
else {
|
|
814
|
+
this.logger.warn('Path part not found in spec', {
|
|
815
|
+
path: logPath,
|
|
816
|
+
part,
|
|
817
|
+
availableKeys: currentValue && typeof currentValue === 'object' ? Object.keys(currentValue) : [],
|
|
818
|
+
});
|
|
819
|
+
return { found: false };
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
return { found: true, value: currentValue };
|
|
823
|
+
}
|
|
529
824
|
/**
|
|
530
825
|
* Resolve schema references and CEL expressions to actual values for direct deployment.
|
|
531
826
|
* This is the final, corrected version that handles both direct proxies and Cel.expr wrappers.
|
|
@@ -540,34 +835,15 @@ metadata:
|
|
|
540
835
|
if (isKubernetesRef(resource) && resource.resourceId === '__schema__') {
|
|
541
836
|
this.logger.trace('Found schema KubernetesRef', { path, fieldPath: resource.fieldPath });
|
|
542
837
|
const pathParts = resource.fieldPath.split('.');
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
this.logger.trace('Successfully traversed spec part', {
|
|
551
|
-
part,
|
|
552
|
-
oldValue: JSON.stringify(oldValue),
|
|
553
|
-
newValue: JSON.stringify(currentValue),
|
|
554
|
-
});
|
|
555
|
-
}
|
|
556
|
-
else {
|
|
557
|
-
this.logger.warn('Path part not found in spec, returning original reference', {
|
|
558
|
-
path,
|
|
559
|
-
part,
|
|
560
|
-
spec: JSON.stringify(spec),
|
|
561
|
-
});
|
|
562
|
-
return resource;
|
|
563
|
-
// Path not found, return original
|
|
564
|
-
}
|
|
838
|
+
const resolved = this.traverseSpec(spec, pathParts.slice(1), path);
|
|
839
|
+
if (resolved.found) {
|
|
840
|
+
this.logger.trace('Resolved schema KubernetesRef to value', {
|
|
841
|
+
path,
|
|
842
|
+
resolvedValue: resolved.value,
|
|
843
|
+
});
|
|
844
|
+
return resolved.value;
|
|
565
845
|
}
|
|
566
|
-
|
|
567
|
-
path,
|
|
568
|
-
resolvedValue: currentValue,
|
|
569
|
-
});
|
|
570
|
-
return currentValue;
|
|
846
|
+
return resource;
|
|
571
847
|
}
|
|
572
848
|
// Case 2: Handle CelExpression objects (e.g., Cel.expr(schema.spec.name, '-db'))
|
|
573
849
|
if (isCelExpression(resource)) {
|
|
@@ -602,20 +878,68 @@ metadata:
|
|
|
602
878
|
for (const [key, value] of Object.entries(resource)) {
|
|
603
879
|
resolved[key] = this.resolveSchemaReferencesToValues(value, spec, `${path}.${key}`);
|
|
604
880
|
}
|
|
605
|
-
//
|
|
606
|
-
const
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
writable: false,
|
|
881
|
+
// Debug: Check if id field is being preserved
|
|
882
|
+
const resourceRecord = resource;
|
|
883
|
+
if (path === 'root' && resourceRecord.id) {
|
|
884
|
+
this.logger.debug('Resource ID preservation check', {
|
|
885
|
+
path,
|
|
886
|
+
originalId: resourceRecord.id,
|
|
887
|
+
resolvedId: resolved.id,
|
|
888
|
+
originalKeys: Object.keys(resource),
|
|
889
|
+
resolvedKeys: Object.keys(resolved),
|
|
615
890
|
});
|
|
616
891
|
}
|
|
892
|
+
// Preserve resource metadata (resourceId, readinessEvaluator, etc.) via WeakMap
|
|
893
|
+
if (typeof resource === 'object' && resource !== null) {
|
|
894
|
+
copyResourceMetadata(resource, resolved);
|
|
895
|
+
}
|
|
896
|
+
// FIX: Preserve the id field if it exists (needed for resource mapping in CEL resolution)
|
|
897
|
+
if (resourceRecord.id) {
|
|
898
|
+
this.logger.trace('Preserving resource id field', { path, id: resourceRecord.id });
|
|
899
|
+
resolved.id = resourceRecord.id;
|
|
900
|
+
}
|
|
617
901
|
return resolved;
|
|
618
902
|
}
|
|
903
|
+
// Case 4: Handle strings that contain __KUBERNETES_REF_ markers from template literals
|
|
904
|
+
// These are generated when schema references are used in template literals like `${schema.spec.name}-suffix`
|
|
905
|
+
if (typeof resource === 'string' && resource.includes('__KUBERNETES_REF_')) {
|
|
906
|
+
this.logger.trace('Found string with KubernetesRef markers', { path, value: resource });
|
|
907
|
+
// Replace all __KUBERNETES_REF_ markers with actual values from spec
|
|
908
|
+
// Pattern: __KUBERNETES_REF_{resourceId}_{fieldPath}__
|
|
909
|
+
// For schema: __KUBERNETES_REF___schema___{fieldPath}__
|
|
910
|
+
// The fieldPath for schema refs is like "spec.baseName" or "spec.nested.field"
|
|
911
|
+
const resolvedString = resource.replace(/__KUBERNETES_REF___schema___(.+?)__/g, (_match, fieldPath) => {
|
|
912
|
+
// fieldPath is like "spec.baseName" - we need to traverse starting from the schema root
|
|
913
|
+
const pathParts = fieldPath.split('.');
|
|
914
|
+
// The first part should be 'spec' or 'status'
|
|
915
|
+
if (pathParts[0] === 'spec') {
|
|
916
|
+
const resolved = this.traverseSpec(spec, pathParts.slice(1), path);
|
|
917
|
+
if (resolved.found) {
|
|
918
|
+
this.logger.trace('Resolved schema marker to value', {
|
|
919
|
+
fieldPath,
|
|
920
|
+
resolvedValue: resolved.value,
|
|
921
|
+
});
|
|
922
|
+
return String(resolved.value);
|
|
923
|
+
}
|
|
924
|
+
return _match; // Keep original marker if path not found
|
|
925
|
+
}
|
|
926
|
+
else {
|
|
927
|
+
// Status references or other paths - keep as-is for now
|
|
928
|
+
this.logger.trace('Keeping non-spec schema reference marker', {
|
|
929
|
+
fieldPath,
|
|
930
|
+
});
|
|
931
|
+
return _match;
|
|
932
|
+
}
|
|
933
|
+
});
|
|
934
|
+
// Also handle non-schema resource references (keep them as-is for now)
|
|
935
|
+
// Pattern: __KUBERNETES_REF_{resourceId}_{fieldPath}__ where resourceId is not __schema__
|
|
936
|
+
this.logger.trace('Resolved string with markers', {
|
|
937
|
+
path,
|
|
938
|
+
original: resource,
|
|
939
|
+
resolved: resolvedString,
|
|
940
|
+
});
|
|
941
|
+
return resolvedString;
|
|
942
|
+
}
|
|
619
943
|
this.logger.trace('Returning primitive value as-is', { path, value: resource });
|
|
620
944
|
// Return primitives and other types as-is.
|
|
621
945
|
return resource;
|
|
@@ -628,6 +952,59 @@ metadata:
|
|
|
628
952
|
return generateInstanceName(spec);
|
|
629
953
|
}
|
|
630
954
|
}
|
|
955
|
+
/**
|
|
956
|
+
* Recursively walk a resolved resource tree and collect any remaining
|
|
957
|
+
* KubernetesRef or CelExpression objects. These cannot be serialized
|
|
958
|
+
* in direct-mode YAML and indicate the user should use Kro mode or deploy().
|
|
959
|
+
*/
|
|
960
|
+
function findUnresolvedReferences(resources) {
|
|
961
|
+
const refs = [];
|
|
962
|
+
const visited = new WeakSet();
|
|
963
|
+
function walk(value, path, depth) {
|
|
964
|
+
if (value == null || typeof value !== 'object') {
|
|
965
|
+
// Check for __KUBERNETES_REF_ marker strings left in resolved primitives
|
|
966
|
+
if (typeof value === 'string' && value.includes('__KUBERNETES_REF_')) {
|
|
967
|
+
refs.push({ path, description: `Unresolved reference marker: ${value}` });
|
|
968
|
+
}
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
if (depth >= DEFAULT_MAX_RECURSION_DEPTH)
|
|
972
|
+
return;
|
|
973
|
+
if (visited.has(value))
|
|
974
|
+
return;
|
|
975
|
+
visited.add(value);
|
|
976
|
+
if (isKubernetesRef(value)) {
|
|
977
|
+
const ref = value;
|
|
978
|
+
refs.push({
|
|
979
|
+
path,
|
|
980
|
+
description: `KubernetesRef(${ref.resourceId ?? '?'}.${ref.fieldPath ?? '?'})`,
|
|
981
|
+
});
|
|
982
|
+
return;
|
|
983
|
+
}
|
|
984
|
+
if (isCelExpression(value)) {
|
|
985
|
+
const expr = value;
|
|
986
|
+
refs.push({
|
|
987
|
+
path,
|
|
988
|
+
description: `CelExpression(${expr.expression ?? '?'})`,
|
|
989
|
+
});
|
|
990
|
+
return;
|
|
991
|
+
}
|
|
992
|
+
if (Array.isArray(value)) {
|
|
993
|
+
for (let i = 0; i < value.length; i++) {
|
|
994
|
+
walk(value[i], `${path}[${i}]`, depth + 1);
|
|
995
|
+
}
|
|
996
|
+
return;
|
|
997
|
+
}
|
|
998
|
+
for (const [key, child] of Object.entries(value)) {
|
|
999
|
+
walk(child, path ? `${path}.${key}` : key, depth + 1);
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
for (const [resourceKey, resource] of Object.entries(resources)) {
|
|
1003
|
+
const label = `${resource.kind ?? 'Resource'}/${resource.metadata?.name ?? resourceKey}`;
|
|
1004
|
+
walk(resource, label, 0);
|
|
1005
|
+
}
|
|
1006
|
+
return refs;
|
|
1007
|
+
}
|
|
631
1008
|
/**
|
|
632
1009
|
* Create a DirectResourceFactory instance
|
|
633
1010
|
*/
|