typekro 0.23.0 → 0.24.1

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 (70) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/deployment/kro-factory.d.ts +19 -0
  3. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  4. package/dist/core/deployment/kro-factory.js +60 -6
  5. package/dist/core/deployment/kro-factory.js.map +1 -1
  6. package/dist/core/proxy/create-resource.d.ts.map +1 -1
  7. package/dist/core/proxy/create-resource.js +37 -0
  8. package/dist/core/proxy/create-resource.js.map +1 -1
  9. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  10. package/dist/core/references/schema-proxy.js +21 -5
  11. package/dist/core/references/schema-proxy.js.map +1 -1
  12. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
  13. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +47 -28
  14. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
  15. package/dist/factories/clickhouse/types.d.ts +31 -0
  16. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  17. package/dist/factories/clickhouse/types.js.map +1 -1
  18. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +248 -0
  19. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -0
  20. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +257 -0
  21. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -0
  22. package/dist/factories/clickstack/compositions/clickstack-helm-repository.d.ts +23 -0
  23. package/dist/factories/clickstack/compositions/clickstack-helm-repository.d.ts.map +1 -0
  24. package/dist/factories/clickstack/compositions/clickstack-helm-repository.js +36 -0
  25. package/dist/factories/clickstack/compositions/clickstack-helm-repository.js.map +1 -0
  26. package/dist/factories/clickstack/compositions/index.d.ts +5 -0
  27. package/dist/factories/clickstack/compositions/index.d.ts.map +1 -0
  28. package/dist/factories/clickstack/compositions/index.js +5 -0
  29. package/dist/factories/clickstack/compositions/index.js.map +1 -0
  30. package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +83 -0
  31. package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts.map +1 -0
  32. package/dist/factories/clickstack/compositions/k8s-telemetry.js +134 -0
  33. package/dist/factories/clickstack/compositions/k8s-telemetry.js.map +1 -0
  34. package/dist/factories/clickstack/compositions/otel-helm-repository.d.ts +18 -0
  35. package/dist/factories/clickstack/compositions/otel-helm-repository.d.ts.map +1 -0
  36. package/dist/factories/clickstack/compositions/otel-helm-repository.js +31 -0
  37. package/dist/factories/clickstack/compositions/otel-helm-repository.js.map +1 -0
  38. package/dist/factories/clickstack/index.d.ts +40 -0
  39. package/dist/factories/clickstack/index.d.ts.map +1 -0
  40. package/dist/factories/clickstack/index.js +40 -0
  41. package/dist/factories/clickstack/index.js.map +1 -0
  42. package/dist/factories/clickstack/resources/helm.d.ts +78 -0
  43. package/dist/factories/clickstack/resources/helm.d.ts.map +1 -0
  44. package/dist/factories/clickstack/resources/helm.js +139 -0
  45. package/dist/factories/clickstack/resources/helm.js.map +1 -0
  46. package/dist/factories/clickstack/resources/index.d.ts +3 -0
  47. package/dist/factories/clickstack/resources/index.d.ts.map +1 -0
  48. package/dist/factories/clickstack/resources/index.js +3 -0
  49. package/dist/factories/clickstack/resources/index.js.map +1 -0
  50. package/dist/factories/clickstack/resources/mongo.d.ts +40 -0
  51. package/dist/factories/clickstack/resources/mongo.d.ts.map +1 -0
  52. package/dist/factories/clickstack/resources/mongo.js +122 -0
  53. package/dist/factories/clickstack/resources/mongo.js.map +1 -0
  54. package/dist/factories/clickstack/types.d.ts +485 -0
  55. package/dist/factories/clickstack/types.d.ts.map +1 -0
  56. package/dist/factories/clickstack/types.js +302 -0
  57. package/dist/factories/clickstack/types.js.map +1 -0
  58. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +118 -0
  59. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -0
  60. package/dist/factories/clickstack/utils/helm-values-mapper.js +505 -0
  61. package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -0
  62. package/dist/factories/clickstack/utils/index.d.ts +2 -0
  63. package/dist/factories/clickstack/utils/index.d.ts.map +1 -0
  64. package/dist/factories/clickstack/utils/index.js +2 -0
  65. package/dist/factories/clickstack/utils/index.js.map +1 -0
  66. package/dist/factories/index.d.ts +1 -0
  67. package/dist/factories/index.d.ts.map +1 -1
  68. package/dist/factories/index.js +4 -0
  69. package/dist/factories/index.js.map +1 -1
  70. package/package.json +5 -1
@@ -0,0 +1,485 @@
1
+ /**
2
+ * ClickStack (HyperDX) Type Definitions
3
+ *
4
+ * ArkType schemas as the single source of truth for config shapes, with types
5
+ * inferred via `typeof Schema.infer` (mirrors the clickhouse/dagster families).
6
+ *
7
+ * Wraps the OFFICIAL ClickStack Helm chart (MIT):
8
+ * - Chart: `clickstack` 3.0.x from https://clickhouse.github.io/ClickStack-helm-charts
9
+ * (classic Helm repo, NOT OCI). The old hyperdxio/helm-charts repo is archived
10
+ * and its `hdx-oss-v2` chart is deprecated — do not use them.
11
+ * - Components: the HyperDX app (UI + API + OpAMP server on 4320 that remotely
12
+ * configures the collector), an OTel gateway collector (the chart's only Helm
13
+ * dependency: the official `opentelemetry-collector` subchart, alias
14
+ * `otel-collector`), and schema "goose" migrations run by the collector at
15
+ * startup that auto-create `otel_logs` / `otel_traces` / `otel_metrics_*` /
16
+ * `hyperdx_sessions`.
17
+ *
18
+ * EXTERNAL CLICKHOUSE ONLY: this family hard-codes `clickhouse.enabled: false`
19
+ * and `mongodb.enabled: false`. The chart's bundled ClickHouse/Keeper and
20
+ * MongoDB are CRDs owned by the separate `clickstack-operators` prerequisite
21
+ * chart (ClickHouse Inc.'s own operator + a MongoDB community operator), which
22
+ * we deliberately do NOT install — its ClickHouse CRDs would collide with the
23
+ * Altinity clickhouse-operator that manages our ClickHouseInstallation.
24
+ *
25
+ * BUILD-TIME vs RUNTIME SPLIT: choices that decide WHICH resources exist or
26
+ * how values trees are shaped (the Mongo mode, internal-Mongo storage, static
27
+ * raw chart values) are CONSTRUCTION-time options on
28
+ * `makeClickstackBootstrap(...)` / `makeClickstackK8sTelemetry(...)` — plain
29
+ * JS branches on them are safe because they are always concrete. The runtime
30
+ * spec (these schemas) carries only proxy-safe VALUES (names, namespaces,
31
+ * endpoints, versions, credentials) that serialize cleanly as CEL refs in KRO
32
+ * mode.
33
+ *
34
+ * SCHEMA / REPLICATION CAVEAT: the collector's auto-migrations create plain
35
+ * single-node MergeTree tables — fine for a 1-replica CHI (dev-first sizing);
36
+ * multi-replica / `ON CLUSTER` schemas are NOT supported by ClickStack's
37
+ * tooling. Revisit before scaling the external ClickHouse beyond one replica.
38
+ *
39
+ * @see https://github.com/ClickHouse/ClickStack-helm-charts
40
+ * @see https://clickhouse.com/docs/use-cases/observability/clickstack
41
+ */
42
+ import type { ValuesMergeExpression } from '../../core/aspects/values-merge.js';
43
+ import type { TypeKroChartValues } from '../../core/types/common.js';
44
+ /**
45
+ * Loose ClickHouse version coupling facts for the external-ClickHouse mode,
46
+ * exported for downstream platform layers that own the CHI sizing/versioning.
47
+ *
48
+ * Sources (verified 2026-07-06 against ClickHouse/ClickStack-helm-charts main):
49
+ * - The chart vendors ClickHouse `25.7-alpine` for its (disabled here) bundled
50
+ * cluster (charts/clickstack/values.yaml `clickhouse.cluster.spec.containerTemplate`).
51
+ * - ClickStack's seed schemas ship a "<26.2 compatibility" variant, so recent
52
+ * 25.x/26.x servers are accepted — the coupling is loose, not pinned.
53
+ * - The optional JSON-typed schema is gated behind the
54
+ * `HYPERDX_OTEL_EXPORTER_CLICKHOUSE_JSON_ENABLE` env flag and wants
55
+ * ClickHouse 25.3+ (native JSON type maturity).
56
+ */
57
+ export declare const CLICKSTACK_CLICKHOUSE_GUIDANCE: {
58
+ /** ClickHouse version the chart vendors/tests against for its bundled cluster. */
59
+ readonly chartVendoredClickHouseVersion: "25.7";
60
+ /** Minimum recommended ClickHouse version for an external cluster. */
61
+ readonly minRecommendedClickHouseVersion: "25.3";
62
+ /** Env flag (in `hyperdx.config`) enabling the JSON-typed OTel schema. */
63
+ readonly jsonSchemaFlag: "HYPERDX_OTEL_EXPORTER_CLICKHOUSE_JSON_ENABLE";
64
+ /** Minimum ClickHouse version for the JSON-typed schema. */
65
+ readonly jsonSchemaMinClickHouseVersion: "25.3";
66
+ /**
67
+ * The collector's goose migrations create single-node MergeTree tables only;
68
+ * multi-replica / ON CLUSTER schemas are not supported by ClickStack tooling.
69
+ */
70
+ readonly singleNodeSchemaOnly: true;
71
+ };
72
+ /**
73
+ * Typed subset of the official `clickstack` chart values we map or pin
74
+ * (verified 2026-07-06 against ClickHouse/ClickStack-helm-charts
75
+ * charts/clickstack/values.yaml, chart 3.0.1). The index signature keeps the
76
+ * rest of the chart's surface reachable through the values passthrough.
77
+ */
78
+ export interface ClickStackHelmValues {
79
+ /** HyperDX app (UI + API + OpAMP). */
80
+ hyperdx?: {
81
+ /** Shared non-sensitive env (rendered into the `clickstack-config` ConfigMap). */
82
+ config?: Record<string, unknown>;
83
+ /** Shared sensitive env (rendered into the `clickstack-secret` Secret). */
84
+ secrets?: Record<string, unknown>;
85
+ /** HyperDX Deployment knobs incl. `defaultConnections`/`defaultSources`. */
86
+ deployment?: Record<string, unknown>;
87
+ ports?: {
88
+ api?: number;
89
+ app?: number;
90
+ opamp?: number;
91
+ };
92
+ [key: string]: unknown;
93
+ };
94
+ /** Bundled ClickHouse (CRDs owned by clickstack-operators) — HARD-PINNED false. */
95
+ clickhouse?: {
96
+ enabled?: boolean;
97
+ [key: string]: unknown;
98
+ };
99
+ /** Bundled MongoDB (MongoDBCommunity CRD) — HARD-PINNED false. */
100
+ mongodb?: {
101
+ enabled?: boolean;
102
+ [key: string]: unknown;
103
+ };
104
+ /** OTel gateway collector subchart (alias `otel-collector`). */
105
+ 'otel-collector'?: {
106
+ enabled?: boolean;
107
+ [key: string]: unknown;
108
+ };
109
+ /** Naming anchor for the status contract — HARD-PINNED to the release name. */
110
+ fullnameOverride?: string;
111
+ [key: string]: unknown;
112
+ }
113
+ /**
114
+ * Typed subset of the STOCK `opentelemetry-collector` chart values used by
115
+ * the k8s telemetry pair (preset names verified 2026-07-06 against
116
+ * open-telemetry/opentelemetry-helm-charts charts/opentelemetry-collector).
117
+ */
118
+ export interface OtelCollectorHelmValues {
119
+ /** Instance identity — re-pinned per telemetry instance. */
120
+ mode?: 'daemonset' | 'deployment' | 'statefulset';
121
+ image?: {
122
+ repository?: string;
123
+ tag?: string;
124
+ [key: string]: unknown;
125
+ };
126
+ presets?: {
127
+ logsCollection?: {
128
+ enabled?: boolean;
129
+ [key: string]: unknown;
130
+ };
131
+ hostMetrics?: {
132
+ enabled?: boolean;
133
+ [key: string]: unknown;
134
+ };
135
+ kubeletMetrics?: {
136
+ enabled?: boolean;
137
+ [key: string]: unknown;
138
+ };
139
+ kubernetesAttributes?: {
140
+ enabled?: boolean;
141
+ [key: string]: unknown;
142
+ };
143
+ kubernetesEvents?: {
144
+ enabled?: boolean;
145
+ [key: string]: unknown;
146
+ };
147
+ clusterMetrics?: {
148
+ enabled?: boolean;
149
+ [key: string]: unknown;
150
+ };
151
+ [key: string]: unknown;
152
+ };
153
+ config?: Record<string, unknown>;
154
+ [key: string]: unknown;
155
+ }
156
+ /**
157
+ * Values tree accepted by the ClickStack/OTel HelmRelease wrappers: a typed
158
+ * (possibly graph-aware) chart values object, or the runtime values-merge
159
+ * expression produced when per-instance `customValues` arrives as a schema
160
+ * ref (the serializer compiles it to a KRO runtime map-merge).
161
+ */
162
+ export type ClickStackMappedHelmValues = TypeKroChartValues<ClickStackHelmValues> | ValuesMergeExpression;
163
+ /** Same, for the stock opentelemetry-collector instances. */
164
+ export type OtelCollectorMappedHelmValues = TypeKroChartValues<OtelCollectorHelmValues> | ValuesMergeExpression;
165
+ /** Internal-Mongo PVC sizing — build-time (shapes the StatefulSet template). */
166
+ export interface ClickStackMongoStorageOptions {
167
+ /** PVC size (default: '5Gi'). */
168
+ size?: string;
169
+ /** Optional StorageClass for the PVC. */
170
+ storageClassName?: string;
171
+ }
172
+ /**
173
+ * Mongo mode — BUILD-TIME because it decides WHICH resources exist.
174
+ *
175
+ * HyperDX has a HARD MongoDB dependency for app state (dashboards, alerts,
176
+ * users; MongoDB is SSPL at runtime).
177
+ * - `internal` (default): a minimal single-replica typekro-native
178
+ * StatefulSet + Service running `mongo:7` — NO operator, NO CRDs, NO auth.
179
+ * APP METADATA ONLY, dev-first; not HA.
180
+ * - `external`: bring your own MongoDB; the variant's runtime spec gains a
181
+ * required `mongoUri` field wired into `hyperdx.config.MONGO_URI`.
182
+ */
183
+ export type ClickStackMongoBuildOptions = {
184
+ mode: 'internal';
185
+ storage?: ClickStackMongoStorageOptions;
186
+ } | {
187
+ mode: 'external';
188
+ };
189
+ /** Shared build-time options for both bootstrap variants. */
190
+ interface ClickStackBuildOptionsBase {
191
+ /**
192
+ * Static raw official-chart values merged at construction time (they win
193
+ * over the typed mapping), EXCEPT the hard pins — `clickhouse.enabled: false`,
194
+ * `mongodb.enabled: false`, and `fullnameOverride` (the status contract's
195
+ * naming anchor) — which are re-applied after the merge. Build-time by
196
+ * design: a free-form values tree cannot be represented per-instance in a
197
+ * KRO schema without silently dropping it (the accepted-but-ignored config
198
+ * class this family refuses to ship). Per-instance, DIRECT-MODE-ONLY
199
+ * overrides can go through the runtime type's `customValues` instead (an
200
+ * internal escape hatch, not part of the KRO-mode schema — see
201
+ * `ClickStackBootstrapRuntimeConfig`'s doc comment below).
202
+ */
203
+ values?: TypeKroChartValues<ClickStackHelmValues>;
204
+ /** RGD name override (needed when registering both variants in one cluster). */
205
+ name?: string;
206
+ /** KRO kind override. */
207
+ kind?: string;
208
+ }
209
+ /** Build-time options for the internal-Mongo bootstrap variant. */
210
+ export interface ClickStackInternalMongoBuildOptions extends ClickStackBuildOptionsBase {
211
+ mongo?: {
212
+ mode: 'internal';
213
+ storage?: ClickStackMongoStorageOptions;
214
+ };
215
+ }
216
+ /** Build-time options for the external-Mongo bootstrap variant. */
217
+ export interface ClickStackExternalMongoBuildOptions extends ClickStackBuildOptionsBase {
218
+ mongo: {
219
+ mode: 'external';
220
+ };
221
+ }
222
+ /** Union accepted by `makeClickstackBootstrap`. */
223
+ export type ClickStackBuildOptions = ClickStackInternalMongoBuildOptions | ClickStackExternalMongoBuildOptions;
224
+ /**
225
+ * Runtime spec for the internal-Mongo variant (the default
226
+ * `clickstackBootstrap`). Mongo needs no runtime config — mode and storage
227
+ * are build-time (`makeClickstackBootstrap`).
228
+ */
229
+ export declare const ClickStackBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
230
+ name: string;
231
+ clickhouse: {
232
+ host: string;
233
+ nativePort?: number;
234
+ httpPort?: number;
235
+ database?: string;
236
+ username?: string;
237
+ password?: string;
238
+ appUsername?: string;
239
+ appPassword?: string;
240
+ };
241
+ namespace?: string;
242
+ version?: string;
243
+ apiKey?: string;
244
+ hyperdx?: {
245
+ replicas?: number;
246
+ resources?: {
247
+ requests?: {
248
+ cpu?: string;
249
+ memory?: string;
250
+ };
251
+ limits?: {
252
+ cpu?: string;
253
+ memory?: string;
254
+ };
255
+ };
256
+ image?: {
257
+ repository?: string;
258
+ tag?: string;
259
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
260
+ };
261
+ frontendUrl?: string;
262
+ };
263
+ }, {}>;
264
+ /** Runtime configuration for the internal-Mongo bootstrap variant. */
265
+ export type ClickStackBootstrapConfig = typeof ClickStackBootstrapConfigSchema.infer;
266
+ /**
267
+ * Runtime spec for the external-Mongo variant: base + a required `mongoUri`.
268
+ */
269
+ export declare const ClickStackExternalMongoBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
270
+ mongoUri: string;
271
+ name: string;
272
+ clickhouse: {
273
+ host: string;
274
+ nativePort?: number;
275
+ httpPort?: number;
276
+ database?: string;
277
+ username?: string;
278
+ password?: string;
279
+ appUsername?: string;
280
+ appPassword?: string;
281
+ };
282
+ namespace?: string;
283
+ version?: string;
284
+ apiKey?: string;
285
+ hyperdx?: {
286
+ replicas?: number;
287
+ resources?: {
288
+ requests?: {
289
+ cpu?: string;
290
+ memory?: string;
291
+ };
292
+ limits?: {
293
+ cpu?: string;
294
+ memory?: string;
295
+ };
296
+ };
297
+ image?: {
298
+ repository?: string;
299
+ tag?: string;
300
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
301
+ };
302
+ frontendUrl?: string;
303
+ };
304
+ }, {}>;
305
+ /** Runtime configuration for the external-Mongo bootstrap variant. */
306
+ export type ClickStackExternalMongoBootstrapConfig = typeof ClickStackExternalMongoBootstrapConfigSchema.infer;
307
+ /** Widest runtime config the values mapper accepts (either variant). */
308
+ export type ClickStackBootstrapRuntimeConfig = ClickStackBootstrapConfig & {
309
+ mongoUri?: string;
310
+ /**
311
+ * INTERNAL, DIRECT-MODE-ONLY escape hatch — not part of the runtime
312
+ * schema (`bootstrapBaseShape`), so KRO-mode callers can never populate
313
+ * this field and it's absent from the generated CRD. Only a CONCRETE
314
+ * object merges (see helm-values-mapper.ts); no test coverage backs this
315
+ * as a supported feature. Prefer build-time `values` for anything beyond
316
+ * ad hoc direct-mode tweaks.
317
+ */
318
+ customValues?: Record<string, unknown>;
319
+ };
320
+ /**
321
+ * Observed ClickStack status. Downstream compositions consume connection
322
+ * details from here instead of reconstructing chart service-naming rules —
323
+ * e.g. `clickstackK8sTelemetry` wiring:
324
+ * `{ endpoint: stack.status.gateway.otlpHttpEndpoint }`.
325
+ *
326
+ * Naming anchor: the values mapper pins `fullnameOverride` to the release
327
+ * name, so the HyperDX app Service is named exactly `<name>` (the chart's
328
+ * `clickstack.hyperdx.fullname` helper skips its `-app` suffix when
329
+ * `fullnameOverride` is set) and the gateway Service is
330
+ * `<name>-otel-collector` (subchart naming off `.Release.Name`).
331
+ *
332
+ * KRO STATUS vs CLIENT-HYDRATED SPLIT: fields anchored on the owned
333
+ * HelmRelease resource serialize as KRO status CEL and appear on the live
334
+ * KRO CR's status (GitOps/KRO consumers can read them): `ready`, `phase`,
335
+ * `ui.url`, `gateway.otlpHttpEndpoint`, `gateway.otlpGrpcEndpoint`,
336
+ * `app.host` — natural JS template literals over
337
+ * `clickstackHelmRelease.metadata.name`/`.namespace` (bimodal on typekro
338
+ * >= 0.24.0: status CEL in `factory('kro')`, concrete strings via direct-mode
339
+ * re-execution), never `schema.spec.*` (KRO status CEL cannot reference the
340
+ * instance spec). The BARE build-time constants `app.appPort` (3000) and
341
+ * `app.apiPort` (8000), plus the spec-derived `version`, have no resource
342
+ * anchor and are hydrated CLIENT-SIDE by TypeKro (absent from the KRO CR
343
+ * status); the ports remain KRO-visible inside the URL fields.
344
+ * Ports are the chart defaults (`hyperdx.ports`, `otel-collector.ports`);
345
+ * port overrides via build-time raw values are NOT reflected here.
346
+ */
347
+ export declare const ClickStackBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
348
+ ready: boolean;
349
+ phase: "Ready" | "Failed" | "Installing";
350
+ ui: {
351
+ url: string;
352
+ };
353
+ gateway: {
354
+ otlpHttpEndpoint: string;
355
+ otlpGrpcEndpoint: string;
356
+ };
357
+ app: {
358
+ host: string;
359
+ appPort: number;
360
+ apiPort: number;
361
+ };
362
+ version?: string;
363
+ }, {}>;
364
+ /** Observed status type for ClickStack bootstrap. */
365
+ export type ClickStackBootstrapStatus = typeof ClickStackBootstrapStatusSchema.infer;
366
+ /**
367
+ * Build-time options for `makeClickstackK8sTelemetry`. Values passthrough is
368
+ * build-time for the same accepted-but-ignored-config reason as the bootstrap.
369
+ */
370
+ export interface ClickStackK8sTelemetryBuildOptions {
371
+ /** Daemonset-instance raw chart values merged at construction (`mode` is re-pinned). */
372
+ daemonset?: {
373
+ values?: TypeKroChartValues<OtelCollectorHelmValues>;
374
+ };
375
+ /** Deployment-instance raw chart values merged at construction (`mode` is re-pinned). */
376
+ deployment?: {
377
+ values?: TypeKroChartValues<OtelCollectorHelmValues>;
378
+ };
379
+ /** RGD name override. */
380
+ name?: string;
381
+ /** KRO kind override. */
382
+ kind?: string;
383
+ }
384
+ /**
385
+ * ArkType schema for ClickStackK8sTelemetryConfig (runtime spec).
386
+ *
387
+ * The documented ClickStack Kubernetes ingestion pattern: TWO instances of the
388
+ * STOCK `opentelemetry-collector` chart —
389
+ * - a daemonset instance (presets: logsCollection, hostMetrics,
390
+ * kubernetesAttributes, kubeletMetrics), and
391
+ * - a deployment instance (presets: kubernetesAttributes, kubernetesEvents,
392
+ * clusterMetrics),
393
+ * both exporting `otlphttp` to the ClickStack gateway collector with
394
+ * `authorization: <HYPERDX_API_KEY>` header auth.
395
+ *
396
+ * @see https://clickhouse.com/docs/use-cases/observability/clickstack/ingesting-data/kubernetes
397
+ */
398
+ export declare const ClickStackK8sTelemetryConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
399
+ name: string;
400
+ apiKeySecret: {
401
+ name: string;
402
+ key?: string;
403
+ };
404
+ namespace?: string;
405
+ version?: string;
406
+ endpoint?: string;
407
+ }, {}>;
408
+ /** Runtime configuration for the ClickStack k8s telemetry composition. */
409
+ export type ClickStackK8sTelemetryConfig = typeof ClickStackK8sTelemetryConfigSchema.infer;
410
+ /** Observed status of the k8s telemetry collectors. */
411
+ export declare const ClickStackK8sTelemetryStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
412
+ ready: boolean;
413
+ phase: "Ready" | "Installing";
414
+ }, {}>;
415
+ /** Spec accepted by the shared ClickStack HelmRepository singleton. */
416
+ export declare const ClickStackHelmRepositorySingletonSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
417
+ name: string;
418
+ namespace: string;
419
+ url: string;
420
+ }, {}>;
421
+ /** Status surfaced by the shared ClickStack HelmRepository singleton. */
422
+ export declare const ClickStackHelmRepositorySingletonStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
423
+ ready: boolean;
424
+ }, {}>;
425
+ /** Spec accepted by the shared OpenTelemetry HelmRepository singleton. */
426
+ export declare const OtelHelmRepositorySingletonSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
427
+ name: string;
428
+ namespace: string;
429
+ url: string;
430
+ }, {}>;
431
+ /** Status surfaced by the shared OpenTelemetry HelmRepository singleton. */
432
+ export declare const OtelHelmRepositorySingletonStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
433
+ ready: boolean;
434
+ }, {}>;
435
+ /** Configuration for the ClickStack/OTel HelmRepository wrappers. */
436
+ export declare const ClickStackHelmRepositoryConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
437
+ name?: string;
438
+ namespace?: string;
439
+ url?: string;
440
+ interval?: string;
441
+ id?: string;
442
+ }, {}>;
443
+ /** Configuration for the ClickStack HelmRepository wrapper. */
444
+ export type ClickStackHelmRepositoryConfig = typeof ClickStackHelmRepositoryConfigSchema.infer;
445
+ /** Configuration for the ClickStack HelmRelease wrapper. */
446
+ export interface ClickStackHelmReleaseConfig {
447
+ name: string;
448
+ namespace?: string;
449
+ version?: string;
450
+ repositoryName?: string;
451
+ repositoryNamespace?: string;
452
+ /** Official clickstack chart values (graph-aware trees / runtime merges allowed). */
453
+ values?: ClickStackMappedHelmValues;
454
+ id?: string;
455
+ }
456
+ /** Configuration for a stock opentelemetry-collector HelmRelease wrapper. */
457
+ export interface OtelCollectorHelmReleaseConfig {
458
+ name: string;
459
+ namespace?: string;
460
+ version?: string;
461
+ repositoryName?: string;
462
+ repositoryNamespace?: string;
463
+ /** Stock opentelemetry-collector chart values (graph-aware trees / runtime merges allowed). */
464
+ values?: OtelCollectorMappedHelmValues;
465
+ id?: string;
466
+ }
467
+ /** Configuration for the internal-mode MongoDB StatefulSet/Service pair. */
468
+ export interface ClickStackMongoConfig {
469
+ /** ClickStack instance name; resources are named `<name>-mongodb`. */
470
+ name: string;
471
+ /** Target namespace. */
472
+ namespace: string;
473
+ /** PVC size (default: '5Gi'). Build-time concrete value. */
474
+ storageSize?: string;
475
+ /** Optional StorageClass for the PVC. Build-time concrete value. */
476
+ storageClassName?: string;
477
+ /** Mongo image (default: 'mongo:7'). */
478
+ image?: string;
479
+ /** Resource id for the StatefulSet. */
480
+ statefulSetId?: string;
481
+ /** Resource id for the Service. */
482
+ serviceId?: string;
483
+ }
484
+ export {};
485
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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"}