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.
Files changed (68) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/composition/nested-status-cel.d.ts +10 -11
  3. package/dist/core/composition/nested-status-cel.d.ts.map +1 -1
  4. package/dist/core/composition/nested-status-cel.js +13 -2
  5. package/dist/core/composition/nested-status-cel.js.map +1 -1
  6. package/dist/core/expressions/analysis/cache.d.ts.map +1 -1
  7. package/dist/core/expressions/analysis/cache.js +4 -0
  8. package/dist/core/expressions/analysis/cache.js.map +1 -1
  9. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  10. package/dist/core/validation/cel-validator.js +92 -52
  11. package/dist/core/validation/cel-validator.js.map +1 -1
  12. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +78 -0
  13. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -0
  14. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +251 -0
  15. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -0
  16. package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.d.ts +22 -0
  17. package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.d.ts.map +1 -0
  18. package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.js +35 -0
  19. package/dist/factories/clickhouse/compositions/clickhouse-helm-repository.js.map +1 -0
  20. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +68 -0
  21. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts.map +1 -0
  22. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +137 -0
  23. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js.map +1 -0
  24. package/dist/factories/clickhouse/compositions/index.d.ts +4 -0
  25. package/dist/factories/clickhouse/compositions/index.d.ts.map +1 -0
  26. package/dist/factories/clickhouse/compositions/index.js +4 -0
  27. package/dist/factories/clickhouse/compositions/index.js.map +1 -0
  28. package/dist/factories/clickhouse/index.d.ts +70 -0
  29. package/dist/factories/clickhouse/index.d.ts.map +1 -0
  30. package/dist/factories/clickhouse/index.js +70 -0
  31. package/dist/factories/clickhouse/index.js.map +1 -0
  32. package/dist/factories/clickhouse/resources/helm.d.ts +62 -0
  33. package/dist/factories/clickhouse/resources/helm.d.ts.map +1 -0
  34. package/dist/factories/clickhouse/resources/helm.js +94 -0
  35. package/dist/factories/clickhouse/resources/helm.js.map +1 -0
  36. package/dist/factories/clickhouse/resources/index.d.ts +4 -0
  37. package/dist/factories/clickhouse/resources/index.d.ts.map +1 -0
  38. package/dist/factories/clickhouse/resources/index.js +4 -0
  39. package/dist/factories/clickhouse/resources/index.js.map +1 -0
  40. package/dist/factories/clickhouse/resources/installation.d.ts +83 -0
  41. package/dist/factories/clickhouse/resources/installation.d.ts.map +1 -0
  42. package/dist/factories/clickhouse/resources/installation.js +316 -0
  43. package/dist/factories/clickhouse/resources/installation.js.map +1 -0
  44. package/dist/factories/clickhouse/resources/keeper.d.ts +40 -0
  45. package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -0
  46. package/dist/factories/clickhouse/resources/keeper.js +107 -0
  47. package/dist/factories/clickhouse/resources/keeper.js.map +1 -0
  48. package/dist/factories/clickhouse/types.d.ts +532 -0
  49. package/dist/factories/clickhouse/types.d.ts.map +1 -0
  50. package/dist/factories/clickhouse/types.js +295 -0
  51. package/dist/factories/clickhouse/types.js.map +1 -0
  52. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts +65 -0
  53. package/dist/factories/clickhouse/utils/helm-values-mapper.d.ts.map +1 -0
  54. package/dist/factories/clickhouse/utils/helm-values-mapper.js +80 -0
  55. package/dist/factories/clickhouse/utils/helm-values-mapper.js.map +1 -0
  56. package/dist/factories/clickhouse/utils/index.d.ts +4 -0
  57. package/dist/factories/clickhouse/utils/index.d.ts.map +1 -0
  58. package/dist/factories/clickhouse/utils/index.js +4 -0
  59. package/dist/factories/clickhouse/utils/index.js.map +1 -0
  60. package/dist/factories/clickhouse/utils/validation.d.ts +21 -0
  61. package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -0
  62. package/dist/factories/clickhouse/utils/validation.js +27 -0
  63. package/dist/factories/clickhouse/utils/validation.js.map +1 -0
  64. package/dist/factories/clickhouse/utils/zone-layout.d.ts +74 -0
  65. package/dist/factories/clickhouse/utils/zone-layout.d.ts.map +1 -0
  66. package/dist/factories/clickhouse/utils/zone-layout.js +103 -0
  67. package/dist/factories/clickhouse/utils/zone-layout.js.map +1 -0
  68. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/installation.ts"],"names":[],"mappings":"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"}
@@ -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"}