typekro 0.33.10 → 0.35.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/clickhouse-schema/executor.d.ts +25 -0
- package/dist/alchemy/clickhouse-schema/executor.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/executor.js +144 -0
- package/dist/alchemy/clickhouse-schema/executor.js.map +1 -0
- package/dist/alchemy/clickhouse-schema/index.d.ts +12 -0
- package/dist/alchemy/clickhouse-schema/index.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/index.js +11 -0
- package/dist/alchemy/clickhouse-schema/index.js.map +1 -0
- package/dist/alchemy/clickhouse-schema/resource.d.ts +54 -0
- package/dist/alchemy/clickhouse-schema/resource.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/resource.js +158 -0
- package/dist/alchemy/clickhouse-schema/resource.js.map +1 -0
- package/dist/alchemy/clickhouse-schema/runner.d.ts +154 -0
- package/dist/alchemy/clickhouse-schema/runner.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/runner.js +613 -0
- package/dist/alchemy/clickhouse-schema/runner.js.map +1 -0
- package/dist/alchemy/clickhouse-schema/sql.d.ts +109 -0
- package/dist/alchemy/clickhouse-schema/sql.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/sql.js +368 -0
- package/dist/alchemy/clickhouse-schema/sql.js.map +1 -0
- package/dist/alchemy/clickhouse-schema/types.d.ts +394 -0
- package/dist/alchemy/clickhouse-schema/types.d.ts.map +1 -0
- package/dist/alchemy/clickhouse-schema/types.js +370 -0
- package/dist/alchemy/clickhouse-schema/types.js.map +1 -0
- package/dist/alchemy/index.d.ts +1 -0
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +2 -0
- package/dist/alchemy/index.js.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +0 -33
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +63 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +8 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/types.js +1 -0
- package/dist/compositions/typekro-runtime/types.js.map +1 -1
- package/dist/core/aspects/values-merge.d.ts +17 -0
- package/dist/core/aspects/values-merge.d.ts.map +1 -1
- package/dist/core/aspects/values-merge.js +67 -8
- package/dist/core/aspects/values-merge.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +9 -0
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +37 -3
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +34 -0
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +173 -29
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/index.d.ts +2 -0
- package/dist/core/deployment/index.d.ts.map +1 -1
- package/dist/core/deployment/index.js +1 -0
- package/dist/core/deployment/index.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +73 -0
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
- package/dist/core/deployment/k8s-helpers.js +198 -4
- package/dist/core/deployment/k8s-helpers.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +21 -1
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/status-leaf-resolution.d.ts +101 -0
- package/dist/core/deployment/status-leaf-resolution.d.ts.map +1 -0
- package/dist/core/deployment/status-leaf-resolution.js +232 -0
- package/dist/core/deployment/status-leaf-resolution.js.map +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +31 -3
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/kro-strategy.js +8 -1
- package/dist/core/deployment/strategies/kro-strategy.js.map +1 -1
- package/dist/core/kro/index.d.ts +6 -0
- package/dist/core/kro/index.d.ts.map +1 -0
- package/dist/core/kro/index.js +6 -0
- package/dist/core/kro/index.js.map +1 -0
- package/dist/core/kro/label-guard-capability.d.ts +141 -0
- package/dist/core/kro/label-guard-capability.d.ts.map +1 -0
- package/dist/core/kro/label-guard-capability.js +257 -0
- package/dist/core/kro/label-guard-capability.js.map +1 -0
- package/dist/core/kro/labels.d.ts +56 -0
- package/dist/core/kro/labels.d.ts.map +1 -0
- package/dist/core/kro/labels.js +62 -0
- package/dist/core/kro/labels.js.map +1 -0
- package/dist/core/kubernetes/api-capability.d.ts +196 -0
- package/dist/core/kubernetes/api-capability.d.ts.map +1 -0
- package/dist/core/kubernetes/api-capability.js +301 -0
- package/dist/core/kubernetes/api-capability.js.map +1 -0
- package/dist/core/kubernetes/index.d.ts +2 -0
- package/dist/core/kubernetes/index.d.ts.map +1 -1
- package/dist/core/kubernetes/index.js +2 -0
- package/dist/core/kubernetes/index.js.map +1 -1
- package/dist/core/kubernetes/naming.d.ts +100 -0
- package/dist/core/kubernetes/naming.d.ts.map +1 -0
- package/dist/core/kubernetes/naming.js +93 -0
- package/dist/core/kubernetes/naming.js.map +1 -0
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.js +54 -17
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +17 -0
- package/dist/core/planning/planner.js.map +1 -1
- package/dist/core/planning/schema.d.ts.map +1 -1
- package/dist/core/planning/schema.js +7 -3
- package/dist/core/planning/schema.js.map +1 -1
- package/dist/core/references/cel-lexical-scanner.d.ts +100 -1
- package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -1
- package/dist/core/references/cel-lexical-scanner.js +196 -2
- package/dist/core/references/cel-lexical-scanner.js.map +1 -1
- package/dist/core/references/cel.d.ts +249 -1
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +289 -8
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/serialization/arktype-ast.d.ts +21 -0
- package/dist/core/serialization/arktype-ast.d.ts.map +1 -0
- package/dist/core/serialization/arktype-ast.js +29 -0
- package/dist/core/serialization/arktype-ast.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts +133 -32
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +908 -109
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +16 -2
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +113 -21
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/types/composable.d.ts +7 -1
- package/dist/core/types/composable.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +32 -2
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +37 -0
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/core/validation/cel-dialect.d.ts +246 -0
- package/dist/core/validation/cel-dialect.d.ts.map +1 -0
- package/dist/core/validation/cel-dialect.js +1997 -0
- package/dist/core/validation/cel-dialect.js.map +1 -0
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +8 -1
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/core/validation/literal-status.d.ts +107 -0
- package/dist/core/validation/literal-status.d.ts.map +1 -0
- package/dist/core/validation/literal-status.js +346 -0
- package/dist/core/validation/literal-status.js.map +1 -0
- package/dist/core/validation/structural-spec-dependence.d.ts +179 -0
- package/dist/core/validation/structural-spec-dependence.d.ts.map +1 -0
- package/dist/core/validation/structural-spec-dependence.js +911 -0
- package/dist/core/validation/structural-spec-dependence.js.map +1 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.d.ts.map +1 -1
- package/dist/factories/apisix/compositions/apisix-bootstrap.js +9 -0
- package/dist/factories/apisix/compositions/apisix-bootstrap.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +6 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +273 -23
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
- package/dist/factories/clickhouse/resources/index.d.ts +1 -0
- package/dist/factories/clickhouse/resources/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/index.js +1 -0
- package/dist/factories/clickhouse/resources/index.js.map +1 -1
- package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/installation.js +31 -4
- package/dist/factories/clickhouse/resources/installation.js.map +1 -1
- package/dist/factories/clickhouse/resources/s3-backup.d.ts +215 -0
- package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/s3-backup.js +410 -0
- package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -0
- package/dist/factories/clickhouse/types.d.ts +416 -20
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js +235 -11
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +42 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/helm-values-mapper.js +48 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickhouse/utils/index.d.ts +2 -0
- package/dist/factories/clickhouse/utils/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/index.js +2 -0
- package/dist/factories/clickhouse/utils/index.js.map +1 -1
- package/dist/factories/clickhouse/utils/s3-storage.d.ts +503 -0
- package/dist/factories/clickhouse/utils/s3-storage.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/s3-storage.js +1139 -0
- package/dist/factories/clickhouse/utils/s3-storage.js.map +1 -0
- package/dist/factories/clickhouse/utils/validation.d.ts +103 -0
- package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/validation.js +129 -0
- package/dist/factories/clickhouse/utils/validation.js.map +1 -1
- package/dist/factories/clickhouse/utils/xml.d.ts +87 -0
- package/dist/factories/clickhouse/utils/xml.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/xml.js +151 -0
- package/dist/factories/clickhouse/utils/xml.js.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +57 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +266 -7
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
- package/dist/factories/clickstack/types.d.ts +205 -26
- package/dist/factories/clickstack/types.d.ts.map +1 -1
- package/dist/factories/clickstack/types.js +106 -8
- package/dist/factories/clickstack/types.js.map +1 -1
- package/dist/factories/clickstack/utils/collector-config.d.ts +104 -0
- package/dist/factories/clickstack/utils/collector-config.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/collector-config.js +266 -0
- package/dist/factories/clickstack/utils/collector-config.js.map +1 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +26 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/helm-values-mapper.js +53 -12
- package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/clickstack/utils/index.d.ts +2 -0
- package/dist/factories/clickstack/utils/index.d.ts.map +1 -1
- package/dist/factories/clickstack/utils/index.js +2 -0
- package/dist/factories/clickstack/utils/index.js.map +1 -1
- package/dist/factories/clickstack/utils/storage.d.ts +449 -0
- package/dist/factories/clickstack/utils/storage.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/storage.js +698 -0
- package/dist/factories/clickstack/utils/storage.js.map +1 -0
- package/dist/factories/cnpg/resources/helm.d.ts.map +1 -1
- package/dist/factories/cnpg/resources/helm.js +4 -4
- package/dist/factories/cnpg/resources/helm.js.map +1 -1
- package/dist/factories/cnpg/types.d.ts +10 -1
- package/dist/factories/cnpg/types.d.ts.map +1 -1
- package/dist/factories/cnpg/types.js.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts +19 -2
- package/dist/factories/cnpg/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/cnpg/utils/helm-values-mapper.js +22 -4
- package/dist/factories/cnpg/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js +16 -3
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.d.ts +5 -2
- package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/constants.js +5 -2
- package/dist/factories/envoy-ai-gateway/constants.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +12 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/resources/gateway.js +27 -104
- package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.d.ts +15 -47
- package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -1
- package/dist/factories/envoy-ai-gateway/types.js.map +1 -1
- package/dist/factories/gateway-api/constants.d.ts +27 -0
- package/dist/factories/gateway-api/constants.d.ts.map +1 -0
- package/dist/factories/gateway-api/constants.js +27 -0
- package/dist/factories/gateway-api/constants.js.map +1 -0
- package/dist/factories/gateway-api/index.d.ts +14 -0
- package/dist/factories/gateway-api/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/index.js +14 -0
- package/dist/factories/gateway-api/index.js.map +1 -0
- package/dist/factories/gateway-api/readiness.d.ts +67 -0
- package/dist/factories/gateway-api/readiness.d.ts.map +1 -0
- package/dist/factories/gateway-api/readiness.js +213 -0
- package/dist/factories/gateway-api/readiness.js.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts +91 -0
- package/dist/factories/gateway-api/resources/gateway.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/gateway.js +99 -0
- package/dist/factories/gateway-api/resources/gateway.js.map +1 -0
- package/dist/factories/gateway-api/resources/index.d.ts +2 -0
- package/dist/factories/gateway-api/resources/index.d.ts.map +1 -0
- package/dist/factories/gateway-api/resources/index.js +2 -0
- package/dist/factories/gateway-api/resources/index.js.map +1 -0
- package/dist/factories/gateway-api/types.d.ts +1269 -0
- package/dist/factories/gateway-api/types.d.ts.map +1 -0
- package/dist/factories/gateway-api/types.js +417 -0
- package/dist/factories/gateway-api/types.js.map +1 -0
- package/dist/factories/helm/readiness-evaluators.d.ts +21 -3
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +117 -11
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +28 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +8 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +10 -0
- package/dist/factories/inngest/compositions/inngest-bootstrap.js.map +1 -1
- package/dist/factories/kubernetes/admission/index.d.ts +2 -0
- package/dist/factories/kubernetes/admission/index.d.ts.map +1 -1
- package/dist/factories/kubernetes/admission/index.js +2 -0
- package/dist/factories/kubernetes/admission/index.js.map +1 -1
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts +108 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js +247 -0
- package/dist/factories/kubernetes/admission/label-propagation-guard.js.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts +286 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.d.ts.map +1 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js +157 -0
- package/dist/factories/kubernetes/admission/mutating-admission-policy.js.map +1 -0
- package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -1
- package/dist/factories/opensearch/compositions/cluster.js +6 -1
- package/dist/factories/opensearch/compositions/cluster.js.map +1 -1
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts +8 -8
- package/dist/factories/ory/types.d.ts +16 -16
- package/dist/factories/rook/compositions/object-storage-claim.d.ts +1 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js +8 -1
- package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -1
- package/dist/factories/rook/types.d.ts +1 -1
- package/dist/factories/traefik/compositions/index.d.ts +6 -0
- package/dist/factories/traefik/compositions/index.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/index.js +6 -0
- package/dist/factories/traefik/compositions/index.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts +185 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js +339 -0
- package/dist/factories/traefik/compositions/traefik-bootstrap.js.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts +16 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.d.ts.map +1 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js +31 -0
- package/dist/factories/traefik/compositions/traefik-helm-repository.js.map +1 -0
- package/dist/factories/traefik/constants.d.ts +78 -0
- package/dist/factories/traefik/constants.d.ts.map +1 -0
- package/dist/factories/traefik/constants.js +104 -0
- package/dist/factories/traefik/constants.js.map +1 -0
- package/dist/factories/traefik/index.d.ts +25 -0
- package/dist/factories/traefik/index.d.ts.map +1 -0
- package/dist/factories/traefik/index.js +25 -0
- package/dist/factories/traefik/index.js.map +1 -0
- package/dist/factories/traefik/resources/common.d.ts +68 -0
- package/dist/factories/traefik/resources/common.d.ts.map +1 -0
- package/dist/factories/traefik/resources/common.js +59 -0
- package/dist/factories/traefik/resources/common.js.map +1 -0
- package/dist/factories/traefik/resources/gateway.d.ts +85 -0
- package/dist/factories/traefik/resources/gateway.d.ts.map +1 -0
- package/dist/factories/traefik/resources/gateway.js +109 -0
- package/dist/factories/traefik/resources/gateway.js.map +1 -0
- package/dist/factories/traefik/resources/helm.d.ts +56 -0
- package/dist/factories/traefik/resources/helm.d.ts.map +1 -0
- package/dist/factories/traefik/resources/helm.js +131 -0
- package/dist/factories/traefik/resources/helm.js.map +1 -0
- package/dist/factories/traefik/resources/index.d.ts +10 -0
- package/dist/factories/traefik/resources/index.d.ts.map +1 -0
- package/dist/factories/traefik/resources/index.js +10 -0
- package/dist/factories/traefik/resources/index.js.map +1 -0
- package/dist/factories/traefik/resources/middleware.d.ts +169 -0
- package/dist/factories/traefik/resources/middleware.d.ts.map +1 -0
- package/dist/factories/traefik/resources/middleware.js +225 -0
- package/dist/factories/traefik/resources/middleware.js.map +1 -0
- package/dist/factories/traefik/resources/routing.d.ts +113 -0
- package/dist/factories/traefik/resources/routing.d.ts.map +1 -0
- package/dist/factories/traefik/resources/routing.js +119 -0
- package/dist/factories/traefik/resources/routing.js.map +1 -0
- package/dist/factories/traefik/resources/tls.d.ts +85 -0
- package/dist/factories/traefik/resources/tls.d.ts.map +1 -0
- package/dist/factories/traefik/resources/tls.js +93 -0
- package/dist/factories/traefik/resources/tls.js.map +1 -0
- package/dist/factories/traefik/types.d.ts +2690 -0
- package/dist/factories/traefik/types.d.ts.map +1 -0
- package/dist/factories/traefik/types.js +1084 -0
- package/dist/factories/traefik/types.js.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts +198 -0
- package/dist/factories/traefik/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js +372 -0
- package/dist/factories/traefik/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/traefik/utils/index.d.ts +6 -0
- package/dist/factories/traefik/utils/index.d.ts.map +1 -0
- package/dist/factories/traefik/utils/index.js +6 -0
- package/dist/factories/traefik/utils/index.js.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts +42 -0
- package/dist/factories/traefik/utils/middleware-validation.d.ts.map +1 -0
- package/dist/factories/traefik/utils/middleware-validation.js +78 -0
- package/dist/factories/traefik/utils/middleware-validation.js.map +1 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +10 -0
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -1
|
@@ -133,6 +133,223 @@ export const ClickHouseOperatorHelmReleaseConfigSchema = type({
|
|
|
133
133
|
'id?': 'string',
|
|
134
134
|
});
|
|
135
135
|
// ============================================================================
|
|
136
|
+
// Storage: PVC (default) vs S3-backed object storage
|
|
137
|
+
//
|
|
138
|
+
// SCHEMA-FIRST. Every shape below is an ArkType schema whose TypeScript type
|
|
139
|
+
// is INFERRED from it (`typeof X.infer`), so the S3 configuration is described
|
|
140
|
+
// exactly once. The two invariants that are not expressible as a shape —
|
|
141
|
+
// "exactly one credential transport" and "an AWS region or a custom endpoint,
|
|
142
|
+
// never neither" — are encoded IN the schemas (an `undefined` sibling on each
|
|
143
|
+
// auth branch, and a `.narrow()` on the S3 branch), so an invalid literal is
|
|
144
|
+
// rejected by the type AND by runtime validation rather than only by a factory
|
|
145
|
+
// guard several calls deeper.
|
|
146
|
+
// ============================================================================
|
|
147
|
+
/**
|
|
148
|
+
* IRSA credential transport for the S3 disk.
|
|
149
|
+
*
|
|
150
|
+
* The factory creates (or annotates) a ServiceAccount with
|
|
151
|
+
* `eks.amazonaws.com/role-arn` and runs the CHI pod template as it; the
|
|
152
|
+
* rendered disk configuration then uses
|
|
153
|
+
* `<use_environment_credentials>true</use_environment_credentials>` so the AWS
|
|
154
|
+
* SDK inside ClickHouse picks up the projected web-identity token. NO key
|
|
155
|
+
* material appears in any manifest.
|
|
156
|
+
*
|
|
157
|
+
* `secretRef?: 'undefined'` is the exclusivity half of the contract: it makes
|
|
158
|
+
* `{ irsa, secretRef }` fail the union instead of silently matching this
|
|
159
|
+
* branch (ArkType object schemas allow unknown extra keys).
|
|
160
|
+
*/
|
|
161
|
+
export const ClickHouseS3IrsaAuthSchema = type({
|
|
162
|
+
irsa: {
|
|
163
|
+
/** IAM role ARN the ServiceAccount assumes (see the docs for the policy). */
|
|
164
|
+
roleArn: 'string > 0',
|
|
165
|
+
/**
|
|
166
|
+
* ServiceAccount name (default: `<installation-name>-s3`). Supply an
|
|
167
|
+
* existing name to reuse a ServiceAccount managed elsewhere — the
|
|
168
|
+
* composition then annotates its own copy of it.
|
|
169
|
+
*/
|
|
170
|
+
'serviceAccountName?': 'string > 0',
|
|
171
|
+
},
|
|
172
|
+
'secretRef?': 'undefined',
|
|
173
|
+
});
|
|
174
|
+
/**
|
|
175
|
+
* Secret-backed access-key credential transport for the S3 disk.
|
|
176
|
+
*
|
|
177
|
+
* The keys are wired as pod env vars via `secretKeyRef` and referenced from
|
|
178
|
+
* the disk configuration with ClickHouse's `from_env` attribute, so the key
|
|
179
|
+
* VALUES never enter the CHI spec. Inline keys are not accepted at all.
|
|
180
|
+
*/
|
|
181
|
+
export const ClickHouseS3SecretRefAuthSchema = type({
|
|
182
|
+
secretRef: {
|
|
183
|
+
/** Secret name in the CHI namespace. */
|
|
184
|
+
name: 'string > 0',
|
|
185
|
+
/** Key holding the access key id (default: 'AWS_ACCESS_KEY_ID'). */
|
|
186
|
+
'accessKeyIdKey?': 'string > 0',
|
|
187
|
+
/** Key holding the secret access key (default: 'AWS_SECRET_ACCESS_KEY'). */
|
|
188
|
+
'secretAccessKeyKey?': 'string > 0',
|
|
189
|
+
},
|
|
190
|
+
'irsa?': 'undefined',
|
|
191
|
+
});
|
|
192
|
+
/**
|
|
193
|
+
* Exactly one S3 credential transport — never inline keys.
|
|
194
|
+
*
|
|
195
|
+
* The union is discriminated by which key is present, and each branch pins the
|
|
196
|
+
* other to `undefined`, so "both" and "neither" are both schema errors.
|
|
197
|
+
*/
|
|
198
|
+
export const ClickHouseS3AuthSchema = ClickHouseS3IrsaAuthSchema.or(ClickHouseS3SecretRefAuthSchema);
|
|
199
|
+
/**
|
|
200
|
+
* ClickHouse credentials the backup CronJob connects with. Omit to connect as
|
|
201
|
+
* `default` with no password (the dev-first single-node default).
|
|
202
|
+
*/
|
|
203
|
+
const clickHouseS3BackupAuthShape = {
|
|
204
|
+
secretRef: {
|
|
205
|
+
name: 'string > 0',
|
|
206
|
+
/** Key holding the ClickHouse user name (default: 'username'). */
|
|
207
|
+
'usernameKey?': 'string > 0',
|
|
208
|
+
/** Key holding the ClickHouse password (default: 'password'). */
|
|
209
|
+
'passwordKey?': 'string > 0',
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Scheduled `BACKUP ... TO S3(...)` options.
|
|
214
|
+
*
|
|
215
|
+
* This is the durability story for `diskType: 's3'`, where part METADATA lives
|
|
216
|
+
* on the local disk and the bucket alone cannot be reattached. It is optional
|
|
217
|
+
* (and largely redundant) for `s3_plain_rewritable`.
|
|
218
|
+
*/
|
|
219
|
+
export const ClickHouseS3BackupOptionsSchema = type({
|
|
220
|
+
/** Cron schedule for the backup CronJob (e.g. '0 2 * * *'). */
|
|
221
|
+
schedule: 'string > 0',
|
|
222
|
+
/** Backup bucket (default: the data disk's bucket). */
|
|
223
|
+
'bucket?': 'string > 0',
|
|
224
|
+
/** Backup key prefix (default: 'backups'); must not be the bucket root. */
|
|
225
|
+
'prefix?': 'string > 0',
|
|
226
|
+
/** Database to back up (default: 'default'). */
|
|
227
|
+
'database?': 'string > 0',
|
|
228
|
+
/**
|
|
229
|
+
* Age-based pruning. Rendered as a real prune step in the CronJob (an
|
|
230
|
+
* `aws s3 rm` pass over expired timestamped backup prefixes) — not an
|
|
231
|
+
* accepted-but-ignored hint, and not a substitute for a bucket lifecycle
|
|
232
|
+
* policy if you prefer to own expiry in AWS.
|
|
233
|
+
*/
|
|
234
|
+
'retention?': { days: 'number.integer > 0' },
|
|
235
|
+
/** ClickHouse credentials the CronJob connects with. */
|
|
236
|
+
'auth?': clickHouseS3BackupAuthShape,
|
|
237
|
+
});
|
|
238
|
+
/**
|
|
239
|
+
* The `region`-or-`endpoint` requirement, as one message shared by every
|
|
240
|
+
* schema that carries the S3 branch.
|
|
241
|
+
*
|
|
242
|
+
* It is a `.narrow()` rather than a shape because either field alone is
|
|
243
|
+
* sufficient: `region` composes `https://<bucket>.s3.<region>.amazonaws.com/`,
|
|
244
|
+
* `endpoint` points at an S3-compatible service, and neither leaves the
|
|
245
|
+
* factory no endpoint to compose at all.
|
|
246
|
+
*/
|
|
247
|
+
export const S3_TARGET_REQUIREMENT = "an S3 target: set 'region' for AWS S3, or 'endpoint' for an S3-compatible " +
|
|
248
|
+
'service such as MinIO (at least one is required)';
|
|
249
|
+
/**
|
|
250
|
+
* The object-storage half of the S3 branch, shared by the build-time topology
|
|
251
|
+
* and the installation `storage` input so the two can never drift.
|
|
252
|
+
*
|
|
253
|
+
* BUILD-TIME: every field here compiles into a `storage_configuration` XML
|
|
254
|
+
* document and selects which resources exist (ServiceAccount, backup
|
|
255
|
+
* CronJob), so it is fixed at construction time. Only the thin local volume
|
|
256
|
+
* sizing (`size` / `storageClassName`) stays runtime spec.
|
|
257
|
+
*/
|
|
258
|
+
const clickHouseS3StorageShape = {
|
|
259
|
+
/** Discriminator selecting object-storage mode. */
|
|
260
|
+
mode: '"s3"',
|
|
261
|
+
/** Bucket name (the factory builds the endpoint from it). */
|
|
262
|
+
bucket: 'string > 0',
|
|
263
|
+
/** Key prefix inside the bucket (default: the bucket root). */
|
|
264
|
+
'prefix?': 'string',
|
|
265
|
+
/** AWS region — required unless `endpoint` is set. */
|
|
266
|
+
'region?': 'string > 0',
|
|
267
|
+
/**
|
|
268
|
+
* Base URL of a custom S3-compatible service (MinIO, Ceph RGW), e.g.
|
|
269
|
+
* `http://minio.minio.svc.cluster.local:9000`. Bucket and prefix are
|
|
270
|
+
* appended path-style by the factory; do not include them here.
|
|
271
|
+
*/
|
|
272
|
+
'endpoint?': 'string > 0',
|
|
273
|
+
/**
|
|
274
|
+
* Disk type — the DURABILITY choice, deliberately not a boolean:
|
|
275
|
+
* - `'s3'` (default): part metadata on the local disk. Fast and
|
|
276
|
+
* fully-featured, but the bucket is not self-describing — durability comes
|
|
277
|
+
* from `backup`.
|
|
278
|
+
* - `'s3_plain_rewritable'`: metadata in the bucket, so node loss is a
|
|
279
|
+
* restart + reattach. Requires ClickHouse >= 24.5, a SINGLE replica, and
|
|
280
|
+
* no mutations (see the module docs on `utils/s3-storage.ts`).
|
|
281
|
+
*/
|
|
282
|
+
'diskType?': '"s3" | "s3_plain_rewritable"',
|
|
283
|
+
/** Local read-through cache in front of the object-storage disk. */
|
|
284
|
+
cache: {
|
|
285
|
+
/** Cache cap as a Kubernetes quantity; must fit inside `storage.size`. */
|
|
286
|
+
size: 'string > 0',
|
|
287
|
+
/** Cache directory (default: '/var/lib/clickhouse/disks/s3_cache/'). */
|
|
288
|
+
'path?': 'string > 0',
|
|
289
|
+
},
|
|
290
|
+
/** MergeTree storage policy name (default: 's3_main'). */
|
|
291
|
+
'policyName?': 'string > 0',
|
|
292
|
+
/** S3 credentials — IRSA or a Secret reference. */
|
|
293
|
+
auth: ClickHouseS3AuthSchema,
|
|
294
|
+
/** Optional scheduled backups with a documented restore path. */
|
|
295
|
+
'backup?': ClickHouseS3BackupOptionsSchema,
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* S3-backed storage options — object storage as the durable record, with only
|
|
299
|
+
* a bounded local read-through cache on the node.
|
|
300
|
+
*/
|
|
301
|
+
export const ClickHouseS3StorageOptionsSchema = type(clickHouseS3StorageShape).narrow((storage, ctx) => storage.region !== undefined ||
|
|
302
|
+
storage.endpoint !== undefined ||
|
|
303
|
+
ctx.mustBe(S3_TARGET_REQUIREMENT));
|
|
304
|
+
/** PVC-backed storage — today's behaviour, and still the default. */
|
|
305
|
+
export const ClickHousePvcStorageOptionsSchema = type({
|
|
306
|
+
/** Discriminator; omit for the PVC default. */
|
|
307
|
+
'mode?': '"pvc"',
|
|
308
|
+
});
|
|
309
|
+
/**
|
|
310
|
+
* BUILD-TIME storage topology accepted by {@link makeClickHouseCluster}.
|
|
311
|
+
*
|
|
312
|
+
* `mode: 'pvc'` (or omitting `storage` entirely) is the default and preserves
|
|
313
|
+
* existing behaviour byte for byte.
|
|
314
|
+
*/
|
|
315
|
+
export const ClickHouseStorageTopologySchema = ClickHousePvcStorageOptionsSchema.or(ClickHouseS3StorageOptionsSchema);
|
|
316
|
+
/** Local volume sizing — present in BOTH storage modes. */
|
|
317
|
+
const clickHouseLocalVolumeShape = {
|
|
318
|
+
/**
|
|
319
|
+
* Volume size (e.g. '100Gi').
|
|
320
|
+
*
|
|
321
|
+
* In PVC mode this is the MergeTree data volume. In S3 mode it is the thin
|
|
322
|
+
* local volume mounted at `/var/lib/clickhouse`, which holds server
|
|
323
|
+
* metadata, the read-through cache, and — for `diskType: 's3'` — part
|
|
324
|
+
* metadata; size it for the cache, not for the dataset.
|
|
325
|
+
*/
|
|
326
|
+
size: 'string > 0',
|
|
327
|
+
/**
|
|
328
|
+
* StorageClass name. On EKS this should be a WaitForFirstConsumer +
|
|
329
|
+
* `allowVolumeExpansion: true` gp3 class so the PVC binds in the zone the
|
|
330
|
+
* scheduler places the pod (and can grow in place).
|
|
331
|
+
*/
|
|
332
|
+
'storageClassName?': 'string > 0',
|
|
333
|
+
};
|
|
334
|
+
/** Local volume sizing — present in BOTH storage modes. */
|
|
335
|
+
export const ClickHouseLocalVolumeOptionsSchema = type(clickHouseLocalVolumeShape);
|
|
336
|
+
/**
|
|
337
|
+
* The `storage` input accepted by `clickHouseInstallation()`: local volume
|
|
338
|
+
* sizing plus, in S3 mode, the full object-storage configuration.
|
|
339
|
+
*
|
|
340
|
+
* This is the COMPLETE description — the S3 branch is modelled field by field
|
|
341
|
+
* rather than widened onto the schema afterwards, so
|
|
342
|
+
* {@link ClickHouseInstallationConfig} can be inferred straight from
|
|
343
|
+
* {@link ClickHouseInstallationConfigSchema}.
|
|
344
|
+
*/
|
|
345
|
+
export const ClickHouseInstallationStorageSchema = type({
|
|
346
|
+
...clickHouseLocalVolumeShape,
|
|
347
|
+
/** Storage mode discriminator (default: 'pvc'). */
|
|
348
|
+
'mode?': '"pvc"',
|
|
349
|
+
}).or(type({ ...clickHouseLocalVolumeShape, ...clickHouseS3StorageShape }).narrow((storage, ctx) => storage.region !== undefined ||
|
|
350
|
+
storage.endpoint !== undefined ||
|
|
351
|
+
ctx.mustBe(S3_TARGET_REQUIREMENT)));
|
|
352
|
+
// ============================================================================
|
|
136
353
|
// ClickHouseInstallation (CHI) Resource
|
|
137
354
|
// ============================================================================
|
|
138
355
|
/**
|
|
@@ -218,17 +435,16 @@ export const ClickHouseInstallationConfigSchema = type({
|
|
|
218
435
|
* cannot do this (Altinity/clickhouse-operator#772).
|
|
219
436
|
*/
|
|
220
437
|
'zones?': 'string[]',
|
|
221
|
-
/**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
},
|
|
438
|
+
/**
|
|
439
|
+
* Storage for ClickHouse data. Required.
|
|
440
|
+
*
|
|
441
|
+
* {@link ClickHouseInstallationStorageSchema} is the COMPLETE description: a
|
|
442
|
+
* discriminated union on `mode` whose S3 branch models the object-storage
|
|
443
|
+
* configuration field by field, with the credential-transport and
|
|
444
|
+
* region-or-endpoint invariants encoded in the schema itself. Nothing about
|
|
445
|
+
* `storage` is widened onto the inferred type afterwards.
|
|
446
|
+
*/
|
|
447
|
+
storage: ClickHouseInstallationStorageSchema,
|
|
232
448
|
/**
|
|
233
449
|
* ClickHouse users (ARRAY shape), compiled to the operator's path-keyed
|
|
234
450
|
* `spec.configuration.users` format
|
|
@@ -269,6 +485,14 @@ export const ClickHouseClusterStatusSchema = type({
|
|
|
269
485
|
'user?': 'string',
|
|
270
486
|
},
|
|
271
487
|
'keeper?': { host: 'string', port: 'number.integer' },
|
|
488
|
+
storage: {
|
|
489
|
+
mode: '"pvc" | "s3"',
|
|
490
|
+
'diskType?': '"s3" | "s3_plain_rewritable"',
|
|
491
|
+
'policyName?': 'string',
|
|
492
|
+
'bucket?': 'string',
|
|
493
|
+
'selfDescribingBucket?': 'boolean',
|
|
494
|
+
'backupSchedule?': 'string',
|
|
495
|
+
},
|
|
272
496
|
installation: {
|
|
273
497
|
name: 'string',
|
|
274
498
|
namespace: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickhouse/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickhouse/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,50 @@ export interface ClickHouseOperatorHelmValues {
|
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
|
+
configs?: {
|
|
37
|
+
files?: {
|
|
38
|
+
'config.yaml'?: {
|
|
39
|
+
label?: {
|
|
40
|
+
exclude?: string[];
|
|
41
|
+
};
|
|
42
|
+
annotation?: {
|
|
43
|
+
exclude?: string[];
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
};
|
|
36
48
|
[key: string]: unknown;
|
|
37
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* CHI labels the operator must NOT copy onto the resources it generates.
|
|
52
|
+
*
|
|
53
|
+
* WHY THIS DEFAULT EXISTS — a live, reproducible deadlock. The Altinity
|
|
54
|
+
* operator propagates a ClickHouseInstallation's labels to every object it
|
|
55
|
+
* creates for it (ConfigMaps, Services, the StatefulSet, the PVCs). In KRO
|
|
56
|
+
* mode the CHI is a KRO graph child, so KRO stamps it with its ApplySet
|
|
57
|
+
* membership labels — and the operator then copies those onto its OWN
|
|
58
|
+
* children, which makes them look like members of the same ApplySet. KRO's
|
|
59
|
+
* pruning reaps every member that is not in its declared graph, so the
|
|
60
|
+
* operator's generated ConfigMaps were deleted moments after they were
|
|
61
|
+
* created. The Pod then never started:
|
|
62
|
+
*
|
|
63
|
+
* MountVolume.SetUp failed for volume "chi-<name>-common-configd":
|
|
64
|
+
* configmap "chi-<name>-common-configd" not found
|
|
65
|
+
*
|
|
66
|
+
* and the operator sat in `Poll(): WAIT` forever waiting for a host that could
|
|
67
|
+
* not come up — the CHI stuck `InProgress` with no error anywhere. Direct mode
|
|
68
|
+
* is unaffected (TypeKro's own labels carry no pruning semantics), so this only
|
|
69
|
+
* appears under `factory('kro')`, which is precisely why the KRO-mode e2e
|
|
70
|
+
* exists.
|
|
71
|
+
*
|
|
72
|
+
* The operator's own configuration is the right place to stop it: `label.exclude`
|
|
73
|
+
* filters the labels it propagates. Only OWNERSHIP labels are excluded — the
|
|
74
|
+
* `kro.run/instance-*` labels stay, so an operator can still see which instance
|
|
75
|
+
* a generated object belongs to.
|
|
76
|
+
*
|
|
77
|
+
* @see https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#how-to-migrate-from-imperative-command-management-to-declarative-object-configuration
|
|
78
|
+
*/
|
|
79
|
+
export declare const OPERATOR_PROPAGATION_EXCLUDED_LABELS: readonly string[];
|
|
38
80
|
/**
|
|
39
81
|
* Mapper result: plain values, or a graph-aware runtime merge when
|
|
40
82
|
* `customValues` arrives as a schema reference / CEL expression (KRO then
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAErE,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC7C,MAAM,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAC5C,CAAC;KACH,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAC1C,4BAA4B,GAC5B,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;KAC7C,CAAC,IAAI,MAAM,IAAI,CACd,iCAAiC,EACjC,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CACrD,GAAG,iCAAiC,CAAC,CAAC,CAAC,GAAG,SAAS;CACrD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iCAAiC,GACxC,kCAAkC,
|
|
1
|
+
{"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAErE,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC7C,MAAM,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAC5C,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE;YACN,aAAa,CAAC,EAAE;gBACd,KAAK,CAAC,EAAE;oBAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAC;gBAC/B,UAAU,CAAC,EAAE;oBAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAC;aACrC,CAAC;SACH,CAAC;KACH,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,MAAM,EAOjE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAC1C,4BAA4B,GAC5B,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;KAC7C,CAAC,IAAI,MAAM,IAAI,CACd,iCAAiC,EACjC,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CACrD,GAAG,iCAAiC,CAAC,CAAC,CAAC,GAAG,SAAS;CACrD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iCAAiC,GACxC,kCAAkC,CA4BpC"}
|
|
@@ -13,6 +13,43 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { isValuesMergeExpression, mergeValuesExpression, } from '../../../core/aspects/values-merge.js';
|
|
15
15
|
import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
|
|
16
|
+
/**
|
|
17
|
+
* CHI labels the operator must NOT copy onto the resources it generates.
|
|
18
|
+
*
|
|
19
|
+
* WHY THIS DEFAULT EXISTS — a live, reproducible deadlock. The Altinity
|
|
20
|
+
* operator propagates a ClickHouseInstallation's labels to every object it
|
|
21
|
+
* creates for it (ConfigMaps, Services, the StatefulSet, the PVCs). In KRO
|
|
22
|
+
* mode the CHI is a KRO graph child, so KRO stamps it with its ApplySet
|
|
23
|
+
* membership labels — and the operator then copies those onto its OWN
|
|
24
|
+
* children, which makes them look like members of the same ApplySet. KRO's
|
|
25
|
+
* pruning reaps every member that is not in its declared graph, so the
|
|
26
|
+
* operator's generated ConfigMaps were deleted moments after they were
|
|
27
|
+
* created. The Pod then never started:
|
|
28
|
+
*
|
|
29
|
+
* MountVolume.SetUp failed for volume "chi-<name>-common-configd":
|
|
30
|
+
* configmap "chi-<name>-common-configd" not found
|
|
31
|
+
*
|
|
32
|
+
* and the operator sat in `Poll(): WAIT` forever waiting for a host that could
|
|
33
|
+
* not come up — the CHI stuck `InProgress` with no error anywhere. Direct mode
|
|
34
|
+
* is unaffected (TypeKro's own labels carry no pruning semantics), so this only
|
|
35
|
+
* appears under `factory('kro')`, which is precisely why the KRO-mode e2e
|
|
36
|
+
* exists.
|
|
37
|
+
*
|
|
38
|
+
* The operator's own configuration is the right place to stop it: `label.exclude`
|
|
39
|
+
* filters the labels it propagates. Only OWNERSHIP labels are excluded — the
|
|
40
|
+
* `kro.run/instance-*` labels stay, so an operator can still see which instance
|
|
41
|
+
* a generated object belongs to.
|
|
42
|
+
*
|
|
43
|
+
* @see https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#how-to-migrate-from-imperative-command-management-to-declarative-object-configuration
|
|
44
|
+
*/
|
|
45
|
+
export const OPERATOR_PROPAGATION_EXCLUDED_LABELS = [
|
|
46
|
+
// The ApplySet membership pair. `part-of` is what pruning keys on.
|
|
47
|
+
'applyset.kubernetes.io/part-of',
|
|
48
|
+
'applyset.kubernetes.io/id',
|
|
49
|
+
// KRO's own ownership markers, for the same reason.
|
|
50
|
+
'kro.run/owned',
|
|
51
|
+
'kro.run/node-id',
|
|
52
|
+
];
|
|
16
53
|
/**
|
|
17
54
|
* Map bootstrap config to Helm chart values.
|
|
18
55
|
*
|
|
@@ -36,6 +73,17 @@ export function mapClickHouseOperatorConfigToHelmValues(config) {
|
|
|
36
73
|
if (config.resources !== undefined) {
|
|
37
74
|
values.operator = { resources: config.resources };
|
|
38
75
|
}
|
|
76
|
+
// Stop the operator copying ApplySet/KRO ownership labels from the CHI onto
|
|
77
|
+
// the objects it generates — see OPERATOR_PROPAGATION_EXCLUDED_LABELS for the
|
|
78
|
+
// deadlock this prevents. A default rather than an opt-in: a KRO-mode CHI is
|
|
79
|
+
// the normal case, and there is no configuration in which propagating
|
|
80
|
+
// another controller's pruning label is what the user wanted. `customValues`
|
|
81
|
+
// merges last, so an operator who needs a different exclude list still wins.
|
|
82
|
+
values.configs = {
|
|
83
|
+
files: {
|
|
84
|
+
'config.yaml': { label: { exclude: [...OPERATOR_PROPAGATION_EXCLUDED_LABELS] } },
|
|
85
|
+
},
|
|
86
|
+
};
|
|
39
87
|
return mergeCustomValuesLast(values, config.customValues);
|
|
40
88
|
}
|
|
41
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm-values-mapper.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"helm-values-mapper.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/helm-values-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|