typekro 0.1.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/LICENSE +185 -0
- package/README.md +1137 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/alchemy/deployers.d.ts +39 -0
- package/dist/alchemy/deployers.d.ts.map +1 -0
- package/dist/alchemy/deployers.js +194 -0
- package/dist/alchemy/deployers.js.map +1 -0
- package/dist/alchemy/deployment.d.ts +12 -0
- package/dist/alchemy/deployment.d.ts.map +1 -0
- package/dist/alchemy/deployment.js +12 -0
- package/dist/alchemy/deployment.js.map +1 -0
- package/dist/alchemy/index.d.ts +17 -0
- package/dist/alchemy/index.d.ts.map +1 -0
- package/dist/alchemy/index.js +20 -0
- package/dist/alchemy/index.js.map +1 -0
- package/dist/alchemy/resolver.d.ts +127 -0
- package/dist/alchemy/resolver.d.ts.map +1 -0
- package/dist/alchemy/resolver.js +341 -0
- package/dist/alchemy/resolver.js.map +1 -0
- package/dist/alchemy/resource-registration.d.ts +22 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -0
- package/dist/alchemy/resource-registration.js +218 -0
- package/dist/alchemy/resource-registration.js.map +1 -0
- package/dist/alchemy/type-inference.d.ts +13 -0
- package/dist/alchemy/type-inference.d.ts.map +1 -0
- package/dist/alchemy/type-inference.js +67 -0
- package/dist/alchemy/type-inference.js.map +1 -0
- package/dist/alchemy/types.d.ts +92 -0
- package/dist/alchemy/types.d.ts.map +1 -0
- package/dist/alchemy/types.js +8 -0
- package/dist/alchemy/types.js.map +1 -0
- package/dist/alchemy/utilities.d.ts +12 -0
- package/dist/alchemy/utilities.d.ts.map +1 -0
- package/dist/alchemy/utilities.js +16 -0
- package/dist/alchemy/utilities.js.map +1 -0
- package/dist/alchemy/wrapper.d.ts +16 -0
- package/dist/alchemy/wrapper.d.ts.map +1 -0
- package/dist/alchemy/wrapper.js +23 -0
- package/dist/alchemy/wrapper.js.map +1 -0
- package/dist/core/composition/composition.d.ts +94 -0
- package/dist/core/composition/composition.d.ts.map +1 -0
- package/dist/core/composition/composition.js +230 -0
- package/dist/core/composition/composition.js.map +1 -0
- package/dist/core/composition/index.d.ts +12 -0
- package/dist/core/composition/index.d.ts.map +1 -0
- package/dist/core/composition/index.js +12 -0
- package/dist/core/composition/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/index.d.ts +3 -0
- package/dist/core/composition/typekro-runtime/index.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/index.js +2 -0
- package/dist/core/composition/typekro-runtime/index.js.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts +39 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js +100 -0
- package/dist/core/composition/typekro-runtime/typekro-runtime.js.map +1 -0
- package/dist/core/composition/typekro-runtime/types.d.ts +16 -0
- package/dist/core/composition/typekro-runtime/types.d.ts.map +1 -0
- package/dist/core/composition/typekro-runtime/types.js +12 -0
- package/dist/core/composition/typekro-runtime/types.js.map +1 -0
- package/dist/core/composition/types.d.ts +264 -0
- package/dist/core/composition/types.d.ts.map +1 -0
- package/dist/core/composition/types.js +2 -0
- package/dist/core/composition/types.js.map +1 -0
- package/dist/core/constants/brands.d.ts +42 -0
- package/dist/core/constants/brands.d.ts.map +1 -0
- package/dist/core/constants/brands.js +51 -0
- package/dist/core/constants/brands.js.map +1 -0
- package/dist/core/dependencies/graph.d.ts +67 -0
- package/dist/core/dependencies/graph.d.ts.map +1 -0
- package/dist/core/dependencies/graph.js +220 -0
- package/dist/core/dependencies/graph.js.map +1 -0
- package/dist/core/dependencies/index.d.ts +7 -0
- package/dist/core/dependencies/index.d.ts.map +1 -0
- package/dist/core/dependencies/index.js +8 -0
- package/dist/core/dependencies/index.js.map +1 -0
- package/dist/core/dependencies/resolver.d.ts +53 -0
- package/dist/core/dependencies/resolver.d.ts.map +1 -0
- package/dist/core/dependencies/resolver.js +167 -0
- package/dist/core/dependencies/resolver.js.map +1 -0
- package/dist/core/dependencies/type-guards.d.ts +17 -0
- package/dist/core/dependencies/type-guards.d.ts.map +1 -0
- package/dist/core/dependencies/type-guards.js +35 -0
- package/dist/core/dependencies/type-guards.js.map +1 -0
- package/dist/core/deployment/deployment-strategies.d.ts +12 -0
- package/dist/core/deployment/deployment-strategies.d.ts.map +1 -0
- package/dist/core/deployment/deployment-strategies.js +11 -0
- package/dist/core/deployment/deployment-strategies.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +111 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -0
- package/dist/core/deployment/direct-factory.js +627 -0
- package/dist/core/deployment/direct-factory.js.map +1 -0
- package/dist/core/deployment/engine.d.ts +128 -0
- package/dist/core/deployment/engine.d.ts.map +1 -0
- package/dist/core/deployment/engine.js +1408 -0
- package/dist/core/deployment/engine.js.map +1 -0
- package/dist/core/deployment/index.d.ts +14 -0
- package/dist/core/deployment/index.d.ts.map +1 -0
- package/dist/core/deployment/index.js +14 -0
- package/dist/core/deployment/index.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +143 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -0
- package/dist/core/deployment/kro-factory.js +837 -0
- package/dist/core/deployment/kro-factory.js.map +1 -0
- package/dist/core/deployment/readiness.d.ts +54 -0
- package/dist/core/deployment/readiness.d.ts.map +1 -0
- package/dist/core/deployment/readiness.js +175 -0
- package/dist/core/deployment/readiness.js.map +1 -0
- package/dist/core/deployment/rollback-manager.d.ts +63 -0
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -0
- package/dist/core/deployment/rollback-manager.js +225 -0
- package/dist/core/deployment/rollback-manager.js.map +1 -0
- package/dist/core/deployment/shared-utilities.d.ts +41 -0
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -0
- package/dist/core/deployment/shared-utilities.js +100 -0
- package/dist/core/deployment/shared-utilities.js.map +1 -0
- package/dist/core/deployment/status-hydrator.d.ts +86 -0
- package/dist/core/deployment/status-hydrator.d.ts.map +1 -0
- package/dist/core/deployment/status-hydrator.js +262 -0
- package/dist/core/deployment/status-hydrator.js.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +107 -0
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js +446 -0
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts +50 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.js +82 -0
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts +29 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/direct-strategy.js +80 -0
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -0
- package/dist/core/deployment/strategies/index.d.ts +12 -0
- package/dist/core/deployment/strategies/index.d.ts.map +1 -0
- package/dist/core/deployment/strategies/index.js +12 -0
- package/dist/core/deployment/strategies/index.js.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts +41 -0
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -0
- package/dist/core/deployment/strategies/kro-strategy.js +270 -0
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -0
- package/dist/core/direct-deployment.d.ts +8 -0
- package/dist/core/direct-deployment.d.ts.map +1 -0
- package/dist/core/direct-deployment.js +9 -0
- package/dist/core/direct-deployment.js.map +1 -0
- package/dist/core/errors.d.ts +73 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +250 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/evaluation/cel-optimizer.d.ts +48 -0
- package/dist/core/evaluation/cel-optimizer.d.ts.map +1 -0
- package/dist/core/evaluation/cel-optimizer.js +176 -0
- package/dist/core/evaluation/cel-optimizer.js.map +1 -0
- package/dist/core/factory.d.ts +12 -0
- package/dist/core/factory.d.ts.map +1 -0
- package/dist/core/factory.js +13 -0
- package/dist/core/factory.js.map +1 -0
- package/dist/core/kubernetes/api.d.ts +43 -0
- package/dist/core/kubernetes/api.d.ts.map +1 -0
- package/dist/core/kubernetes/api.js +209 -0
- package/dist/core/kubernetes/api.js.map +1 -0
- package/dist/core/kubernetes/client-provider.d.ts +204 -0
- package/dist/core/kubernetes/client-provider.d.ts.map +1 -0
- package/dist/core/kubernetes/client-provider.js +421 -0
- package/dist/core/kubernetes/client-provider.js.map +1 -0
- package/dist/core/logging/config.d.ts +14 -0
- package/dist/core/logging/config.d.ts.map +1 -0
- package/dist/core/logging/config.js +57 -0
- package/dist/core/logging/config.js.map +1 -0
- package/dist/core/logging/index.d.ts +4 -0
- package/dist/core/logging/index.d.ts.map +1 -0
- package/dist/core/logging/index.js +4 -0
- package/dist/core/logging/index.js.map +1 -0
- package/dist/core/logging/logger.d.ts +26 -0
- package/dist/core/logging/logger.d.ts.map +1 -0
- package/dist/core/logging/logger.js +114 -0
- package/dist/core/logging/logger.js.map +1 -0
- package/dist/core/logging/types.d.ts +93 -0
- package/dist/core/logging/types.d.ts.map +1 -0
- package/dist/core/logging/types.js +2 -0
- package/dist/core/logging/types.js.map +1 -0
- package/dist/core/readiness/cluster-state.d.ts +229 -0
- package/dist/core/readiness/cluster-state.d.ts.map +1 -0
- package/dist/core/readiness/cluster-state.js +360 -0
- package/dist/core/readiness/cluster-state.js.map +1 -0
- package/dist/core/readiness/index.d.ts +5 -0
- package/dist/core/readiness/index.d.ts.map +1 -0
- package/dist/core/readiness/index.js +5 -0
- package/dist/core/readiness/index.js.map +1 -0
- package/dist/core/readiness/registry.d.ts +45 -0
- package/dist/core/readiness/registry.d.ts.map +1 -0
- package/dist/core/readiness/registry.js +62 -0
- package/dist/core/readiness/registry.js.map +1 -0
- package/dist/core/references/cel-evaluator.d.ts +102 -0
- package/dist/core/references/cel-evaluator.d.ts.map +1 -0
- package/dist/core/references/cel-evaluator.js +288 -0
- package/dist/core/references/cel-evaluator.js.map +1 -0
- package/dist/core/references/cel.d.ts +75 -0
- package/dist/core/references/cel.d.ts.map +1 -0
- package/dist/core/references/cel.js +213 -0
- package/dist/core/references/cel.js.map +1 -0
- package/dist/core/references/external-refs.d.ts +37 -0
- package/dist/core/references/external-refs.d.ts.map +1 -0
- package/dist/core/references/external-refs.js +53 -0
- package/dist/core/references/external-refs.js.map +1 -0
- package/dist/core/references/index.d.ts +15 -0
- package/dist/core/references/index.d.ts.map +1 -0
- package/dist/core/references/index.js +19 -0
- package/dist/core/references/index.js.map +1 -0
- package/dist/core/references/resolver.d.ts +117 -0
- package/dist/core/references/resolver.d.ts.map +1 -0
- package/dist/core/references/resolver.js +554 -0
- package/dist/core/references/resolver.js.map +1 -0
- package/dist/core/references/schema-proxy.d.ts +38 -0
- package/dist/core/references/schema-proxy.d.ts.map +1 -0
- package/dist/core/references/schema-proxy.js +163 -0
- package/dist/core/references/schema-proxy.js.map +1 -0
- package/dist/core/serialization/core.d.ts +15 -0
- package/dist/core/serialization/core.d.ts.map +1 -0
- package/dist/core/serialization/core.js +169 -0
- package/dist/core/serialization/core.js.map +1 -0
- package/dist/core/serialization/index.d.ts +9 -0
- package/dist/core/serialization/index.d.ts.map +1 -0
- package/dist/core/serialization/index.js +12 -0
- package/dist/core/serialization/index.js.map +1 -0
- package/dist/core/serialization/schema.d.ts +14 -0
- package/dist/core/serialization/schema.d.ts.map +1 -0
- package/dist/core/serialization/schema.js +33 -0
- package/dist/core/serialization/schema.js.map +1 -0
- package/dist/core/serialization/validation.d.ts +18 -0
- package/dist/core/serialization/validation.d.ts.map +1 -0
- package/dist/core/serialization/validation.js +165 -0
- package/dist/core/serialization/validation.js.map +1 -0
- package/dist/core/serialization/yaml.d.ts +10 -0
- package/dist/core/serialization/yaml.d.ts.map +1 -0
- package/dist/core/serialization/yaml.js +63 -0
- package/dist/core/serialization/yaml.js.map +1 -0
- package/dist/core/types/common.d.ts +41 -0
- package/dist/core/types/common.d.ts.map +1 -0
- package/dist/core/types/common.js +9 -0
- package/dist/core/types/common.js.map +1 -0
- package/dist/core/types/dependencies.d.ts +14 -0
- package/dist/core/types/dependencies.d.ts.map +1 -0
- package/dist/core/types/dependencies.js +5 -0
- package/dist/core/types/dependencies.js.map +1 -0
- package/dist/core/types/deployment.d.ts +265 -0
- package/dist/core/types/deployment.d.ts.map +1 -0
- package/dist/core/types/deployment.js +20 -0
- package/dist/core/types/deployment.js.map +1 -0
- package/dist/core/types/index.d.ts +19 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +15 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/kubernetes.d.ts +352 -0
- package/dist/core/types/kubernetes.d.ts.map +1 -0
- package/dist/core/types/kubernetes.js +5 -0
- package/dist/core/types/kubernetes.js.map +1 -0
- package/dist/core/types/references.d.ts +54 -0
- package/dist/core/types/references.d.ts.map +1 -0
- package/dist/core/types/references.js +14 -0
- package/dist/core/types/references.js.map +1 -0
- package/dist/core/types/resource-graph.d.ts +93 -0
- package/dist/core/types/resource-graph.d.ts.map +1 -0
- package/dist/core/types/resource-graph.js +8 -0
- package/dist/core/types/resource-graph.js.map +1 -0
- package/dist/core/types/serialization.d.ts +210 -0
- package/dist/core/types/serialization.d.ts.map +1 -0
- package/dist/core/types/serialization.js +5 -0
- package/dist/core/types/serialization.js.map +1 -0
- package/dist/core/types/yaml.d.ts +92 -0
- package/dist/core/types/yaml.d.ts.map +1 -0
- package/dist/core/types/yaml.js +2 -0
- package/dist/core/types/yaml.js.map +1 -0
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts +47 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -0
- package/dist/core/validation/cel-validator.js +200 -0
- package/dist/core/validation/cel-validator.js.map +1 -0
- package/dist/core/yaml/index.d.ts +5 -0
- package/dist/core/yaml/index.d.ts.map +1 -0
- package/dist/core/yaml/index.js +5 -0
- package/dist/core/yaml/index.js.map +1 -0
- package/dist/core/yaml/path-resolver.d.ts +122 -0
- package/dist/core/yaml/path-resolver.d.ts.map +1 -0
- package/dist/core/yaml/path-resolver.js +556 -0
- package/dist/core/yaml/path-resolver.js.map +1 -0
- package/dist/core.d.ts +30 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +59 -0
- package/dist/core.js.map +1 -0
- package/dist/factories/flux/git-repository.d.ts +62 -0
- package/dist/factories/flux/git-repository.d.ts.map +1 -0
- package/dist/factories/flux/git-repository.js +34 -0
- package/dist/factories/flux/git-repository.js.map +1 -0
- package/dist/factories/flux/index.d.ts +10 -0
- package/dist/factories/flux/index.d.ts.map +1 -0
- package/dist/factories/flux/index.js +11 -0
- package/dist/factories/flux/index.js.map +1 -0
- package/dist/factories/flux/kustomize/index.d.ts +4 -0
- package/dist/factories/flux/kustomize/index.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/index.js +3 -0
- package/dist/factories/flux/kustomize/index.js.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts +178 -0
- package/dist/factories/flux/kustomize/kustomization.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/kustomization.js +108 -0
- package/dist/factories/flux/kustomize/kustomization.js.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts +9 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js +71 -0
- package/dist/factories/flux/kustomize/readiness-evaluators.js.map +1 -0
- package/dist/factories/flux/kustomize/types.d.ts +2 -0
- package/dist/factories/flux/kustomize/types.d.ts.map +1 -0
- package/dist/factories/flux/kustomize/types.js +2 -0
- package/dist/factories/flux/kustomize/types.js.map +1 -0
- package/dist/factories/helm/helm-release.d.ts +139 -0
- package/dist/factories/helm/helm-release.d.ts.map +1 -0
- package/dist/factories/helm/helm-release.js +180 -0
- package/dist/factories/helm/helm-release.js.map +1 -0
- package/dist/factories/helm/helm-repository.d.ts +24 -0
- package/dist/factories/helm/helm-repository.d.ts.map +1 -0
- package/dist/factories/helm/helm-repository.js +57 -0
- package/dist/factories/helm/helm-repository.js.map +1 -0
- package/dist/factories/helm/index.d.ts +8 -0
- package/dist/factories/helm/index.d.ts.map +1 -0
- package/dist/factories/helm/index.js +8 -0
- package/dist/factories/helm/index.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +55 -0
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -0
- package/dist/factories/helm/readiness-evaluators.js +295 -0
- package/dist/factories/helm/readiness-evaluators.js.map +1 -0
- package/dist/factories/helm/types.d.ts +21 -0
- package/dist/factories/helm/types.d.ts.map +1 -0
- package/dist/factories/helm/types.js +2 -0
- package/dist/factories/helm/types.js.map +1 -0
- package/dist/factories/index.d.ts +12 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +31 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/factories/kro/index.d.ts +11 -0
- package/dist/factories/kro/index.d.ts.map +1 -0
- package/dist/factories/kro/index.js +10 -0
- package/dist/factories/kro/index.js.map +1 -0
- package/dist/factories/kro/kro-crd.d.ts +14 -0
- package/dist/factories/kro/kro-crd.d.ts.map +1 -0
- package/dist/factories/kro/kro-crd.js +51 -0
- package/dist/factories/kro/kro-crd.js.map +1 -0
- package/dist/factories/kro/kro-custom-resource.d.ts +23 -0
- package/dist/factories/kro/kro-custom-resource.d.ts.map +1 -0
- package/dist/factories/kro/kro-custom-resource.js +153 -0
- package/dist/factories/kro/kro-custom-resource.js.map +1 -0
- package/dist/factories/kro/resource-graph-definition.d.ts +12 -0
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -0
- package/dist/factories/kro/resource-graph-definition.js +94 -0
- package/dist/factories/kro/resource-graph-definition.js.map +1 -0
- package/dist/factories/kubernetes/admission/index.d.ts +9 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/index.js +9 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/mutating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts +5 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js +10 -0
- package/dist/factories/kubernetes/admission/validating-webhook-configuration.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js +35 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler-v1.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts +6 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js +31 -0
- package/dist/factories/kubernetes/autoscaling/horizontal-pod-autoscaler.js.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts +9 -0
- package/dist/factories/kubernetes/autoscaling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/autoscaling/index.js +9 -0
- package/dist/factories/kubernetes/autoscaling/index.js.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts +6 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js +48 -0
- package/dist/factories/kubernetes/certificates/certificate-signing-request.js.map +1 -0
- package/dist/factories/kubernetes/certificates/index.d.ts +8 -0
- package/dist/factories/kubernetes/certificates/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/certificates/index.js +8 -0
- package/dist/factories/kubernetes/certificates/index.js.map +1 -0
- package/dist/factories/kubernetes/config/config-map.d.ts +5 -0
- package/dist/factories/kubernetes/config/config-map.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/config-map.js +16 -0
- package/dist/factories/kubernetes/config/config-map.js.map +1 -0
- package/dist/factories/kubernetes/config/index.d.ts +9 -0
- package/dist/factories/kubernetes/config/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/index.js +9 -0
- package/dist/factories/kubernetes/config/index.js.map +1 -0
- package/dist/factories/kubernetes/config/secret.d.ts +5 -0
- package/dist/factories/kubernetes/config/secret.d.ts.map +1 -0
- package/dist/factories/kubernetes/config/secret.js +16 -0
- package/dist/factories/kubernetes/config/secret.js.map +1 -0
- package/dist/factories/kubernetes/coordination/index.d.ts +8 -0
- package/dist/factories/kubernetes/coordination/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/index.js +8 -0
- package/dist/factories/kubernetes/coordination/index.js.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts +5 -0
- package/dist/factories/kubernetes/coordination/lease.d.ts.map +1 -0
- package/dist/factories/kubernetes/coordination/lease.js +10 -0
- package/dist/factories/kubernetes/coordination/lease.js.map +1 -0
- package/dist/factories/kubernetes/core/component-status.d.ts +4 -0
- package/dist/factories/kubernetes/core/component-status.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/component-status.js +25 -0
- package/dist/factories/kubernetes/core/component-status.js.map +1 -0
- package/dist/factories/kubernetes/core/index.d.ts +11 -0
- package/dist/factories/kubernetes/core/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/index.js +11 -0
- package/dist/factories/kubernetes/core/index.js.map +1 -0
- package/dist/factories/kubernetes/core/namespace.d.ts +9 -0
- package/dist/factories/kubernetes/core/namespace.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/namespace.js +48 -0
- package/dist/factories/kubernetes/core/namespace.js.map +1 -0
- package/dist/factories/kubernetes/core/node.d.ts +6 -0
- package/dist/factories/kubernetes/core/node.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/node.js +34 -0
- package/dist/factories/kubernetes/core/node.js.map +1 -0
- package/dist/factories/kubernetes/core/pod.d.ts +6 -0
- package/dist/factories/kubernetes/core/pod.d.ts.map +1 -0
- package/dist/factories/kubernetes/core/pod.js +44 -0
- package/dist/factories/kubernetes/core/pod.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts +6 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js +45 -0
- package/dist/factories/kubernetes/extensions/custom-resource-definition.js.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts +12 -0
- package/dist/factories/kubernetes/extensions/custom-resource.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js +17 -0
- package/dist/factories/kubernetes/extensions/custom-resource.js.map +1 -0
- package/dist/factories/kubernetes/extensions/index.d.ts +9 -0
- package/dist/factories/kubernetes/extensions/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/extensions/index.js +9 -0
- package/dist/factories/kubernetes/extensions/index.js.map +1 -0
- package/dist/factories/kubernetes/index.d.ts +24 -0
- package/dist/factories/kubernetes/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/index.js +75 -0
- package/dist/factories/kubernetes/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js +10 -0
- package/dist/factories/kubernetes/networking/endpoint-slice.js.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts +4 -0
- package/dist/factories/kubernetes/networking/endpoints.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/endpoints.js +39 -0
- package/dist/factories/kubernetes/networking/endpoints.js.map +1 -0
- package/dist/factories/kubernetes/networking/index.d.ts +13 -0
- package/dist/factories/kubernetes/networking/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/index.js +13 -0
- package/dist/factories/kubernetes/networking/index.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress-class.js +16 -0
- package/dist/factories/kubernetes/networking/ingress-class.js.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts +5 -0
- package/dist/factories/kubernetes/networking/ingress.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/ingress.js +33 -0
- package/dist/factories/kubernetes/networking/ingress.js.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts +5 -0
- package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/network-policy.js +17 -0
- package/dist/factories/kubernetes/networking/network-policy.js.map +1 -0
- package/dist/factories/kubernetes/networking/service.d.ts +5 -0
- package/dist/factories/kubernetes/networking/service.d.ts.map +1 -0
- package/dist/factories/kubernetes/networking/service.js +64 -0
- package/dist/factories/kubernetes/networking/service.js.map +1 -0
- package/dist/factories/kubernetes/policy/index.d.ts +10 -0
- package/dist/factories/kubernetes/policy/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/index.js +10 -0
- package/dist/factories/kubernetes/policy/index.js.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts +5 -0
- package/dist/factories/kubernetes/policy/limit-range.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/limit-range.js +17 -0
- package/dist/factories/kubernetes/policy/limit-range.js.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts +6 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js +55 -0
- package/dist/factories/kubernetes/policy/pod-disruption-budget.js.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts +6 -0
- package/dist/factories/kubernetes/policy/resource-quota.d.ts.map +1 -0
- package/dist/factories/kubernetes/policy/resource-quota.js +43 -0
- package/dist/factories/kubernetes/policy/resource-quota.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/cluster-role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js +17 -0
- package/dist/factories/kubernetes/rbac/cluster-role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/index.d.ts +12 -0
- package/dist/factories/kubernetes/rbac/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/index.js +12 -0
- package/dist/factories/kubernetes/rbac/index.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role-binding.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role-binding.js +17 -0
- package/dist/factories/kubernetes/rbac/role-binding.js.map +1 -0
- package/dist/factories/kubernetes/rbac/role.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/role.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/role.js +17 -0
- package/dist/factories/kubernetes/rbac/role.js.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts +4 -0
- package/dist/factories/kubernetes/rbac/service-account.d.ts.map +1 -0
- package/dist/factories/kubernetes/rbac/service-account.js +17 -0
- package/dist/factories/kubernetes/rbac/service-account.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts +9 -0
- package/dist/factories/kubernetes/scheduling/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/index.js +9 -0
- package/dist/factories/kubernetes/scheduling/index.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts +4 -0
- package/dist/factories/kubernetes/scheduling/priority-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js +16 -0
- package/dist/factories/kubernetes/scheduling/priority-class.js.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts +5 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js +10 -0
- package/dist/factories/kubernetes/scheduling/runtime-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-driver.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-driver.js +16 -0
- package/dist/factories/kubernetes/storage/csi-driver.js.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts +5 -0
- package/dist/factories/kubernetes/storage/csi-node.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/csi-node.js +10 -0
- package/dist/factories/kubernetes/storage/csi-node.js.map +1 -0
- package/dist/factories/kubernetes/storage/index.d.ts +13 -0
- package/dist/factories/kubernetes/storage/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/index.js +13 -0
- package/dist/factories/kubernetes/storage/index.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js +30 -0
- package/dist/factories/kubernetes/storage/persistent-volume-claim.js.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts +6 -0
- package/dist/factories/kubernetes/storage/persistent-volume.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js +47 -0
- package/dist/factories/kubernetes/storage/persistent-volume.js.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts +4 -0
- package/dist/factories/kubernetes/storage/storage-class.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/storage-class.js +17 -0
- package/dist/factories/kubernetes/storage/storage-class.js.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts +6 -0
- package/dist/factories/kubernetes/storage/volume-attachment.d.ts.map +1 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js +10 -0
- package/dist/factories/kubernetes/storage/volume-attachment.js.map +1 -0
- package/dist/factories/kubernetes/types.d.ts +8 -0
- package/dist/factories/kubernetes/types.d.ts.map +1 -0
- package/dist/factories/kubernetes/types.js +8 -0
- package/dist/factories/kubernetes/types.js.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/cron-job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/cron-job.js +53 -0
- package/dist/factories/kubernetes/workloads/cron-job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/daemon-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js +32 -0
- package/dist/factories/kubernetes/workloads/daemon-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts +5 -0
- package/dist/factories/kubernetes/workloads/deployment.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/deployment.js +59 -0
- package/dist/factories/kubernetes/workloads/deployment.js.map +1 -0
- package/dist/factories/kubernetes/workloads/index.d.ts +14 -0
- package/dist/factories/kubernetes/workloads/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/index.js +14 -0
- package/dist/factories/kubernetes/workloads/index.js.map +1 -0
- package/dist/factories/kubernetes/workloads/job.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/job.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/job.js +105 -0
- package/dist/factories/kubernetes/workloads/job.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replica-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replica-set.js +33 -0
- package/dist/factories/kubernetes/workloads/replica-set.js.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/replication-controller.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js +56 -0
- package/dist/factories/kubernetes/workloads/replication-controller.js.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts +6 -0
- package/dist/factories/kubernetes/workloads/stateful-set.d.ts.map +1 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js +81 -0
- package/dist/factories/kubernetes/workloads/stateful-set.js.map +1 -0
- package/dist/factories/kubernetes/yaml/index.d.ts +6 -0
- package/dist/factories/kubernetes/yaml/index.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/index.js +6 -0
- package/dist/factories/kubernetes/yaml/index.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js +178 -0
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts +54 -0
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js +181 -0
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -0
- package/dist/factories/shared.d.ts +11 -0
- package/dist/factories/shared.d.ts.map +1 -0
- package/dist/factories/shared.js +364 -0
- package/dist/factories/shared.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/helpers.d.ts +69 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +405 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/type-guards.d.ts +34 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/type-guards.js +66 -0
- package/dist/utils/type-guards.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Readiness evaluator for Kustomization resources
|
|
3
|
+
*
|
|
4
|
+
* Checks if the Kustomization has been successfully applied and all resources are ready.
|
|
5
|
+
* This evaluator follows TypeKro patterns and integrates with the cluster state access system.
|
|
6
|
+
*/
|
|
7
|
+
export const kustomizationReadinessEvaluator = (liveResource) => {
|
|
8
|
+
try {
|
|
9
|
+
const status = liveResource.status;
|
|
10
|
+
if (!status) {
|
|
11
|
+
return {
|
|
12
|
+
ready: false,
|
|
13
|
+
reason: 'StatusMissing',
|
|
14
|
+
message: 'Kustomization status not available yet'
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
// Check for conditions array
|
|
18
|
+
if (!status.conditions || !Array.isArray(status.conditions)) {
|
|
19
|
+
return {
|
|
20
|
+
ready: false,
|
|
21
|
+
reason: 'ConditionsMissing',
|
|
22
|
+
message: 'Kustomization conditions not available'
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// Check for Ready condition
|
|
26
|
+
const readyCondition = status.conditions.find((c) => c.type === 'Ready');
|
|
27
|
+
if (!readyCondition) {
|
|
28
|
+
return {
|
|
29
|
+
ready: false,
|
|
30
|
+
reason: 'ReadyConditionMissing',
|
|
31
|
+
message: 'Ready condition not found in Kustomization status'
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (readyCondition.status !== 'True') {
|
|
35
|
+
return {
|
|
36
|
+
ready: false,
|
|
37
|
+
reason: readyCondition.reason || 'NotReady',
|
|
38
|
+
message: readyCondition.message || 'Kustomization is not ready'
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Check for Healthy condition if present
|
|
42
|
+
const healthyCondition = status.conditions.find((c) => c.type === 'Healthy');
|
|
43
|
+
if (healthyCondition && healthyCondition.status !== 'True') {
|
|
44
|
+
return {
|
|
45
|
+
ready: false,
|
|
46
|
+
reason: healthyCondition.reason || 'NotHealthy',
|
|
47
|
+
message: healthyCondition.message || 'Kustomization resources are not healthy'
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Check if we have applied resources
|
|
51
|
+
if (status.inventory && status.inventory.entries && status.inventory.entries.length === 0) {
|
|
52
|
+
return {
|
|
53
|
+
ready: false,
|
|
54
|
+
reason: 'NoResourcesApplied',
|
|
55
|
+
message: 'No resources have been applied by this Kustomization'
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
ready: true,
|
|
60
|
+
message: `Kustomization is ready with ${status.inventory?.entries?.length || 0} applied resources`
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return {
|
|
65
|
+
ready: false,
|
|
66
|
+
reason: 'EvaluationError',
|
|
67
|
+
message: `Error evaluating Kustomization readiness: ${error}`
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=readiness-evaluators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-evaluators.js","sourceRoot":"","sources":["../../../../src/factories/flux/kustomize/readiness-evaluators.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAuB,CAAC,YAAiB,EAAkB,EAAE;IACvG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,wCAAwC;aAClD,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,wCAAwC;aAClD,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,uBAAuB;gBAC/B,OAAO,EAAE,mDAAmD;aAC7D,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACrC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,UAAU;gBAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,4BAA4B;aAChE,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAClF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,YAAY;gBAC/C,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,yCAAyC;aAC/E,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1F,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,oBAAoB;gBAC5B,OAAO,EAAE,sDAAsD;aAChE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,+BAA+B,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,oBAAoB;SACnG,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,6CAA6C,KAAK,EAAE;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/factories/flux/kustomize/types.ts"],"names":[],"mappings":"AACA,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/factories/flux/kustomize/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { Enhanced } from '../../core/types/index.js';
|
|
2
|
+
import type { HelmReleaseSpec, HelmReleaseStatus } from './types.js';
|
|
3
|
+
export interface HelmReleaseConfig {
|
|
4
|
+
name: string;
|
|
5
|
+
namespace?: string;
|
|
6
|
+
interval?: string;
|
|
7
|
+
chart: {
|
|
8
|
+
repository: string;
|
|
9
|
+
name: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
};
|
|
12
|
+
values?: Record<string, any>;
|
|
13
|
+
id?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Deploy a Helm chart using Flux CD's HelmRelease
|
|
17
|
+
*
|
|
18
|
+
* Creates a HelmRelease resource that integrates with TypeKro's magic proxy system,
|
|
19
|
+
* allowing schema references and CEL expressions in Helm values.
|
|
20
|
+
*
|
|
21
|
+
* @param config - Configuration for the HelmRelease
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* Basic Helm release:
|
|
25
|
+
* ```typescript
|
|
26
|
+
* helmRelease({
|
|
27
|
+
* name: 'nginx',
|
|
28
|
+
* chart: {
|
|
29
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
30
|
+
* name: 'nginx',
|
|
31
|
+
* version: '13.2.23'
|
|
32
|
+
* }
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* With TypeKro schema references:
|
|
38
|
+
* ```typescript
|
|
39
|
+
* helmRelease({
|
|
40
|
+
* name: 'webapp',
|
|
41
|
+
* namespace: 'production',
|
|
42
|
+
* chart: {
|
|
43
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
44
|
+
* name: 'nginx',
|
|
45
|
+
* version: '13.2.23'
|
|
46
|
+
* },
|
|
47
|
+
* values: {
|
|
48
|
+
* service: { type: 'LoadBalancer' },
|
|
49
|
+
* replicaCount: schema.spec.replicas,
|
|
50
|
+
* image: {
|
|
51
|
+
* repository: schema.spec.image,
|
|
52
|
+
* tag: schema.spec.version
|
|
53
|
+
* },
|
|
54
|
+
* ingress: {
|
|
55
|
+
* enabled: true,
|
|
56
|
+
* hostname: schema.spec.hostname
|
|
57
|
+
* }
|
|
58
|
+
* }
|
|
59
|
+
* })
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* With cross-resource references:
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const secret = secret({ name: 'app-secrets', data: { ... } });
|
|
66
|
+
*
|
|
67
|
+
* helmRelease({
|
|
68
|
+
* name: 'database',
|
|
69
|
+
* chart: {
|
|
70
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
71
|
+
* name: 'postgresql'
|
|
72
|
+
* },
|
|
73
|
+
* values: {
|
|
74
|
+
* auth: {
|
|
75
|
+
* existingSecret: secret.metadata.name,
|
|
76
|
+
* database: schema.spec.dbName
|
|
77
|
+
* }
|
|
78
|
+
* }
|
|
79
|
+
* })
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function helmRelease(config: HelmReleaseConfig): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
|
|
83
|
+
/**
|
|
84
|
+
* Simplified Helm chart factory for common use cases
|
|
85
|
+
*
|
|
86
|
+
* This function provides a streamlined way to deploy Helm charts with TypeKro's
|
|
87
|
+
* magic proxy system support for schema references and CEL expressions.
|
|
88
|
+
*
|
|
89
|
+
* @param name - The name of the HelmRelease resource
|
|
90
|
+
* @param repository - The Helm chart repository URL
|
|
91
|
+
* @param chart - The chart name within the repository
|
|
92
|
+
* @param values - Optional values to override chart defaults (supports TypeKro references)
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* Basic usage:
|
|
96
|
+
* ```typescript
|
|
97
|
+
* simpleHelmChart('nginx', 'https://charts.bitnami.com/bitnami', 'nginx')
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* With static values:
|
|
102
|
+
* ```typescript
|
|
103
|
+
* simpleHelmChart('redis', 'https://charts.bitnami.com/bitnami', 'redis', {
|
|
104
|
+
* auth: { enabled: false },
|
|
105
|
+
* replica: { replicaCount: 3 }
|
|
106
|
+
* })
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* With TypeKro schema references:
|
|
111
|
+
* ```typescript
|
|
112
|
+
* simpleHelmChart('database', 'https://charts.bitnami.com/bitnami', 'postgresql', {
|
|
113
|
+
* auth: {
|
|
114
|
+
* postgresPassword: schema.spec.dbPassword,
|
|
115
|
+
* database: schema.spec.dbName
|
|
116
|
+
* },
|
|
117
|
+
* primary: {
|
|
118
|
+
* persistence: {
|
|
119
|
+
* size: schema.spec.storageSize
|
|
120
|
+
* }
|
|
121
|
+
* }
|
|
122
|
+
* })
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* With cross-resource references:
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const configMap = configMap({ name: 'app-config', data: { ... } });
|
|
129
|
+
*
|
|
130
|
+
* simpleHelmChart('app', 'https://charts.example.com', 'my-app', {
|
|
131
|
+
* config: {
|
|
132
|
+
* configMapName: configMap.metadata.name,
|
|
133
|
+
* replicas: schema.spec.replicas
|
|
134
|
+
* }
|
|
135
|
+
* })
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare function simpleHelmChart(name: string, repository: string, chart: string, values?: Record<string, any>): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
|
|
139
|
+
//# sourceMappingURL=helm-release.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-release.d.ts","sourceRoot":"","sources":["../../../src/factories/helm/helm-release.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGrE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CA8C9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAM9C"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { createResource } from '../shared.js';
|
|
2
|
+
import { helmReleaseReadinessEvaluator } from './readiness-evaluators.js';
|
|
3
|
+
/**
|
|
4
|
+
* Deploy a Helm chart using Flux CD's HelmRelease
|
|
5
|
+
*
|
|
6
|
+
* Creates a HelmRelease resource that integrates with TypeKro's magic proxy system,
|
|
7
|
+
* allowing schema references and CEL expressions in Helm values.
|
|
8
|
+
*
|
|
9
|
+
* @param config - Configuration for the HelmRelease
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* Basic Helm release:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* helmRelease({
|
|
15
|
+
* name: 'nginx',
|
|
16
|
+
* chart: {
|
|
17
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
18
|
+
* name: 'nginx',
|
|
19
|
+
* version: '13.2.23'
|
|
20
|
+
* }
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* With TypeKro schema references:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* helmRelease({
|
|
28
|
+
* name: 'webapp',
|
|
29
|
+
* namespace: 'production',
|
|
30
|
+
* chart: {
|
|
31
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
32
|
+
* name: 'nginx',
|
|
33
|
+
* version: '13.2.23'
|
|
34
|
+
* },
|
|
35
|
+
* values: {
|
|
36
|
+
* service: { type: 'LoadBalancer' },
|
|
37
|
+
* replicaCount: schema.spec.replicas,
|
|
38
|
+
* image: {
|
|
39
|
+
* repository: schema.spec.image,
|
|
40
|
+
* tag: schema.spec.version
|
|
41
|
+
* },
|
|
42
|
+
* ingress: {
|
|
43
|
+
* enabled: true,
|
|
44
|
+
* hostname: schema.spec.hostname
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
* })
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* With cross-resource references:
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const secret = secret({ name: 'app-secrets', data: { ... } });
|
|
54
|
+
*
|
|
55
|
+
* helmRelease({
|
|
56
|
+
* name: 'database',
|
|
57
|
+
* chart: {
|
|
58
|
+
* repository: 'https://charts.bitnami.com/bitnami',
|
|
59
|
+
* name: 'postgresql'
|
|
60
|
+
* },
|
|
61
|
+
* values: {
|
|
62
|
+
* auth: {
|
|
63
|
+
* existingSecret: secret.metadata.name,
|
|
64
|
+
* database: schema.spec.dbName
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
* })
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export function helmRelease(config) {
|
|
71
|
+
// Extract repository name from URL for sourceRef
|
|
72
|
+
let repoName = 'helm-repo';
|
|
73
|
+
if (config.chart.repository.includes('bitnami')) {
|
|
74
|
+
repoName = 'bitnami';
|
|
75
|
+
}
|
|
76
|
+
else if (config.chart.repository.startsWith('oci://')) {
|
|
77
|
+
// For OCI repositories, use a more descriptive name based on the chart name
|
|
78
|
+
repoName = `${config.name}-helm-repo`;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
repoName =
|
|
82
|
+
config.chart.repository
|
|
83
|
+
.split('/')
|
|
84
|
+
.pop()
|
|
85
|
+
?.replace(/[^a-z0-9-]/gi, '-')
|
|
86
|
+
.toLowerCase() || 'helm-repo';
|
|
87
|
+
}
|
|
88
|
+
return createResource({
|
|
89
|
+
...(config.id && { id: config.id }),
|
|
90
|
+
apiVersion: 'helm.toolkit.fluxcd.io/v2',
|
|
91
|
+
kind: 'HelmRelease',
|
|
92
|
+
metadata: {
|
|
93
|
+
name: config.name,
|
|
94
|
+
...(config.namespace && { namespace: config.namespace }),
|
|
95
|
+
},
|
|
96
|
+
spec: {
|
|
97
|
+
interval: config.interval || '5m',
|
|
98
|
+
chart: {
|
|
99
|
+
spec: {
|
|
100
|
+
chart: config.chart.name,
|
|
101
|
+
...(config.chart.version && { version: config.chart.version }),
|
|
102
|
+
sourceRef: {
|
|
103
|
+
kind: 'HelmRepository',
|
|
104
|
+
name: repoName,
|
|
105
|
+
namespace: 'flux-system', // HelmRepositories are typically in flux-system
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
...(config.values && { values: config.values }),
|
|
110
|
+
},
|
|
111
|
+
status: {
|
|
112
|
+
phase: 'Pending',
|
|
113
|
+
revision: undefined,
|
|
114
|
+
lastDeployed: undefined,
|
|
115
|
+
},
|
|
116
|
+
}).withReadinessEvaluator(helmReleaseReadinessEvaluator);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Simplified Helm chart factory for common use cases
|
|
120
|
+
*
|
|
121
|
+
* This function provides a streamlined way to deploy Helm charts with TypeKro's
|
|
122
|
+
* magic proxy system support for schema references and CEL expressions.
|
|
123
|
+
*
|
|
124
|
+
* @param name - The name of the HelmRelease resource
|
|
125
|
+
* @param repository - The Helm chart repository URL
|
|
126
|
+
* @param chart - The chart name within the repository
|
|
127
|
+
* @param values - Optional values to override chart defaults (supports TypeKro references)
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* Basic usage:
|
|
131
|
+
* ```typescript
|
|
132
|
+
* simpleHelmChart('nginx', 'https://charts.bitnami.com/bitnami', 'nginx')
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* With static values:
|
|
137
|
+
* ```typescript
|
|
138
|
+
* simpleHelmChart('redis', 'https://charts.bitnami.com/bitnami', 'redis', {
|
|
139
|
+
* auth: { enabled: false },
|
|
140
|
+
* replica: { replicaCount: 3 }
|
|
141
|
+
* })
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* With TypeKro schema references:
|
|
146
|
+
* ```typescript
|
|
147
|
+
* simpleHelmChart('database', 'https://charts.bitnami.com/bitnami', 'postgresql', {
|
|
148
|
+
* auth: {
|
|
149
|
+
* postgresPassword: schema.spec.dbPassword,
|
|
150
|
+
* database: schema.spec.dbName
|
|
151
|
+
* },
|
|
152
|
+
* primary: {
|
|
153
|
+
* persistence: {
|
|
154
|
+
* size: schema.spec.storageSize
|
|
155
|
+
* }
|
|
156
|
+
* }
|
|
157
|
+
* })
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* With cross-resource references:
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const configMap = configMap({ name: 'app-config', data: { ... } });
|
|
164
|
+
*
|
|
165
|
+
* simpleHelmChart('app', 'https://charts.example.com', 'my-app', {
|
|
166
|
+
* config: {
|
|
167
|
+
* configMapName: configMap.metadata.name,
|
|
168
|
+
* replicas: schema.spec.replicas
|
|
169
|
+
* }
|
|
170
|
+
* })
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export function simpleHelmChart(name, repository, chart, values) {
|
|
174
|
+
return helmRelease({
|
|
175
|
+
name,
|
|
176
|
+
chart: { repository, name: chart },
|
|
177
|
+
...(values && { values }),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=helm-release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-release.js","sourceRoot":"","sources":["../../../src/factories/helm/helm-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAe1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,UAAU,WAAW,CACzB,MAAyB;IAEzB,iDAAiD;IACjD,IAAI,QAAQ,GAAG,WAAW,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,4EAA4E;QAC5E,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,YAAY,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,QAAQ;YACN,MAAM,CAAC,KAAK,CAAC,UAAU;iBACpB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,EAAE;gBACN,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;iBAC7B,WAAW,EAAE,IAAI,WAAW,CAAC;IACpC,CAAC;IAED,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,UAAU,EAAE,2BAA2B;QACvC,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;SACzD;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;oBACxB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9D,SAAS,EAAE;wBACT,IAAI,EAAE,gBAAyB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,aAAa,EAAE,gDAAgD;qBAC3E;iBACF;aACF;YACD,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChD;QACD,MAAM,EAAE;YACN,KAAK,EAAE,SAAkB;YACzB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,SAAS;SACxB;KACF,CAAC,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,UAAkB,EAClB,KAAa,EACb,MAA4B;IAE5B,OAAO,WAAW,CAAC;QACjB,IAAI;QACJ,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;QAClC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Enhanced } from '../../core/types/index.js';
|
|
2
|
+
export interface HelmRepositorySpec {
|
|
3
|
+
url: string;
|
|
4
|
+
interval?: string;
|
|
5
|
+
type?: 'default' | 'oci';
|
|
6
|
+
}
|
|
7
|
+
export interface HelmRepositoryStatus {
|
|
8
|
+
conditions?: Array<{
|
|
9
|
+
type: string;
|
|
10
|
+
status: string;
|
|
11
|
+
message?: string;
|
|
12
|
+
}>;
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
export interface HelmRepositoryConfig {
|
|
16
|
+
name: string;
|
|
17
|
+
namespace?: string;
|
|
18
|
+
url: string;
|
|
19
|
+
interval?: string;
|
|
20
|
+
type?: 'default' | 'oci';
|
|
21
|
+
id?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function helmRepository(config: HelmRepositoryConfig): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
|
|
24
|
+
//# sourceMappingURL=helm-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-repository.d.ts","sourceRoot":"","sources":["../../../src/factories/helm/helm-repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAyCD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,GAC3B,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAmBpD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { createResource } from '../shared.js';
|
|
2
|
+
/**
|
|
3
|
+
* Create a Helm repository resource for Flux CD
|
|
4
|
+
*
|
|
5
|
+
* @param config - Configuration for the HelmRepository
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* helmRepository({
|
|
10
|
+
* name: 'bitnami',
|
|
11
|
+
* url: 'https://charts.bitnami.com/bitnami',
|
|
12
|
+
* interval: '5m'
|
|
13
|
+
* })
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Default readiness evaluator for HelmRepository resources
|
|
18
|
+
*/
|
|
19
|
+
function helmRepositoryReadinessEvaluator(resource) {
|
|
20
|
+
// HelmRepository is ready when it has a Ready condition with status True
|
|
21
|
+
const conditions = resource.status?.conditions || [];
|
|
22
|
+
const readyCondition = conditions.find((c) => c.type === 'Ready');
|
|
23
|
+
// For OCI repositories, they may not have status conditions but are functional
|
|
24
|
+
// if the resource exists and has been processed by Flux
|
|
25
|
+
const isOciRepository = resource.spec?.type === 'oci';
|
|
26
|
+
const hasBeenProcessed = resource.metadata?.generation && resource.metadata?.resourceVersion;
|
|
27
|
+
const isReady = readyCondition?.status === 'True' || (isOciRepository && !!hasBeenProcessed);
|
|
28
|
+
return {
|
|
29
|
+
ready: isReady,
|
|
30
|
+
message: isReady
|
|
31
|
+
? isOciRepository && !readyCondition
|
|
32
|
+
? 'OCI HelmRepository is functional'
|
|
33
|
+
: 'HelmRepository is ready'
|
|
34
|
+
: 'HelmRepository is not ready',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function helmRepository(config) {
|
|
38
|
+
return createResource({
|
|
39
|
+
...(config.id && { id: config.id }),
|
|
40
|
+
apiVersion: 'source.toolkit.fluxcd.io/v1',
|
|
41
|
+
kind: 'HelmRepository',
|
|
42
|
+
metadata: {
|
|
43
|
+
name: config.name,
|
|
44
|
+
...(config.namespace && { namespace: config.namespace }),
|
|
45
|
+
},
|
|
46
|
+
spec: {
|
|
47
|
+
url: config.url,
|
|
48
|
+
interval: config.interval || '5m',
|
|
49
|
+
...(config.type && { type: config.type }),
|
|
50
|
+
},
|
|
51
|
+
status: {
|
|
52
|
+
conditions: [],
|
|
53
|
+
url: config.url,
|
|
54
|
+
},
|
|
55
|
+
}).withReadinessEvaluator(helmRepositoryReadinessEvaluator);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=helm-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm-repository.js","sourceRoot":"","sources":["../../../src/factories/helm/helm-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2B9C;;;;;;;;;;;;;GAaG;AACH;;GAEG;AACH,SAAS,gCAAgC,CAAC,QAAa;IACrD,yEAAyE;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAEvE,+EAA+E;IAC/E,wDAAwD;IACxD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC;IACtD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAE7F,MAAM,OAAO,GAAG,cAAc,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAE7F,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,eAAe,IAAI,CAAC,cAAc;gBAClC,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,yBAAyB;YAC7B,CAAC,CAAC,6BAA6B;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAA4B;IAE5B,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,UAAU,EAAE,6BAA6B;QACzC,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;SACzD;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1C;QACD,MAAM,EAAE;YACN,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB;KACF,CAAC,CAAC,sBAAsB,CAAC,gCAAgC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/helm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/helm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Readiness Evaluators for Helm Resources
|
|
3
|
+
*
|
|
4
|
+
* This module provides readiness evaluators for HelmRelease resources,
|
|
5
|
+
* checking Helm installation and upgrade phases for proper readiness.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReadinessEvaluator } from '../../core/types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Default readiness evaluator for HelmRelease resources
|
|
10
|
+
*
|
|
11
|
+
* HelmReleases are considered "ready" when they are successfully installed or upgraded
|
|
12
|
+
* and the Helm release status indicates success.
|
|
13
|
+
*/
|
|
14
|
+
export declare const helmReleaseReadinessEvaluator: ReadinessEvaluator;
|
|
15
|
+
/**
|
|
16
|
+
* Create a readiness evaluator that waits for a specific Helm release revision
|
|
17
|
+
*
|
|
18
|
+
* This is useful when you want to ensure a specific version of a chart is deployed.
|
|
19
|
+
*
|
|
20
|
+
* @param expectedRevision The revision number to wait for
|
|
21
|
+
* @returns ReadinessEvaluator function
|
|
22
|
+
*/
|
|
23
|
+
export declare function createHelmRevisionReadinessEvaluator(expectedRevision: number): ReadinessEvaluator;
|
|
24
|
+
/**
|
|
25
|
+
* Create a readiness evaluator that checks for successful test execution
|
|
26
|
+
*
|
|
27
|
+
* This evaluator waits for Helm tests to complete successfully if they are enabled.
|
|
28
|
+
*
|
|
29
|
+
* @param requireTests Whether to require test success for readiness (default: false)
|
|
30
|
+
* @returns ReadinessEvaluator function
|
|
31
|
+
*/
|
|
32
|
+
export declare function createHelmTestReadinessEvaluator(requireTests?: boolean): ReadinessEvaluator;
|
|
33
|
+
/**
|
|
34
|
+
* Create a readiness evaluator with custom timeout for Helm operations
|
|
35
|
+
*
|
|
36
|
+
* This evaluator considers a HelmRelease failed if it takes too long to install/upgrade.
|
|
37
|
+
*
|
|
38
|
+
* @param timeoutMinutes Maximum time to wait for Helm operations (default: 10 minutes)
|
|
39
|
+
* @returns ReadinessEvaluator function
|
|
40
|
+
*/
|
|
41
|
+
export declare function createHelmTimeoutReadinessEvaluator(timeoutMinutes?: number): ReadinessEvaluator;
|
|
42
|
+
/**
|
|
43
|
+
* Create a comprehensive readiness evaluator that combines multiple Helm checks
|
|
44
|
+
*
|
|
45
|
+
* This evaluator provides a complete readiness check including revision, tests, and timeout.
|
|
46
|
+
*
|
|
47
|
+
* @param options Configuration options for the comprehensive check
|
|
48
|
+
* @returns ReadinessEvaluator function
|
|
49
|
+
*/
|
|
50
|
+
export declare function createComprehensiveHelmReadinessEvaluator(options?: {
|
|
51
|
+
expectedRevision?: number;
|
|
52
|
+
requireTests?: boolean;
|
|
53
|
+
timeoutMinutes?: number;
|
|
54
|
+
}): ReadinessEvaluator;
|
|
55
|
+
//# sourceMappingURL=readiness-evaluators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-evaluators.d.ts","sourceRoot":"","sources":["../../../src/factories/helm/readiness-evaluators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,2BAA2B,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAuF3C,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oCAAoC,CAAC,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAkCjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,GAAE,OAAe,GAAG,kBAAkB,CAiDlG;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,cAAc,GAAE,MAAW,GAAG,kBAAkB,CA6CnG;AAED;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CAAC,OAAO,GAAE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,kBAAkB,CAuD1B"}
|