typekro 0.22.0 → 0.23.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/composition/nested-status-cel.d.ts +10 -11
- package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
- package/dist/core/composition/nested-status-cel.js +13 -2
- package/dist/core/composition/nested-status-cel.js.map +1 -1
- package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
- package/dist/core/expressions/analysis/cache.js +4 -0
- package/dist/core/expressions/analysis/cache.js.map +1 -1
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +92 -52
- package/dist/core/validation/cel-validator.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 +251 -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 +532 -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/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/installation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,YAAY;IACzB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAqB;IACzD,MAAM,QAAQ,GAAG,YAGJ,CAAC;IACd,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;IAEhC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,gCAAgC;YACzC,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,4BAA4B,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,SAAS;YAC5H,MAAM,EAAE,WAAW;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,0BAA0B,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,SAAS;YACrG,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACnF,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,6BAA6B;YACtC,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,gCAAgC,MAAM,CAAC,MAAM,EAAE;QACxD,MAAM,EAAE,eAAe;KACxB,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,mCAAmC,GAAG,8BAA8B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD,wDAAwD;AACxD,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAE3C,6CAA6C;AAC7C,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC,kFAAkF;AAClF,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,MAAgD;IAC9E,MAAM,MAAM,GAAG,CAAC,KAAa,EAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,kDAAkD;YACjF,gFAAgF;YAChF,yEAAyE;YACzE,6EAA6E;YAC7E,kFAAkF;YAClF,6EAA6E,CAChF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnC,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,KAAqE;IAErE,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,sBAAsB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0DAA0D;AAC1D,SAAS,uBAAuB,CAC9B,MAAgD;IAEhD,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,uEAAuE;IACvE,sEAAsE;IACtE,gEAAgE;IAChE,0BAA0B,CAAC,wBAAwB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,0BAA0B,CAAC,wBAAwB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,wBAAwB,CAAC;IACnE,MAAM,KAAK,GACT,MAAM,CAAC,KAAK,IAAI,GAAG,mCAAmC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAEjC,uEAAuE;IACvE,MAAM,OAAO,GAA4B;QACvC,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK;gBACL,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;aAC/D;SACF;KACF,CAAC;IAEF,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,oBAAoB,GAAG;QAC3B;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE;gBACJ,WAAW,EAAE,CAAC,eAAe,CAAC;gBAC9B,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBACzD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI;oBACrC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB;iBAClD,CAAC;aACH;SACF;KACF,CAAC;IAEF,IAAI,MAAmD,CAAC;IACxD,IAAI,YAA8B,CAAC;IACnC,IAAI,kBAAsC,CAAC;IAE3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,kEAAkE;QAClE,uEAAuE;QACvE,wEAAwE;QACxE,2DAA2D;QAC3D,MAAM,UAAU,GAAG,uBAAuB,CAAC;YACzC,YAAY,EAAE,QAAQ;YACtB,KAAK;YACL,mBAAmB,EAAE,iBAAiB;YACtC,OAAO;SACR,CAAC,CAAC;QACH,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QACvC,MAAM,GAAG;YACP,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE;wBACN,WAAW,EAAE,MAAM;wBACnB,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B;iBACF;aACF;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,qCAAqC;QACrC,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,kBAAkB,GAAG,iBAAiB,CAAC;QACvC,MAAM,GAAG;YACP,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE;wBACN,WAAW,EAAE,MAAM;wBACnB,aAAa,EAAE,QAAQ;qBACxB;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,GAAG,CAAC,kBAAkB,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;gBAC9D,uBAAuB,EAAE,oBAAoB;aAC9C;SACF;QACD,aAAa,EAAE;YACb,GAAG,MAAM;YACT,mEAAmE;YACnE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI;gBACnB,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;qBAC/D;iBACF;aACF,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3D;QACD,SAAS,EAAE;YACT,YAAY;YACZ,oBAAoB;SACrB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,oCAAoC,CAC3C,MAAgD;IAEhD,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,cAAc,CACnB;QACE,UAAU,EAAE,4BAA4B;QACxC,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;SACzD;QACD,IAAI;QACJ,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,EACD,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,CAC9C,CAAC,sBAAsB,CAAC,qBAAqB,CAG7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClickHouseKeeperInstallation (CHK) Factory
|
|
3
|
+
*
|
|
4
|
+
* Minimal typed factory for the `clickhouse-keeper.altinity.com/v1`
|
|
5
|
+
* ClickHouseKeeperInstallation CRD (coordination service for replicated
|
|
6
|
+
* ClickHouse tables — the modern replacement for ZooKeeper), managed by the
|
|
7
|
+
* same Altinity clickhouse-operator install as CHI resources.
|
|
8
|
+
*/
|
|
9
|
+
import type { Composable, Enhanced, ResourceStatus } from '../../../core/types/index.js';
|
|
10
|
+
import type { ClickHouseKeeperInstallationConfig, ClickHouseKeeperInstallationSpec, ClickHouseKeeperInstallationStatus } from '../types.js';
|
|
11
|
+
/**
|
|
12
|
+
* CHK Readiness Evaluator
|
|
13
|
+
*
|
|
14
|
+
* CHK reports the same `status.status` reconcile state machine as CHI
|
|
15
|
+
* ('InProgress' | 'Completed' | 'Aborted' | 'Terminating' — shared operator
|
|
16
|
+
* status code), so the CHI evaluator applies verbatim.
|
|
17
|
+
*/
|
|
18
|
+
export declare function chkReadinessEvaluator(liveResource: unknown): ResourceStatus;
|
|
19
|
+
/**
|
|
20
|
+
* ClickHouseKeeperInstallation Factory
|
|
21
|
+
*
|
|
22
|
+
* @param config - High-level keeper configuration
|
|
23
|
+
* @returns Enhanced ClickHouseKeeperInstallation resource with readiness
|
|
24
|
+
* evaluation
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const keeper = clickHouseKeeperInstallation({
|
|
29
|
+
* name: 'keeper',
|
|
30
|
+
* namespace: 'observability',
|
|
31
|
+
* replicas: 3, // odd count for quorum
|
|
32
|
+
* storage: { size: '10Gi', storageClassName: 'gp3-expandable' },
|
|
33
|
+
* id: 'clickhouseKeeper',
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
declare function createClickHouseKeeperInstallationResource(config: Composable<ClickHouseKeeperInstallationConfig>): Enhanced<ClickHouseKeeperInstallationSpec, ClickHouseKeeperInstallationStatus>;
|
|
38
|
+
export declare const clickHouseKeeperInstallation: typeof createClickHouseKeeperInstallationResource;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=keeper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keeper.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/keeper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGzF,OAAO,KAAK,EACV,kCAAkC,EAClC,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,cAAc,CAE3E;AA2DD;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,0CAA0C,CACjD,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,GACrD,QAAQ,CAAC,gCAAgC,EAAE,kCAAkC,CAAC,CAmBhF;AAED,eAAO,MAAM,4BAA4B,mDAA6C,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ClickHouseKeeperInstallation (CHK) Factory
|
|
3
|
+
*
|
|
4
|
+
* Minimal typed factory for the `clickhouse-keeper.altinity.com/v1`
|
|
5
|
+
* ClickHouseKeeperInstallation CRD (coordination service for replicated
|
|
6
|
+
* ClickHouse tables — the modern replacement for ZooKeeper), managed by the
|
|
7
|
+
* same Altinity clickhouse-operator install as CHI resources.
|
|
8
|
+
*/
|
|
9
|
+
import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
|
|
10
|
+
import { createResource } from '../../shared.js';
|
|
11
|
+
import { assertPositiveIntegerCount } from '../utils/validation.js';
|
|
12
|
+
import { chiReadinessEvaluator } from './installation.js';
|
|
13
|
+
/** Name of the generated keeper data volume claim template. */
|
|
14
|
+
const KEEPER_DATA_VOLUME_TEMPLATE = 'data-volume';
|
|
15
|
+
/**
|
|
16
|
+
* CHK Readiness Evaluator
|
|
17
|
+
*
|
|
18
|
+
* CHK reports the same `status.status` reconcile state machine as CHI
|
|
19
|
+
* ('InProgress' | 'Completed' | 'Aborted' | 'Terminating' — shared operator
|
|
20
|
+
* status code), so the CHI evaluator applies verbatim.
|
|
21
|
+
*/
|
|
22
|
+
export function chkReadinessEvaluator(liveResource) {
|
|
23
|
+
return chiReadinessEvaluator(liveResource);
|
|
24
|
+
}
|
|
25
|
+
/** Compile the high-level config into a CHK spec. */
|
|
26
|
+
function compileKeeperSpec(config) {
|
|
27
|
+
// LOUD build-time validation: the compiler BRANCHES on these (storage
|
|
28
|
+
// presence selects the volume-claim template block; replicas defaults via
|
|
29
|
+
// `?? 1`), so schema refs here would silently mis-compile. Storage SIZE and
|
|
30
|
+
// class are plain values and may be refs.
|
|
31
|
+
for (const field of ['storage', 'replicas']) {
|
|
32
|
+
if (isKubernetesRef(config[field]) || isCelExpression(config[field])) {
|
|
33
|
+
throw new Error(`clickHouseKeeperInstallation: '${field}' is a BUILD-TIME field and received a ` +
|
|
34
|
+
`schema reference or CEL expression — pass a concrete value (the compiler ` +
|
|
35
|
+
`branches on it at graph-construction time).`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const replicas = config.replicas ?? 1;
|
|
39
|
+
// A CHK layout with `replicasCount: 0` (or a fractional/negative count) is
|
|
40
|
+
// invalid operator input — same shared validation as the CHI paths.
|
|
41
|
+
assertPositiveIntegerCount('clickHouseKeeperInstallation', 'replicas', replicas);
|
|
42
|
+
return {
|
|
43
|
+
configuration: {
|
|
44
|
+
clusters: [
|
|
45
|
+
{
|
|
46
|
+
name: config.name,
|
|
47
|
+
layout: { replicasCount: replicas },
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
...(config.storage && {
|
|
52
|
+
defaults: {
|
|
53
|
+
templates: {
|
|
54
|
+
dataVolumeClaimTemplate: KEEPER_DATA_VOLUME_TEMPLATE,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
templates: {
|
|
58
|
+
volumeClaimTemplates: [
|
|
59
|
+
{
|
|
60
|
+
name: KEEPER_DATA_VOLUME_TEMPLATE,
|
|
61
|
+
spec: {
|
|
62
|
+
accessModes: ['ReadWriteOnce'],
|
|
63
|
+
resources: { requests: { storage: config.storage.size } },
|
|
64
|
+
// On EKS: use a WaitForFirstConsumer + expandable gp3 class.
|
|
65
|
+
...(config.storage.storageClassName && {
|
|
66
|
+
storageClassName: config.storage.storageClassName,
|
|
67
|
+
}),
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* ClickHouseKeeperInstallation Factory
|
|
77
|
+
*
|
|
78
|
+
* @param config - High-level keeper configuration
|
|
79
|
+
* @returns Enhanced ClickHouseKeeperInstallation resource with readiness
|
|
80
|
+
* evaluation
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const keeper = clickHouseKeeperInstallation({
|
|
85
|
+
* name: 'keeper',
|
|
86
|
+
* namespace: 'observability',
|
|
87
|
+
* replicas: 3, // odd count for quorum
|
|
88
|
+
* storage: { size: '10Gi', storageClassName: 'gp3-expandable' },
|
|
89
|
+
* id: 'clickhouseKeeper',
|
|
90
|
+
* });
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
function createClickHouseKeeperInstallationResource(config) {
|
|
94
|
+
const spec = compileKeeperSpec(config);
|
|
95
|
+
return createResource({
|
|
96
|
+
apiVersion: 'clickhouse-keeper.altinity.com/v1',
|
|
97
|
+
kind: 'ClickHouseKeeperInstallation',
|
|
98
|
+
metadata: {
|
|
99
|
+
name: config.name,
|
|
100
|
+
...(config.namespace && { namespace: config.namespace }),
|
|
101
|
+
},
|
|
102
|
+
spec,
|
|
103
|
+
...(config.id && { id: config.id }),
|
|
104
|
+
}, { scope: 'namespaced', dnsAddressable: true }).withReadinessEvaluator(chkReadinessEvaluator);
|
|
105
|
+
}
|
|
106
|
+
export const clickHouseKeeperInstallation = createClickHouseKeeperInstallationResource;
|
|
107
|
+
//# sourceMappingURL=keeper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keeper.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/keeper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+DAA+D;AAC/D,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAqB;IACzD,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,qDAAqD;AACrD,SAAS,iBAAiB,CACxB,MAAsD;IAEtD,sEAAsE;IACtE,0EAA0E;IAC1E,4EAA4E;IAC5E,0CAA0C;IAC1C,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,UAAU,CAAU,EAAE,CAAC;QACrD,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,yCAAyC;gBAC9E,2EAA2E;gBAC3E,6CAA6C,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,2EAA2E;IAC3E,oEAAoE;IACpE,0BAA0B,CAAC,8BAA8B,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEjF,OAAO;QACL,aAAa,EAAE;YACb,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE;iBACpC;aACF;SACF;QACD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI;YACpB,QAAQ,EAAE;gBACR,SAAS,EAAE;oBACT,uBAAuB,EAAE,2BAA2B;iBACrD;aACF;YACD,SAAS,EAAE;gBACT,oBAAoB,EAAE;oBACpB;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE;4BACJ,WAAW,EAAE,CAAC,eAAe,CAAC;4BAC9B,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;4BACzD,6DAA6D;4BAC7D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI;gCACrC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB;6BAClD,CAAC;yBACH;qBACF;iBACF;aACF;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,0CAA0C,CACjD,MAAsD;IAEtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO,cAAc,CACnB;QACE,UAAU,EAAE,mCAAmC;QAC/C,IAAI,EAAE,8BAA8B;QACpC,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;SACzD;QACD,IAAI;QACJ,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,EACD,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,CAC9C,CAAC,sBAAsB,CAAC,qBAAqB,CAG7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,0CAA0C,CAAC"}
|