typekro 0.35.0 → 0.36.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 (62) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/alchemy/kro-delete.d.ts +7 -0
  3. package/dist/alchemy/kro-delete.d.ts.map +1 -1
  4. package/dist/alchemy/kro-delete.js +28 -4
  5. package/dist/alchemy/kro-delete.js.map +1 -1
  6. package/dist/alchemy/resource-registration.d.ts +9 -2
  7. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  8. package/dist/alchemy/resource-registration.js +117 -33
  9. package/dist/alchemy/resource-registration.js.map +1 -1
  10. package/dist/core/deployment/k8s-helpers.d.ts +77 -1
  11. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
  12. package/dist/core/deployment/k8s-helpers.js +298 -17
  13. package/dist/core/deployment/k8s-helpers.js.map +1 -1
  14. package/dist/core/deployment/kro-artifact-binding-migration.d.ts +17 -6
  15. package/dist/core/deployment/kro-artifact-binding-migration.d.ts.map +1 -1
  16. package/dist/core/deployment/kro-artifact-binding-migration.js +16 -2
  17. package/dist/core/deployment/kro-artifact-binding-migration.js.map +1 -1
  18. package/dist/core/deployment/kro-namespace-teardown.d.ts +15 -1
  19. package/dist/core/deployment/kro-namespace-teardown.d.ts.map +1 -1
  20. package/dist/core/deployment/kro-namespace-teardown.js +34 -9
  21. package/dist/core/deployment/kro-namespace-teardown.js.map +1 -1
  22. package/dist/core/deployment/kro-readiness.d.ts +35 -0
  23. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  24. package/dist/core/deployment/kro-readiness.js +201 -25
  25. package/dist/core/deployment/kro-readiness.js.map +1 -1
  26. package/dist/core/deployment/poll-timeout.d.ts +80 -2
  27. package/dist/core/deployment/poll-timeout.d.ts.map +1 -1
  28. package/dist/core/deployment/poll-timeout.js +164 -4
  29. package/dist/core/deployment/poll-timeout.js.map +1 -1
  30. package/dist/core/kubernetes/bun-http-library.d.ts +24 -0
  31. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  32. package/dist/core/kubernetes/bun-http-library.js +146 -19
  33. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  34. package/dist/core/kubernetes/errors.d.ts +9 -0
  35. package/dist/core/kubernetes/errors.d.ts.map +1 -1
  36. package/dist/core/kubernetes/errors.js +7 -3
  37. package/dist/core/kubernetes/errors.js.map +1 -1
  38. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +24 -2
  39. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
  40. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +24 -2
  41. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
  42. package/dist/factories/clickhouse/resources/keeper.d.ts +61 -0
  43. package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -1
  44. package/dist/factories/clickhouse/resources/keeper.js +216 -2
  45. package/dist/factories/clickhouse/resources/keeper.js.map +1 -1
  46. package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -1
  47. package/dist/factories/clickhouse/resources/s3-backup.js +4 -3
  48. package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -1
  49. package/dist/factories/clickhouse/types.d.ts +3 -2
  50. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  51. package/dist/factories/clickhouse/types.js +28 -1
  52. package/dist/factories/clickhouse/types.js.map +1 -1
  53. package/dist/factories/clickhouse/utils/validation.d.ts +133 -10
  54. package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
  55. package/dist/factories/clickhouse/utils/validation.js +165 -18
  56. package/dist/factories/clickhouse/utils/validation.js.map +1 -1
  57. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +15 -1
  58. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
  59. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +15 -1
  60. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
  61. package/dist/factories/rook/types.d.ts +16 -16
  62. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsCrE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA6CxD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6B5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAkBA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/kubernetes/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsCrE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD;AAGD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAOrD,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA6CxD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6B5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB,CAkBA"}
@@ -112,15 +112,19 @@ export function isConflictError(error) {
112
112
  /**
113
113
  * HTTP status codes that are typically retryable.
114
114
  * These indicate temporary issues that may resolve on retry.
115
+ *
116
+ * @internal Exported so the read-error classifier in `../deployment/k8s-helpers.ts` can answer
117
+ * "is this status transient?" from this one list rather than keeping a second copy that could
118
+ * drift from it.
115
119
  */
116
- const RETRYABLE_STATUS_CODES = [
120
+ export const RETRYABLE_STATUS_CODES = new Set([
117
121
  408, // Request Timeout
118
122
  429, // Too Many Requests
119
123
  500, // Internal Server Error
120
124
  502, // Bad Gateway
121
125
  503, // Service Unavailable
122
126
  504, // Gateway Timeout
123
- ];
127
+ ]);
124
128
  /**
125
129
  * Check if an error is retryable.
126
130
  *
@@ -149,7 +153,7 @@ const RETRYABLE_STATUS_CODES = [
149
153
  export function isRetryableError(error) {
150
154
  // Check for retryable HTTP status codes
151
155
  const statusCode = getErrorStatusCode(error);
152
- if (statusCode !== undefined && RETRYABLE_STATUS_CODES.includes(statusCode)) {
156
+ if (statusCode !== undefined && RETRYABLE_STATUS_CODES.has(statusCode)) {
153
157
  return true;
154
158
  }
155
159
  // Check for network errors by message content
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/kubernetes/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/kubernetes/errors.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,30 @@ export declare const DEFAULT_USER_NETWORKS_IP: readonly ["::/0"];
35
35
  export declare const DEFAULT_CLICKHOUSE_CLUSTER_RGD_NAME = "clickhouse-cluster";
36
36
  /** Default KRO kind generated by the cluster composition. */
37
37
  export declare const DEFAULT_CLICKHOUSE_CLUSTER_KIND = "ClickHouseCluster";
38
- /** Suffix of the contract ConfigMap's name (`<installation>-contract`). */
39
- export declare const CLICKHOUSE_CONTRACT_CONFIGMAP_SUFFIX = "-contract";
38
+ /**
39
+ * Suffix of the contract ConfigMap's name
40
+ * (`<installation>-clickhouse-contract`).
41
+ *
42
+ * COMPONENT-SCOPED ON PURPOSE. The suffix used to be a bare `-contract`, which
43
+ * is also what the ClickStack bootstrap composition appends to ITS release
44
+ * name. Deploying both into one namespace under one shared name — the normal
45
+ * shape of an observability stack, where the ClickHouse cluster and the
46
+ * ClickStack release are named after the stack — made two independent
47
+ * compositions declare the same `(ConfigMap, namespace, name)`, and KRO
48
+ * refused the second instance outright: `resource belongs to a different
49
+ * ApplySet … cannot reassign`.
50
+ *
51
+ * The two ConfigMaps are NOT the same contract (this one carries the
52
+ * database/ports/user/durability block, the ClickStack one carries app ports
53
+ * and retention), so neither composition can consume the other's — they only
54
+ * ever collided on the NAME. Scoping this one to its component removes the
55
+ * collision and follows the convention the Envoy AI Gateway family already
56
+ * uses (`<name>-platform-contract`, `<name>-gateway-contract`).
57
+ *
58
+ * Read this constant rather than hardcoding the suffix; the ConfigMap's KEYS
59
+ * are unchanged.
60
+ */
61
+ export declare const CLICKHOUSE_CONTRACT_CONFIGMAP_SUFFIX = "-clickhouse-contract";
40
62
  /**
41
63
  * Construct a ClickHouse cluster composition with a FIXED topology.
42
64
  *
@@ -1 +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;AAK7E,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAK/B,MAAM,aAAa,CAAC;AAerB,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;AAE1D,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,uBAAuB,CAAC;AAExE,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAiCnE,2EAA2E;AAC3E,eAAO,MAAM,oCAAoC,cAAc,CAAC;AAwKhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,yBAA8B,GACvC,mBAAmB,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAsUrE;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qEAA0B,CAAC"}
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;AAK7E,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAK/B,MAAM,aAAa,CAAC;AAerB,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;AAE1D,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,uBAAuB,CAAC;AAExE,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAiCnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAwK3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,yBAA8B,GACvC,mBAAmB,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAsUrE;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qEAA0B,CAAC"}
@@ -71,8 +71,30 @@ const S3_BACKUP_RESOURCE_ID = 'clickhouseS3Backup';
71
71
  * @see https://github.com/yehudacohen/typekro/issues/188
72
72
  */
73
73
  const CONTRACT_RESOURCE_ID = 'clickhouseContract';
74
- /** Suffix of the contract ConfigMap's name (`<installation>-contract`). */
75
- export const CLICKHOUSE_CONTRACT_CONFIGMAP_SUFFIX = '-contract';
74
+ /**
75
+ * Suffix of the contract ConfigMap's name
76
+ * (`<installation>-clickhouse-contract`).
77
+ *
78
+ * COMPONENT-SCOPED ON PURPOSE. The suffix used to be a bare `-contract`, which
79
+ * is also what the ClickStack bootstrap composition appends to ITS release
80
+ * name. Deploying both into one namespace under one shared name — the normal
81
+ * shape of an observability stack, where the ClickHouse cluster and the
82
+ * ClickStack release are named after the stack — made two independent
83
+ * compositions declare the same `(ConfigMap, namespace, name)`, and KRO
84
+ * refused the second instance outright: `resource belongs to a different
85
+ * ApplySet … cannot reassign`.
86
+ *
87
+ * The two ConfigMaps are NOT the same contract (this one carries the
88
+ * database/ports/user/durability block, the ClickStack one carries app ports
89
+ * and retention), so neither composition can consume the other's — they only
90
+ * ever collided on the NAME. Scoping this one to its component removes the
91
+ * collision and follows the convention the Envoy AI Gateway family already
92
+ * uses (`<name>-platform-contract`, `<name>-gateway-contract`).
93
+ *
94
+ * Read this constant rather than hardcoding the suffix; the ConfigMap's KEYS
95
+ * are unchanged.
96
+ */
97
+ export const CLICKHOUSE_CONTRACT_CONFIGMAP_SUFFIX = '-clickhouse-contract';
76
98
  function resolveTopology(topology) {
77
99
  const replicas = topology.replicas ?? 1;
78
100
  const shards = topology.shards ?? 1;
@@ -1 +1 @@
1
- {"version":3,"file":"clickhouse-cluster.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-cluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAGtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAEL,6BAA6B,GAO9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,WAAW,EAEX,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,uDAAuD;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC;AACrD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,CAAU,CAAC;AAE1D,iFAAiF;AACjF,MAAM,CAAC,MAAM,mCAAmC,GAAG,oBAAoB,CAAC;AAExE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,2EAA2E;AAC3E,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAEpE,sDAAsD;AACtD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAAC;AA6BhE,SAAS,eAAe,CAAC,QAAmC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACpC,kEAAkE;IAClE,sEAAsE;IACtE,kEAAkE;IAClE,0BAA0B,CAAC,uBAAuB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,0BAA0B,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEtE,qEAAqE;IACrE,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,gFAAgF;YAC9E,iFAAiF;YACjF,qFAAqF;YACrF,+EAA+E,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,wBAAwB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACnF,IACE,eAAe,CAAC,IAAI,KAAK,IAAI;QAC7B,eAAe,CAAC,QAAQ,KAAK,qBAAqB;QAClD,QAAQ,GAAG,CAAC,EACZ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uFAAuF;YACrF,qFAAqF;YACrF,oEAAoE,QAAQ,SAAS;YACrF,8DAA8D,CACjE,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,gEAAgE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,CAAC;IAE/C,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,4EAA4E;IAC5E,kCAAkC;IAClC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAC/C,IAAI,eAAe,CAAC,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;QACzF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,iBAAiB,QAAQ,cAAc;gBACrF,kFAAkF;gBAClF,uFAAuF;gBACvF,sFAAsF;gBACtF,2EAA2E;gBAC3E,yBAAyB,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;QAC3B,QAAQ;QACR,MAAM;QACN,OAAO;QACP,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM;QACN,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,6DAA6D;QAC7D,eAAe,EAAE,WAAW,IAAI,MAAM;QACtC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,wBAAwB;YACvD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,QAAQ;SACpD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAA0B;IACjD,MAAM,UAAU,GAA4B;QAC1C,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,QAAQ;QACnB,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,+DAA+D;QAC/D,OAAO,EACL,QAAQ,CAAC,EAAE,EAAE,QAAQ,KAAK,qBAAqB;YAC7C,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,QAAQ;QACd,sEAAsE;QACtE,yEAAyE;QACzE,mEAAmE;QACnE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,cAAc,EAAE,2BAA2B;QAC3C,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,QAAQ;SAC9B;QACD,eAAe,EAAE;YACf,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;YACtD,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;SACrD;KACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CACnC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBAChC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;gBAClE,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE;SACpC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,UAAmB,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAE9C,OAAO,qBAAqB,CAC1B;QACE,oEAAoE;QACpE,qEAAqE;QACrE,yDAAyD;QACzD,kCAAkC;QAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,mCAAmC;QAC1D,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,+BAA+B;QACtD,IAAI,EAAE,UAAmB;QACzB,MAAM,EAAE,6BAAsC;KAC/C,EACD,CAAC,IAA2B,EAAE,EAAE;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC;QAEjE,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,MAAM,KAAK,GAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAEe,CAAC;YACzD,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,QAAQ;oBACpC,CAAC,CAAC;wBACE,iBAAiB,EACf,UACD,CAAC,iBAAiB;qBACpB;oBACH,CAAC,CAAC;wBACE,iBAAiB,EAAG,UAA4C,CAAC,iBAAiB;qBACnF,CAAC;gBACN,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aACjC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,uDAAuD;QACvD,wEAAwE;QACxE,wBAAwB;QACxB,MAAM,oBAAoB,GACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;YAC/B,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YAC5D,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC5E,MAAM,iBAAiB,GAAG,cAAc,CAAC;gBACvC,EAAE,EAAE,8BAA8B;gBAClC,QAAQ,EAAE;oBACR,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE;wBACX,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO;qBACrD;oBACD,MAAM,EAAE;wBACN,wBAAwB,EAAE,YAAY;wBACtC,6BAA6B,EAAE,YAAY;wBAC3C,8BAA8B,EAAE,SAAS;qBAC1C;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,MAAM,mBAAmB,GACvB,QAAQ,CAAC,SAAS,KAAK,SAAS;YAC9B,CAAC,CAAC;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;aAChD;YACH,CAAC,CAAC;gBACE,GAAG,QAAQ,CAAC,SAAS;gBACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;gBAC/C,GAAG,CAAC,oBAAoB,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;oBACzE,CAAC,CAAC;wBACE,IAAI,EAAE;4BACJ,IAAI,EAAE;gCACJ,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO;gCACjC,kBAAkB,EAAE,oBAAoB;6BACzC;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QAER,MAAM,UAAU,GAAG,sBAAsB,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW;YACX,8DAA8D;YAC9D,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,iEAAiE;YACjE,6DAA6D;YAC7D,OAAO,EAAE,mBAAmB;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,gHAAgH;wBAChH,IAAI,EAAE,IAAI,CAAC,MAAO,CAAC,IAAI;wBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,sBAAsB;qBAClD;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,EAAE,EAAE,eAAe;SACpB,CAAC,CAAC;QAEH,wDAAwD;QACxD,uEAAuE;QACvE,oDAAoD;QACpD,EAAE;QACF,4DAA4D;QAC5D,yEAAyE;QACzE,yEAAyE;QACzE,8CAA8C;QAC9C,IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,yBAAyB,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,UAAU,EAAE,sBAAsB;gBAClC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,EAAE,EAAE,qBAAqB;aAC1B,CAAC,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,SAAS,GAAG,SAAS,CAAC;YAC1B,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,oCAAoC,EAAE;gBAC3D,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE;oBACN,wBAAwB,EAAE,YAAY;oBACtC,4BAA4B,EAAE,IAAI,CAAC,IAAI;oBACvC,6BAA6B,EAAE,UAAU;oBACzC,8BAA8B,EAAE,SAAS;iBAC1C;aACF;YACD,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,kEAAkE;YAClE,IAAI,EAAE;gBACJ,QAAQ,EAAE,2BAA2B;gBACrC,UAAU,EAAE,MAAM,CAAC,sBAAsB,CAAC;gBAC1C,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC;gBACtC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,WAAW,EAAE,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACrD,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;oBAC3B,CAAC,CAAC;wBACE,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ;wBACrC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,UAAU;wBACzC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM;wBACjC,6DAA6D;wBAC7D,+CAA+C;wBAC/C,2BAA2B,EAAE,MAAM,CACjC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,qBAAqB,CAC/C;wBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS;4BAClC,CAAC,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACxD,CAAC,CAAC,EAAE,CAAC;qBACR;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CAAC;QAEH,gEAAgE;QAChE,oEAAoE;QACpE,qDAAqD;QACrD,gEAAgE;QAChE,uDAAuD;QACvD,iEAAiE;QACjE,oCAAoC;QACpC,EAAE;QACF,iEAAiE;QACjE,mEAAmE;QACnE,oEAAoE;QACpE,gEAAgE;QAChE,gCAAgC;QAChC,gEAAgE;QAChE,yEAAyE;QACzE,sEAAsE;QACtE,sEAAsE;QACtE,uCAAuC;QACvC,oEAAoE;QACpE,sEAAsE;QACtE,gEAAgE;QAChE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,6DAA6D;QAC7D,oDAAoD;QACpD,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;YAC/C,KAAK,EACH,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW;gBACtC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;oBACtC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,YAAY;YACpB,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,oBAAoB;gBACjG,gEAAgE;gBAChE,qEAAqE;gBACrE,kEAAkE;gBAClE,oEAAoE;gBACpE,gEAAgE;gBAChE,oEAAoE;gBACpE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAS,OAAO,oBAAoB,mBAAmB,CAAC;gBACtE,SAAS,EAAE,2BAA2B,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,sBAAsB,sBAAsB,EAAE;gBAC7I,OAAO,EAAE,qBAAqB,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,sBAAsB,oBAAoB,EAAE;gBACnI,wDAAwD;gBACxD,gEAAgE;gBAChE,iEAAiE;gBACjE,8DAA8D;gBAC9D,oEAAoE;gBACpE,kEAAkE;gBAClE,mEAAmE;gBACnE,kEAAkE;gBAClE,iEAAiE;gBACjE,6DAA6D;gBAC7D,0DAA0D;gBAC1D,8DAA8D;gBAC9D,+CAA+C;gBAC/C,WAAW,EAAE,GAAG,CAAC,IAAI,CAAS,GAAG,eAAe,sCAAsC,CAAC;gBACvF,qEAAqE;gBACrE,4DAA4D;gBAC5D,iEAAiE;gBACjE,qEAAqE;gBACrE,sDAAsD;gBACtD,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAS,GAAG,oBAAoB,gBAAgB,CAAC;gBACnE,GAAG,CAAC,aAAa,KAAK,SAAS;oBAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAS,GAAG,oBAAoB,YAAY,CAAC,EAAE;oBACjE,CAAC,CAAC,EAAE,CAAC;aACR;YACD,GAAG,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,wDAAwD;wBACxD,0DAA0D;wBAC1D,+DAA+D;wBAC/D,8DAA8D;wBAC9D,wDAAwD;wBACxD,+DAA+D;wBAC/D,0DAA0D;wBAC1D,yDAAyD;wBACzD,IAAI,EAAE,GAAG,CAAC,IAAI,CACZ,GAAG,eAAe,6CAA6C,CAChE;wBACD,IAAI,EAAE,GAAG,CAAC,IAAI,CACZ,GAAG,eAAe,6CAA6C,CAChE;qBACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,oEAAoE;YACpE,iEAAiE;YACjE,EAAE;YACF,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,mEAAmE;YACnE,mEAAmE;YACnE,OAAO,EAAE;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI,CAAe,GAAG,oBAAoB,mBAAmB,CAAC;gBACxE,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;oBAC3B,CAAC,CAAC;wBACE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAChB,GAAG,oBAAoB,uBAAuB,CAC/C;wBACD,UAAU,EAAE,GAAG,CAAC,IAAI,CAAS,GAAG,oBAAoB,yBAAyB,CAAC;wBAC9E,MAAM,EAAE,GAAG,CAAC,IAAI,CAAS,GAAG,oBAAoB,qBAAqB,CAAC;wBACtE,+DAA+D;wBAC/D,8DAA8D;wBAC9D,6DAA6D;wBAC7D,oBAAoB,EAAE,GAAG,CAAC,IAAI,CAC5B,GAAG,oBAAoB,6CAA6C,CACrE;wBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS;4BAClC,CAAC,CAAC;gCACE,cAAc,EAAE,GAAG,CAAC,IAAI,CACtB,GAAG,oBAAoB,6BAA6B,CACrD;6BACF;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,YAAY,EAAE;gBACZ,iEAAiE;gBACjE,IAAI,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnC,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC7C,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;gBACpC,wFAAwF;gBACxF,2FAA2F;gBAC3F,sFAAsF;gBACtF,uFAAuF;gBACvF,uFAAuF;gBACvF,yFAAyF;gBACzF,gCAAgC;gBAChC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;gBACnC,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc;aACtD;SACF,CAAC;IACJ,CAAC,CACgF,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"clickhouse-cluster.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/compositions/clickhouse-cluster.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,51 @@
8
8
  */
9
9
  import type { Composable, Enhanced, ResourceStatus } from '../../../core/types/index.js';
10
10
  import type { ClickHouseKeeperInstallationConfig, ClickHouseKeeperInstallationSpec, ClickHouseKeeperInstallationStatus } from '../types.js';
11
+ /**
12
+ * The RECOMMENDED explicit keeper cluster name — not an implicit default.
13
+ *
14
+ * WHAT THE CAP IS. The Altinity CRD constrains
15
+ * `spec.configuration.clusters[].name` on the CHK exactly as on the CHI:
16
+ * `minLength: 1`, `maxLength: 15`, `pattern: ^[a-zA-Z0-9-]{0,15}$`, annotated
17
+ * `See namePartClusterMaxLen const`. The CHK enforces that CRD rule plus ONE
18
+ * addition the operator's own naming requires — at least one alphanumeric, so
19
+ * an all-dash name cannot sanitize to the empty string and generate a PDB name
20
+ * ending in a dash. See `CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN` for that, and
21
+ * for why the keeper does not inherit the CHI's extra leading-letter
22
+ * requirement.
23
+ * `metadata.name` is uncapped, so a keeper
24
+ * whose installation name was longer than 15 bytes used to fail admission on
25
+ * its FIRST apply with `spec.configuration.clusters[0].name: Too long: may not
26
+ * be more than 15 bytes`. The same 15-byte cap (with `minLength: 1`) applies to
27
+ * the shard, replica and `templates.hostTemplates[].spec.name` host names;
28
+ * TypeKro emits none of those today. Pod, volume-claim and service template
29
+ * names are NOT capped.
30
+ *
31
+ * WHY IT IS NOT THE DEFAULT. The cluster name is a fragment of every object
32
+ * name the operator generates (`chk-<installation>-<cluster>-<shard>-<replica>`),
33
+ * so switching an existing deployment's cluster name REPLACES its StatefulSet
34
+ * with fresh volumes — losing the coordination state every `Replicated*` table
35
+ * in the ClickHouse cluster depends on. Silently swapping the default would do
36
+ * that to every deployment whose installation name already fitted the cap, and
37
+ * those deployments were never broken. So the default still DERIVES from the
38
+ * installation name, and a LITERAL name that cannot fit is a loud BUILD error
39
+ * pointing at this constant rather than a silent rename or a silent truncation.
40
+ *
41
+ * KRO MODE. When `name` is a schema reference the value is unknown at build
42
+ * time, so the check moves to the operator: the RGD carries
43
+ * `clusters[0].name: ${schema.spec.name}` and the generated schema types
44
+ * `spec.name` as a bare `string`. The factory warns instead of throwing, and
45
+ * this constant is what the warning recommends pinning for a NEW deployment.
46
+ * To have KRO reject a bad instance at admission, bound the enclosing
47
+ * composition's own spec field with `ClickHouseKeeperClusterNameSchema` — the
48
+ * schema generator carries its `maxLength` and `pattern` into the RGD.
49
+ *
50
+ * Anything that needs the value — a `keeper_path` prefix, an
51
+ * operator-generated Service name — must read it from the rendered
52
+ * `spec.configuration.clusters[0].name` (or from the `clusterName` it passed
53
+ * in), never by assuming a particular derivation.
54
+ */
55
+ export declare const DEFAULT_CHK_CLUSTER_NAME = "keeper";
11
56
  /**
12
57
  * CHK Readiness Evaluator
13
58
  *
@@ -19,9 +64,16 @@ export declare function chkReadinessEvaluator(liveResource: unknown): ResourceSt
19
64
  /**
20
65
  * ClickHouseKeeperInstallation Factory
21
66
  *
67
+ * The internal cluster name defaults to the installation name and is capped at
68
+ * 15 bytes by the CRD while `name` is not, so an installation name that cannot
69
+ * be a cluster name is a BUILD error asking for an explicit `clusterName` (see
70
+ * {@link DEFAULT_CHK_CLUSTER_NAME}) rather than a silent rename.
71
+ *
22
72
  * @param config - High-level keeper configuration
23
73
  * @returns Enhanced ClickHouseKeeperInstallation resource with readiness
24
74
  * evaluation
75
+ * @throws Error when no `clusterName` is given and the installation name is
76
+ * longer than 15 bytes or otherwise illegal as a cluster name
25
77
  *
26
78
  * @example
27
79
  * ```typescript
@@ -33,6 +85,15 @@ export declare function chkReadinessEvaluator(liveResource: unknown): ResourceSt
33
85
  * id: 'clickhouseKeeper',
34
86
  * });
35
87
  * ```
88
+ *
89
+ * @example An installation name past the 15-byte cluster-name cap
90
+ * ```typescript
91
+ * const keeper = clickHouseKeeperInstallation({
92
+ * name: 'observability-keeper', // 20 bytes — fine as an object name
93
+ * clusterName: DEFAULT_CHK_CLUSTER_NAME, // required: 'keeper'
94
+ * replicas: 3,
95
+ * });
96
+ * ```
36
97
  */
37
98
  declare function createClickHouseKeeperInstallationResource(config: Composable<ClickHouseKeeperInstallationConfig>): Enhanced<ClickHouseKeeperInstallationSpec, ClickHouseKeeperInstallationStatus>;
38
99
  export declare const clickHouseKeeperInstallation: typeof createClickHouseKeeperInstallationResource;
@@ -1 +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;AAIzF,OAAO,KAAK,EACV,kCAAkC,EAClC,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,aAAa,CAAC;AAOrB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,cAAc,CAE3E;AAiED;;;;;;;;;;;;;;;;;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"}
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;AAOzF,OAAO,KAAK,EACV,kCAAkC,EAClC,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,aAAa,CAAC;AAcrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAyKjD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,cAAc,CAE3E;AAuED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,iBAAS,0CAA0C,CACjD,MAAM,EAAE,UAAU,CAAC,kCAAkC,CAAC,GACrD,QAAQ,CAAC,gCAAgC,EAAE,kCAAkC,CAAC,CAmBhF;AAED,eAAO,MAAM,4BAA4B,mDAA6C,CAAC"}
@@ -6,13 +6,206 @@
6
6
  * ClickHouse tables — the modern replacement for ZooKeeper), managed by the
7
7
  * same Altinity clickhouse-operator install as CHI resources.
8
8
  */
9
+ import { getCurrentCompositionContext } from '../../../core/composition/context.js';
10
+ import { getComponentLogger } from '../../../core/logging/index.js';
9
11
  import { registerPortableReadinessEvaluator } from '../../../core/readiness/index.js';
12
+ import { REQUIRED_FIELD_SENTINEL } from '../../../core/serialization/schema.js';
10
13
  import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
11
14
  import { createResource } from '../../shared.js';
12
- import { assertPositiveIntegerCount } from '../utils/validation.js';
15
+ import { assertClickHouseKeeperClusterName, assertPositiveIntegerCount, CLICKHOUSE_CLUSTER_NAME_MAX_BYTES, CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN, } from '../utils/validation.js';
13
16
  import { chiReadinessEvaluator } from './installation.js';
17
+ const logger = getComponentLogger('clickhouse-keeper-factory');
14
18
  /** Name of the generated keeper data volume claim template. */
15
19
  const KEEPER_DATA_VOLUME_TEMPLATE = 'data-volume';
20
+ /**
21
+ * The RECOMMENDED explicit keeper cluster name — not an implicit default.
22
+ *
23
+ * WHAT THE CAP IS. The Altinity CRD constrains
24
+ * `spec.configuration.clusters[].name` on the CHK exactly as on the CHI:
25
+ * `minLength: 1`, `maxLength: 15`, `pattern: ^[a-zA-Z0-9-]{0,15}$`, annotated
26
+ * `See namePartClusterMaxLen const`. The CHK enforces that CRD rule plus ONE
27
+ * addition the operator's own naming requires — at least one alphanumeric, so
28
+ * an all-dash name cannot sanitize to the empty string and generate a PDB name
29
+ * ending in a dash. See `CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN` for that, and
30
+ * for why the keeper does not inherit the CHI's extra leading-letter
31
+ * requirement.
32
+ * `metadata.name` is uncapped, so a keeper
33
+ * whose installation name was longer than 15 bytes used to fail admission on
34
+ * its FIRST apply with `spec.configuration.clusters[0].name: Too long: may not
35
+ * be more than 15 bytes`. The same 15-byte cap (with `minLength: 1`) applies to
36
+ * the shard, replica and `templates.hostTemplates[].spec.name` host names;
37
+ * TypeKro emits none of those today. Pod, volume-claim and service template
38
+ * names are NOT capped.
39
+ *
40
+ * WHY IT IS NOT THE DEFAULT. The cluster name is a fragment of every object
41
+ * name the operator generates (`chk-<installation>-<cluster>-<shard>-<replica>`),
42
+ * so switching an existing deployment's cluster name REPLACES its StatefulSet
43
+ * with fresh volumes — losing the coordination state every `Replicated*` table
44
+ * in the ClickHouse cluster depends on. Silently swapping the default would do
45
+ * that to every deployment whose installation name already fitted the cap, and
46
+ * those deployments were never broken. So the default still DERIVES from the
47
+ * installation name, and a LITERAL name that cannot fit is a loud BUILD error
48
+ * pointing at this constant rather than a silent rename or a silent truncation.
49
+ *
50
+ * KRO MODE. When `name` is a schema reference the value is unknown at build
51
+ * time, so the check moves to the operator: the RGD carries
52
+ * `clusters[0].name: ${schema.spec.name}` and the generated schema types
53
+ * `spec.name` as a bare `string`. The factory warns instead of throwing, and
54
+ * this constant is what the warning recommends pinning for a NEW deployment.
55
+ * To have KRO reject a bad instance at admission, bound the enclosing
56
+ * composition's own spec field with `ClickHouseKeeperClusterNameSchema` — the
57
+ * schema generator carries its `maxLength` and `pattern` into the RGD.
58
+ *
59
+ * Anything that needs the value — a `keeper_path` prefix, an
60
+ * operator-generated Service name — must read it from the rendered
61
+ * `spec.configuration.clusters[0].name` (or from the `clusterName` it passed
62
+ * in), never by assuming a particular derivation.
63
+ */
64
+ export const DEFAULT_CHK_CLUSTER_NAME = 'keeper';
65
+ /**
66
+ * Marker a schema proxy stringifies to inside a TEMPLATE LITERAL.
67
+ *
68
+ * `` `${spec.name}-keeper` `` produces the plain string
69
+ * `__KUBERNETES_REF___schema___spec.name__-keeper`, which the serializer later
70
+ * rewrites to CEL. It is a string, so only the marker distinguishes it from a
71
+ * real name. Matched as a substring, the way the resolver and the YAML
72
+ * serializer do (`core/references/resolver.ts`, `core/serialization/yaml.ts`).
73
+ */
74
+ const KUBERNETES_REF_MARKER_PREFIX = '__KUBERNETES_REF_';
75
+ /**
76
+ * Is this a CONCRETE installation name a build-time check can judge?
77
+ *
78
+ * Four things arrive here that are not one, and all of them show up while
79
+ * serializing a single composition:
80
+ *
81
+ * - a `KubernetesRef` / CEL expression — the schema proxy itself;
82
+ * - a STRING carrying {@link KUBERNETES_REF_MARKER_PREFIX}, from a template
83
+ * literal built over the proxy;
84
+ * - {@link REQUIRED_FIELD_SENTINEL}, the placeholder the defaults-extraction
85
+ * re-execution substitutes for required spec fields (possibly with a suffix
86
+ * concatenated onto it by the same kind of template literal);
87
+ * - `undefined`, on the passes that run with no spec at all.
88
+ *
89
+ * None of them is the user's value, so none may be validated as one. Both
90
+ * marker strings are long and full of underscores, so validating either would
91
+ * throw on a perfectly valid kro-mode build.
92
+ */
93
+ function isConcreteInstallationName(value) {
94
+ return (typeof value === 'string' &&
95
+ !value.includes(KUBERNETES_REF_MARKER_PREFIX) &&
96
+ !value.includes(REQUIRED_FIELD_SENTINEL) &&
97
+ !isKubernetesRef(value) &&
98
+ !isCelExpression(value));
99
+ }
100
+ /**
101
+ * Warn that the keeper's internal cluster name will follow the INSTANCE name at
102
+ * runtime, where nothing bounds it before the operator does.
103
+ *
104
+ * Not an error: `clusterName` is intentionally optional for references, because
105
+ * requiring it would force every existing KRO-mode deployment to set one, and
106
+ * changing a cluster name replaces the StatefulSet and loses keeper state.
107
+ *
108
+ * ONE WARNING PER BUILD, WITH NO CROSS-BUILD STATE. Serializing a composition
109
+ * re-executes its body several times, and all but the first pass are internal
110
+ * ANALYSIS executions that the framework already marks with
111
+ * `suppressResourceDiagnostics` — the same gate `createResource` uses for its
112
+ * own resource-construction warnings (`core/proxy/create-resource.ts`). Keying
113
+ * off that flag collapses the repeats without remembering anything between
114
+ * builds, so an independent composition built later in the same process — even
115
+ * with the same namespace and id, or with no id at all — still gets its own
116
+ * warning. Suppressing a real warning is the worse failure, so on the paths
117
+ * with no composition context at all (a bare factory call) the warning is
118
+ * simply emitted every time.
119
+ */
120
+ function warnKeeperClusterNameFollowsReference(config) {
121
+ if (getCurrentCompositionContext()?.suppressResourceDiagnostics)
122
+ return;
123
+ logger.warn(`clickHouseKeeperInstallation: 'name' is a schema reference, so the keeper's internal ` +
124
+ `cluster name follows the INSTANCE name at runtime. Altinity caps ` +
125
+ `\`spec.configuration.clusters[].name\` at ${CLICKHOUSE_CLUSTER_NAME_MAX_BYTES} bytes ` +
126
+ `(minLength 1, \`^[a-zA-Z0-9-]{0,15}\$\`) while \`metadata.name\` is uncapped, so an ` +
127
+ `instance whose name is longer is rejected by the operator — a build-time check cannot ` +
128
+ `see the value. For a NEW deployment, pass ` +
129
+ `clusterName: DEFAULT_CHK_CLUSTER_NAME ('${DEFAULT_CHK_CLUSTER_NAME}') to pin it. For an ` +
130
+ `EXISTING one, leave it alone: changing the cluster name replaces the StatefulSet with ` +
131
+ `fresh volumes and loses the coordination state every Replicated* table depends on. ` +
132
+ `To have KRO reject a bad instance at admission instead, bound the enclosing ` +
133
+ `composition's own spec field with ClickHouseKeeperClusterNameSchema (or any arktype ` +
134
+ `'string <= ${CLICKHOUSE_CLUSTER_NAME_MAX_BYTES}' bound) — the schema generator carries ` +
135
+ `maxLength and pattern into the RGD.`, {
136
+ namespace: config.namespace,
137
+ id: config.id,
138
+ remedy: `clusterName: '${DEFAULT_CHK_CLUSTER_NAME}'`,
139
+ clusterNameMaxBytes: CLICKHOUSE_CLUSTER_NAME_MAX_BYTES,
140
+ });
141
+ }
142
+ /**
143
+ * Resolve the CHK's logical cluster name.
144
+ *
145
+ * BACKWARD COMPATIBLE BY CONSTRUCTION. With no `clusterName`, the value is the
146
+ * installation name — unchanged behaviour for every deployment that already
147
+ * worked, because every deployment that already worked had a name within the
148
+ * cap. When the installation name cannot be a legal cluster name, the factory
149
+ * fails at BUILD time naming the field, the length, the cap and the remedy,
150
+ * instead of letting the operator reject the object on apply.
151
+ *
152
+ * KRO MODE IS THE ONE CASE A BUILD CHECK CANNOT COVER. When `name` is a schema
153
+ * reference the value is not known until an instance is created, so the
154
+ * reference is passed through (as before) and the rendered RGD carries
155
+ * `clusters[0].name: ${schema.spec.name}`. The generated KRO schema types that
156
+ * field as a bare `string` with NO length bound, so an instance name past the
157
+ * cap still reaches the operator — hence the build-time WARNING, and the
158
+ * `clusterName` remedy it points at. Making `clusterName` mandatory for
159
+ * references is deliberately NOT the answer: it would force it on existing
160
+ * KRO-mode deployments, where changing the cluster name loses keeper state.
161
+ */
162
+ function resolveKeeperClusterName(config) {
163
+ if (config.clusterName !== undefined) {
164
+ // The KEEPER's own rule — Altinity's alphabet and cap, plus at least one
165
+ // alphanumeric. Wider than the CHI's, which adds a leading-letter
166
+ // requirement the keeper's generated configuration does not justify. See
167
+ // CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN.
168
+ assertClickHouseKeeperClusterName('clickHouseKeeperInstallation', 'clusterName', config.clusterName);
169
+ return config.clusterName;
170
+ }
171
+ const derived = config.name;
172
+ if (!isConcreteInstallationName(derived)) {
173
+ warnKeeperClusterNameFollowsReference(config);
174
+ return derived;
175
+ }
176
+ // The pattern carries the ALPHABET only — the CRD's 15-byte cap lives in
177
+ // CLICKHOUSE_CLUSTER_NAME_MAX_BYTES and has to be checked alongside it.
178
+ const byteLength = Buffer.byteLength(derived, 'utf8');
179
+ if (byteLength <= CLICKHOUSE_CLUSTER_NAME_MAX_BYTES &&
180
+ CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN.test(derived)) {
181
+ return derived;
182
+ }
183
+ const isAllDashes = derived.length > 0 && !/[A-Za-z0-9]/.test(derived);
184
+ const reason = byteLength > CLICKHOUSE_CLUSTER_NAME_MAX_BYTES
185
+ ? `it is ${byteLength} bytes and the cap is ${CLICKHOUSE_CLUSTER_NAME_MAX_BYTES}`
186
+ : `it does not match ${CLICKHOUSE_KEEPER_CLUSTER_NAME_PATTERN.source} — letters, digits ` +
187
+ `and dashes, with at least one letter or digit`;
188
+ // Only the LENGTH case is caught by Altinity's admission check. An all-dash
189
+ // name passes admission and then cannot reconcile, so say which one it is.
190
+ const consequence = isAllDashes
191
+ ? `the operator would ADMIT this object and then fail to reconcile it: it sanitizes the ` +
192
+ `cluster name with \`strings.Trim(s, "-_.")\`, which leaves the EMPTY string, and the ` +
193
+ `PodDisruptionBudget the CHK creates by default is named \`chk-{chk}-{cluster}\`, which ` +
194
+ `then ends in a dash and is not valid Kubernetes metadata`
195
+ : `the operator would reject this object on its first apply with ` +
196
+ `"spec.configuration.clusters[0].name: Too long: may not be more than 15 bytes"`;
197
+ throw new Error(`clickHouseKeeperInstallation: 'clusterName' defaults to the installation name ` +
198
+ `(${JSON.stringify(derived)}), which cannot be a cluster name — ${reason}. The Altinity ` +
199
+ `CRD constrains \`spec.configuration.clusters[].name\` to minLength 1 / maxLength 15 / ` +
200
+ `\`^[a-zA-Z0-9-]{0,15}\$\` (\`See namePartClusterMaxLen const\`) while \`metadata.name\` ` +
201
+ `is uncapped, so ${consequence}. ` +
202
+ `Set an explicit clusterName — e.g. clusterName: '${DEFAULT_CHK_CLUSTER_NAME}'. It is a ` +
203
+ `fragment of the generated object names ` +
204
+ `(\`chk-<installation>-<cluster>-<shard>-<replica>\`), already disambiguated by the ` +
205
+ `installation name, so any short stable value works — but CHANGING it on an existing ` +
206
+ `deployment replaces the StatefulSet with fresh volumes and loses keeper coordination ` +
207
+ `state, so pick it once.`);
208
+ }
16
209
  /**
17
210
  * CHK Readiness Evaluator
18
211
  *
@@ -41,11 +234,16 @@ function compileKeeperSpec(config) {
41
234
  // A CHK layout with `replicasCount: 0` (or a fractional/negative count) is
42
235
  // invalid operator input — same shared validation as the CHI paths.
43
236
  assertPositiveIntegerCount('clickHouseKeeperInstallation', 'replicas', replicas);
237
+ // Derived from the installation name (unchanged behaviour) unless that name
238
+ // cannot be a legal cluster name, in which case this throws at BUILD time
239
+ // rather than letting the operator reject the object. See
240
+ // `resolveKeeperClusterName`.
241
+ const clusterName = resolveKeeperClusterName(config);
44
242
  return {
45
243
  configuration: {
46
244
  clusters: [
47
245
  {
48
- name: config.name,
246
+ name: clusterName,
49
247
  layout: { replicasCount: replicas },
50
248
  },
51
249
  ],
@@ -77,9 +275,16 @@ function compileKeeperSpec(config) {
77
275
  /**
78
276
  * ClickHouseKeeperInstallation Factory
79
277
  *
278
+ * The internal cluster name defaults to the installation name and is capped at
279
+ * 15 bytes by the CRD while `name` is not, so an installation name that cannot
280
+ * be a cluster name is a BUILD error asking for an explicit `clusterName` (see
281
+ * {@link DEFAULT_CHK_CLUSTER_NAME}) rather than a silent rename.
282
+ *
80
283
  * @param config - High-level keeper configuration
81
284
  * @returns Enhanced ClickHouseKeeperInstallation resource with readiness
82
285
  * evaluation
286
+ * @throws Error when no `clusterName` is given and the installation name is
287
+ * longer than 15 bytes or otherwise illegal as a cluster name
83
288
  *
84
289
  * @example
85
290
  * ```typescript
@@ -91,6 +296,15 @@ function compileKeeperSpec(config) {
91
296
  * id: 'clickhouseKeeper',
92
297
  * });
93
298
  * ```
299
+ *
300
+ * @example An installation name past the 15-byte cluster-name cap
301
+ * ```typescript
302
+ * const keeper = clickHouseKeeperInstallation({
303
+ * name: 'observability-keeper', // 20 bytes — fine as an object name
304
+ * clusterName: DEFAULT_CHK_CLUSTER_NAME, // required: 'keeper'
305
+ * replicas: 3,
306
+ * });
307
+ * ```
94
308
  */
95
309
  function createClickHouseKeeperInstallationResource(config) {
96
310
  const spec = compileKeeperSpec(config);
@@ -1 +1 @@
1
- {"version":3,"file":"keeper.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/keeper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keeper.js","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/keeper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"s3-backup.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/s3-backup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAU1E;;;;;;GAMG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,yCAAyC,GAAG,UAAU,CAChE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CACjD,GAAG;IACF,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BhD,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GACzC,OAAO,qCAAqC,CAAC,KAAK,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AA0MvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,yCAAyC,GAChD,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAuF1C"}
1
+ {"version":3,"file":"s3-backup.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickhouse/resources/s3-backup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAU1E;;;;;;GAMG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,yCAAyC,GAAG,UAAU,CAChE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CACjD,GAAG;IACF,OAAO,EAAE,2BAA2B,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BhD,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GACzC,OAAO,qCAAqC,CAAC,KAAK,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AA2MvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,yCAAyC,GAChD,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,CAuF1C"}
@@ -184,10 +184,11 @@ function clusterNameGuard() {
184
184
  `CLUSTER="$${BACKUP_CLUSTER_ENV}"`,
185
185
  // POSIX `case` globs, matched against the WHOLE word: empty, any
186
186
  // disallowed character (the `-` sits last in the bracket expression, where
187
- // it is literal), a first character that is not a letter, or a trailing
188
- // dash. Same rule as CLICKHOUSE_CLUSTER_NAME_PATTERN.
187
+ // it is literal), or a first character that is not a letter. Same rule as
188
+ // CLICKHOUSE_CLUSTER_NAME_PATTERN including its one addition to the CRD's
189
+ // alphabet (the leading letter) and, like the CRD, ALLOWING a trailing dash.
189
190
  'case "$CLUSTER" in',
190
- ' "" | *[!A-Za-z0-9-]* | [!A-Za-z]* | *-)',
191
+ ' "" | *[!A-Za-z0-9-]* | [!A-Za-z]*)',
191
192
  ` echo "Refusing to back up: $${BACKUP_CLUSTER_ENV} is not a cluster identifier" >&2`,
192
193
  ' exit 1 ;;',
193
194
  'esac',