typekro 0.33.9 → 0.34.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/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/expressions/composition/composition-analyzer-helpers.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer-helpers.js +20 -2
- package/dist/core/expressions/composition/composition-analyzer-helpers.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/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +13 -2
- package/dist/core/serialization/core.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/searxng/compositions/searxng-bootstrap.d.ts +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +18 -13
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/index.d.ts +3 -0
- package/dist/factories/searxng/index.d.ts.map +1 -1
- package/dist/factories/searxng/index.js +3 -0
- package/dist/factories/searxng/index.js.map +1 -1
- package/dist/factories/searxng/types.js +1 -1
- package/dist/factories/searxng/types.js.map +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
|
@@ -195,6 +195,141 @@ export type ClickStackMongoBuildOptions = {
|
|
|
195
195
|
} | {
|
|
196
196
|
mode: 'external';
|
|
197
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* Per-signal retention for the OTel tables the gateway collector creates.
|
|
200
|
+
*
|
|
201
|
+
* Values are duration strings — `'30d'`, `'720h'`, `'90m'` — compiled into
|
|
202
|
+
* `ALTER TABLE ... MODIFY TTL <timestamp column> + INTERVAL <n> <unit> DELETE`.
|
|
203
|
+
* Omit a signal to leave its table's TTL alone.
|
|
204
|
+
*
|
|
205
|
+
* ⚠️ NOT COMPATIBLE WITH `diskType: 's3_plain_rewritable'`, and the
|
|
206
|
+
* combination is rejected at construction. That metadata type is immutable:
|
|
207
|
+
* ClickHouse refuses every `ALTER TABLE` on it except settings and comments
|
|
208
|
+
* (code 344, `SUPPORT_IS_DISABLED` — LIVE-VERIFIED against 25.7), so the
|
|
209
|
+
* retention CronJob could never apply a TTL there. Use `diskType: 's3'` for
|
|
210
|
+
* TypeKro-managed TTL, or keep the TTL the collector's own migrations create.
|
|
211
|
+
*/
|
|
212
|
+
export interface ClickStackRetentionOptions {
|
|
213
|
+
/** `otel_logs` (and `hyperdx_sessions`, which is a log-kind table). */
|
|
214
|
+
logs?: string;
|
|
215
|
+
/** `otel_traces`. */
|
|
216
|
+
traces?: string;
|
|
217
|
+
/** `otel_metrics_gauge`, `otel_metrics_sum`, `otel_metrics_histogram`. */
|
|
218
|
+
metrics?: string;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* OTel gateway collector persistent sending queue.
|
|
222
|
+
*
|
|
223
|
+
* WHY: the gateway buffers in memory by default, so a ClickHouse restart —
|
|
224
|
+
* exactly what an S3-backed node rebuild causes — drops whatever is in flight.
|
|
225
|
+
* A `file_storage`-backed queue survives it, PROVIDED the directory backing it
|
|
226
|
+
* outlives the collector Pod. Enabling this therefore renders a standalone
|
|
227
|
+
* PersistentVolumeClaim owned by the composition and mounts it by
|
|
228
|
+
* `claimName` — never an `emptyDir` or a generic ephemeral volume, both of
|
|
229
|
+
* which Kubernetes deletes with the Pod.
|
|
230
|
+
*
|
|
231
|
+
* ⚠️ EXACTLY ONE GATEWAY COLLECTOR REPLICA. The queue is a bbolt database and
|
|
232
|
+
* the `file_storage` extension holds an exclusive file lock on it, so a second
|
|
233
|
+
* collector opening the same directory blocks on that lock
|
|
234
|
+
* (opentelemetry-collector-contrib issue #5894). A build-time
|
|
235
|
+
* `values['otel-collector'].replicaCount` above 1 is REJECTED at construction,
|
|
236
|
+
* and the rendered values pin `replicaCount: 1`. There is deliberately no
|
|
237
|
+
* shared-volume escape hatch: `ReadWriteMany` would hand every replica the
|
|
238
|
+
* same locked database. Per-replica queues would need the chart's
|
|
239
|
+
* `mode: statefulset` with `volumeClaimTemplates`, which this composition does
|
|
240
|
+
* not model today.
|
|
241
|
+
*
|
|
242
|
+
* ⚠️ THE OVERLAY IS ONE YAML DOCUMENT. This is emitted through the chart's
|
|
243
|
+
* supported `global.otelCollector.customConfig` merge seam, which the ingest
|
|
244
|
+
* pipelines use too, and a YAML list in that overlay REPLACES the supervisor's
|
|
245
|
+
* own list rather than appending to it. That means `extensions` below must
|
|
246
|
+
* enumerate every extension the collector needs, and `exporterNames` must
|
|
247
|
+
* match exporters the OpAMP supervisor actually defines. Both are exposed as
|
|
248
|
+
* options precisely because the correct values depend on the ClickStack
|
|
249
|
+
* version you deploy — check the rendered collector config before relying on
|
|
250
|
+
* this in production.
|
|
251
|
+
*
|
|
252
|
+
* LIVE FINDING (fixed): the overlay used to be assembled by CONCATENATING the
|
|
253
|
+
* ingest-pipeline YAML and this queue's YAML, and both open a top-level
|
|
254
|
+
* `service:` key, so the supervisor rejected the whole file
|
|
255
|
+
* (`mapping key "service" already defined`) and the agent ran with NEITHER.
|
|
256
|
+
* Contributions are structured fragments now, deep-merged and serialised once
|
|
257
|
+
* — see `utils/collector-config.ts`.
|
|
258
|
+
*/
|
|
259
|
+
export interface ClickStackPersistentQueueOptions {
|
|
260
|
+
/** Enable the file-storage-backed sending queue (default: false). */
|
|
261
|
+
enabled: boolean;
|
|
262
|
+
/** Queue directory inside the collector pod. */
|
|
263
|
+
directory?: string;
|
|
264
|
+
/**
|
|
265
|
+
* Size of the queue's PersistentVolumeClaim (default: `'10Gi'`).
|
|
266
|
+
*
|
|
267
|
+
* There is deliberately NO ephemeral fallback: enabling the queue always
|
|
268
|
+
* renders a standalone PVC owned by the composition, because a queue that
|
|
269
|
+
* does not outlive the collector Pod is not a persistent queue. An
|
|
270
|
+
* `emptyDir` and a *generic ephemeral volume* are both deleted together with
|
|
271
|
+
* their owning Pod
|
|
272
|
+
* (https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/), so
|
|
273
|
+
* either would make this option a no-op under exactly the restart it exists
|
|
274
|
+
* to survive.
|
|
275
|
+
*/
|
|
276
|
+
size?: string;
|
|
277
|
+
/** StorageClass for the queue PVC (cluster default when omitted). */
|
|
278
|
+
storageClassName?: string;
|
|
279
|
+
/**
|
|
280
|
+
* Exporters whose `sending_queue` is switched to file storage. Must be
|
|
281
|
+
* non-empty when the queue is enabled; defaults to the single ClickHouse
|
|
282
|
+
* exporter the ClickStack collector defines.
|
|
283
|
+
*
|
|
284
|
+
* ⚠️ NOT VALIDATED AT BUILD TIME, BY DESIGN — a name TypeKro cannot check.
|
|
285
|
+
* The exporter set lives in the remote configuration the OpAMP supervisor
|
|
286
|
+
* hands the agent, not in anything this factory renders, so a name the agent
|
|
287
|
+
* does not define cannot be rejected here. It fails SILENTLY at runtime: the
|
|
288
|
+
* supervisor merges the overlay, the `exporters` map simply grows an exporter
|
|
289
|
+
* no pipeline references, and the real exporter keeps its in-memory queue.
|
|
290
|
+
* The integration suite therefore asserts these names against the agent's own
|
|
291
|
+
* EFFECTIVE configuration instead of trusting the default.
|
|
292
|
+
*/
|
|
293
|
+
exporterNames?: readonly string[];
|
|
294
|
+
/**
|
|
295
|
+
* The complete `service.extensions` list to emit. It REPLACES the
|
|
296
|
+
* supervisor's list, so it must name every extension the collector needs.
|
|
297
|
+
*/
|
|
298
|
+
extensions?: readonly string[];
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* BUILD-TIME description of the EXTERNAL ClickHouse's storage, plus the
|
|
302
|
+
* ClickStack-side knobs that depend on it.
|
|
303
|
+
*
|
|
304
|
+
* WHY build-time: `retention` renders a DDL CronJob and `persistentQueue`
|
|
305
|
+
* renders chart values plus volumes — both decide WHICH resources exist and
|
|
306
|
+
* what static text they carry, the same class as the Mongo mode.
|
|
307
|
+
*
|
|
308
|
+
* NO PER-TABLE DDL IS NEEDED for the storage policy itself: the `clickhouse`
|
|
309
|
+
* factory sets `merge_tree/storage_policy` as the server DEFAULT, so the
|
|
310
|
+
* gateway collector's goose migrations create `otel_logs` / `otel_traces` /
|
|
311
|
+
* `otel_metrics_*` / `hyperdx_sessions` on the S3 policy without any
|
|
312
|
+
* `SETTINGS storage_policy` clause (see the SCHEMA caveat in
|
|
313
|
+
* `compositions/clickstack-bootstrap.ts`). These options exist for the two
|
|
314
|
+
* things the server default cannot express — TTL and the collector queue — and
|
|
315
|
+
* to surface the mode on the status contract.
|
|
316
|
+
*/
|
|
317
|
+
export interface ClickStackStorageOptions {
|
|
318
|
+
/** Storage mode of the external ClickHouse (default: 'pvc'). */
|
|
319
|
+
mode?: 'pvc' | 's3';
|
|
320
|
+
/** Object-storage disk type, echoed onto the status contract. */
|
|
321
|
+
diskType?: 's3' | 's3_plain_rewritable';
|
|
322
|
+
/** The external ClickHouse's default MergeTree policy (default: 's3_main'). */
|
|
323
|
+
policyName?: string;
|
|
324
|
+
/** Per-signal TTL, rendered as an idempotent DDL CronJob. */
|
|
325
|
+
retention?: ClickStackRetentionOptions;
|
|
326
|
+
/** Cron schedule for the retention DDL CronJob (default: '17 * * * *'). */
|
|
327
|
+
retentionSchedule?: string;
|
|
328
|
+
/** Image running `clickhouse-client` for the retention DDL. */
|
|
329
|
+
retentionImage?: string;
|
|
330
|
+
/** OTel gateway collector persistent sending queue. */
|
|
331
|
+
persistentQueue?: ClickStackPersistentQueueOptions;
|
|
332
|
+
}
|
|
198
333
|
/** Shared build-time options for both bootstrap variants. */
|
|
199
334
|
interface ClickStackBuildOptionsBase {
|
|
200
335
|
/**
|
|
@@ -214,6 +349,12 @@ interface ClickStackBuildOptionsBase {
|
|
|
214
349
|
name?: string;
|
|
215
350
|
/** KRO kind override. */
|
|
216
351
|
kind?: string;
|
|
352
|
+
/**
|
|
353
|
+
* The external ClickHouse's storage story and the ClickStack-side knobs that
|
|
354
|
+
* depend on it (TTL retention, collector persistent queue, status contract).
|
|
355
|
+
* Omit for the PVC default — existing behaviour is unchanged.
|
|
356
|
+
*/
|
|
357
|
+
storage?: ClickStackStorageOptions;
|
|
217
358
|
}
|
|
218
359
|
/** Build-time options for inline credentials with internal Mongo. */
|
|
219
360
|
export type ClickStackInlineInternalMongoBuildOptions = ClickStackBuildOptionsBase & {
|
|
@@ -446,18 +587,29 @@ export type ClickStackBootstrapRuntimeConfig = (ClickStackBootstrapConfig | Clic
|
|
|
446
587
|
* `fullnameOverride` is set) and the gateway Service is
|
|
447
588
|
* `<name>-otel-collector` (subchart naming off `.Release.Name`).
|
|
448
589
|
*
|
|
449
|
-
*
|
|
450
|
-
* HelmRelease
|
|
451
|
-
* KRO CR's status (GitOps/KRO consumers can read them): `ready`, `phase`,
|
|
590
|
+
* EVERY DECLARED FIELD IS OBSERVABLE THROUGH KRO. Fields anchored on the owned
|
|
591
|
+
* HelmRelease serialize as KRO status CEL directly: `ready`, `phase`,
|
|
452
592
|
* `ui.url`, `gateway.otlpHttpEndpoint`, `gateway.otlpGrpcEndpoint`,
|
|
453
593
|
* `app.host` — natural JS template literals over
|
|
454
594
|
* `clickstackHelmRelease.metadata.name`/`.namespace` (bimodal on typekro
|
|
455
595
|
* >= 0.24.0: status CEL in `factory('kro')`, concrete strings via direct-mode
|
|
456
596
|
* re-execution), never `schema.spec.*` (KRO status CEL cannot reference the
|
|
457
|
-
* instance spec).
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
*
|
|
597
|
+
* instance spec).
|
|
598
|
+
*
|
|
599
|
+
* `version` is anchored on that same HelmRelease — its chart pin,
|
|
600
|
+
* `clickstackHelmRelease.spec.chart.spec.version` — so the reported version is
|
|
601
|
+
* the one Flux is reconciling rather than an echo of the request.
|
|
602
|
+
*
|
|
603
|
+
* The remaining fields — `app.appPort`, `app.apiPort`, and the whole `storage`
|
|
604
|
+
* block — are CONSTRUCTION-TIME values with no owned resource that already
|
|
605
|
+
* carries them. Emitted as literals they were dropped by KRO, so the declared
|
|
606
|
+
* schema promised fields the live CR never carried. The composition instead
|
|
607
|
+
* writes them into a ConfigMap it OWNS (`<release>-contract`) and projects
|
|
608
|
+
* them back from that resource, so `kubectl get clickstackbootstraps -o yaml`
|
|
609
|
+
* shows the whole contract. The ConfigMap's values are strings, so the ports
|
|
610
|
+
* come back through CEL `int(...)` and `persistentQueue` through an
|
|
611
|
+
* `== "true"` comparison.
|
|
612
|
+
*
|
|
461
613
|
* Ports are the chart defaults (`hyperdx.ports`, `otel-collector.ports`);
|
|
462
614
|
* port overrides via build-time raw values are NOT reflected here.
|
|
463
615
|
*/
|
|
@@ -476,6 +628,17 @@ export declare const ClickStackBootstrapStatusSchema: import("arktype/internal/v
|
|
|
476
628
|
appPort: number;
|
|
477
629
|
apiPort: number;
|
|
478
630
|
};
|
|
631
|
+
storage: {
|
|
632
|
+
mode: "pvc" | "s3";
|
|
633
|
+
diskType?: "s3" | "s3_plain_rewritable";
|
|
634
|
+
policyName?: string;
|
|
635
|
+
retention?: {
|
|
636
|
+
logs?: string;
|
|
637
|
+
traces?: string;
|
|
638
|
+
metrics?: string;
|
|
639
|
+
};
|
|
640
|
+
persistentQueue?: boolean;
|
|
641
|
+
};
|
|
479
642
|
version?: string;
|
|
480
643
|
}, {}>;
|
|
481
644
|
/** Observed status type for ClickStack bootstrap. */
|
|
@@ -560,46 +723,62 @@ export declare const ClickStackHelmRepositoryConfigSchema: import("arktype/inter
|
|
|
560
723
|
}, {}>;
|
|
561
724
|
/** Configuration for the ClickStack HelmRepository wrapper. */
|
|
562
725
|
export type ClickStackHelmRepositoryConfig = typeof ClickStackHelmRepositoryConfigSchema.infer;
|
|
563
|
-
/**
|
|
564
|
-
|
|
726
|
+
/**
|
|
727
|
+
* ArkType schema for ClickStackHelmReleaseConfig.
|
|
728
|
+
*
|
|
729
|
+
* `values` and `valuesFrom` are validated as `object` / `object[]` and carry
|
|
730
|
+
* their precise TypeScript types through `.as<>()`. Neither is a shape ArkType
|
|
731
|
+
* can describe: a values tree is an OPEN chart-values document that may also
|
|
732
|
+
* be a runtime {@link ValuesMergeExpression}, and `valuesFrom` entries may be
|
|
733
|
+
* graph-aware {@link TypeKroValue}s. Restating either as a schema shape would
|
|
734
|
+
* make it a second source of truth for the chart's own values contract; the
|
|
735
|
+
* cast keeps the config INFERRED whole from this schema instead of needing a
|
|
736
|
+
* hand-written widening layer on top of `.infer`.
|
|
737
|
+
*/
|
|
738
|
+
export declare const ClickStackHelmReleaseConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
565
739
|
name: string;
|
|
566
740
|
namespace?: string;
|
|
567
741
|
version?: string;
|
|
568
742
|
repositoryName?: string;
|
|
569
743
|
repositoryNamespace?: string;
|
|
570
|
-
/** Official clickstack chart values (graph-aware trees / runtime merges allowed). */
|
|
571
744
|
values?: ClickStackMappedHelmValues;
|
|
572
|
-
/** Secret/ConfigMap values overlays resolved by Flux before inline values. */
|
|
573
745
|
valuesFrom?: TypeKroValue<HelmReleaseValuesFromSource>[];
|
|
574
746
|
id?: string;
|
|
575
|
-
}
|
|
576
|
-
/** Configuration for
|
|
577
|
-
export
|
|
747
|
+
}, {}>;
|
|
748
|
+
/** Configuration for the ClickStack HelmRelease wrapper. */
|
|
749
|
+
export type ClickStackHelmReleaseConfig = typeof ClickStackHelmReleaseConfigSchema.infer;
|
|
750
|
+
/**
|
|
751
|
+
* ArkType schema for OtelCollectorHelmReleaseConfig.
|
|
752
|
+
*
|
|
753
|
+
* See {@link ClickStackHelmReleaseConfigSchema} for why `values` is an
|
|
754
|
+
* `object` carrying its precise type through `.as<>()`.
|
|
755
|
+
*/
|
|
756
|
+
export declare const OtelCollectorHelmReleaseConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
578
757
|
name: string;
|
|
579
758
|
namespace?: string;
|
|
580
759
|
version?: string;
|
|
581
760
|
repositoryName?: string;
|
|
582
761
|
repositoryNamespace?: string;
|
|
583
|
-
/** Stock opentelemetry-collector chart values (graph-aware trees / runtime merges allowed). */
|
|
584
762
|
values?: OtelCollectorMappedHelmValues;
|
|
585
763
|
id?: string;
|
|
586
|
-
}
|
|
587
|
-
/** Configuration for
|
|
588
|
-
export
|
|
589
|
-
|
|
764
|
+
}, {}>;
|
|
765
|
+
/** Configuration for a stock opentelemetry-collector HelmRelease wrapper. */
|
|
766
|
+
export type OtelCollectorHelmReleaseConfig = typeof OtelCollectorHelmReleaseConfigSchema.infer;
|
|
767
|
+
/**
|
|
768
|
+
* ArkType schema for ClickStackMongoConfig.
|
|
769
|
+
*
|
|
770
|
+
* Configuration for the internal-mode MongoDB StatefulSet/Service pair.
|
|
771
|
+
*/
|
|
772
|
+
export declare const ClickStackMongoConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
590
773
|
name: string;
|
|
591
|
-
/** Target namespace. */
|
|
592
774
|
namespace: string;
|
|
593
|
-
/** PVC size (default: '5Gi'). Build-time concrete value. */
|
|
594
775
|
storageSize?: string;
|
|
595
|
-
/** Optional StorageClass for the PVC. Build-time concrete value. */
|
|
596
776
|
storageClassName?: string;
|
|
597
|
-
/** Mongo image (default: 'mongo:7'). */
|
|
598
777
|
image?: string;
|
|
599
|
-
/** Resource id for the StatefulSet. */
|
|
600
778
|
statefulSetId?: string;
|
|
601
|
-
/** Resource id for the Service. */
|
|
602
779
|
serviceId?: string;
|
|
603
|
-
}
|
|
780
|
+
}, {}>;
|
|
781
|
+
/** Configuration for the internal-mode MongoDB StatefulSet/Service pair. */
|
|
782
|
+
export type ClickStackMongoConfig = typeof ClickStackMongoConfigSchema.infer;
|
|
604
783
|
export {};
|
|
605
784
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,18 +203,29 @@ export const ClickStackSecretValuesExternalMongoBootstrapConfigSchema = type({
|
|
|
203
203
|
* `fullnameOverride` is set) and the gateway Service is
|
|
204
204
|
* `<name>-otel-collector` (subchart naming off `.Release.Name`).
|
|
205
205
|
*
|
|
206
|
-
*
|
|
207
|
-
* HelmRelease
|
|
208
|
-
* KRO CR's status (GitOps/KRO consumers can read them): `ready`, `phase`,
|
|
206
|
+
* EVERY DECLARED FIELD IS OBSERVABLE THROUGH KRO. Fields anchored on the owned
|
|
207
|
+
* HelmRelease serialize as KRO status CEL directly: `ready`, `phase`,
|
|
209
208
|
* `ui.url`, `gateway.otlpHttpEndpoint`, `gateway.otlpGrpcEndpoint`,
|
|
210
209
|
* `app.host` — natural JS template literals over
|
|
211
210
|
* `clickstackHelmRelease.metadata.name`/`.namespace` (bimodal on typekro
|
|
212
211
|
* >= 0.24.0: status CEL in `factory('kro')`, concrete strings via direct-mode
|
|
213
212
|
* re-execution), never `schema.spec.*` (KRO status CEL cannot reference the
|
|
214
|
-
* instance spec).
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
213
|
+
* instance spec).
|
|
214
|
+
*
|
|
215
|
+
* `version` is anchored on that same HelmRelease — its chart pin,
|
|
216
|
+
* `clickstackHelmRelease.spec.chart.spec.version` — so the reported version is
|
|
217
|
+
* the one Flux is reconciling rather than an echo of the request.
|
|
218
|
+
*
|
|
219
|
+
* The remaining fields — `app.appPort`, `app.apiPort`, and the whole `storage`
|
|
220
|
+
* block — are CONSTRUCTION-TIME values with no owned resource that already
|
|
221
|
+
* carries them. Emitted as literals they were dropped by KRO, so the declared
|
|
222
|
+
* schema promised fields the live CR never carried. The composition instead
|
|
223
|
+
* writes them into a ConfigMap it OWNS (`<release>-contract`) and projects
|
|
224
|
+
* them back from that resource, so `kubectl get clickstackbootstraps -o yaml`
|
|
225
|
+
* shows the whole contract. The ConfigMap's values are strings, so the ports
|
|
226
|
+
* come back through CEL `int(...)` and `persistentQueue` through an
|
|
227
|
+
* `== "true"` comparison.
|
|
228
|
+
*
|
|
218
229
|
* Ports are the chart defaults (`hyperdx.ports`, `otel-collector.ports`);
|
|
219
230
|
* port overrides via build-time raw values are NOT reflected here.
|
|
220
231
|
*/
|
|
@@ -223,7 +234,7 @@ export const ClickStackBootstrapStatusSchema = type({
|
|
|
223
234
|
ready: 'boolean',
|
|
224
235
|
/** Coarse phase from the owned HelmRelease Ready condition. */
|
|
225
236
|
phase: '"Ready" | "Installing" | "Failed"',
|
|
226
|
-
/**
|
|
237
|
+
/** Chart version pinned on the owned HelmRelease. */
|
|
227
238
|
'version?': 'string',
|
|
228
239
|
/** HyperDX UI. */
|
|
229
240
|
ui: {
|
|
@@ -246,6 +257,29 @@ export const ClickStackBootstrapStatusSchema = type({
|
|
|
246
257
|
/** API port. */
|
|
247
258
|
apiPort: 'number.integer',
|
|
248
259
|
},
|
|
260
|
+
/**
|
|
261
|
+
* Storage contract of the external ClickHouse this stack writes to, next to
|
|
262
|
+
* `gateway.otlpHttpEndpoint` so a consumer reads durability and ingest from
|
|
263
|
+
* one place. Construction-time values, PROJECTED from the owned
|
|
264
|
+
* `<release>-contract` ConfigMap so they appear on the live KRO CR status
|
|
265
|
+
* (same treatment as `app.appPort`/`apiPort` and `version`).
|
|
266
|
+
*/
|
|
267
|
+
storage: {
|
|
268
|
+
/** 'pvc' or 's3'. */
|
|
269
|
+
mode: '"pvc" | "s3"',
|
|
270
|
+
/** Object-storage disk type of the external ClickHouse. */
|
|
271
|
+
'diskType?': '"s3" | "s3_plain_rewritable"',
|
|
272
|
+
/** Default MergeTree storage policy the OTel tables are created on. */
|
|
273
|
+
'policyName?': 'string',
|
|
274
|
+
/** Configured per-signal TTL, when a retention CronJob is rendered. */
|
|
275
|
+
'retention?': {
|
|
276
|
+
'logs?': 'string',
|
|
277
|
+
'traces?': 'string',
|
|
278
|
+
'metrics?': 'string',
|
|
279
|
+
},
|
|
280
|
+
/** Whether the gateway collector uses a file-storage sending queue. */
|
|
281
|
+
'persistentQueue?': 'boolean',
|
|
282
|
+
},
|
|
249
283
|
});
|
|
250
284
|
/**
|
|
251
285
|
* ArkType schema for ClickStackK8sTelemetryConfig (runtime spec).
|
|
@@ -329,4 +363,68 @@ export const ClickStackHelmRepositoryConfigSchema = type({
|
|
|
329
363
|
'interval?': 'string',
|
|
330
364
|
'id?': 'string',
|
|
331
365
|
});
|
|
366
|
+
/**
|
|
367
|
+
* ArkType schema for ClickStackHelmReleaseConfig.
|
|
368
|
+
*
|
|
369
|
+
* `values` and `valuesFrom` are validated as `object` / `object[]` and carry
|
|
370
|
+
* their precise TypeScript types through `.as<>()`. Neither is a shape ArkType
|
|
371
|
+
* can describe: a values tree is an OPEN chart-values document that may also
|
|
372
|
+
* be a runtime {@link ValuesMergeExpression}, and `valuesFrom` entries may be
|
|
373
|
+
* graph-aware {@link TypeKroValue}s. Restating either as a schema shape would
|
|
374
|
+
* make it a second source of truth for the chart's own values contract; the
|
|
375
|
+
* cast keeps the config INFERRED whole from this schema instead of needing a
|
|
376
|
+
* hand-written widening layer on top of `.infer`.
|
|
377
|
+
*/
|
|
378
|
+
export const ClickStackHelmReleaseConfigSchema = type({
|
|
379
|
+
name: 'string',
|
|
380
|
+
'namespace?': 'string',
|
|
381
|
+
'version?': 'string',
|
|
382
|
+
'repositoryName?': 'string',
|
|
383
|
+
'repositoryNamespace?': 'string',
|
|
384
|
+
/** Official clickstack chart values (graph-aware trees / runtime merges allowed). */
|
|
385
|
+
'values?': type('object').as(),
|
|
386
|
+
/** Secret/ConfigMap values overlays resolved by Flux before inline values. */
|
|
387
|
+
'valuesFrom?': type('object[]').as(),
|
|
388
|
+
'id?': 'string',
|
|
389
|
+
});
|
|
390
|
+
/**
|
|
391
|
+
* ArkType schema for OtelCollectorHelmReleaseConfig.
|
|
392
|
+
*
|
|
393
|
+
* See {@link ClickStackHelmReleaseConfigSchema} for why `values` is an
|
|
394
|
+
* `object` carrying its precise type through `.as<>()`.
|
|
395
|
+
*/
|
|
396
|
+
export const OtelCollectorHelmReleaseConfigSchema = type({
|
|
397
|
+
name: 'string',
|
|
398
|
+
'namespace?': 'string',
|
|
399
|
+
'version?': 'string',
|
|
400
|
+
'repositoryName?': 'string',
|
|
401
|
+
'repositoryNamespace?': 'string',
|
|
402
|
+
/** Stock opentelemetry-collector chart values (graph-aware trees / runtime merges allowed). */
|
|
403
|
+
'values?': type('object').as(),
|
|
404
|
+
'id?': 'string',
|
|
405
|
+
});
|
|
406
|
+
// ============================================================================
|
|
407
|
+
// Internal Mongo resources
|
|
408
|
+
// ============================================================================
|
|
409
|
+
/**
|
|
410
|
+
* ArkType schema for ClickStackMongoConfig.
|
|
411
|
+
*
|
|
412
|
+
* Configuration for the internal-mode MongoDB StatefulSet/Service pair.
|
|
413
|
+
*/
|
|
414
|
+
export const ClickStackMongoConfigSchema = type({
|
|
415
|
+
/** ClickStack instance name; resources are named `<name>-mongodb`. */
|
|
416
|
+
name: 'string',
|
|
417
|
+
/** Target namespace. */
|
|
418
|
+
namespace: 'string',
|
|
419
|
+
/** PVC size (default: '5Gi'). Build-time concrete value. */
|
|
420
|
+
'storageSize?': 'string',
|
|
421
|
+
/** Optional StorageClass for the PVC. Build-time concrete value. */
|
|
422
|
+
'storageClassName?': 'string',
|
|
423
|
+
/** Mongo image (default: 'mongo:7'). */
|
|
424
|
+
'image?': 'string',
|
|
425
|
+
/** Resource id for the StatefulSet. */
|
|
426
|
+
'statefulSetId?': 'string',
|
|
427
|
+
/** Resource id for the Service. */
|
|
428
|
+
'serviceId?': 'string',
|
|
429
|
+
});
|
|
332
430
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAK/B,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,kFAAkF;IAClF,8BAA8B,EAAE,MAAM;IACtC,sEAAsE;IACtE,+BAA+B,EAAE,MAAM;IACvC,0EAA0E;IAC1E,cAAc,EAAE,8CAA8C;IAC9D,4DAA4D;IAC5D,8BAA8B,EAAE,MAAM;IACtC;;;OAGG;IACH,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,yBAAyB,GAAG;IAChC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;IACtD,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;CAC5C,CAAC;AAEX,MAAM,UAAU,GAAG;IACjB,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,qCAAqC;CAC5C,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition of the gateway collector's `custom.config.yaml` overlay.
|
|
3
|
+
*
|
|
4
|
+
* The ClickStack chart renders `global.otelCollector.customConfig` verbatim
|
|
5
|
+
* into a ConfigMap, mounts it at
|
|
6
|
+
* `/etc/otelcol-contrib/custom/custom.config.yaml`, and the OpAMP supervisor
|
|
7
|
+
* merges that file into the remote configuration it hands the agent. It is one
|
|
8
|
+
* YAML DOCUMENT, so every contributor to it has to land in ONE mapping.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ WHY THIS MODULE EXISTS — LIVE FINDING. The overlay used to be assembled by
|
|
11
|
+
* CONCATENATING two hand-written YAML strings: the ingest pipelines
|
|
12
|
+
* (`CLICKSTACK_INGEST_PIPELINES_CONFIG` in `helm-values-mapper.ts`) and the
|
|
13
|
+
* persistent queue's own wiring (`renderPersistentQueueConfig` in
|
|
14
|
+
* `storage.ts`). Both open a top-level `service:` key, so the concatenated
|
|
15
|
+
* document declared `service` twice and the supervisor rejected the WHOLE FILE
|
|
16
|
+
* on every poll:
|
|
17
|
+
*
|
|
18
|
+
* Could not merge local config file: /etc/otelcol-contrib/custom/custom.config.yaml
|
|
19
|
+
* yaml: unmarshal errors: line 18: mapping key "service" already defined at line 1
|
|
20
|
+
*
|
|
21
|
+
* The agent then ran with NEITHER the ingest pipelines NOR the queue — while
|
|
22
|
+
* the Pod still reported Ready, because readiness comes from the supervisor's
|
|
23
|
+
* `health_check` and not from the agent. Enabling the persistent queue was a
|
|
24
|
+
* silent no-op that also took OTLP ingestion down.
|
|
25
|
+
*
|
|
26
|
+
* So fragments are STRUCTURED OBJECTS here, deep-merged into a single document
|
|
27
|
+
* and serialised exactly once. Duplicate keys are unrepresentable: a colliding
|
|
28
|
+
* mapping key is either merged (two mappings, two sequences) or a loud
|
|
29
|
+
* construction-time error (anything else).
|
|
30
|
+
*
|
|
31
|
+
* ⚠️ THE MERGE IS A PUBLIC ENTRY POINT, so it treats fragment keys as
|
|
32
|
+
* UNTRUSTED. Names in a fragment come from caller options
|
|
33
|
+
* (`storage.persistentQueue.exporterNames`, `.extensions`) and become object
|
|
34
|
+
* keys, and JavaScript reserves a few of those — see
|
|
35
|
+
* {@link UNSAFE_MAPPING_KEYS} for the two live failure modes (a mutated
|
|
36
|
+
* `Object.prototype`, and a key the serialiser drops) and why the fix is a
|
|
37
|
+
* refusal plus null-prototype dictionaries rather than a filter.
|
|
38
|
+
*/
|
|
39
|
+
/** One structured contribution to the collector overlay. */
|
|
40
|
+
export type CollectorConfigFragment = Record<string, unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Reject a mapping key that would mean something to the object model.
|
|
43
|
+
*
|
|
44
|
+
* @param key - The candidate mapping key
|
|
45
|
+
* @param path - Path segments of the key's parent, for the error message
|
|
46
|
+
* @throws Error when the key is one of {@link UNSAFE_MAPPING_KEYS}
|
|
47
|
+
*/
|
|
48
|
+
export declare function assertSafeCollectorConfigKey(key: string, path?: readonly string[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Deep-merge collector overlay fragments into one document.
|
|
51
|
+
*
|
|
52
|
+
* EXPLICIT CONFLICT POLICY, because a silent winner here is exactly the class
|
|
53
|
+
* of bug this module was written to remove:
|
|
54
|
+
*
|
|
55
|
+
* - **mapping + mapping** → merged key by key, recursively.
|
|
56
|
+
* - **sequence + sequence** → concatenated, de-duplicated, order preserved.
|
|
57
|
+
* This is what makes `service.extensions` composable: a fragment that needs
|
|
58
|
+
* `file_storage/hyperdx` adds it without erasing what another fragment
|
|
59
|
+
* contributed. (It does NOT change the fact that the overlay's list REPLACES
|
|
60
|
+
* the supervisor's own — that merge happens later, inside the supervisor.)
|
|
61
|
+
* - **identical scalars** → kept.
|
|
62
|
+
* - **anything else** → THROWS, naming the path and both values. Two fragments
|
|
63
|
+
* disagreeing about a scalar (or about whether a key is a map, a list or a
|
|
64
|
+
* scalar) is a construction-time bug, and guessing which one wins would put
|
|
65
|
+
* the collector back into the silent-misconfiguration territory above.
|
|
66
|
+
*
|
|
67
|
+
* The result is a fresh structure: no fragment is mutated and nothing in the
|
|
68
|
+
* result aliases one, so a module-level fragment constant can be merged any
|
|
69
|
+
* number of times — see {@link cloneValue}.
|
|
70
|
+
*
|
|
71
|
+
* Every mapping in the result is a NULL-PROTOTYPE dictionary and every key is
|
|
72
|
+
* checked against {@link UNSAFE_MAPPING_KEYS} before it is used, at every
|
|
73
|
+
* depth. A fragment carrying `__proto__`, `constructor` or `prototype` as a
|
|
74
|
+
* mapping key is refused with the path named — it cannot reach
|
|
75
|
+
* `Object.prototype`, and it cannot be quietly dropped by the serialiser
|
|
76
|
+
* either.
|
|
77
|
+
*
|
|
78
|
+
* @param fragments - Structured overlay fragments, in precedence-free order
|
|
79
|
+
* @returns One merged configuration object (prototype-less at every level)
|
|
80
|
+
* @throws Error when two fragments set the same path to incompatible values,
|
|
81
|
+
* or when any fragment uses an object-model member as a mapping key
|
|
82
|
+
*/
|
|
83
|
+
export declare function mergeCollectorConfig(fragments: readonly CollectorConfigFragment[]): CollectorConfigFragment;
|
|
84
|
+
/**
|
|
85
|
+
* Merge overlay fragments and serialise them ONCE.
|
|
86
|
+
*
|
|
87
|
+
* The single `yaml.dump` is the point: a rendered overlay can no longer carry
|
|
88
|
+
* a duplicate top-level key, whatever its fragments contribute.
|
|
89
|
+
*
|
|
90
|
+
* ROUND-TRIP NOTE (VERIFIED, and pinned by a test): js-yaml is not the problem
|
|
91
|
+
* here. On the default schema `dump` EMITS a `__proto__` key and `load` reads
|
|
92
|
+
* it back as an ORDINARY own property without touching `Object.prototype`, so
|
|
93
|
+
* the document round-trips faithfully in both directions. The damage was
|
|
94
|
+
* entirely on this side of the serialiser — see {@link UNSAFE_MAPPING_KEYS} —
|
|
95
|
+
* and it is fixed there: the key is refused, so a rendered overlay never
|
|
96
|
+
* contains one to begin with.
|
|
97
|
+
*
|
|
98
|
+
* @param fragments - Structured overlay fragments
|
|
99
|
+
* @returns The `global.otelCollector.customConfig` document
|
|
100
|
+
* @throws Error when the fragments conflict or use an object-model member as a
|
|
101
|
+
* mapping key (see {@link mergeCollectorConfig})
|
|
102
|
+
*/
|
|
103
|
+
export declare function renderCollectorConfig(fragments: readonly CollectorConfigFragment[]): string;
|
|
104
|
+
//# sourceMappingURL=collector-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collector-config.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickstack/utils/collector-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,4DAA4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA8C9D;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,IAAI,CAU5F;AAsED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAC5C,uBAAuB,CAMzB;AAwCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,uBAAuB,EAAE,GAAG,MAAM,CAY3F"}
|