typekro 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/alchemy/deployers.d.ts +16 -1
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +131 -18
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/deployment.d.ts +1 -1
- package/dist/alchemy/deployment.d.ts.map +1 -1
- package/dist/alchemy/deployment.js +1 -1
- package/dist/alchemy/deployment.js.map +1 -1
- package/dist/alchemy/kro-delete.d.ts +66 -0
- package/dist/alchemy/kro-delete.d.ts.map +1 -0
- package/dist/alchemy/kro-delete.js +183 -0
- package/dist/alchemy/kro-delete.js.map +1 -0
- package/dist/alchemy/resource-registration.d.ts +16 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +138 -24
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/types.d.ts +8 -4
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/aspects.d.ts +3 -0
- package/dist/aspects.d.ts.map +1 -0
- package/dist/aspects.js +2 -0
- package/dist/aspects.js.map +1 -0
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +27 -9
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/core/aspects/apply.d.ts +30 -0
- package/dist/core/aspects/apply.d.ts.map +1 -0
- package/dist/core/aspects/apply.js +369 -0
- package/dist/core/aspects/apply.js.map +1 -0
- package/dist/core/aspects/dev-aspects.d.ts +14 -0
- package/dist/core/aspects/dev-aspects.d.ts.map +1 -0
- package/dist/core/aspects/dev-aspects.js +70 -0
- package/dist/core/aspects/dev-aspects.js.map +1 -0
- package/dist/core/aspects/index.d.ts +31 -0
- package/dist/core/aspects/index.d.ts.map +1 -0
- package/dist/core/aspects/index.js +30 -0
- package/dist/core/aspects/index.js.map +1 -0
- package/dist/core/aspects/metadata-aspects.d.ts +12 -0
- package/dist/core/aspects/metadata-aspects.d.ts.map +1 -0
- package/dist/core/aspects/metadata-aspects.js +24 -0
- package/dist/core/aspects/metadata-aspects.js.map +1 -0
- package/dist/core/aspects/metadata.d.ts +16 -0
- package/dist/core/aspects/metadata.d.ts.map +1 -0
- package/dist/core/aspects/metadata.js +24 -0
- package/dist/core/aspects/metadata.js.map +1 -0
- package/dist/core/aspects/primitives.d.ts +23 -0
- package/dist/core/aspects/primitives.d.ts.map +1 -0
- package/dist/core/aspects/primitives.js +258 -0
- package/dist/core/aspects/primitives.js.map +1 -0
- package/dist/core/aspects/targets.d.ts +9 -0
- package/dist/core/aspects/targets.d.ts.map +1 -0
- package/dist/core/aspects/targets.js +23 -0
- package/dist/core/aspects/targets.js.map +1 -0
- package/dist/core/aspects/types.d.ts +361 -0
- package/dist/core/aspects/types.d.ts.map +1 -0
- package/dist/core/aspects/types.js +16 -0
- package/dist/core/aspects/types.js.map +1 -0
- package/dist/core/aspects/workload-aspects.d.ts +17 -0
- package/dist/core/aspects/workload-aspects.d.ts.map +1 -0
- package/dist/core/aspects/workload-aspects.js +40 -0
- package/dist/core/aspects/workload-aspects.js.map +1 -0
- package/dist/core/composition/context.d.ts +58 -2
- package/dist/core/composition/context.d.ts.map +1 -1
- package/dist/core/composition/context.js +4 -0
- package/dist/core/composition/context.js.map +1 -1
- package/dist/core/composition/imperative.d.ts +9 -0
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +538 -54
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/composition/nested-status-cel.d.ts +34 -1
- package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
- package/dist/core/composition/nested-status-cel.js +379 -41
- package/dist/core/composition/nested-status-cel.js.map +1 -1
- package/dist/core/composition-debugger.d.ts +1 -1
- package/dist/core/composition-debugger.d.ts.map +1 -1
- package/dist/core/composition-debugger.js.map +1 -1
- package/dist/core/constants/brands.d.ts +1 -1
- package/dist/core/constants/brands.d.ts.map +1 -1
- package/dist/core/constants/brands.js +1 -1
- package/dist/core/constants/brands.js.map +1 -1
- package/dist/core/containers/build.d.ts.map +1 -1
- package/dist/core/containers/build.js +40 -12
- package/dist/core/containers/build.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts +19 -0
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +261 -1
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/client-provider-manager.d.ts +9 -3
- package/dist/core/deployment/client-provider-manager.d.ts.map +1 -1
- package/dist/core/deployment/client-provider-manager.js +12 -0
- package/dist/core/deployment/client-provider-manager.js.map +1 -1
- package/dist/core/deployment/crd-manager.d.ts +24 -0
- package/dist/core/deployment/crd-manager.d.ts.map +1 -1
- package/dist/core/deployment/crd-manager.js +79 -1
- package/dist/core/deployment/crd-manager.js.map +1 -1
- package/dist/core/deployment/deployment-state-discovery.d.ts +116 -0
- package/dist/core/deployment/deployment-state-discovery.d.ts.map +1 -0
- package/dist/core/deployment/deployment-state-discovery.js +400 -0
- package/dist/core/deployment/deployment-state-discovery.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +65 -6
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +584 -62
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +64 -3
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +194 -27
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/event-filter.js +1 -1
- package/dist/core/deployment/event-filter.js.map +1 -1
- package/dist/core/deployment/event-monitor.d.ts +11 -0
- package/dist/core/deployment/event-monitor.d.ts.map +1 -1
- package/dist/core/deployment/event-monitor.js +14 -0
- package/dist/core/deployment/event-monitor.js.map +1 -1
- package/dist/core/deployment/handle-tracing.d.ts +14 -0
- package/dist/core/deployment/handle-tracing.d.ts.map +1 -0
- package/dist/core/deployment/handle-tracing.js +38 -0
- package/dist/core/deployment/handle-tracing.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +115 -3
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +922 -278
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
- package/dist/core/deployment/kro-readiness.js +21 -12
- package/dist/core/deployment/kro-readiness.js.map +1 -1
- package/dist/core/deployment/nested-composition-status.d.ts +1 -1
- package/dist/core/deployment/nested-composition-status.d.ts.map +1 -1
- package/dist/core/deployment/nested-composition-status.js +96 -53
- package/dist/core/deployment/nested-composition-status.js.map +1 -1
- package/dist/core/deployment/resource-applier.d.ts +15 -2
- package/dist/core/deployment/resource-applier.d.ts.map +1 -1
- package/dist/core/deployment/resource-applier.js +75 -25
- package/dist/core/deployment/resource-applier.js.map +1 -1
- package/dist/core/deployment/resource-tagging.d.ts +220 -0
- package/dist/core/deployment/resource-tagging.d.ts.map +1 -0
- package/dist/core/deployment/resource-tagging.js +292 -0
- package/dist/core/deployment/resource-tagging.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +25 -4
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +70 -57
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +6 -0
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +32 -2
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/singleton-owner-drift.d.ts +16 -0
- package/dist/core/deployment/singleton-owner-drift.d.ts.map +1 -0
- package/dist/core/deployment/singleton-owner-drift.js +54 -0
- package/dist/core/deployment/singleton-owner-drift.js.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +3 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +121 -18
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +9 -3
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +32 -4
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +12 -4
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +112 -8
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/errors.d.ts +2 -2
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/analysis/cache.d.ts +2 -2
- package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
- package/dist/core/expressions/analysis/cache.js +4 -0
- package/dist/core/expressions/analysis/cache.js.map +1 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.d.ts.map +1 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.js +0 -1
- package/dist/core/expressions/analysis/fn-toString-self-test.js.map +1 -1
- package/dist/core/expressions/analysis/shared-types.d.ts +2 -2
- package/dist/core/expressions/analysis/shared-types.d.ts.map +1 -1
- package/dist/core/expressions/analysis/source-map.d.ts.map +1 -1
- package/dist/core/expressions/analysis/source-map.js +1 -0
- package/dist/core/expressions/analysis/source-map.js.map +1 -1
- package/dist/core/expressions/analysis/types.d.ts +7 -7
- package/dist/core/expressions/analysis/types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts +29 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +348 -17
- package/dist/core/expressions/composition/composition-analyzer-helpers.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts +2 -2
- package/dist/core/expressions/composition/composition-analyzer-ternary.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-ternary.js +221 -10
- package/dist/core/expressions/composition/composition-analyzer-ternary.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-traversal.js +67 -2
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +52 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +150 -6
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/expression-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/expression-analyzer.js +21 -4
- package/dist/core/expressions/composition/expression-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.d.ts +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/imperative-analyzer.js +31 -7
- package/dist/core/expressions/composition/imperative-analyzer.js.map +1 -1
- package/dist/core/expressions/composition/scope-manager.d.ts +2 -2
- package/dist/core/expressions/composition/scope-manager.d.ts.map +1 -1
- package/dist/core/expressions/composition/scope-manager.js.map +1 -1
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts +3 -3
- package/dist/core/expressions/conditional/conditional-expression-processor.d.ts.map +1 -1
- package/dist/core/expressions/conditional/conditional-expression-processor.js.map +1 -1
- package/dist/core/expressions/conditional/conditional-integration.d.ts.map +1 -1
- package/dist/core/expressions/conditional/conditional-integration.js.map +1 -1
- package/dist/core/expressions/context/context-aware-generator.d.ts +5 -5
- package/dist/core/expressions/context/context-aware-generator.d.ts.map +1 -1
- package/dist/core/expressions/context/context-aware-generator.js.map +1 -1
- package/dist/core/expressions/context/context-detector.d.ts +3 -3
- package/dist/core/expressions/context/context-detector.d.ts.map +1 -1
- package/dist/core/expressions/context/context-detector.js.map +1 -1
- package/dist/core/expressions/context/context-validator.d.ts +6 -6
- package/dist/core/expressions/context/context-validator.d.ts.map +1 -1
- package/dist/core/expressions/context/context-validator.js +2 -2
- package/dist/core/expressions/context/context-validator.js.map +1 -1
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts +4 -4
- package/dist/core/expressions/factory/cel-conversion-engine.d.ts.map +1 -1
- package/dist/core/expressions/factory/cel-conversion-engine.js.map +1 -1
- package/dist/core/expressions/factory/dependency-tracker.d.ts +2 -2
- package/dist/core/expressions/factory/dependency-tracker.d.ts.map +1 -1
- package/dist/core/expressions/factory/dependency-tracker.js +21 -5
- package/dist/core/expressions/factory/dependency-tracker.js.map +1 -1
- package/dist/core/expressions/factory/factory-integration.d.ts +2 -4
- package/dist/core/expressions/factory/factory-integration.d.ts.map +1 -1
- package/dist/core/expressions/factory/factory-integration.js +0 -6
- package/dist/core/expressions/factory/factory-integration.js.map +1 -1
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts +3 -3
- package/dist/core/expressions/factory/factory-pattern-handler.d.ts.map +1 -1
- package/dist/core/expressions/factory/factory-pattern-handler.js +1 -0
- package/dist/core/expressions/factory/factory-pattern-handler.js.map +1 -1
- package/dist/core/expressions/factory/migration-helpers.js.map +1 -1
- package/dist/core/expressions/factory/resource-analyzer.d.ts +4 -4
- package/dist/core/expressions/factory/resource-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/factory/resource-analyzer.js.map +1 -1
- package/dist/core/expressions/factory/resource-type-validator.d.ts +5 -5
- package/dist/core/expressions/factory/resource-type-validator.d.ts.map +1 -1
- package/dist/core/expressions/factory/resource-type-validator.js.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts +6 -7
- package/dist/core/expressions/factory/status-builder-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-builder-analyzer.js +0 -3
- package/dist/core/expressions/factory/status-builder-analyzer.js.map +1 -1
- package/dist/core/expressions/factory/status-builder-types.d.ts +1 -1
- package/dist/core/expressions/factory/status-builder-types.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-cel-generation.d.ts +1 -1
- package/dist/core/expressions/factory/status-cel-generation.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-cel-generation.js +1 -1
- package/dist/core/expressions/factory/status-cel-generation.js.map +1 -1
- package/dist/core/expressions/factory/status-field-analysis.d.ts +3 -3
- package/dist/core/expressions/factory/status-field-analysis.d.ts.map +1 -1
- package/dist/core/expressions/factory/status-field-analysis.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts +5 -5
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js +1 -1
- package/dist/core/expressions/magic-proxy/magic-assignable-analyzer.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts +10 -10
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js +5 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-analyzer.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts +2 -2
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-ast.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts +5 -5
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-detector.js.map +1 -1
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts +2 -2
- package/dist/core/expressions/magic-proxy/magic-proxy-types.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts +1 -2
- package/dist/core/expressions/magic-proxy/optionality-handler.d.ts.map +1 -1
- package/dist/core/expressions/magic-proxy/optionality-handler.js +2 -15
- package/dist/core/expressions/magic-proxy/optionality-handler.js.map +1 -1
- package/dist/core/expressions/validation/compile-time-checker.d.ts +1 -1
- package/dist/core/expressions/validation/compile-time-checker.d.ts.map +1 -1
- package/dist/core/expressions/validation/compile-time-checker.js.map +1 -1
- package/dist/core/expressions/validation/compile-time-types.d.ts +2 -2
- package/dist/core/expressions/validation/compile-time-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts +4 -4
- package/dist/core/expressions/validation/kubernetes-field-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/kubernetes-field-types.js.map +1 -1
- package/dist/core/expressions/validation/resource-field-utils.d.ts +10 -10
- package/dist/core/expressions/validation/resource-field-utils.d.ts.map +1 -1
- package/dist/core/expressions/validation/resource-field-utils.js.map +1 -1
- package/dist/core/expressions/validation/resource-validation.d.ts +3 -3
- package/dist/core/expressions/validation/resource-validation.d.ts.map +1 -1
- package/dist/core/expressions/validation/resource-validation.js.map +1 -1
- package/dist/core/expressions/validation/type-inference-types.d.ts +2 -2
- package/dist/core/expressions/validation/type-inference-types.d.ts.map +1 -1
- package/dist/core/expressions/validation/type-safety.d.ts +2 -2
- package/dist/core/expressions/validation/type-safety.d.ts.map +1 -1
- package/dist/core/expressions/validation/type-safety.js +1 -0
- package/dist/core/expressions/validation/type-safety.js.map +1 -1
- package/dist/core/kubernetes/bun-api-client.js.map +1 -1
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-http-library.js +29 -3
- package/dist/core/kubernetes/bun-http-library.js.map +1 -1
- package/dist/core/kubernetes/client-provider.d.ts +12 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -1
- package/dist/core/kubernetes/client-provider.js +35 -0
- package/dist/core/kubernetes/client-provider.js.map +1 -1
- package/dist/core/metadata/resource-metadata.d.ts +49 -1
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.js.map +1 -1
- package/dist/core/proxy/create-resource.d.ts +15 -0
- package/dist/core/proxy/create-resource.d.ts.map +1 -1
- package/dist/core/proxy/create-resource.js +79 -2
- package/dist/core/proxy/create-resource.js.map +1 -1
- package/dist/core/readiness/registry.js +2 -2
- package/dist/core/readiness/registry.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts +1 -4
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +3 -7
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel.d.ts +22 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +106 -8
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +3 -0
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/resolver.d.ts.map +1 -1
- package/dist/core/references/resolver.js +28 -17
- package/dist/core/references/resolver.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts +18 -10
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +174 -23
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/runtime-patches/crd-schema-fix.d.ts.map +1 -1
- package/dist/core/runtime-patches/crd-schema-fix.js +4 -1
- package/dist/core/runtime-patches/crd-schema-fix.js.map +1 -1
- package/dist/core/serialization/cel-optimizer.d.ts.map +1 -1
- package/dist/core/serialization/cel-optimizer.js +2 -0
- package/dist/core/serialization/cel-optimizer.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts +75 -1
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +692 -156
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts +8 -8
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +672 -90
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts.map +1 -1
- package/dist/core/serialization/kro-post-processing.js +69 -22
- package/dist/core/serialization/kro-post-processing.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +1 -0
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +378 -50
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts +1 -1
- package/dist/core/serialization/status-analysis-pipeline.d.ts.map +1 -1
- package/dist/core/serialization/status-analysis-pipeline.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +3 -2
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +385 -55
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/singleton/singleton.d.ts +16 -0
- package/dist/core/singleton/singleton.d.ts.map +1 -0
- package/dist/core/singleton/singleton.js +135 -0
- package/dist/core/singleton/singleton.js.map +1 -0
- package/dist/core/types/common.d.ts +2 -2
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/composable.d.ts +1 -1
- package/dist/core/types/composable.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +129 -9
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +1 -1
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts +25 -17
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/references.d.ts +1 -1
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/types/references.js.map +1 -1
- package/dist/core/types/resource-graph.d.ts +2 -1
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/schema.d.ts +1 -1
- package/dist/core/types/schema.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +24 -6
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts +15 -2
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +144 -63
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts +2 -41
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +262 -217
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/apisix/index.d.ts +2 -2
- package/dist/factories/apisix/index.js +2 -2
- package/dist/factories/apisix/resources/helm.d.ts +2 -2
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
- package/dist/factories/apisix/resources/helm.js.map +1 -1
- package/dist/factories/apisix/types.d.ts +21 -11
- package/dist/factories/apisix/types.d.ts.map +1 -1
- package/dist/factories/apisix/types.js +106 -4
- package/dist/factories/apisix/types.js.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.d.ts +5 -3
- package/dist/factories/apisix/utils/admin-credentials.d.ts.map +1 -1
- package/dist/factories/apisix/utils/admin-credentials.js +14 -10
- package/dist/factories/apisix/utils/admin-credentials.js.map +1 -1
- package/dist/factories/apisix/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/apisix/utils/helm-values-mapper.js +4 -2
- package/dist/factories/apisix/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/cert-manager/resources/challenges.js.map +1 -1
- package/dist/factories/cert-manager/types.d.ts +3 -3
- package/dist/factories/cert-manager/types.d.ts.map +1 -1
- package/dist/factories/cilium/compositions/cilium-bootstrap.d.ts +4 -4
- package/dist/factories/cilium/types.d.ts +3 -3
- package/dist/factories/cilium/types.d.ts.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -0
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts.map +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +48 -0
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js.map +1 -1
- package/dist/factories/cnpg/resources/cluster.js +1 -1
- package/dist/factories/cnpg/resources/cluster.js.map +1 -1
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +1 -0
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/resources/pooler.js +1 -1
- package/dist/factories/cnpg/resources/pooler.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +9 -8
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js +11 -0
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.d.ts.map +1 -1
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js +153 -41
- package/dist/factories/external-dns/compositions/external-dns-bootstrap.js.map +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.js +1 -1
- package/dist/factories/external-dns/resources/dns-endpoint.js.map +1 -1
- package/dist/factories/external-dns/resources/helm.d.ts +1 -1
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/helm.js +17 -10
- package/dist/factories/external-dns/resources/helm.js.map +1 -1
- package/dist/factories/external-dns/types.d.ts +5 -2
- package/dist/factories/external-dns/types.d.ts.map +1 -1
- package/dist/factories/external-dns/types.js.map +1 -1
- package/dist/factories/flux/git-repository.d.ts.map +1 -1
- package/dist/factories/flux/git-repository.js +1 -1
- package/dist/factories/flux/git-repository.js.map +1 -1
- package/dist/factories/flux/kustomize/kustomization.d.ts +2 -2
- package/dist/factories/flux/kustomize/kustomization.d.ts.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 +1 -1
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +3 -2
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +1 -0
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/helm-repository.d.ts +1 -1
- package/dist/factories/helm/helm-repository.d.ts.map +1 -1
- package/dist/factories/helm/helm-repository.js +6 -4
- package/dist/factories/helm/helm-repository.js.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts +6 -6
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +15 -9
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +5 -1
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -0
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +4 -3
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/inngest/resources/helm.js +1 -1
- package/dist/factories/inngest/resources/helm.js.map +1 -1
- package/dist/factories/inngest/types.d.ts +5 -4
- package/dist/factories/inngest/types.d.ts.map +1 -1
- package/dist/factories/inngest/types.js +2 -0
- package/dist/factories/inngest/types.js.map +1 -1
- package/dist/factories/kro/kro-custom-resource.js +1 -1
- package/dist/factories/kro/kro-custom-resource.js.map +1 -1
- package/dist/factories/kubernetes/config/config-map.d.ts +2 -2
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -1
- package/dist/factories/kubernetes/config/secret.d.ts +2 -2
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -1
- package/dist/factories/kubernetes/networking/service.js +1 -1
- package/dist/factories/kubernetes/networking/service.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +9 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +9 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/dist/factories/pebble/resources/helm.js.map +1 -1
- package/dist/factories/pebble/types.d.ts +2 -2
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +3 -2
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +205 -167
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/resources/searxng.d.ts +1 -1
- package/dist/factories/searxng/resources/searxng.js +1 -1
- package/dist/factories/searxng/types.d.ts +5 -4
- package/dist/factories/searxng/types.d.ts.map +1 -1
- package/dist/factories/searxng/types.js +8 -7
- package/dist/factories/searxng/types.js.map +1 -1
- package/dist/factories/searxng/utils/settings-builder.d.ts +4 -3
- package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -1
- package/dist/factories/searxng/utils/settings-builder.js +4 -3
- package/dist/factories/searxng/utils/settings-builder.js.map +1 -1
- package/dist/factories/simple/config/config-map.d.ts +2 -2
- package/dist/factories/simple/config/config-map.d.ts.map +1 -1
- package/dist/factories/simple/config/secret.d.ts +2 -2
- package/dist/factories/simple/config/secret.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.d.ts +1 -1
- package/dist/factories/simple/helm/index.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.js.map +1 -1
- package/dist/factories/simple/index.d.ts +3 -3
- package/dist/factories/simple/index.d.ts.map +1 -1
- package/dist/factories/simple/storage/persistent-volume.js.map +1 -1
- package/dist/factories/simple/types.d.ts +11 -1
- package/dist/factories/simple/types.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.d.ts +4 -1
- package/dist/factories/simple/workloads/deployment.d.ts.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +9 -2
- package/dist/factories/simple/workloads/deployment.js.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts +4 -1
- package/dist/factories/simple/workloads/stateful-set.d.ts.map +1 -1
- package/dist/factories/simple/workloads/stateful-set.js +6 -2
- package/dist/factories/simple/workloads/stateful-set.js.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +1 -0
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.js +116 -0
- package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
- package/dist/factories/valkey/resources/valkey.js +1 -1
- package/dist/factories/valkey/resources/valkey.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +6 -5
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js +10 -0
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +90 -6
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +180 -20
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/factories/webapp/index.d.ts +3 -4
- package/dist/factories/webapp/index.d.ts.map +1 -1
- package/dist/factories/webapp/index.js +3 -4
- package/dist/factories/webapp/index.js.map +1 -1
- package/dist/factories/webapp/types.d.ts +60 -2
- package/dist/factories/webapp/types.d.ts.map +1 -1
- package/dist/factories/webapp/types.js +80 -3
- package/dist/factories/webapp/types.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +18 -8
- package/dist/shared/brands.d.ts.map +1 -1
- package/dist/shared/brands.js +19 -9
- package/dist/shared/brands.js.map +1 -1
- package/dist/utils/cel-escape.d.ts +12 -0
- package/dist/utils/cel-escape.d.ts.map +1 -0
- package/dist/utils/cel-escape.js +19 -0
- package/dist/utils/cel-escape.js.map +1 -0
- package/package.json +7 -2
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource Tagging
|
|
3
|
+
*
|
|
4
|
+
* Applies typekro-ownership metadata to Kubernetes resources at deploy time
|
|
5
|
+
* as labels and annotations, and extracts it back at delete time. This is
|
|
6
|
+
* the core of typekro's label-based deployment-state backend: the cluster
|
|
7
|
+
* IS the state, no separate ConfigMap record is kept.
|
|
8
|
+
*
|
|
9
|
+
* ## What gets tagged
|
|
10
|
+
*
|
|
11
|
+
* **Labels** (selector-queryable, constrained to 63-char DNS-label values):
|
|
12
|
+
* - `typekro.io/managed-by=typekro` — claims ownership; acts as a broad
|
|
13
|
+
* filter for "find everything typekro has deployed"
|
|
14
|
+
* - `typekro.io/factory-name=<sanitized>` — scopes a resource to one
|
|
15
|
+
* factory identity
|
|
16
|
+
* - `typekro.io/instance-name=<sanitized>` — scopes a resource to one
|
|
17
|
+
* deployed instance within a factory
|
|
18
|
+
*
|
|
19
|
+
* **Annotations** (arbitrary strings, used for state that exceeds label
|
|
20
|
+
* constraints or isn't selector-queried):
|
|
21
|
+
* - `typekro.io/deployment-id=<uuid>` — groups resources from a single
|
|
22
|
+
* deployment call
|
|
23
|
+
* - `typekro.io/resource-id=<node-id>` — original composition-local
|
|
24
|
+
* resource id (may differ from `metadata.name` and isn't DNS-constrained)
|
|
25
|
+
* - `typekro.io/factory-name=<raw>` — unsanitized factory name for display
|
|
26
|
+
* and exact-match comparisons (labels may be truncated/sanitized)
|
|
27
|
+
* - `typekro.io/instance-name=<raw>` — same, for instance name
|
|
28
|
+
* - `typekro.io/factory-namespace=<ns>` — the factory's "home" namespace
|
|
29
|
+
* (where the factory was invoked from). Used by cross-namespace
|
|
30
|
+
* discovery to narrow queries.
|
|
31
|
+
* - `typekro.io/scopes=<json-array>` — JSON-encoded list of scope names
|
|
32
|
+
* this resource belongs to (e.g., `["cluster"]`). Empty/absent means
|
|
33
|
+
* "instance-private." See {@link getEffectiveScopes}.
|
|
34
|
+
* - `typekro.io/depends-on=<json-array>` — JSON-encoded list of
|
|
35
|
+
* composition-local resource ids that THIS resource depends on. Used
|
|
36
|
+
* by discovery to reconstruct the dependency graph for reverse-
|
|
37
|
+
* topological deletion without needing the original composition source.
|
|
38
|
+
*
|
|
39
|
+
* ## Why this design
|
|
40
|
+
*
|
|
41
|
+
* A prior iteration stored the deployment record in a ConfigMap in the
|
|
42
|
+
* factory namespace. That worked for cross-process cleanup but had
|
|
43
|
+
* drawbacks: the ConfigMap could drift from reality (e.g., a resource
|
|
44
|
+
* deleted manually leaves a dangling record), required a bootstrap
|
|
45
|
+
* namespace for the record to live in, and made multi-consumer ownership
|
|
46
|
+
* of shared resources ambiguous.
|
|
47
|
+
*
|
|
48
|
+
* Storing the state directly on the resources makes the cluster self-
|
|
49
|
+
* describing: `kubectl get all -l typekro.io/factory-name=X` returns the
|
|
50
|
+
* full set. No external index to keep in sync. Shared resources can
|
|
51
|
+
* carry tags from multiple owners naturally.
|
|
52
|
+
*/
|
|
53
|
+
import { getMetadataField } from '../metadata/index.js';
|
|
54
|
+
// ── Label keys ────────────────────────────────────────────────────────────
|
|
55
|
+
/** Label set on every resource deployed by typekro. */
|
|
56
|
+
export const MANAGED_BY_LABEL = 'typekro.io/managed-by';
|
|
57
|
+
export const MANAGED_BY_VALUE = 'typekro';
|
|
58
|
+
/** Label identifying the factory that deployed this resource. */
|
|
59
|
+
export const FACTORY_NAME_LABEL = 'typekro.io/factory-name';
|
|
60
|
+
/** Label identifying the instance within a factory. */
|
|
61
|
+
export const INSTANCE_NAME_LABEL = 'typekro.io/instance-name';
|
|
62
|
+
// ── Annotation keys ───────────────────────────────────────────────────────
|
|
63
|
+
/** Annotation carrying the deployment run id. */
|
|
64
|
+
export const DEPLOYMENT_ID_ANNOTATION = 'typekro.io/deployment-id';
|
|
65
|
+
/** Annotation carrying the composition-local resource id (pre-sanitization). */
|
|
66
|
+
export const RESOURCE_ID_ANNOTATION = 'typekro.io/resource-id';
|
|
67
|
+
/** Annotation carrying the raw (unsanitized) factory name. */
|
|
68
|
+
export const FACTORY_NAME_ANNOTATION = 'typekro.io/factory-name';
|
|
69
|
+
/** Annotation carrying the raw (unsanitized) instance name. */
|
|
70
|
+
export const INSTANCE_NAME_ANNOTATION = 'typekro.io/instance-name';
|
|
71
|
+
/** Annotation carrying the factory's home namespace. */
|
|
72
|
+
export const FACTORY_NAMESPACE_ANNOTATION = 'typekro.io/factory-namespace';
|
|
73
|
+
/** Annotation carrying scope membership as a JSON array of strings. */
|
|
74
|
+
export const SCOPES_ANNOTATION = 'typekro.io/scopes';
|
|
75
|
+
/** Annotation carrying dependency ids as a JSON array of strings. */
|
|
76
|
+
export const DEPENDS_ON_ANNOTATION = 'typekro.io/depends-on';
|
|
77
|
+
/** Annotation carrying the immutable singleton owner spec fingerprint. */
|
|
78
|
+
export const SINGLETON_SPEC_FINGERPRINT_ANNOTATION = 'typekro.io/singleton-spec-fingerprint';
|
|
79
|
+
/**
|
|
80
|
+
* Apply typekro ownership metadata to a resource manifest. Mutates
|
|
81
|
+
* `manifest.metadata.labels` and `manifest.metadata.annotations` in place.
|
|
82
|
+
*
|
|
83
|
+
* Called from the deploy path right before the resource is serialized and
|
|
84
|
+
* sent to the cluster. The manifest at that point is a plain object (post
|
|
85
|
+
* reference-resolution and namespace-application), so in-place mutation is
|
|
86
|
+
* safe and avoids an extra clone.
|
|
87
|
+
*
|
|
88
|
+
* Existing user-set labels and annotations are preserved — only the
|
|
89
|
+
* `typekro.io/*` keys are added or overwritten.
|
|
90
|
+
*/
|
|
91
|
+
export function applyTypekroTags(manifest, ctx) {
|
|
92
|
+
if (!manifest.metadata) {
|
|
93
|
+
manifest.metadata = {};
|
|
94
|
+
}
|
|
95
|
+
const metadata = manifest.metadata;
|
|
96
|
+
metadata.labels = { ...(metadata.labels ?? {}) };
|
|
97
|
+
metadata.annotations = { ...(metadata.annotations ?? {}) };
|
|
98
|
+
// Labels: sanitized, DNS-label-compatible
|
|
99
|
+
metadata.labels[MANAGED_BY_LABEL] = MANAGED_BY_VALUE;
|
|
100
|
+
metadata.labels[FACTORY_NAME_LABEL] = sanitiseLabelValue(ctx.factoryName);
|
|
101
|
+
metadata.labels[INSTANCE_NAME_LABEL] = sanitiseLabelValue(ctx.instanceName);
|
|
102
|
+
// Annotations: raw values + state that can't fit in labels
|
|
103
|
+
metadata.annotations[FACTORY_NAME_ANNOTATION] = ctx.factoryName;
|
|
104
|
+
metadata.annotations[INSTANCE_NAME_ANNOTATION] = ctx.instanceName;
|
|
105
|
+
metadata.annotations[FACTORY_NAMESPACE_ANNOTATION] = ctx.factoryNamespace;
|
|
106
|
+
metadata.annotations[DEPLOYMENT_ID_ANNOTATION] = ctx.deploymentId;
|
|
107
|
+
metadata.annotations[RESOURCE_ID_ANNOTATION] = ctx.resourceId;
|
|
108
|
+
if (ctx.scopes) {
|
|
109
|
+
metadata.annotations[SCOPES_ANNOTATION] = JSON.stringify(ctx.scopes);
|
|
110
|
+
}
|
|
111
|
+
if (ctx.dependencies && ctx.dependencies.length > 0) {
|
|
112
|
+
metadata.annotations[DEPENDS_ON_ANNOTATION] = JSON.stringify(ctx.dependencies);
|
|
113
|
+
}
|
|
114
|
+
if (ctx.singletonSpecFingerprint) {
|
|
115
|
+
metadata.annotations[SINGLETON_SPEC_FINGERPRINT_ANNOTATION] = ctx.singletonSpecFingerprint;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Extract typekro metadata from a live Kubernetes resource. The live
|
|
120
|
+
* resource is whatever the server returned from a list/read call —
|
|
121
|
+
* `metadata.labels` and `metadata.annotations` are plain records.
|
|
122
|
+
*
|
|
123
|
+
* Never throws: malformed annotations (bad JSON, wrong types) are
|
|
124
|
+
* silently ignored and return empty defaults. The caller should treat
|
|
125
|
+
* missing fields as "we don't know" rather than "the resource is
|
|
126
|
+
* un-owned," because this function is invoked on resources that matched
|
|
127
|
+
* a label selector upstream.
|
|
128
|
+
*/
|
|
129
|
+
export function extractTypekroTags(resource) {
|
|
130
|
+
const labels = resource.metadata?.labels ?? {};
|
|
131
|
+
const annotations = resource.metadata?.annotations ?? {};
|
|
132
|
+
// Prefer annotations for raw values (they aren't sanitized); fall
|
|
133
|
+
// back to labels so we still get a usable value when annotations are
|
|
134
|
+
// stripped by a downstream mutator.
|
|
135
|
+
const factoryName = annotations[FACTORY_NAME_ANNOTATION] ?? labels[FACTORY_NAME_LABEL];
|
|
136
|
+
const instanceName = annotations[INSTANCE_NAME_ANNOTATION] ?? labels[INSTANCE_NAME_LABEL];
|
|
137
|
+
return {
|
|
138
|
+
...(factoryName !== undefined && { factoryName }),
|
|
139
|
+
...(instanceName !== undefined && { instanceName }),
|
|
140
|
+
...(annotations[FACTORY_NAMESPACE_ANNOTATION] !== undefined && {
|
|
141
|
+
factoryNamespace: annotations[FACTORY_NAMESPACE_ANNOTATION],
|
|
142
|
+
}),
|
|
143
|
+
...(annotations[DEPLOYMENT_ID_ANNOTATION] !== undefined && {
|
|
144
|
+
deploymentId: annotations[DEPLOYMENT_ID_ANNOTATION],
|
|
145
|
+
}),
|
|
146
|
+
...(annotations[RESOURCE_ID_ANNOTATION] !== undefined && {
|
|
147
|
+
resourceId: annotations[RESOURCE_ID_ANNOTATION],
|
|
148
|
+
}),
|
|
149
|
+
scopes: parseJsonStringArray(annotations[SCOPES_ANNOTATION]),
|
|
150
|
+
dependencies: parseJsonStringArray(annotations[DEPENDS_ON_ANNOTATION]),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Compute the effective scope set for a resource, merging three sources:
|
|
155
|
+
*
|
|
156
|
+
* 1. `typekro.io/scopes` annotation on the live manifest (the
|
|
157
|
+
* canonical cluster-side source, used by cross-process delete).
|
|
158
|
+
* 2. WeakMap `scopes` metadata set via `setMetadataField` in-process
|
|
159
|
+
* (used when the resource is still in memory and hasn't been
|
|
160
|
+
* tagged on-cluster yet — e.g., during deploy).
|
|
161
|
+
* 3. The legacy `lifecycle: 'shared'` alias, which is equivalent to
|
|
162
|
+
* `scopes: ['shared']`.
|
|
163
|
+
*
|
|
164
|
+
* Returns an empty array if the resource is "instance-private" (no
|
|
165
|
+
* scopes from any source). Factory-provided `scope: 'cluster'` metadata is
|
|
166
|
+
* treated as membership in the broader `cluster` deletion/application scope.
|
|
167
|
+
*/
|
|
168
|
+
export function getEffectiveScopes(resource) {
|
|
169
|
+
const scopes = new Set();
|
|
170
|
+
// 1. Annotation (authoritative for on-cluster resources)
|
|
171
|
+
const annotation = resource.metadata?.annotations?.[SCOPES_ANNOTATION];
|
|
172
|
+
for (const s of parseJsonStringArray(annotation))
|
|
173
|
+
scopes.add(s);
|
|
174
|
+
// 2. WeakMap metadata (in-process deploy path)
|
|
175
|
+
const fromMeta = getMetadataField(resource, 'scopes');
|
|
176
|
+
if (fromMeta) {
|
|
177
|
+
for (const s of fromMeta)
|
|
178
|
+
scopes.add(s);
|
|
179
|
+
}
|
|
180
|
+
// 3. Canonical factory scope metadata for cluster-scoped resources.
|
|
181
|
+
if (getMetadataField(resource, 'scope') === 'cluster') {
|
|
182
|
+
scopes.add('cluster');
|
|
183
|
+
}
|
|
184
|
+
// 4. Legacy lifecycle alias
|
|
185
|
+
const legacy = getMetadataField(resource, 'lifecycle');
|
|
186
|
+
if (legacy === 'shared')
|
|
187
|
+
scopes.add('shared');
|
|
188
|
+
// 5. Annotation-based legacy: `typekro.io/lifecycle: shared` from any
|
|
189
|
+
// pre-scopes deployment is also treated as `['shared']`.
|
|
190
|
+
const lifecycleAnn = resource.metadata?.annotations?.['typekro.io/lifecycle'];
|
|
191
|
+
if (lifecycleAnn === 'shared')
|
|
192
|
+
scopes.add('shared');
|
|
193
|
+
return Array.from(scopes);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Decide whether a resource matches a scope filter.
|
|
197
|
+
*
|
|
198
|
+
* Used by both the deploy path (`targetScopes`) and the delete path
|
|
199
|
+
* (`deleteInstance` scopes). The semantics are additive:
|
|
200
|
+
*
|
|
201
|
+
* - **Unscoped** resources (empty effective scopes) match when
|
|
202
|
+
* `includeUnscoped` is `true` (the default). Set to `false` to
|
|
203
|
+
* exclude them — useful when you want to tear down only shared
|
|
204
|
+
* infrastructure without touching instance-private resources.
|
|
205
|
+
* - **Scoped** resources match when ANY of their scopes appear in
|
|
206
|
+
* the `scopeFilter`. An empty filter means "no broader scopes
|
|
207
|
+
* targeted" — only unscoped resources pass.
|
|
208
|
+
*
|
|
209
|
+
* Examples (default includeUnscoped=true):
|
|
210
|
+
* scopesMatchFilter([], []) === true // unscoped, included by default
|
|
211
|
+
* scopesMatchFilter([], ['cluster']) === true // unscoped, still included
|
|
212
|
+
* scopesMatchFilter(['cluster'], []) === false // scoped, not targeted
|
|
213
|
+
* scopesMatchFilter(['cluster'], ['cluster']) === true // scoped, targeted
|
|
214
|
+
*
|
|
215
|
+
* With includeUnscoped=false:
|
|
216
|
+
* scopesMatchFilter([], ['cluster'], false) === false // unscoped excluded
|
|
217
|
+
* scopesMatchFilter(['cluster'], ['cluster'], false) === true // scoped still matches
|
|
218
|
+
*/
|
|
219
|
+
export function scopesMatchFilter(resourceScopes, scopeFilter, includeUnscoped = true) {
|
|
220
|
+
if (resourceScopes.length === 0)
|
|
221
|
+
return includeUnscoped;
|
|
222
|
+
return resourceScopes.some((s) => scopeFilter.includes(s));
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Decide whether a resource matches deploy-side `targetScopes` semantics.
|
|
226
|
+
*
|
|
227
|
+
* Deployment targeting is intentionally stricter than delete-side filtering:
|
|
228
|
+
* - `undefined` means deploy everything (handled by callers before invoking this helper).
|
|
229
|
+
* - `[]` means deploy only instance-private/unscoped resources.
|
|
230
|
+
* - Non-empty filters deploy only resources with at least one matching lifecycle scope.
|
|
231
|
+
*/
|
|
232
|
+
export function scopesMatchDeployTarget(resourceScopes, targetScopes) {
|
|
233
|
+
if (targetScopes.length === 0)
|
|
234
|
+
return resourceScopes.length === 0;
|
|
235
|
+
if (resourceScopes.length === 0)
|
|
236
|
+
return false;
|
|
237
|
+
return resourceScopes.some((s) => targetScopes.includes(s));
|
|
238
|
+
}
|
|
239
|
+
// ── Label selector construction ───────────────────────────────────────────
|
|
240
|
+
/**
|
|
241
|
+
* Build a label selector string for locating all resources belonging to
|
|
242
|
+
* a specific factory + instance. Used by the discovery path at delete
|
|
243
|
+
* time.
|
|
244
|
+
*/
|
|
245
|
+
export function buildFactoryInstanceSelector(opts) {
|
|
246
|
+
return [
|
|
247
|
+
`${MANAGED_BY_LABEL}=${MANAGED_BY_VALUE}`,
|
|
248
|
+
`${FACTORY_NAME_LABEL}=${sanitiseLabelValue(opts.factoryName)}`,
|
|
249
|
+
`${INSTANCE_NAME_LABEL}=${sanitiseLabelValue(opts.instanceName)}`,
|
|
250
|
+
].join(',');
|
|
251
|
+
}
|
|
252
|
+
// ── Helpers ───────────────────────────────────────────────────────────────
|
|
253
|
+
/**
|
|
254
|
+
* Parse a JSON-encoded string array annotation. Returns an empty array
|
|
255
|
+
* on any parsing failure (missing, non-JSON, wrong shape) — this is
|
|
256
|
+
* intentional: a broken annotation should not crash the rollback path.
|
|
257
|
+
*/
|
|
258
|
+
function parseJsonStringArray(value) {
|
|
259
|
+
if (!value)
|
|
260
|
+
return [];
|
|
261
|
+
try {
|
|
262
|
+
const parsed = JSON.parse(value);
|
|
263
|
+
if (Array.isArray(parsed) && parsed.every((v) => typeof v === 'string')) {
|
|
264
|
+
return parsed;
|
|
265
|
+
}
|
|
266
|
+
return [];
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return [];
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Sanitise a string for use as a Kubernetes label value. Labels must be
|
|
274
|
+
* DNS-label-compatible (alphanumeric + `-`, `_`, `.`, max 63 chars) and
|
|
275
|
+
* must start+end with an alphanumeric. Replace anything else with `-`
|
|
276
|
+
* and truncate.
|
|
277
|
+
*
|
|
278
|
+
* Note: this is not collision-free — two factory names that differ only
|
|
279
|
+
* in disallowed characters will sanitise to the same value. Callers
|
|
280
|
+
* that need collision resistance should use the annotation form.
|
|
281
|
+
*/
|
|
282
|
+
export function sanitiseLabelValue(value) {
|
|
283
|
+
const sanitised = value
|
|
284
|
+
.toLowerCase()
|
|
285
|
+
.replace(/[^a-z0-9._-]/g, '-')
|
|
286
|
+
.slice(0, 63)
|
|
287
|
+
.replace(/^[-._]+|[-._]+$/g, '');
|
|
288
|
+
// An empty string is an invalid K8s label value. Fall back to a
|
|
289
|
+
// deterministic placeholder so selectors don't break.
|
|
290
|
+
return sanitised || 'unknown';
|
|
291
|
+
}
|
|
292
|
+
//# sourceMappingURL=resource-tagging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-tagging.js","sourceRoot":"","sources":["../../../src/core/deployment/resource-tagging.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,16 +48,37 @@ export declare class ResourceRollbackManager {
|
|
|
48
48
|
*/
|
|
49
49
|
private getResourceIdentifier;
|
|
50
50
|
/**
|
|
51
|
-
* Rollback
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* Rollback resources that are already in the correct deletion order
|
|
52
|
+
* with scope filtering already applied. Used by `engine.rollbackRecord`
|
|
53
|
+
* which computes reverse-topological order and scope exclusions.
|
|
54
|
+
*/
|
|
55
|
+
rollbackOrderedResources(deployedResources: DeployedResource[], options: DeploymentOptions): Promise<{
|
|
56
|
+
rolledBackResources: string[];
|
|
57
|
+
errors: DeploymentError[];
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Rollback resources in reverse-deployment order, skipping scoped
|
|
61
|
+
* resources. Used by the deploy-failure auto-rollback path where
|
|
62
|
+
* resources are in deployment order and scope filtering hasn't been
|
|
63
|
+
* applied.
|
|
54
64
|
*/
|
|
55
65
|
rollbackDeployedResources(deployedResources: DeployedResource[], options: DeploymentOptions): Promise<{
|
|
56
66
|
rolledBackResources: string[];
|
|
57
67
|
errors: DeploymentError[];
|
|
58
68
|
}>;
|
|
59
69
|
/**
|
|
60
|
-
*
|
|
70
|
+
* Core deletion loop — iterates the resource list in order, deleting
|
|
71
|
+
* each non-failed resource. Shared by both ordered and unordered paths.
|
|
72
|
+
*/
|
|
73
|
+
private deleteResourceList;
|
|
74
|
+
/**
|
|
75
|
+
* Delete a single deployed resource from the cluster and wait for
|
|
76
|
+
* deletion to complete.
|
|
77
|
+
*
|
|
78
|
+
* This method does NOT perform scope filtering — the caller (typically
|
|
79
|
+
* `engine.rollbackRecord`) is responsible for deciding which resources
|
|
80
|
+
* should be deleted. Filtering at this level would silently drop
|
|
81
|
+
* resources that the caller explicitly targeted for deletion.
|
|
61
82
|
*/
|
|
62
83
|
deleteDeployedResource(resource: DeployedResource): Promise<void>;
|
|
63
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-manager.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"rollback-manager.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAWpD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAgD,MAAM,wBAAwB,CAAC;AAGrG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAGtB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAA0C;gBAEpC,MAAM,EAAE,GAAG,CAAC,mBAAmB;IAEnD;;OAEG;IACG,iBAAiB,CACrB,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EACvC,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAmE1B;;OAEG;YACW,sBAAsB;IA6DpC;;OAEG;YACW,mBAAmB;IA8BjC;;OAEG;YACW,uBAAuB;IA8DrC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;OAIG;IACG,wBAAwB,CAC5B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAIxE;;;;;OAKG;IACG,yBAAyB,CAC7B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAsBxE;;;OAGG;YACW,kBAAkB;IAwChC;;;;;;;;OAQG;IACG,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiEvE;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAK5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAE9F;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,GAAG,CAAC,UAAU,GACzB,uBAAuB,CAKzB"}
|
|
@@ -8,7 +8,8 @@ import { DEFAULT_DELETE_TIMEOUT, DEFAULT_FAST_POLL_INTERVAL, DEFAULT_POLL_INTERV
|
|
|
8
8
|
import { DeploymentTimeoutError, ensureError, TypeKroError } from '../errors.js';
|
|
9
9
|
import { createBunCompatibleKubernetesObjectApi } from '../kubernetes/index.js';
|
|
10
10
|
import { getComponentLogger } from '../logging/index.js';
|
|
11
|
-
import { getMetadataField } from '../metadata/
|
|
11
|
+
import { getMetadataField } from '../metadata/index.js';
|
|
12
|
+
import { getEffectiveScopes, scopesMatchFilter } from './resource-tagging.js';
|
|
12
13
|
import { isNotFoundError } from './k8s-helpers.js';
|
|
13
14
|
/**
|
|
14
15
|
* Consolidated rollback manager for all deployment modes
|
|
@@ -160,16 +161,10 @@ export class ResourceRollbackManager {
|
|
|
160
161
|
operation: 'deletion-check',
|
|
161
162
|
});
|
|
162
163
|
}
|
|
163
|
-
if (!namespace) {
|
|
164
|
-
throw new TypeKroError(`Resource namespace is required for deletion check: ${this.getResourceIdentifier(resource)}`, 'MISSING_RESOURCE_NAMESPACE', {
|
|
165
|
-
resourceIdentifier: this.getResourceIdentifier(resource),
|
|
166
|
-
operation: 'deletion-check',
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
164
|
const readObject = {
|
|
170
165
|
apiVersion: resource.apiVersion,
|
|
171
166
|
kind: resource.kind,
|
|
172
|
-
metadata: { name
|
|
167
|
+
metadata: { name },
|
|
173
168
|
};
|
|
174
169
|
if (namespace) {
|
|
175
170
|
readObject.metadata.namespace = namespace;
|
|
@@ -211,11 +206,45 @@ export class ResourceRollbackManager {
|
|
|
211
206
|
return `${resource.kind}/${name} (${namespace})`;
|
|
212
207
|
}
|
|
213
208
|
/**
|
|
214
|
-
* Rollback
|
|
215
|
-
*
|
|
216
|
-
*
|
|
209
|
+
* Rollback resources that are already in the correct deletion order
|
|
210
|
+
* with scope filtering already applied. Used by `engine.rollbackRecord`
|
|
211
|
+
* which computes reverse-topological order and scope exclusions.
|
|
212
|
+
*/
|
|
213
|
+
async rollbackOrderedResources(deployedResources, options) {
|
|
214
|
+
return this.deleteResourceList(deployedResources, options);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Rollback resources in reverse-deployment order, skipping scoped
|
|
218
|
+
* resources. Used by the deploy-failure auto-rollback path where
|
|
219
|
+
* resources are in deployment order and scope filtering hasn't been
|
|
220
|
+
* applied.
|
|
217
221
|
*/
|
|
218
222
|
async rollbackDeployedResources(deployedResources, options) {
|
|
223
|
+
const filtered = [...deployedResources]
|
|
224
|
+
.reverse()
|
|
225
|
+
.filter((r) => {
|
|
226
|
+
const scopes = getEffectiveScopes(r.manifest);
|
|
227
|
+
if (options.targetScopes !== undefined) {
|
|
228
|
+
return scopesMatchFilter(scopes, options.targetScopes);
|
|
229
|
+
}
|
|
230
|
+
if (scopes.length > 0) {
|
|
231
|
+
this.logger.debug('Skipping scoped resource during rollback', {
|
|
232
|
+
resourceId: r.id,
|
|
233
|
+
kind: r.kind,
|
|
234
|
+
name: r.name,
|
|
235
|
+
scopes,
|
|
236
|
+
});
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
return true;
|
|
240
|
+
});
|
|
241
|
+
return this.deleteResourceList(filtered, options);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Core deletion loop — iterates the resource list in order, deleting
|
|
245
|
+
* each non-failed resource. Shared by both ordered and unordered paths.
|
|
246
|
+
*/
|
|
247
|
+
async deleteResourceList(resources, options) {
|
|
219
248
|
this.emitDeploymentEvent(options, {
|
|
220
249
|
type: 'rollback',
|
|
221
250
|
message: 'Starting rollback of deployed resources',
|
|
@@ -223,35 +252,14 @@ export class ResourceRollbackManager {
|
|
|
223
252
|
});
|
|
224
253
|
const rolledBackResources = [];
|
|
225
254
|
const errors = [];
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
for (const resource of reversedResources) {
|
|
229
|
-
// Only try to rollback resources that were actually deployed (not failed)
|
|
230
|
-
if (resource.status === 'failed') {
|
|
231
|
-
continue; // Skip resources that failed to deploy
|
|
232
|
-
}
|
|
233
|
-
// Skip shared resources — they survive instance deletion (e.g., HelmRepository in flux-system)
|
|
234
|
-
if (getMetadataField(resource.manifest, 'lifecycle') === 'shared') {
|
|
235
|
-
this.logger.debug('Skipping shared resource during rollback', {
|
|
236
|
-
resourceId: resource.id,
|
|
237
|
-
kind: resource.kind,
|
|
238
|
-
name: resource.name,
|
|
239
|
-
});
|
|
255
|
+
for (const resource of resources) {
|
|
256
|
+
if (resource.status === 'failed' && resource.applied !== true)
|
|
240
257
|
continue;
|
|
241
|
-
}
|
|
242
258
|
try {
|
|
243
|
-
await this.
|
|
244
|
-
apiVersion: resource.manifest.apiVersion || '',
|
|
245
|
-
kind: resource.kind,
|
|
246
|
-
metadata: {
|
|
247
|
-
name: resource.name,
|
|
248
|
-
namespace: resource.namespace,
|
|
249
|
-
},
|
|
250
|
-
});
|
|
259
|
+
await this.deleteDeployedResource(resource);
|
|
251
260
|
rolledBackResources.push(`${resource.kind}/${resource.name}`);
|
|
252
261
|
}
|
|
253
262
|
catch (error) {
|
|
254
|
-
// Log and collect errors for individual resource deletion failures
|
|
255
263
|
this.logger.warn('Failed to delete resource during rollback', {
|
|
256
264
|
error: ensureError(error),
|
|
257
265
|
resourceId: resource.id,
|
|
@@ -269,32 +277,40 @@ export class ResourceRollbackManager {
|
|
|
269
277
|
return { rolledBackResources, errors };
|
|
270
278
|
}
|
|
271
279
|
/**
|
|
272
|
-
* Delete a single deployed resource from the cluster and wait for
|
|
280
|
+
* Delete a single deployed resource from the cluster and wait for
|
|
281
|
+
* deletion to complete.
|
|
282
|
+
*
|
|
283
|
+
* This method does NOT perform scope filtering — the caller (typically
|
|
284
|
+
* `engine.rollbackRecord`) is responsible for deciding which resources
|
|
285
|
+
* should be deleted. Filtering at this level would silently drop
|
|
286
|
+
* resources that the caller explicitly targeted for deletion.
|
|
273
287
|
*/
|
|
274
288
|
async deleteDeployedResource(resource) {
|
|
275
|
-
// Skip shared resources — they survive instance deletion
|
|
276
|
-
if (getMetadataField(resource.manifest, 'lifecycle') === 'shared') {
|
|
277
|
-
this.logger.debug('Skipping shared resource deletion', {
|
|
278
|
-
resourceId: resource.id,
|
|
279
|
-
kind: resource.kind,
|
|
280
|
-
name: resource.name,
|
|
281
|
-
});
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
289
|
const deleteLogger = this.logger.child({
|
|
285
290
|
resourceId: resource.id,
|
|
286
291
|
kind: resource.kind,
|
|
287
292
|
name: resource.name,
|
|
288
293
|
});
|
|
294
|
+
const isClusterScoped = getMetadataField(resource.manifest, 'scope') === 'cluster';
|
|
295
|
+
const metadata = {
|
|
296
|
+
name: resource.name,
|
|
297
|
+
...(isClusterScoped ? {} : { namespace: resource.namespace }),
|
|
298
|
+
};
|
|
289
299
|
try {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
300
|
+
try {
|
|
301
|
+
await this.k8sApi.delete({
|
|
302
|
+
apiVersion: resource.manifest.apiVersion || '',
|
|
303
|
+
kind: resource.kind,
|
|
304
|
+
metadata,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
if (isNotFoundError(error)) {
|
|
309
|
+
deleteLogger.debug('Resource already deleted');
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
throw error;
|
|
313
|
+
}
|
|
298
314
|
// Wait for resource to be deleted
|
|
299
315
|
const timeout = DEFAULT_DELETE_TIMEOUT;
|
|
300
316
|
const startTime = Date.now();
|
|
@@ -303,10 +319,7 @@ export class ResourceRollbackManager {
|
|
|
303
319
|
await this.k8sApi.read({
|
|
304
320
|
apiVersion: resource.manifest.apiVersion || '',
|
|
305
321
|
kind: resource.kind,
|
|
306
|
-
metadata
|
|
307
|
-
name: resource.name,
|
|
308
|
-
namespace: resource.namespace,
|
|
309
|
-
},
|
|
322
|
+
metadata,
|
|
310
323
|
});
|
|
311
324
|
// Resource still exists, wait and try again
|
|
312
325
|
await new Promise((resolve) => setTimeout(resolve, DEFAULT_FAST_POLL_INTERVAL));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-manager.js","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rollback-manager.js","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,12 @@ export declare function createDeploymentOptions(factoryOptions: FactoryOptions,
|
|
|
32
32
|
* @returns The extracted or generated instance name
|
|
33
33
|
*/
|
|
34
34
|
export declare function generateInstanceName<TSpec>(spec: TSpec, fallbackPrefix?: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Singleton owner boundaries must use the stable singleton id as the CR name.
|
|
37
|
+
* This keeps owner creation and singleton.use() references aligned even when
|
|
38
|
+
* the singleton spec contains a user-facing `name` field with a different value.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getSingletonInstanceName(id: string): string;
|
|
35
41
|
/**
|
|
36
42
|
* Create Enhanced proxy metadata
|
|
37
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-utilities.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/shared-utilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,iBAAiB,EAAE,OAAO,SAAS,iBAAiB,EAC7F,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,
|
|
1
|
+
{"version":3,"file":"shared-utilities.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/shared-utilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,iBAAiB,EAAE,OAAO,SAAS,iBAAiB,EAC7F,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,CAqBN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,QAAQ,GAAG,KAAK,GAAG,SAAoB,GAC5C,iBAAiB,CAanB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,SAAa,GAAG,MAAM,CAe5F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA8B3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,GAAG,KAAK,GACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAYxC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAU5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAiBjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoD5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2BlD"}
|