typekro 0.22.1 → 0.24.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/core/deployment/kro-factory.d.ts +19 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +60 -6
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/proxy/create-resource.d.ts.map +1 -1
- package/dist/core/proxy/create-resource.js +37 -0
- package/dist/core/proxy/create-resource.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +21 -5
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +78 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +258 -0
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -0
- package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.d.ts +22 -0
- package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.d.ts.map +1 -0
- package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.js +35 -0
- package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.js.map +1 -0
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +68 -0
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts.map +1 -0
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +137 -0
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js.map +1 -0
- package/dist/factories/clickhouse/compositions/index.d.ts +4 -0
- package/dist/factories/clickhouse/compositions/index.d.ts.map +1 -0
- package/dist/factories/clickhouse/compositions/index.js +4 -0
- package/dist/factories/clickhouse/compositions/index.js.map +1 -0
- package/dist/factories/clickhouse/index.d.ts +70 -0
- package/dist/factories/clickhouse/index.d.ts.map +1 -0
- package/dist/factories/clickhouse/index.js +70 -0
- package/dist/factories/clickhouse/index.js.map +1 -0
- package/dist/factories/clickhouse/resources/helm.d.ts +62 -0
- package/dist/factories/clickhouse/resources/helm.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/helm.js +94 -0
- package/dist/factories/clickhouse/resources/helm.js.map +1 -0
- package/dist/factories/clickhouse/resources/index.d.ts +4 -0
- package/dist/factories/clickhouse/resources/index.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/index.js +4 -0
- package/dist/factories/clickhouse/resources/index.js.map +1 -0
- package/dist/factories/clickhouse/resources/installation.d.ts +83 -0
- package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/installation.js +316 -0
- package/dist/factories/clickhouse/resources/installation.js.map +1 -0
- package/dist/factories/clickhouse/resources/keeper.d.ts +40 -0
- package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -0
- package/dist/factories/clickhouse/resources/keeper.js +107 -0
- package/dist/factories/clickhouse/resources/keeper.js.map +1 -0
- package/dist/factories/clickhouse/types.d.ts +552 -0
- package/dist/factories/clickhouse/types.d.ts.map +1 -0
- package/dist/factories/clickhouse/types.js +295 -0
- package/dist/factories/clickhouse/types.js.map +1 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +65 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.js +80 -0
- package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/clickhouse/utils/index.d.ts +4 -0
- package/dist/factories/clickhouse/utils/index.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/index.js +4 -0
- package/dist/factories/clickhouse/utils/index.js.map +1 -0
- package/dist/factories/clickhouse/utils/validation.d.ts +21 -0
- package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/validation.js +27 -0
- package/dist/factories/clickhouse/utils/validation.js.map +1 -0
- package/dist/factories/clickhouse/utils/zone-layout.d.ts +74 -0
- package/dist/factories/clickhouse/utils/zone-layout.d.ts.map +1 -0
- package/dist/factories/clickhouse/utils/zone-layout.js +103 -0
- package/dist/factories/clickhouse/utils/zone-layout.js.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +248 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +251 -0
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-helm-repository.d.ts +23 -0
- package/dist/factories/clickstack/compositions/clickstack-helm-repository.d.ts.map +1 -0
- package/dist/factories/clickstack/compositions/clickstack-helm-repository.js +36 -0
- package/dist/factories/clickstack/compositions/clickstack-helm-repository.js.map +1 -0
- package/dist/factories/clickstack/compositions/index.d.ts +5 -0
- package/dist/factories/clickstack/compositions/index.d.ts.map +1 -0
- package/dist/factories/clickstack/compositions/index.js +5 -0
- package/dist/factories/clickstack/compositions/index.js.map +1 -0
- package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +83 -0
- package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts.map +1 -0
- package/dist/factories/clickstack/compositions/k8s-telemetry.js +134 -0
- package/dist/factories/clickstack/compositions/k8s-telemetry.js.map +1 -0
- package/dist/factories/clickstack/compositions/otel-helm-repository.d.ts +18 -0
- package/dist/factories/clickstack/compositions/otel-helm-repository.d.ts.map +1 -0
- package/dist/factories/clickstack/compositions/otel-helm-repository.js +31 -0
- package/dist/factories/clickstack/compositions/otel-helm-repository.js.map +1 -0
- package/dist/factories/clickstack/index.d.ts +40 -0
- package/dist/factories/clickstack/index.d.ts.map +1 -0
- package/dist/factories/clickstack/index.js +40 -0
- package/dist/factories/clickstack/index.js.map +1 -0
- package/dist/factories/clickstack/resources/helm.d.ts +78 -0
- package/dist/factories/clickstack/resources/helm.d.ts.map +1 -0
- package/dist/factories/clickstack/resources/helm.js +139 -0
- package/dist/factories/clickstack/resources/helm.js.map +1 -0
- package/dist/factories/clickstack/resources/index.d.ts +3 -0
- package/dist/factories/clickstack/resources/index.d.ts.map +1 -0
- package/dist/factories/clickstack/resources/index.js +3 -0
- package/dist/factories/clickstack/resources/index.js.map +1 -0
- package/dist/factories/clickstack/resources/mongo.d.ts +40 -0
- package/dist/factories/clickstack/resources/mongo.d.ts.map +1 -0
- package/dist/factories/clickstack/resources/mongo.js +122 -0
- package/dist/factories/clickstack/resources/mongo.js.map +1 -0
- package/dist/factories/clickstack/types.d.ts +483 -0
- package/dist/factories/clickstack/types.d.ts.map +1 -0
- package/dist/factories/clickstack/types.js +300 -0
- package/dist/factories/clickstack/types.js.map +1 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +118 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.js +505 -0
- package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/clickstack/utils/index.d.ts +2 -0
- package/dist/factories/clickstack/utils/index.d.ts.map +1 -0
- package/dist/factories/clickstack/utils/index.js +2 -0
- package/dist/factories/clickstack/utils/index.js.map +1 -0
- package/dist/factories/index.d.ts +1 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -0
- package/dist/factories/index.js.map +1 -1
- package/package.json +9 -1
|
@@ -345,17 +345,33 @@ export function createResourcesProxy(resources) {
|
|
|
345
345
|
// but converts field access to resource references instead of schema references
|
|
346
346
|
proxiedResources[resourceKey] = new Proxy(resourceRecord, {
|
|
347
347
|
get(target, prop) {
|
|
348
|
-
if (prop === 'metadata') {
|
|
349
|
-
return resourceRecord.metadata;
|
|
350
|
-
}
|
|
351
348
|
if (prop === 'kind') {
|
|
352
349
|
return resourceRecord.kind;
|
|
353
350
|
}
|
|
354
351
|
if (prop === 'apiVersion') {
|
|
355
352
|
return resourceRecord.apiVersion;
|
|
356
353
|
}
|
|
357
|
-
if (prop === 'spec' || prop === 'status') {
|
|
358
|
-
// Return a proxy that converts the MagicProxy field access to resource references
|
|
354
|
+
if (prop === 'spec' || prop === 'status' || prop === 'metadata') {
|
|
355
|
+
// Return a proxy that converts the MagicProxy field access to resource references.
|
|
356
|
+
//
|
|
357
|
+
// `metadata` used to be special-cased to a verbatim pass-through of the ENHANCED
|
|
358
|
+
// resource's own `.metadata` value (`return resourceRecord.metadata`). That value is
|
|
359
|
+
// whatever the resource's own template stored — e.g. `clickHouseInstallation({ name:
|
|
360
|
+
// schema.spec.name })` stores the SCHEMA ref itself in `metadata.name` — so
|
|
361
|
+
// `someResource.metadata.name` read inside a status builder silently returned the
|
|
362
|
+
// ORIGINAL schema reference (`schema.spec.name`) instead of a resource-anchored one
|
|
363
|
+
// (`resourceId: 'someResource', fieldPath: 'metadata.name'`).
|
|
364
|
+
//
|
|
365
|
+
// That is observably wrong two ways: (1) KRO-mode serialization: a status field built
|
|
366
|
+
// from `resource.metadata.name` classified as schema-derived and was silently dropped
|
|
367
|
+
// from the live KRO CR's status (the field genuinely IS resource-derived — the API
|
|
368
|
+
// server echoes `metadata.name`, no different from `.status.*` fields, which ARE
|
|
369
|
+
// proxied correctly here); (2) direct-mode hydration: a status field built via a raw
|
|
370
|
+
// CEL-string workaround for (1) had no live JS binding to the resource at all, so
|
|
371
|
+
// direct mode's live-status re-execution (`deepMergeLiveStatus`) could never resolve
|
|
372
|
+
// it either — the underlying resource id/fieldPath info that hydration keys off never
|
|
373
|
+
// existed. `metadata` (like `spec`/`status`) is live, resource-anchored data once the
|
|
374
|
+
// resource is deployed — it gets the SAME resource-ref treatment.
|
|
359
375
|
return createResourceMagicProxy(resourceKey, prop);
|
|
360
376
|
}
|
|
361
377
|
// For all other properties, return the original value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-proxy.js","sourceRoot":"","sources":["../../../src/core/references/schema-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-proxy.js","sourceRoot":"","sources":["../../../src/core/references/schema-proxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAgC9D,SAAS,sBAAsB,CAAC,SAAiB,EAAE,IAAqB;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAmB;IAC7C,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,IAAI,GAAG,UAKZ,CAAC;IACF,0FAA0F;IAC1F,kEAAkE;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAc,SAAiB,EAAE,UAAoB;IAClF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,sCAAsC;IACxC,CAAC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzF,yDAAyD;IACzD,+FAA+F;IAC/F,2FAA2F;IAC3F,0FAA0F;IAC1F,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,oEAAoE;IACpE,iFAAiF;IACjF,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,sBAAsB,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC;IAElF,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,yCAAyC;YACzC,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnF,OAAO,MAAM,CAAC,IAA2B,CAAC,CAAC;YAC7C,CAAC;YAED,gFAAgF;YAChF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,GAAG,EAAE,CAAC,+BAA+B,SAAS,IAAI,CAAC;YAC5D,CAAC;YAED,+EAA+E;YAC/E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,GAAG,EAAE,CAAC,+BAA+B,SAAS,IAAI,CAAC;YAC5D,CAAC;YAED,0EAA0E;YAC1E,qEAAqE;YACrE,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAClG,CAAC;YAED,qFAAqF;YACrF,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,OAAO,QAAQ,CAAC;oBACd,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC,CAAC;YACJ,CAAC;YAED,4EAA4E;YAC5E,kFAAkF;YAClF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;oBAC7B,sEAAsE;oBACtE,8DAA8D;oBAC9D,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1B,+DAA+D;oBAC/D,OAAO,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;oBAC7B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC;YACX,CAAC;YAED,yCAAyC;YACzC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3D,OAAO,MAAM,CAAC,IAA2B,CAAC,CAAC;YAC7C,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,8CAA8C;YAC9C,MAAM,SAAS,GACb,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,OAAO,sBAAsB,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACpF,CAAC;QAED,yDAAyD;QACzD,0CAA0C;QAC1C,EAAE;QACF,+DAA+D;QAC/D,kEAAkE;QAClE,qCAAqC;QACrC,kEAAkE;QAClE,kEAAkE;QAClE,iEAAiE;QACjE,2DAA2D;QAC3D,4CAA4C;QAC5C,kEAAkE;QAClE,kEAAkE;QAClE,iEAAiE;QACjE,EAAE;QACF,4DAA4D;QAC5D,+DAA+D;QAC/D,4DAA4D;QAC5D,6DAA6D;QAC7D,wCAAwC;QACxC,OAAO,CAAC,MAAM;YACZ,mEAAmE;YACnE,6DAA6D;YAC7D,iEAAiE;YACjE,yDAAyD;YACzD,0DAA0D;YAC1D,+CAA+C;YAC/C,EAAE;YACF,iEAAiE;YACjE,6DAA6D;YAC7D,gEAAgE;YAChE,0DAA0D;YAC1D,8DAA8D;YAC9D,4DAA4D;YAC5D,6DAA6D;YAC7D,8DAA8D;YAC9D,2DAA2D;YAC3D,qDAAqD;YACrD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAkB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,0EAA0E;gBAC1E,uEAAuE;gBACvE,iEAAiE;gBACjE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,IAAI;YACnC,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrF,OAAO;oBACL,KAAK,EAAE,sBAAsB,CAC3B,GAAG,SAAS,IAAI,IAAI,EAAE,EACtB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB;oBACD,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClC,OAAO;oBACL,KAAK,EAAE,sBAAsB,CAAC,GAAG,SAAS,qBAAqB,CAAC;oBAChE,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;YACD,wDAAwD;YACxD,6DAA6D;YAC7D,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;KACF,CAAiB,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,aAAqB,EACrB,eAAuC;IAEvC,gFAAgF;IAChF,6EAA6E;IAC7E,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,sBAAsB,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9B,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAgC,EAAE,EAAE;oBAC1C,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,OAAO,QAAQ,CAAC;oBACd,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC,CAAC;YACJ,CAAC;YACD,wCAAwC;YACxC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAC7B,QAAgB,EAChB,UAAoB;IAEpB,kEAAkE;IAClE,MAAM,MAAM,GAAG,EAAO,CAAC;IAEvB,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC,IAAe,CAAC,CAAC;YAC9B,CAAC;YAED,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACrC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,MAAM,SAAS,GACb,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,OAAO,sBAAsB,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACnF,CAAC;QACD,OAAO;YACL,IAAI,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,+DAA+D;YAC/D,iEAAiE;YACjE,kDAAkD;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,wBAAwB,CAAC,IAAI,EAAE,IAAI;YACjC,IACE,KAAK,EAAE,IAAI,KAAK,QAAQ;gBACxB,OAAO,IAAI,KAAK,QAAQ;gBACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,sBAAsB,CAC3B,GAAG,QAAQ,IAAI,IAAI,EAAE,EACrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB;oBACD,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAwB,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,iBAAiB,CAG/B,QAAkB,EAAE,UAAoB;IACxC,OAAO;QACL,IAAI,EAAE,sBAAsB,CAAQ,MAAM,EAAE,QAAQ,CAAC;QACrD,MAAM,EAAE,sBAAsB,CAAU,QAAQ,EAAE,UAAU,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAA2B;IAC3D,OAAO,GAAG,CAAC,UAAU,KAAK,YAAY,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAqB;IAErB,MAAM,gBAAgB,GAA4B,EAAE,CAAC;IAErD,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,QAII,CAAC;QAC5B,gEAAgE;QAChE,gFAAgF;QAChF,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;YACxD,GAAG,CAAC,MAAM,EAAE,IAAY;gBACtB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,OAAO,cAAc,CAAC,IAAI,CAAC;gBAC7B,CAAC;gBACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC1B,OAAO,cAAc,CAAC,UAAU,CAAC;gBACnC,CAAC;gBACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChE,mFAAmF;oBACnF,EAAE;oBACF,iFAAiF;oBACjF,qFAAqF;oBACrF,qFAAqF;oBACrF,4EAA4E;oBAC5E,kFAAkF;oBAClF,oFAAoF;oBACpF,8DAA8D;oBAC9D,EAAE;oBACF,sFAAsF;oBACtF,sFAAsF;oBACtF,mFAAmF;oBACnF,iFAAiF;oBACjF,qFAAqF;oBACrF,kFAAkF;oBAClF,qFAAqF;oBACrF,sFAAsF;oBACtF,sFAAsF;oBACtF,kEAAkE;oBAClE,OAAO,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,sDAAsD;gBACtD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,gBAA8B,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,UAAkB,EAAE,SAAiB;IACrE,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAc,UAAkB,EAAE,SAAiB;IAClF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,sCAAsC;IACxC,CAAC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzF,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,yCAAyC;YACzC,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnF,OAAO,MAAM,CAAC,IAA2B,CAAC,CAAC;YAC7C,CAAC;YAED,gFAAgF;YAChF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,GAAG,EAAE,CAAC,oBAAoB,UAAU,IAAI,SAAS,IAAI,CAAC;YAC/D,CAAC;YAED,+EAA+E;YAC/E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,GAAG,EAAE,CAAC,oBAAoB,UAAU,IAAI,SAAS,IAAI,CAAC;YAC/D,CAAC;YAED,kFAAkF;YAClF,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,UAAU,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACrG,CAAC;YAED,yCAAyC;YACzC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3D,OAAO,MAAM,CAAC,IAA2B,CAAC,CAAC;YAC7C,CAAC;YAED,wDAAwD;YACxD,OAAO,wBAAwB,CAAC,UAAU,EAAE,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACvF,CAAC;KACF,CAAiB,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClickHouse Cluster Composition (build-time topology constructor)
|
|
3
|
+
*
|
|
4
|
+
* `makeClickHouseCluster(topology)` separates the two halves of a CHI
|
|
5
|
+
* honestly:
|
|
6
|
+
*
|
|
7
|
+
* - BUILD-TIME topology (`zones`, `replicas`, `shards`, `keeper` presence,
|
|
8
|
+
* user names/networks) is fixed when the composition is CONSTRUCTED. The
|
|
9
|
+
* zone-pinned layout enumerates pod templates and per-replica entries, so
|
|
10
|
+
* it can never be instance-dynamic (the operator's own `podDistribution`
|
|
11
|
+
* supports only the hostname topologyKey — Altinity/clickhouse-operator
|
|
12
|
+
* issue #772 — and EBS volumes are zonal, so replicas must be pinned).
|
|
13
|
+
*
|
|
14
|
+
* - RUNTIME spec (`name`, `namespace`, `version`, `storage`, `clusterName`,
|
|
15
|
+
* keeper host, per-user password hashes) flows through as schema proxies
|
|
16
|
+
* and serializes to clean CEL in kro mode.
|
|
17
|
+
*
|
|
18
|
+
* Same construction pattern as `makeCaddyIngress`: build-time options select
|
|
19
|
+
* the resource/schema shape statically — no runtime `includeWhen`
|
|
20
|
+
* conditionals, no accepted-but-ignored spec fields.
|
|
21
|
+
*/
|
|
22
|
+
import type { CallableComposition } from '../../../core/types/deployment.js';
|
|
23
|
+
import { type ClickHouseClusterSpec, type ClickHouseClusterStatus, type ClickHouseClusterTopology } from '../types.js';
|
|
24
|
+
/** Native (TCP) ClickHouse port — operator default ChDefaultTCPPortNumber. */
|
|
25
|
+
export declare const CLICKHOUSE_NATIVE_PORT = 9000;
|
|
26
|
+
/** HTTP interface port — operator default ChDefaultHTTPPortNumber. */
|
|
27
|
+
export declare const CLICKHOUSE_HTTP_PORT = 8123;
|
|
28
|
+
/** Default Keeper/ZooKeeper client port — operator default KpDefaultZKPortNumber. */
|
|
29
|
+
export declare const CLICKHOUSE_KEEPER_PORT = 2181;
|
|
30
|
+
/** Default database exposed on the status contract. */
|
|
31
|
+
export declare const CLICKHOUSE_DEFAULT_DATABASE = "default";
|
|
32
|
+
/** Default allowed source networks for declared users. */
|
|
33
|
+
export declare const DEFAULT_USER_NETWORKS_IP: readonly ["::/0"];
|
|
34
|
+
/**
|
|
35
|
+
* Construct a ClickHouse cluster composition with a FIXED topology.
|
|
36
|
+
*
|
|
37
|
+
* The result is a normal TypeKro composition: use it directly
|
|
38
|
+
* (`factory('kro').deploy({...})`) or nest it in other compositions with
|
|
39
|
+
* schema references for every runtime field.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const clickhouse = makeClickHouseCluster({
|
|
44
|
+
* zones: ['us-east-2a', 'us-east-2b'], // zone-pinned replicas (EBS is zonal)
|
|
45
|
+
* replicas: 2,
|
|
46
|
+
* shards: 1,
|
|
47
|
+
* users: [{ name: 'signoz' }], // names are build-time path fragments
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* await clickhouse.factory('kro').deploy({
|
|
51
|
+
* name: 'signoz-clickhouse',
|
|
52
|
+
* namespace: 'observability',
|
|
53
|
+
* version: '25.12.5',
|
|
54
|
+
* storage: { size: '100Gi', storageClassName: 'gp3-expandable' },
|
|
55
|
+
* keeper: { host: 'keeper-signoz.observability.svc.cluster.local' },
|
|
56
|
+
* users: { signoz: { passwordSha256Hex: '...' } },
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* Downstream compositions consume the typed service contract:
|
|
61
|
+
* ```typescript
|
|
62
|
+
* signoz({
|
|
63
|
+
* clickhouse: {
|
|
64
|
+
* host: ch.status.clickhouse.host,
|
|
65
|
+
* port: ch.status.clickhouse.port,
|
|
66
|
+
* cluster: ch.status.clickhouse.clusterName,
|
|
67
|
+
* },
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function makeClickHouseCluster(topology?: ClickHouseClusterTopology): CallableComposition<ClickHouseClusterSpec, ClickHouseClusterStatus>;
|
|
72
|
+
/**
|
|
73
|
+
* The default single-node cluster composition (1 shard, 1 replica, no zones,
|
|
74
|
+
* no keeper, no declared users). See {@link makeClickHouseCluster} for
|
|
75
|
+
* topology options.
|
|
76
|
+
*/
|
|
77
|
+
export declare const clickHouseCluster: CallableComposition<ClickHouseClusterSpec, ClickHouseClusterStatus>;
|
|
78
|
+
//# sourceMappingURL=clickhouse-cluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-cluster.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-cluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAE/B,MAAM,aAAa,CAAC;AAOrB,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,uDAAuD;AACvD,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,0DAA0D;AAC1D,eAAO,MAAM,wBAAwB,mBAAoB,CAAC;AA0E1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,yBAA8B,GACvC,mBAAmB,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CA8IrE;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qEAA0B,CAAC"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClickHouse Cluster Composition (build-time topology constructor)
|
|
3
|
+
*
|
|
4
|
+
* `makeClickHouseCluster(topology)` separates the two halves of a CHI
|
|
5
|
+
* honestly:
|
|
6
|
+
*
|
|
7
|
+
* - BUILD-TIME topology (`zones`, `replicas`, `shards`, `keeper` presence,
|
|
8
|
+
* user names/networks) is fixed when the composition is CONSTRUCTED. The
|
|
9
|
+
* zone-pinned layout enumerates pod templates and per-replica entries, so
|
|
10
|
+
* it can never be instance-dynamic (the operator's own `podDistribution`
|
|
11
|
+
* supports only the hostname topologyKey — Altinity/clickhouse-operator
|
|
12
|
+
* issue #772 — and EBS volumes are zonal, so replicas must be pinned).
|
|
13
|
+
*
|
|
14
|
+
* - RUNTIME spec (`name`, `namespace`, `version`, `storage`, `clusterName`,
|
|
15
|
+
* keeper host, per-user password hashes) flows through as schema proxies
|
|
16
|
+
* and serializes to clean CEL in kro mode.
|
|
17
|
+
*
|
|
18
|
+
* Same construction pattern as `makeCaddyIngress`: build-time options select
|
|
19
|
+
* the resource/schema shape statically — no runtime `includeWhen`
|
|
20
|
+
* conditionals, no accepted-but-ignored spec fields.
|
|
21
|
+
*/
|
|
22
|
+
import { type } from 'arktype';
|
|
23
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
24
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
25
|
+
import { ClickHouseClusterStatusSchema, } from '../types.js';
|
|
26
|
+
import { clickHouseInstallation, DEFAULT_CHI_CLUSTER_NAME, } from '../resources/installation.js';
|
|
27
|
+
import { assertPositiveIntegerCount } from '../utils/validation.js';
|
|
28
|
+
/** Native (TCP) ClickHouse port — operator default ChDefaultTCPPortNumber. */
|
|
29
|
+
export const CLICKHOUSE_NATIVE_PORT = 9000;
|
|
30
|
+
/** HTTP interface port — operator default ChDefaultHTTPPortNumber. */
|
|
31
|
+
export const CLICKHOUSE_HTTP_PORT = 8123;
|
|
32
|
+
/** Default Keeper/ZooKeeper client port — operator default KpDefaultZKPortNumber. */
|
|
33
|
+
export const CLICKHOUSE_KEEPER_PORT = 2181;
|
|
34
|
+
/** Default database exposed on the status contract. */
|
|
35
|
+
export const CLICKHOUSE_DEFAULT_DATABASE = 'default';
|
|
36
|
+
/** Default allowed source networks for declared users. */
|
|
37
|
+
export const DEFAULT_USER_NETWORKS_IP = ['::/0'];
|
|
38
|
+
/** Resource id of the CHI inside the composition graph. */
|
|
39
|
+
const CHI_RESOURCE_ID = 'clickhouse';
|
|
40
|
+
function resolveTopology(topology) {
|
|
41
|
+
const replicas = topology.replicas ?? 1;
|
|
42
|
+
const shards = topology.shards ?? 1;
|
|
43
|
+
// Fail at CONSTRUCTION time (not first serialization): counts are
|
|
44
|
+
// build-time topology, and zero/fractional/negative counts compile to
|
|
45
|
+
// invalid operator input (`replicasCount: 0` / `shardsCount: 0`).
|
|
46
|
+
assertPositiveIntegerCount('makeClickHouseCluster', 'replicas', replicas);
|
|
47
|
+
assertPositiveIntegerCount('makeClickHouseCluster', 'shards', shards);
|
|
48
|
+
return {
|
|
49
|
+
zones: topology.zones ?? [],
|
|
50
|
+
replicas,
|
|
51
|
+
shards,
|
|
52
|
+
// Replicated tables need coordination — default keeper on for
|
|
53
|
+
// multi-replica clusters unless the caller opts out explicitly.
|
|
54
|
+
keeper: topology.keeper ?? replicas > 1,
|
|
55
|
+
users: (topology.users ?? []).map((user) => ({
|
|
56
|
+
name: user.name,
|
|
57
|
+
networksIp: user.networksIp ?? DEFAULT_USER_NETWORKS_IP,
|
|
58
|
+
})),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build the runtime spec ArkType schema for a resolved topology. The SHAPE of
|
|
63
|
+
* the schema is a build-time product: `keeper` is required iff the topology
|
|
64
|
+
* enables it, and one `users.<name>` entry (with a required password hash) is
|
|
65
|
+
* required per declared user — user names are literal schema keys, never
|
|
66
|
+
* dynamic path fragments.
|
|
67
|
+
*/
|
|
68
|
+
function buildSpecSchema(topology) {
|
|
69
|
+
const definition = {
|
|
70
|
+
name: 'string',
|
|
71
|
+
namespace: 'string',
|
|
72
|
+
version: 'string',
|
|
73
|
+
'clusterName?': 'string',
|
|
74
|
+
storage: {
|
|
75
|
+
size: 'string',
|
|
76
|
+
'storageClassName?': 'string',
|
|
77
|
+
},
|
|
78
|
+
'podResources?': {
|
|
79
|
+
'requests?': { 'cpu?': 'string', 'memory?': 'string' },
|
|
80
|
+
'limits?': { 'cpu?': 'string', 'memory?': 'string' },
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
if (topology.keeper) {
|
|
84
|
+
definition.keeper = { host: 'string', 'port?': 'number' };
|
|
85
|
+
}
|
|
86
|
+
if (topology.users.length > 0) {
|
|
87
|
+
definition.users = Object.fromEntries(topology.users.map((user) => [user.name, { passwordSha256Hex: 'string' }]));
|
|
88
|
+
}
|
|
89
|
+
return type(definition);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Construct a ClickHouse cluster composition with a FIXED topology.
|
|
93
|
+
*
|
|
94
|
+
* The result is a normal TypeKro composition: use it directly
|
|
95
|
+
* (`factory('kro').deploy({...})`) or nest it in other compositions with
|
|
96
|
+
* schema references for every runtime field.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const clickhouse = makeClickHouseCluster({
|
|
101
|
+
* zones: ['us-east-2a', 'us-east-2b'], // zone-pinned replicas (EBS is zonal)
|
|
102
|
+
* replicas: 2,
|
|
103
|
+
* shards: 1,
|
|
104
|
+
* users: [{ name: 'signoz' }], // names are build-time path fragments
|
|
105
|
+
* });
|
|
106
|
+
*
|
|
107
|
+
* await clickhouse.factory('kro').deploy({
|
|
108
|
+
* name: 'signoz-clickhouse',
|
|
109
|
+
* namespace: 'observability',
|
|
110
|
+
* version: '25.12.5',
|
|
111
|
+
* storage: { size: '100Gi', storageClassName: 'gp3-expandable' },
|
|
112
|
+
* keeper: { host: 'keeper-signoz.observability.svc.cluster.local' },
|
|
113
|
+
* users: { signoz: { passwordSha256Hex: '...' } },
|
|
114
|
+
* });
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* Downstream compositions consume the typed service contract:
|
|
118
|
+
* ```typescript
|
|
119
|
+
* signoz({
|
|
120
|
+
* clickhouse: {
|
|
121
|
+
* host: ch.status.clickhouse.host,
|
|
122
|
+
* port: ch.status.clickhouse.port,
|
|
123
|
+
* cluster: ch.status.clickhouse.clusterName,
|
|
124
|
+
* },
|
|
125
|
+
* });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export function makeClickHouseCluster(topology = {}) {
|
|
129
|
+
const resolved = resolveTopology(topology);
|
|
130
|
+
const specSchema = buildSpecSchema(resolved);
|
|
131
|
+
const firstUserName = resolved.users[0]?.name;
|
|
132
|
+
return kubernetesComposition({
|
|
133
|
+
name: 'clickhouse-cluster',
|
|
134
|
+
kind: 'ClickHouseCluster',
|
|
135
|
+
spec: specSchema,
|
|
136
|
+
status: ClickHouseClusterStatusSchema,
|
|
137
|
+
}, (spec) => {
|
|
138
|
+
const clusterName = spec.clusterName ?? DEFAULT_CHI_CLUSTER_NAME;
|
|
139
|
+
// Runtime credentials pair with build-time user names by LITERAL key:
|
|
140
|
+
// `spec.users.<name>.passwordSha256Hex` is a plain schema path, so it
|
|
141
|
+
// serializes to clean CEL. Names/networks come from the topology.
|
|
142
|
+
const users = resolved.users.map((user) => ({
|
|
143
|
+
name: user.name,
|
|
144
|
+
// biome-ignore lint/style/noNonNullAssertion: the generated schema requires one users.<name> entry per declared user
|
|
145
|
+
passwordSha256Hex: spec.users[user.name].passwordSha256Hex,
|
|
146
|
+
networksIp: [...user.networksIp],
|
|
147
|
+
}));
|
|
148
|
+
const clickhouse = clickHouseInstallation({
|
|
149
|
+
name: spec.name,
|
|
150
|
+
namespace: spec.namespace,
|
|
151
|
+
version: spec.version,
|
|
152
|
+
clusterName,
|
|
153
|
+
// BUILD-TIME topology — concrete values from the constructor.
|
|
154
|
+
shards: resolved.shards,
|
|
155
|
+
replicas: resolved.replicas,
|
|
156
|
+
...(resolved.zones.length > 0 ? { zones: [...resolved.zones] } : {}),
|
|
157
|
+
storage: {
|
|
158
|
+
size: spec.storage.size,
|
|
159
|
+
storageClassName: spec.storage.storageClassName,
|
|
160
|
+
},
|
|
161
|
+
...(users.length > 0 ? { users } : {}),
|
|
162
|
+
...(resolved.keeper
|
|
163
|
+
? {
|
|
164
|
+
keeper: {
|
|
165
|
+
// biome-ignore lint/style/noNonNullAssertion: the generated schema requires keeper when the topology enables it
|
|
166
|
+
host: spec.keeper.host,
|
|
167
|
+
port: spec.keeper?.port ?? CLICKHOUSE_KEEPER_PORT,
|
|
168
|
+
},
|
|
169
|
+
}
|
|
170
|
+
: {}),
|
|
171
|
+
podResources: spec.podResources,
|
|
172
|
+
id: CHI_RESOURCE_ID,
|
|
173
|
+
});
|
|
174
|
+
// Connection contract derived from the operator's ACTUAL naming
|
|
175
|
+
// (release-0.27.1): the CR-level Service is `clickhouse-{chi-name}`
|
|
176
|
+
// (type ClusterIP; pkg/model/chi/namer/patterns.go +
|
|
177
|
+
// pkg/model/chi/creator/service.go), listening on native 9000 /
|
|
178
|
+
// HTTP 8123 (type_host.go defaults). Per-host services
|
|
179
|
+
// (`chi-{chi}-{cluster}-{shard}-{replica}`) exist too but the CR
|
|
180
|
+
// service is the stable entrypoint.
|
|
181
|
+
//
|
|
182
|
+
// DERIVED FROM THE OWNED CHI RESOURCE (not schema.spec): KRO status
|
|
183
|
+
// CEL cannot reference schema.spec.*, so a spec-derived field is
|
|
184
|
+
// classified static (client-hydrated) and DROPPED from the KRO CR's
|
|
185
|
+
// status. Anchoring the derivation on the CHI resource
|
|
186
|
+
// (`clickhouse.metadata.*` / `clickhouse.spec.*`) makes these
|
|
187
|
+
// serialize as KRO status CEL, so GitOps/KRO consumers see the
|
|
188
|
+
// connection contract on the live CR.
|
|
189
|
+
//
|
|
190
|
+
// The string concats are RAW Cel.expr over the resource id: the
|
|
191
|
+
// status-builder proxy passes `metadata` values through verbatim
|
|
192
|
+
// (which would resolve back to schema.spec.name → static), and the
|
|
193
|
+
// serializer inlines CelExpression-valued template fields (like the
|
|
194
|
+
// defaulted clusterName / keeper port) back to their schema
|
|
195
|
+
// expressions — a raw resource-path expression survives both. Port
|
|
196
|
+
// constants ride INSIDE the resource-derived URL strings; the BARE
|
|
197
|
+
// constant fields (port/database/user) have no resource anchor and
|
|
198
|
+
// stay client-hydrated — see ClickHouseClusterStatus for the split.
|
|
199
|
+
const chiMeta = `${CHI_RESOURCE_ID}.metadata`;
|
|
200
|
+
const chiHostCel = `"clickhouse-" + ${chiMeta}.name + "." + ${chiMeta}.namespace + ".svc.cluster.local"`;
|
|
201
|
+
return {
|
|
202
|
+
ready: clickhouse.status.status === 'Completed',
|
|
203
|
+
phase: clickhouse.status.status === 'Completed'
|
|
204
|
+
? 'Ready'
|
|
205
|
+
: clickhouse.status.status === 'Aborted'
|
|
206
|
+
? 'Failed'
|
|
207
|
+
: 'Installing',
|
|
208
|
+
clickhouse: {
|
|
209
|
+
host: Cel.expr(chiHostCel),
|
|
210
|
+
// Bare numeric constant — client-hydrated only (no resource
|
|
211
|
+
// anchor); the port also appears in the KRO-visible URLs below.
|
|
212
|
+
port: CLICKHOUSE_NATIVE_PORT,
|
|
213
|
+
nativeUrl: Cel.expr(`"clickhouse://" + ${chiHostCel} + ":${CLICKHOUSE_NATIVE_PORT}"`),
|
|
214
|
+
httpUrl: Cel.expr(`"http://" + ${chiHostCel} + ":${CLICKHOUSE_HTTP_PORT}"`),
|
|
215
|
+
// The resolved logical cluster name is IN the owned CHI
|
|
216
|
+
// (configuration.clusters[0].name), so read it from there — the
|
|
217
|
+
// `spec.clusterName ?? default` expression itself is schema-only
|
|
218
|
+
// and would be dropped.
|
|
219
|
+
clusterName: Cel.expr(`${CHI_RESOURCE_ID}.spec.configuration.clusters[0].name`),
|
|
220
|
+
database: CLICKHOUSE_DEFAULT_DATABASE,
|
|
221
|
+
...(firstUserName ? { user: firstUserName } : {}),
|
|
222
|
+
},
|
|
223
|
+
...(resolved.keeper
|
|
224
|
+
? {
|
|
225
|
+
keeper: {
|
|
226
|
+
// Echo the keeper endpoint from the CHI's own zookeeper
|
|
227
|
+
// section (resource-derived → lands in KRO status) rather
|
|
228
|
+
// than from schema.spec.keeper (static → dropped).
|
|
229
|
+
host: Cel.expr(`${CHI_RESOURCE_ID}.spec.configuration.zookeeper.nodes[0].host`),
|
|
230
|
+
port: Cel.expr(`${CHI_RESOURCE_ID}.spec.configuration.zookeeper.nodes[0].port`),
|
|
231
|
+
},
|
|
232
|
+
}
|
|
233
|
+
: {}),
|
|
234
|
+
installation: {
|
|
235
|
+
// CHI identity from the owned resource (same reachability rule).
|
|
236
|
+
name: Cel.expr(`${chiMeta}.name`),
|
|
237
|
+
namespace: Cel.expr(`${chiMeta}.namespace`),
|
|
238
|
+
endpoint: clickhouse.status.endpoint,
|
|
239
|
+
// The operator's REAL CHI status fields are `hosts`/`hostsCompleted` — verified against
|
|
240
|
+
// the installed CRD's OpenAPI schema on a live cluster. `hostsCount`/`hostsCompletedCount`
|
|
241
|
+
// do not exist on the resource and made KRO reject the RGD outright ("undefined field
|
|
242
|
+
// 'hostsCompletedCount'", GraphAccepted=False, state Inactive) — caught only by a LIVE
|
|
243
|
+
// admission run; the CEL type-checker has no notion of the operator's real CRD schema.
|
|
244
|
+
// The PUBLIC contract keeps the more explicit field names the review asked for; only the
|
|
245
|
+
// CEL source reference changes.
|
|
246
|
+
hostsCount: clickhouse.status.hosts,
|
|
247
|
+
hostsCompletedCount: clickhouse.status.hostsCompleted,
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* The default single-node cluster composition (1 shard, 1 replica, no zones,
|
|
254
|
+
* no keeper, no declared users). See {@link makeClickHouseCluster} for
|
|
255
|
+
* topology options.
|
|
256
|
+
*/
|
|
257
|
+
export const clickHouseCluster = makeClickHouseCluster();
|
|
258
|
+
//# sourceMappingURL=clickhouse-cluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-cluster.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-cluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Altinity HelmRepository singleton.
|
|
3
|
+
*
|
|
4
|
+
* The official Altinity chart repository (https://helm.altinity.com) is a
|
|
5
|
+
* single cluster-level Flux source — the same URL serves every consumer.
|
|
6
|
+
* Deploying it inline in the `clickhouseOperatorBootstrap` RGD would make
|
|
7
|
+
* each instance's KRO ApplySet try to *own* the HelmRepository exclusively,
|
|
8
|
+
* so a second instance of the RGD fails to reconcile ("resource belongs to a
|
|
9
|
+
* different ApplySet ... cannot reassign"). Modelling the repository as its
|
|
10
|
+
* own composition lets the bootstrap consume it via `singleton(...)`, so one
|
|
11
|
+
* shared HelmRepository is owned outside any single instance's ApplySet and
|
|
12
|
+
* the operator HelmRelease references it by the same `sourceRef`.
|
|
13
|
+
* (Same pattern as the Dagster bootstrap's shared repository.)
|
|
14
|
+
*/
|
|
15
|
+
export declare const clickhouseHelmRepositoryBootstrap: import("../../../index.js").CallableComposition<{
|
|
16
|
+
name: string;
|
|
17
|
+
namespace: string;
|
|
18
|
+
url: string;
|
|
19
|
+
}, {
|
|
20
|
+
ready: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=clickhouse-helm-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-helm-repository.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-helm-repository.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iCAAiC;;;;;;EAsB7C,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
3
|
+
import { clickhouseHelmRepository } from '../resources/helm.js';
|
|
4
|
+
import { ClickHouseHelmRepositorySingletonSpecSchema, ClickHouseHelmRepositorySingletonStatusSchema, } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Shared Altinity HelmRepository singleton.
|
|
7
|
+
*
|
|
8
|
+
* The official Altinity chart repository (https://helm.altinity.com) is a
|
|
9
|
+
* single cluster-level Flux source — the same URL serves every consumer.
|
|
10
|
+
* Deploying it inline in the `clickhouseOperatorBootstrap` RGD would make
|
|
11
|
+
* each instance's KRO ApplySet try to *own* the HelmRepository exclusively,
|
|
12
|
+
* so a second instance of the RGD fails to reconcile ("resource belongs to a
|
|
13
|
+
* different ApplySet ... cannot reassign"). Modelling the repository as its
|
|
14
|
+
* own composition lets the bootstrap consume it via `singleton(...)`, so one
|
|
15
|
+
* shared HelmRepository is owned outside any single instance's ApplySet and
|
|
16
|
+
* the operator HelmRelease references it by the same `sourceRef`.
|
|
17
|
+
* (Same pattern as the Dagster bootstrap's shared repository.)
|
|
18
|
+
*/
|
|
19
|
+
export const clickhouseHelmRepositoryBootstrap = kubernetesComposition({
|
|
20
|
+
name: 'clickhouse-helm-repository',
|
|
21
|
+
kind: 'ClickHouseHelmRepository',
|
|
22
|
+
spec: ClickHouseHelmRepositorySingletonSpecSchema,
|
|
23
|
+
status: ClickHouseHelmRepositorySingletonStatusSchema,
|
|
24
|
+
}, (spec) => {
|
|
25
|
+
const repository = clickhouseHelmRepository({
|
|
26
|
+
name: spec.name,
|
|
27
|
+
namespace: spec.namespace,
|
|
28
|
+
url: spec.url,
|
|
29
|
+
id: 'repository',
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
ready: Cel.expr(repository.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=clickhouse-helm-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-helm-repository.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-helm-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,2CAA2C,EAC3C,6CAA6C,GAC9C,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CACpE;IACE,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,2CAA2C;IACjD,MAAM,EAAE,6CAA6C;CACtD,EACD,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,UAAU,GAAG,wBAAwB,CAAC;QAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,EAAE,EAAE,YAAY;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,UAAU,CAAC,MAAM,CAAC,UAAU,EAC5B,qDAAqD,CACtD;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Altinity clickhouse-operator Bootstrap Composition
|
|
3
|
+
*
|
|
4
|
+
* Deploys the OFFICIAL Altinity clickhouse-operator via HelmRepository and
|
|
5
|
+
* HelmRelease resources (chart `altinity-clickhouse-operator` 0.27.x from
|
|
6
|
+
* https://helm.altinity.com, Apache-2.0). Build-around: we wrap the official
|
|
7
|
+
* chart — never hand-rolled operator manifests.
|
|
8
|
+
*
|
|
9
|
+
* IMPORTANT — ONE OPERATOR PER CLUSTER: the operator is cluster-scoped and
|
|
10
|
+
* owns the ClickHouse CRDs (`clickhouseinstallations`,
|
|
11
|
+
* `clickhouseinstallationtemplates`, `clickhouseoperatorconfigurations` under
|
|
12
|
+
* `clickhouse.altinity.com/v1`; `clickhousekeeperinstallations` under
|
|
13
|
+
* `clickhouse-keeper.altinity.com/v1`). Install it exactly once; every
|
|
14
|
+
* `clickHouseInstallation()`/`clickHouseKeeperInstallation()` in the cluster
|
|
15
|
+
* is reconciled by that single install. The default `shared: true` tags the
|
|
16
|
+
* operator resources with `scopes: ['cluster']` so instance deletion leaves
|
|
17
|
+
* the shared operator intact.
|
|
18
|
+
*
|
|
19
|
+
* This composition:
|
|
20
|
+
* 1. Creates the target namespace
|
|
21
|
+
* 2. References the shared Altinity HelmRepository singleton
|
|
22
|
+
* 3. Creates a HelmRelease that installs the operator
|
|
23
|
+
*
|
|
24
|
+
* After the operator is running, use `clickHouseInstallation()` and
|
|
25
|
+
* `clickHouseKeeperInstallation()` to create ClickHouse resources.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const operatorFactory = clickhouseOperatorBootstrap.factory('kro', {
|
|
30
|
+
* namespace: 'clickhouse-system',
|
|
31
|
+
* waitForReady: true,
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* await operatorFactory.deploy({
|
|
35
|
+
* name: 'clickhouse-operator',
|
|
36
|
+
* namespace: 'clickhouse-system',
|
|
37
|
+
* version: '0.27.1',
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const clickhouseOperatorBootstrap: import("../../../index.js").CallableComposition<{
|
|
42
|
+
name: string;
|
|
43
|
+
namespace?: string;
|
|
44
|
+
version?: string;
|
|
45
|
+
metrics?: {
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
};
|
|
48
|
+
crdHook?: {
|
|
49
|
+
enabled?: boolean;
|
|
50
|
+
};
|
|
51
|
+
resources?: {
|
|
52
|
+
requests?: {
|
|
53
|
+
cpu?: string;
|
|
54
|
+
memory?: string;
|
|
55
|
+
};
|
|
56
|
+
limits?: {
|
|
57
|
+
cpu?: string;
|
|
58
|
+
memory?: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
customValues?: Record<string, unknown>;
|
|
62
|
+
shared?: boolean;
|
|
63
|
+
}, {
|
|
64
|
+
phase: "Ready" | "Installing";
|
|
65
|
+
ready: boolean;
|
|
66
|
+
version?: string;
|
|
67
|
+
}>;
|
|
68
|
+
//# sourceMappingURL=clickhouse-operator-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-operator-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-operator-bootstrap.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGvC,CAAC"}
|