typekro 0.7.0 → 0.9.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/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 +39 -7
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- 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 +4 -4
- package/dist/core/containers/build.d.ts.map +1 -1
- package/dist/core/containers/build.js +44 -16
- package/dist/core/containers/build.js.map +1 -1
- package/dist/core/containers/registries/types.d.ts +1 -1
- package/dist/core/containers/registries/types.d.ts.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 +551 -56
- 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 +136 -3
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +945 -268
- 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 +37 -3
- package/dist/core/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +370 -7
- 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 +264 -29
- 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 +78 -6
- package/dist/core/expressions/composition/composition-analyzer-traversal.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts +60 -0
- package/dist/core/expressions/composition/composition-analyzer-types.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +158 -8
- 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 +46 -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 +56 -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 +70 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +188 -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 +723 -145
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts +13 -8
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +973 -12
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/kro-post-processing.d.ts +46 -0
- package/dist/core/serialization/kro-post-processing.d.ts.map +1 -0
- package/dist/core/serialization/kro-post-processing.js +150 -0
- package/dist/core/serialization/kro-post-processing.js.map +1 -0
- package/dist/core/serialization/schema.d.ts +62 -3
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +819 -6
- 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 +404 -56
- 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 +126 -6
- 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 +1 -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 +62 -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/config/secret.js +11 -1
- package/dist/factories/kubernetes/config/secret.js.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/index.d.ts +2 -0
- package/dist/factories/searxng/compositions/index.d.ts.map +1 -0
- package/dist/factories/searxng/compositions/index.js +2 -0
- package/dist/factories/searxng/compositions/index.js.map +1 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts +66 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +275 -0
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -0
- package/dist/factories/searxng/index.d.ts +29 -0
- package/dist/factories/searxng/index.d.ts.map +1 -0
- package/dist/factories/searxng/index.js +27 -0
- package/dist/factories/searxng/index.js.map +1 -0
- package/dist/factories/searxng/resources/index.d.ts +2 -0
- package/dist/factories/searxng/resources/index.d.ts.map +1 -0
- package/dist/factories/searxng/resources/index.js +2 -0
- package/dist/factories/searxng/resources/index.js.map +1 -0
- package/dist/factories/searxng/resources/searxng.d.ts +65 -0
- package/dist/factories/searxng/resources/searxng.d.ts.map +1 -0
- package/dist/factories/searxng/resources/searxng.js +188 -0
- package/dist/factories/searxng/resources/searxng.js.map +1 -0
- package/dist/factories/searxng/types.d.ts +127 -0
- package/dist/factories/searxng/types.d.ts.map +1 -0
- package/dist/factories/searxng/types.js +177 -0
- package/dist/factories/searxng/types.js.map +1 -0
- package/dist/factories/searxng/utils/settings-builder.d.ts +47 -0
- package/dist/factories/searxng/utils/settings-builder.d.ts.map +1 -0
- package/dist/factories/searxng/utils/settings-builder.js +53 -0
- package/dist/factories/searxng/utils/settings-builder.js.map +1 -0
- 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/config/secret.js +28 -0
- package/dist/factories/simple/config/secret.js.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/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.map +1 -1
- package/dist/factories/simple/workloads/deployment.js +3 -0
- package/dist/factories/simple/workloads/deployment.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 +95 -12
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +185 -26
- 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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -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
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Full-Stack Web Application with Background Processing
|
|
3
3
|
*
|
|
4
|
-
* Deploys a complete application stack
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Deploys a complete, self-contained application stack. The composition
|
|
5
|
+
* installs its own operators AND the application resources managed by
|
|
6
|
+
* those operators — callers don't need to pre-install anything other
|
|
7
|
+
* than the TypeKro runtime (Flux + KRO) on the target cluster.
|
|
8
|
+
*
|
|
9
|
+
* **Operators** (installed by nested bootstraps):
|
|
10
|
+
* 1. **CloudNativePG operator** (via `cnpgBootstrap`) — manages the
|
|
11
|
+
* PostgreSQL cluster. Installs into `cnpg-system` by default.
|
|
12
|
+
* 2. **Hyperspike Valkey operator** (via `valkeyBootstrap`) — manages
|
|
13
|
+
* the Valkey cache cluster. Installs into `valkey-operator-system`
|
|
14
|
+
* by default.
|
|
15
|
+
* 3. **Inngest** (via `inngestBootstrap`) — the workflow engine itself
|
|
16
|
+
* is installed via a Helm release alongside the app. Bundled
|
|
17
|
+
* Postgres/Redis are disabled; Inngest uses the CNPG and Valkey
|
|
18
|
+
* instances from this composition.
|
|
19
|
+
*
|
|
20
|
+
* **Application resources** (created in the app namespace, managed by
|
|
21
|
+
* the operators above):
|
|
22
|
+
* 1. **PostgreSQL cluster** (CNPG `Cluster`) + PgBouncer `Pooler`
|
|
23
|
+
* 2. **Valkey cache cluster** (Hyperspike `Valkey` CR) + explicit
|
|
24
|
+
* ClusterIP Service (KRO prunes unowned Services otherwise)
|
|
25
|
+
* 3. **Application** `Deployment` + `Service`
|
|
9
26
|
*
|
|
10
27
|
* All connection strings are automatically wired into the app's environment:
|
|
11
28
|
* - `DATABASE_URL` — points to the PgBouncer pooler
|
|
12
29
|
* - `VALKEY_URL` / `REDIS_URL` — points to the Valkey service
|
|
13
30
|
* - `INNGEST_BASE_URL` — points to the Inngest server
|
|
14
|
-
* - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — from
|
|
31
|
+
* - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — injected from a generated Secret via envFrom
|
|
15
32
|
*
|
|
16
33
|
* Resource dependencies are expressed through proxy references:
|
|
17
34
|
* - Inngest references `cache.metadata.name` for the redis URI → deploys after Valkey
|
|
18
35
|
* - Inngest references `database.status.writeService` for the postgres URI → deploys after CNPG
|
|
19
36
|
* - App references service names derived from resource names → deploys after all infra
|
|
20
37
|
*
|
|
38
|
+
* Operator install settings can be overridden per-deployment via
|
|
39
|
+
* `spec.cnpgOperator` and `spec.valkeyOperator` — e.g., to pin chart
|
|
40
|
+
* versions or change the install namespace. Both fields are optional;
|
|
41
|
+
* defaults install the latest pinned version into each operator's
|
|
42
|
+
* system namespace.
|
|
43
|
+
*
|
|
21
44
|
* @example
|
|
22
45
|
* ```typescript
|
|
23
46
|
* import { webAppWithProcessing } from 'typekro/webapp';
|
|
@@ -28,29 +51,31 @@
|
|
|
28
51
|
* });
|
|
29
52
|
*
|
|
30
53
|
* await factory.deploy({
|
|
31
|
-
* name: '
|
|
54
|
+
* name: 'my-app',
|
|
32
55
|
* namespace: 'production',
|
|
33
56
|
* app: {
|
|
34
|
-
* image: '
|
|
35
|
-
* port:
|
|
57
|
+
* image: 'my-app:latest',
|
|
58
|
+
* port: 3000,
|
|
36
59
|
* replicas: 2,
|
|
37
60
|
* env: {
|
|
38
61
|
* NODE_ENV: 'production',
|
|
39
|
-
* BETTER_AUTH_SECRET: 'your-secret',
|
|
40
62
|
* },
|
|
41
63
|
* },
|
|
42
64
|
* database: {
|
|
43
65
|
* instances: 3,
|
|
44
66
|
* storageSize: '50Gi',
|
|
45
67
|
* storageClass: 'gp3',
|
|
46
|
-
* database: '
|
|
68
|
+
* database: 'myapp',
|
|
47
69
|
* },
|
|
48
70
|
* cache: { shards: 3, replicas: 1 },
|
|
49
71
|
* processing: {
|
|
50
72
|
* eventKey: 'deadbeef0123456789abcdef01234567',
|
|
51
73
|
* signingKey: 'deadbeef0123456789abcdef0123456789abcdef0123456789abcdef01234567',
|
|
52
|
-
* sdkUrl: ['http://
|
|
74
|
+
* sdkUrl: ['http://my-app:3000/api/inngest'],
|
|
53
75
|
* },
|
|
76
|
+
* // Operators install with sensible defaults; override only if
|
|
77
|
+
* // you need a specific chart version or custom install namespace.
|
|
78
|
+
* cnpgOperator: { version: '0.23.0' },
|
|
54
79
|
* });
|
|
55
80
|
* ```
|
|
56
81
|
*/
|
|
@@ -61,6 +86,21 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
|
|
|
61
86
|
port?: number;
|
|
62
87
|
replicas?: number;
|
|
63
88
|
env?: Record<string, string>;
|
|
89
|
+
envFrom?: ({
|
|
90
|
+
secretRef: {
|
|
91
|
+
name: string;
|
|
92
|
+
optional?: boolean;
|
|
93
|
+
};
|
|
94
|
+
prefix?: string;
|
|
95
|
+
configMapRef?: never;
|
|
96
|
+
} | {
|
|
97
|
+
configMapRef: {
|
|
98
|
+
name: string;
|
|
99
|
+
optional?: boolean;
|
|
100
|
+
};
|
|
101
|
+
prefix?: string;
|
|
102
|
+
secretRef?: never;
|
|
103
|
+
})[];
|
|
64
104
|
};
|
|
65
105
|
database: {
|
|
66
106
|
storageSize: string;
|
|
@@ -74,6 +114,16 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
|
|
|
74
114
|
signingKey: string;
|
|
75
115
|
sdkUrl?: string[];
|
|
76
116
|
replicas?: number;
|
|
117
|
+
resources?: {
|
|
118
|
+
requests?: {
|
|
119
|
+
cpu?: string;
|
|
120
|
+
memory?: string;
|
|
121
|
+
};
|
|
122
|
+
limits?: {
|
|
123
|
+
cpu?: string;
|
|
124
|
+
memory?: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
77
127
|
};
|
|
78
128
|
namespace?: string;
|
|
79
129
|
cache?: {
|
|
@@ -82,10 +132,43 @@ export declare const webAppWithProcessing: import("../../../index.js").CallableC
|
|
|
82
132
|
volumePermissions?: boolean;
|
|
83
133
|
storageSize?: string;
|
|
84
134
|
};
|
|
135
|
+
cnpgOperator?: {
|
|
136
|
+
name?: string;
|
|
137
|
+
namespace?: string;
|
|
138
|
+
version?: string;
|
|
139
|
+
installCRDs?: boolean;
|
|
140
|
+
replicaCount?: number;
|
|
141
|
+
monitoring?: {
|
|
142
|
+
enabled?: boolean;
|
|
143
|
+
};
|
|
144
|
+
resources?: {
|
|
145
|
+
requests?: {
|
|
146
|
+
cpu?: string;
|
|
147
|
+
memory?: string;
|
|
148
|
+
};
|
|
149
|
+
limits?: {
|
|
150
|
+
cpu?: string;
|
|
151
|
+
memory?: string;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
customValues?: Record<string, unknown>;
|
|
155
|
+
shared?: boolean;
|
|
156
|
+
};
|
|
157
|
+
valkeyOperator?: {
|
|
158
|
+
name?: string;
|
|
159
|
+
namespace?: string;
|
|
160
|
+
version?: string;
|
|
161
|
+
customValues?: Record<string, unknown>;
|
|
162
|
+
shared?: boolean;
|
|
163
|
+
};
|
|
85
164
|
}, {
|
|
86
165
|
ready: boolean;
|
|
87
166
|
databaseUrl: string;
|
|
167
|
+
databaseHost: string;
|
|
168
|
+
databasePort: number;
|
|
88
169
|
cacheUrl: string;
|
|
170
|
+
cacheHost: string;
|
|
171
|
+
cachePort: number;
|
|
89
172
|
inngestUrl: string;
|
|
90
173
|
appUrl: string;
|
|
91
174
|
components: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-app-with-processing.d.ts","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-app-with-processing.d.ts","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsThC,CAAC"}
|
|
@@ -1,30 +1,58 @@
|
|
|
1
1
|
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { singleton } from '../../../core/singleton/singleton.js';
|
|
3
|
+
import { isKubernetesRef } from '../../../utils/type-guards.js';
|
|
4
|
+
import { cnpgBootstrap } from '../../cnpg/compositions/cnpg-bootstrap.js';
|
|
2
5
|
import { cluster } from '../../cnpg/resources/cluster.js';
|
|
6
|
+
import { secret } from '../../kubernetes/config/secret.js';
|
|
3
7
|
import { pooler } from '../../cnpg/resources/pooler.js';
|
|
4
8
|
import { inngestBootstrap } from '../../inngest/compositions/inngest-bootstrap.js';
|
|
5
9
|
import { simple } from '../../simple/index.js';
|
|
10
|
+
import { valkeyBootstrap } from '../../valkey/compositions/valkey-bootstrap.js';
|
|
6
11
|
import { valkey } from '../../valkey/resources/valkey.js';
|
|
7
12
|
import { WebAppWithProcessingConfigSchema, WebAppWithProcessingStatusSchema, } from '../types.js';
|
|
8
13
|
/**
|
|
9
14
|
* Full-Stack Web Application with Background Processing
|
|
10
15
|
*
|
|
11
|
-
* Deploys a complete application stack
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
+
* Deploys a complete, self-contained application stack. The composition
|
|
17
|
+
* installs its own operators AND the application resources managed by
|
|
18
|
+
* those operators — callers don't need to pre-install anything other
|
|
19
|
+
* than the TypeKro runtime (Flux + KRO) on the target cluster.
|
|
20
|
+
*
|
|
21
|
+
* **Operators** (installed by nested bootstraps):
|
|
22
|
+
* 1. **CloudNativePG operator** (via `cnpgBootstrap`) — manages the
|
|
23
|
+
* PostgreSQL cluster. Installs into `cnpg-system` by default.
|
|
24
|
+
* 2. **Hyperspike Valkey operator** (via `valkeyBootstrap`) — manages
|
|
25
|
+
* the Valkey cache cluster. Installs into `valkey-operator-system`
|
|
26
|
+
* by default.
|
|
27
|
+
* 3. **Inngest** (via `inngestBootstrap`) — the workflow engine itself
|
|
28
|
+
* is installed via a Helm release alongside the app. Bundled
|
|
29
|
+
* Postgres/Redis are disabled; Inngest uses the CNPG and Valkey
|
|
30
|
+
* instances from this composition.
|
|
31
|
+
*
|
|
32
|
+
* **Application resources** (created in the app namespace, managed by
|
|
33
|
+
* the operators above):
|
|
34
|
+
* 1. **PostgreSQL cluster** (CNPG `Cluster`) + PgBouncer `Pooler`
|
|
35
|
+
* 2. **Valkey cache cluster** (Hyperspike `Valkey` CR) + explicit
|
|
36
|
+
* ClusterIP Service (KRO prunes unowned Services otherwise)
|
|
37
|
+
* 3. **Application** `Deployment` + `Service`
|
|
16
38
|
*
|
|
17
39
|
* All connection strings are automatically wired into the app's environment:
|
|
18
40
|
* - `DATABASE_URL` — points to the PgBouncer pooler
|
|
19
41
|
* - `VALKEY_URL` / `REDIS_URL` — points to the Valkey service
|
|
20
42
|
* - `INNGEST_BASE_URL` — points to the Inngest server
|
|
21
|
-
* - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — from
|
|
43
|
+
* - `INNGEST_EVENT_KEY` / `INNGEST_SIGNING_KEY` — injected from a generated Secret via envFrom
|
|
22
44
|
*
|
|
23
45
|
* Resource dependencies are expressed through proxy references:
|
|
24
46
|
* - Inngest references `cache.metadata.name` for the redis URI → deploys after Valkey
|
|
25
47
|
* - Inngest references `database.status.writeService` for the postgres URI → deploys after CNPG
|
|
26
48
|
* - App references service names derived from resource names → deploys after all infra
|
|
27
49
|
*
|
|
50
|
+
* Operator install settings can be overridden per-deployment via
|
|
51
|
+
* `spec.cnpgOperator` and `spec.valkeyOperator` — e.g., to pin chart
|
|
52
|
+
* versions or change the install namespace. Both fields are optional;
|
|
53
|
+
* defaults install the latest pinned version into each operator's
|
|
54
|
+
* system namespace.
|
|
55
|
+
*
|
|
28
56
|
* @example
|
|
29
57
|
* ```typescript
|
|
30
58
|
* import { webAppWithProcessing } from 'typekro/webapp';
|
|
@@ -35,29 +63,31 @@ import { WebAppWithProcessingConfigSchema, WebAppWithProcessingStatusSchema, } f
|
|
|
35
63
|
* });
|
|
36
64
|
*
|
|
37
65
|
* await factory.deploy({
|
|
38
|
-
* name: '
|
|
66
|
+
* name: 'my-app',
|
|
39
67
|
* namespace: 'production',
|
|
40
68
|
* app: {
|
|
41
|
-
* image: '
|
|
42
|
-
* port:
|
|
69
|
+
* image: 'my-app:latest',
|
|
70
|
+
* port: 3000,
|
|
43
71
|
* replicas: 2,
|
|
44
72
|
* env: {
|
|
45
73
|
* NODE_ENV: 'production',
|
|
46
|
-
* BETTER_AUTH_SECRET: 'your-secret',
|
|
47
74
|
* },
|
|
48
75
|
* },
|
|
49
76
|
* database: {
|
|
50
77
|
* instances: 3,
|
|
51
78
|
* storageSize: '50Gi',
|
|
52
79
|
* storageClass: 'gp3',
|
|
53
|
-
* database: '
|
|
80
|
+
* database: 'myapp',
|
|
54
81
|
* },
|
|
55
82
|
* cache: { shards: 3, replicas: 1 },
|
|
56
83
|
* processing: {
|
|
57
84
|
* eventKey: 'deadbeef0123456789abcdef01234567',
|
|
58
85
|
* signingKey: 'deadbeef0123456789abcdef0123456789abcdef0123456789abcdef01234567',
|
|
59
|
-
* sdkUrl: ['http://
|
|
86
|
+
* sdkUrl: ['http://my-app:3000/api/inngest'],
|
|
60
87
|
* },
|
|
88
|
+
* // Operators install with sensible defaults; override only if
|
|
89
|
+
* // you need a specific chart version or custom install namespace.
|
|
90
|
+
* cnpgOperator: { version: '0.23.0' },
|
|
61
91
|
* });
|
|
62
92
|
* ```
|
|
63
93
|
*/
|
|
@@ -71,8 +101,55 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
71
101
|
const appPort = spec.app.port ?? 3000;
|
|
72
102
|
const appReplicas = spec.app.replicas ?? 1;
|
|
73
103
|
const inngestReplicas = spec.processing.replicas ?? 1;
|
|
74
|
-
|
|
104
|
+
// Defaults for optional DB fields. These literals are picked up by
|
|
105
|
+
// `extractNullishDefaults` and propagated to the outer KRO schema as
|
|
106
|
+
// `| default="..."` annotations (see schema.ts). Using schema-ref
|
|
107
|
+
// fallbacks (e.g., `spec.name`) does NOT work in KRO mode because
|
|
108
|
+
// the schema proxy is truthy and `??` never fires — KRO also has
|
|
109
|
+
// no way to express a cross-field schema default statically.
|
|
110
|
+
const dbName = spec.database.database ?? 'app';
|
|
75
111
|
const dbOwner = spec.database.owner ?? 'app';
|
|
112
|
+
// ── Operator bootstraps ────────────────────────────────────────────
|
|
113
|
+
//
|
|
114
|
+
// Install the CNPG and Valkey operators as part of the composition
|
|
115
|
+
// so consumers get a fully self-contained stack. The bootstraps run
|
|
116
|
+
// in their own system namespaces (not the app namespace) and install
|
|
117
|
+
// cluster-scoped operators; the later `cluster()`/`valkey()` calls
|
|
118
|
+
// create instances in the app namespace managed by those operators.
|
|
119
|
+
//
|
|
120
|
+
// Operators are cluster-scoped infrastructure — one install per
|
|
121
|
+
// cluster serves every consumer. Use singleton(...) so KRO-mode
|
|
122
|
+
// consumers reference the shared operator boundary instead of
|
|
123
|
+
// inlining the operator bootstrap resources into every app graph.
|
|
124
|
+
//
|
|
125
|
+
// Users who need a dedicated per-instance operator (multi-tenancy,
|
|
126
|
+
// version testing, isolated failure domains) can override any
|
|
127
|
+
// combination of fields via `spec.cnpgOperator` / `spec.valkeyOperator` —
|
|
128
|
+
// e.g., `{ name: 'testapp-cnpg', namespace: 'testapp-cnpg-system', shared: false }`.
|
|
129
|
+
// The spread puts user overrides AFTER the defaults so they win.
|
|
130
|
+
// Operator bootstrap config: merge user overrides AFTER defaults.
|
|
131
|
+
// Use explicit ?? fallbacks for name/namespace instead of relying on
|
|
132
|
+
// object-literal-before-spread ordering — the spread of an optional
|
|
133
|
+
// spec field produces schema refs that get wrapped with omit(), but
|
|
134
|
+
// metadata.name is required and cannot be omitted. The ?? ensures
|
|
135
|
+
// the default is expressed as a KRO orValue/default, not omit().
|
|
136
|
+
const _cnpg = singleton(cnpgBootstrap, {
|
|
137
|
+
id: 'cnpg-operator',
|
|
138
|
+
spec: {
|
|
139
|
+
...spec.cnpgOperator,
|
|
140
|
+
name: spec.cnpgOperator?.name ?? 'cnpg-operator',
|
|
141
|
+
namespace: spec.cnpgOperator?.namespace ?? 'cnpg-system',
|
|
142
|
+
installCRDs: spec.cnpgOperator?.installCRDs ?? true,
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
const _valkeyOp = singleton(valkeyBootstrap, {
|
|
146
|
+
id: 'valkey-operator',
|
|
147
|
+
spec: {
|
|
148
|
+
...spec.valkeyOperator,
|
|
149
|
+
name: spec.valkeyOperator?.name ?? 'valkey-operator',
|
|
150
|
+
namespace: spec.valkeyOperator?.namespace ?? 'valkey-operator-system',
|
|
151
|
+
},
|
|
152
|
+
});
|
|
76
153
|
// ── PostgreSQL (CNPG) ──────────────────────────────────────────────
|
|
77
154
|
const database = cluster({
|
|
78
155
|
name: `${spec.name}-db`,
|
|
@@ -117,9 +194,24 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
117
194
|
},
|
|
118
195
|
id: 'cache',
|
|
119
196
|
});
|
|
120
|
-
//
|
|
121
|
-
//
|
|
122
|
-
//
|
|
197
|
+
// KRO applyset pruning workaround (upstream: kubernetes-sigs/kro#1153).
|
|
198
|
+
//
|
|
199
|
+
// The Hyperspike Valkey operator copies ALL parent labels to child
|
|
200
|
+
// resources. KRO stamps applyset labels on the Valkey CR, so the
|
|
201
|
+
// operator propagates them to children (ConfigMap, headless Service,
|
|
202
|
+
// etc.). KRO's pruner then treats those children as applyset members
|
|
203
|
+
// and deletes any whose GK is already in `contains-group-kinds` but
|
|
204
|
+
// whose UID isn't in `keepUIDs` — creating an infinite create/delete
|
|
205
|
+
// loop. KRO closed this as "expected behavior"; the fix belongs on
|
|
206
|
+
// the operator side, but Hyperspike has no label-propagation opt-out.
|
|
207
|
+
//
|
|
208
|
+
// Workaround: pre-declare the operator-created resources as typekro
|
|
209
|
+
// graph nodes so KRO claims them with their own `kro.run/node-id`
|
|
210
|
+
// label. The operator's upsert then patches the existing resource
|
|
211
|
+
// instead of creating a new one with inherited applyset labels.
|
|
212
|
+
//
|
|
213
|
+
// TODO: remove when migrating to valkey-io/valkey-operator, which
|
|
214
|
+
// is unlikely to have this label-copying behavior.
|
|
123
215
|
simple.Service({
|
|
124
216
|
name: `${spec.name}-cache`,
|
|
125
217
|
namespace: ns,
|
|
@@ -130,6 +222,12 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
130
222
|
ports: [{ port: 6379, targetPort: 6379 }],
|
|
131
223
|
id: 'cacheService',
|
|
132
224
|
});
|
|
225
|
+
simple.ConfigMap({
|
|
226
|
+
name: `${spec.name}-cache`,
|
|
227
|
+
namespace: ns,
|
|
228
|
+
data: {},
|
|
229
|
+
id: 'cacheConfigMap',
|
|
230
|
+
});
|
|
133
231
|
// ── Database credentials ──────────────────────────────────────────────
|
|
134
232
|
// CNPG auto-generates a Secret named {cluster}-{owner} during bootstrap.
|
|
135
233
|
// Validated against CNPG v1.25 (cloudnative-pg chart 0.23.0).
|
|
@@ -137,30 +235,53 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
137
235
|
// KRO reconciliation (KRO waits for external refs to exist before creating
|
|
138
236
|
// dependent resources, but the Secret only exists after CNPG bootstraps).
|
|
139
237
|
const dbSecretName = `${spec.name}-db-${dbOwner}`;
|
|
238
|
+
const inngestRepositoryName = `${spec.name}-${ns}-inngest-repo`;
|
|
140
239
|
// ── Inngest (with external DB + cache) ──────────────────────────────
|
|
141
|
-
//
|
|
142
|
-
//
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
const
|
|
240
|
+
// The actual postgres credentials are injected via the CNPG Secret
|
|
241
|
+
// (secretKeyRef below). Use the deterministic pooler host here instead of
|
|
242
|
+
// database.status.writeService so nested compositions do not leak an inner
|
|
243
|
+
// resource status marker into the parent deployment graph.
|
|
244
|
+
const inngestBootstrapApp = inngestBootstrap({
|
|
146
245
|
name: `${spec.name}-inngest`,
|
|
147
246
|
namespace: ns,
|
|
247
|
+
repositoryName: inngestRepositoryName,
|
|
148
248
|
inngest: {
|
|
149
249
|
eventKey: spec.processing.eventKey,
|
|
150
250
|
signingKey: spec.processing.signingKey,
|
|
151
|
-
postgres: { uri: `postgresql://${dbOwner}@${
|
|
251
|
+
postgres: { uri: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}` },
|
|
152
252
|
redis: { uri: `redis://${cache.metadata.name}:6379` },
|
|
153
253
|
sdkUrl: spec.processing.sdkUrl,
|
|
154
254
|
},
|
|
155
255
|
postgresql: { enabled: false },
|
|
156
256
|
redis: { enabled: false },
|
|
157
257
|
replicaCount: inngestReplicas,
|
|
258
|
+
...(spec.processing.resources ? { resources: spec.processing.resources } : {}),
|
|
158
259
|
// Deploy Inngest pods in the same namespace as CNPG (for Secret access)
|
|
159
260
|
// and inject the real postgres URI from the CNPG Secret via secretKeyRef.
|
|
160
261
|
customValues: {
|
|
161
262
|
namespace: { create: false, name: ns },
|
|
162
263
|
inngest: {
|
|
264
|
+
eventKey: undefined,
|
|
265
|
+
signingKey: undefined,
|
|
163
266
|
extraEnv: [
|
|
267
|
+
{
|
|
268
|
+
name: 'INNGEST_EVENT_KEY',
|
|
269
|
+
valueFrom: {
|
|
270
|
+
secretKeyRef: {
|
|
271
|
+
name: `${spec.name}-inngest-credentials`,
|
|
272
|
+
key: 'INNGEST_EVENT_KEY',
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: 'INNGEST_SIGNING_KEY',
|
|
278
|
+
valueFrom: {
|
|
279
|
+
secretKeyRef: {
|
|
280
|
+
name: `${spec.name}-inngest-credentials`,
|
|
281
|
+
key: 'INNGEST_SIGNING_KEY',
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
},
|
|
164
285
|
{
|
|
165
286
|
name: 'INNGEST_POSTGRES_URI',
|
|
166
287
|
valueFrom: {
|
|
@@ -174,16 +295,49 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
174
295
|
},
|
|
175
296
|
},
|
|
176
297
|
});
|
|
298
|
+
// Inngest needs cache to be ready before it can connect to Redis.
|
|
299
|
+
// cache.metadata.name is deterministic and gets inlined to a schema
|
|
300
|
+
// ref, so KRO sees no implicit dependency. dependsOn creates an
|
|
301
|
+
// explicit readyWhen on inngest's leaf resource.
|
|
302
|
+
inngestBootstrapApp.dependsOn?.(cache);
|
|
303
|
+
inngestBootstrapApp.dependsOn?.(database);
|
|
304
|
+
inngestBootstrapApp.dependsOn?.(dbPooler);
|
|
305
|
+
// ── Inngest credentials Secret ──────────────────────────────────────
|
|
306
|
+
//
|
|
307
|
+
// The Inngest event key and signing key are sensitive — store them
|
|
308
|
+
// in a K8s Secret rather than plaintext in the Deployment env.
|
|
309
|
+
// Both the app and the Inngest server need these: the app sends
|
|
310
|
+
// events with the event key and validates webhooks with the signing
|
|
311
|
+
// key; the Inngest server uses them to authenticate SDK connections.
|
|
312
|
+
const inngestSecretName = `${spec.name}-inngest-credentials`;
|
|
313
|
+
secret({
|
|
314
|
+
metadata: {
|
|
315
|
+
name: inngestSecretName,
|
|
316
|
+
namespace: ns,
|
|
317
|
+
},
|
|
318
|
+
stringData: {
|
|
319
|
+
INNGEST_EVENT_KEY: spec.processing.eventKey,
|
|
320
|
+
INNGEST_SIGNING_KEY: spec.processing.signingKey,
|
|
321
|
+
},
|
|
322
|
+
id: 'inngestCredentials',
|
|
323
|
+
});
|
|
177
324
|
// ── Application ─────────────────────────────────────────────────────
|
|
178
325
|
const appEnv = {
|
|
179
326
|
DATABASE_URL: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}`,
|
|
180
327
|
VALKEY_URL: `redis://${cache.metadata.name}:6379`,
|
|
181
328
|
REDIS_URL: `redis://${cache.metadata.name}:6379`,
|
|
182
329
|
INNGEST_BASE_URL: `http://${spec.name}-inngest:8288`,
|
|
183
|
-
INNGEST_EVENT_KEY
|
|
184
|
-
|
|
330
|
+
// INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY injected via the
|
|
331
|
+
// inngest credentials Secret (envFrom below) — not plaintext.
|
|
185
332
|
...spec.app.env,
|
|
186
333
|
};
|
|
334
|
+
// The inngest Secret is listed FIRST so user-provided envFrom sources can
|
|
335
|
+
// override INNGEST_EVENT_KEY / INNGEST_SIGNING_KEY if they provide their
|
|
336
|
+
// own Secret containing those keys (last-write-wins in K8s envFrom ordering).
|
|
337
|
+
const userAppEnvFrom = spec.app.envFrom;
|
|
338
|
+
const appEnvFrom = isKubernetesRef(userAppEnvFrom)
|
|
339
|
+
? [{ secretRef: { name: inngestSecretName } }]
|
|
340
|
+
: [{ secretRef: { name: inngestSecretName } }, ...(userAppEnvFrom ?? [])];
|
|
187
341
|
const app = simple.Deployment({
|
|
188
342
|
name: spec.name,
|
|
189
343
|
namespace: ns,
|
|
@@ -191,6 +345,7 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
191
345
|
replicas: appReplicas,
|
|
192
346
|
ports: [{ containerPort: appPort }],
|
|
193
347
|
env: appEnv,
|
|
348
|
+
envFrom: appEnvFrom,
|
|
194
349
|
id: 'app',
|
|
195
350
|
});
|
|
196
351
|
simple.Service({
|
|
@@ -205,16 +360,20 @@ export const webAppWithProcessing = kubernetesComposition({
|
|
|
205
360
|
ready: app.status.readyReplicas >= appReplicas &&
|
|
206
361
|
database.status.readyInstances >= (spec.database.instances ?? 1) &&
|
|
207
362
|
cache.status.ready &&
|
|
208
|
-
|
|
363
|
+
inngestBootstrapApp.status.ready,
|
|
209
364
|
databaseUrl: `postgresql://${dbOwner}@${dbPooler.metadata.name}:5432/${dbName}`,
|
|
365
|
+
databaseHost: `${dbPooler.metadata.name}`,
|
|
366
|
+
databasePort: 5432,
|
|
210
367
|
cacheUrl: `redis://${cache.metadata.name}:6379`,
|
|
368
|
+
cacheHost: `${cache.metadata.name}`,
|
|
369
|
+
cachePort: 6379,
|
|
211
370
|
inngestUrl: `http://${spec.name}-inngest:8288`,
|
|
212
371
|
appUrl: `http://${spec.name}:${appPort}`,
|
|
213
372
|
components: {
|
|
214
373
|
app: app.status.readyReplicas >= appReplicas,
|
|
215
374
|
database: database.status.readyInstances >= (spec.database.instances ?? 1),
|
|
216
375
|
cache: cache.status.ready,
|
|
217
|
-
inngest:
|
|
376
|
+
inngest: inngestBootstrapApp.status.ready,
|
|
218
377
|
},
|
|
219
378
|
};
|
|
220
379
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-app-with-processing.js","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-app-with-processing.js","sourceRoot":"","sources":["../../../../src/factories/webapp/compositions/web-app-with-processing.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
* exposes these URLs for debugging or wiring additional services.
|
|
14
14
|
*
|
|
15
15
|
* ## Prerequisites
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - Flux CD (for Inngest HelmRelease)
|
|
16
|
+
* Install the TypeKro runtime (Flux + KRO). The composition bootstraps the
|
|
17
|
+
* CloudNativePG and Hyperspike Valkey operators itself as shared singleton
|
|
18
|
+
* dependencies.
|
|
20
19
|
*
|
|
21
20
|
* @example
|
|
22
21
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
* exposes these URLs for debugging or wiring additional services.
|
|
14
14
|
*
|
|
15
15
|
* ## Prerequisites
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - Flux CD (for Inngest HelmRelease)
|
|
16
|
+
* Install the TypeKro runtime (Flux + KRO). The composition bootstraps the
|
|
17
|
+
* CloudNativePG and Hyperspike Valkey operators itself as shared singleton
|
|
18
|
+
* dependencies.
|
|
20
19
|
*
|
|
21
20
|
* @example
|
|
22
21
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/webapp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|