typekro 0.38.2 → 0.39.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 (25) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +29 -2
  3. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
  4. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +298 -46
  5. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
  6. package/dist/factories/clickstack/hyperdx-oidc/index.d.ts +2 -2
  7. package/dist/factories/clickstack/hyperdx-oidc/index.d.ts.map +1 -1
  8. package/dist/factories/clickstack/hyperdx-oidc/index.js +25 -8
  9. package/dist/factories/clickstack/hyperdx-oidc/index.js.map +1 -1
  10. package/dist/factories/clickstack/hyperdx-oidc/plugin-bundle.generated.d.ts.map +1 -1
  11. package/dist/factories/clickstack/hyperdx-oidc/plugin-bundle.generated.js +4 -4
  12. package/dist/factories/clickstack/hyperdx-oidc/plugin-bundle.generated.js.map +1 -1
  13. package/dist/factories/clickstack/types.d.ts +106 -1
  14. package/dist/factories/clickstack/types.d.ts.map +1 -1
  15. package/dist/factories/clickstack/types.js +123 -1
  16. package/dist/factories/clickstack/types.js.map +1 -1
  17. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts +71 -2
  18. package/dist/factories/clickstack/utils/helm-values-mapper.d.ts.map +1 -1
  19. package/dist/factories/clickstack/utils/helm-values-mapper.js +112 -111
  20. package/dist/factories/clickstack/utils/helm-values-mapper.js.map +1 -1
  21. package/dist/factories/clickstack/utils/team-defaults.d.ts +87 -0
  22. package/dist/factories/clickstack/utils/team-defaults.d.ts.map +1 -0
  23. package/dist/factories/clickstack/utils/team-defaults.js +462 -0
  24. package/dist/factories/clickstack/utils/team-defaults.js.map +1 -0
  25. package/package.json +2 -1
@@ -39,6 +39,7 @@
39
39
  * @see https://github.com/ClickHouse/ClickStack-helm-charts
40
40
  * @see https://clickhouse.com/docs/use-cases/observability/clickstack
41
41
  */
42
+ import { isIPv6 } from 'node:net';
42
43
  import { type } from 'arktype';
43
44
  import { CRONJOB_NAME_MAX_LENGTH, DNS_LABEL_MAX_LENGTH, DNS_SUBDOMAIN_MAX_LENGTH, deriveNameLengthLimit, HELM_RELEASE_NAME_MAX_LENGTH, validateDnsSubdomainName, validateSecretDataKey, } from '../../core/kubernetes/naming.js';
44
45
  import { CLICKSTACK_GATEWAY_NAME_SUFFIX } from './resources/helm.js';
@@ -110,6 +111,118 @@ export const DEFAULT_CLICKSTACK_INITIAL_USER_PASSWORD_KEY = 'HYPERDX_INITIAL_USE
110
111
  * with a future upstream field.
111
112
  */
112
113
  export const CLICKSTACK_BOOTSTRAP_MARKER_COLLECTION = 'typekro_bootstrap';
114
+ /**
115
+ * The CEL rule the generated CRD carries on `spec.clickhouse.host`: a
116
+ * SYNTACTIC pre-check. A bracketed host may hold only hex digits, `.` and at
117
+ * least one `:`; any other host only ASCII letters, digits, `.`, `-` and `_`.
118
+ * That refuses every scheme, port, path, userinfo, whitespace, backslash,
119
+ * percent-encoding and non-ASCII host. It does not parse IPv6 or normalise
120
+ * IPv4 (Kubernetes' CEL IP library needs a newer API server than TypeKro
121
+ * requires), so `[:::]` and `127.1` pass admission.
122
+ * {@link validateClickStackClickhouseHost} (render time) and the seed's runtime
123
+ * check are the authoritative ones.
124
+ *
125
+ * KRO carries it into the CRD only when it creates the CRD fresh (see the KRO
126
+ * caveat in the docs).
127
+ */
128
+ export const CLICKSTACK_CLICKHOUSE_HOST_VALIDATION_RULE = "self.startsWith('[') ? self.matches('^[[][0-9A-Fa-f.]*:[0-9A-Fa-f:.]*[]]$') : " +
129
+ "self.matches('^[A-Za-z0-9._-]+$')";
130
+ /**
131
+ * Check a concrete `clickhouse.host` by what breaks the `http://` / `tcp://`
132
+ * URLs it is built into, with a reason a person can act on. Accepts a short
133
+ * name, an FQDN (with or without a trailing dot), an IPv4 address and a
134
+ * bracketed IPv6 address, in any case.
135
+ *
136
+ * A bracketed host must be an IPv6 address by `net.isIPv6`. Any other host
137
+ * must be ASCII letters, digits, `.`, `-` and `_` only (so no `\`, which URL
138
+ * parsers read as a path separator, no percent-encoding and no non-ASCII),
139
+ * and must survive WHATWG URL parsing unchanged
140
+ * (`new URL('http://<host>/').hostname` equals the host, lower-cased), which
141
+ * refuses shorthand IPv4 such as `127.1`. Each of those would make consumers
142
+ * reach a different host from the one checked.
143
+ * The seed runs the same checks at runtime ({@link CLICKSTACK_CLICKHOUSE_HOST_URL_CHECK_SOURCE}).
144
+ *
145
+ * @returns A reason the host is unusable, or `undefined` when it is valid
146
+ */
147
+ export function validateClickStackClickhouseHost(host) {
148
+ if (typeof host !== 'string' || host.length === 0)
149
+ return 'must be a non-empty string';
150
+ if (host.includes('://'))
151
+ return 'must not include a scheme (drop the "http://" or "tcp://")';
152
+ if (/[\t\n\v\f\r /?#@\\]/.test(host)) {
153
+ return 'must not contain whitespace, "/", "\\", "?", "#" or "@" (no path, query or userinfo)';
154
+ }
155
+ if (host.startsWith('[')) {
156
+ return host.endsWith(']') && isIPv6(host.slice(1, -1))
157
+ ? undefined
158
+ : 'must be a valid IPv6 address when it is in brackets, e.g. "[fd00::1]"';
159
+ }
160
+ if (host.includes('[') || host.includes(']')) {
161
+ return 'must not contain "[" or "]" except around an IPv6 address';
162
+ }
163
+ if (host.includes(':')) {
164
+ return (host.match(/:/g) ?? []).length > 1
165
+ ? 'looks like an IPv6 address: write it in brackets, e.g. "[fd00::1]"'
166
+ : 'must not include a port (set clickhouse.httpPort / clickhouse.nativePort instead)';
167
+ }
168
+ if (!/^[A-Za-z0-9._-]+$/.test(host)) {
169
+ return 'must contain only ASCII letters, digits, ".", "-" and "_" (or be a bracketed IPv6 address)';
170
+ }
171
+ let parsed;
172
+ try {
173
+ parsed = new URL(`http://${host}/`).hostname;
174
+ }
175
+ catch {
176
+ return 'is not a valid URL host';
177
+ }
178
+ if (parsed !== host.toLowerCase()) {
179
+ return `is not a plain host name: URL parsing reads it as ${JSON.stringify(parsed)}`;
180
+ }
181
+ return undefined;
182
+ }
183
+ /**
184
+ * The seed's runtime host check, as mongosh source: given the connection URL
185
+ * the CronJob carries (`http://<host>:<port>`), the reason its host would
186
+ * break the connection, or `null`. The same checks as
187
+ * {@link validateClickStackClickhouseHost}, with mongosh's Node `net` and
188
+ * `URL` (a unit test holds the two to one sample set). It exists because KRO
189
+ * 0.9.2 never adds the CRD rule to a CRD it already created, and the CRD rule
190
+ * is only syntactic anyway.
191
+ */
192
+ export const CLICKSTACK_CLICKHOUSE_HOST_URL_CHECK_SOURCE = String.raw `(url) => {
193
+ const match = /^http:\/\/(.*):([0-9]+)$/.exec(url);
194
+ if (match === null) return 'is not of the form http://<host>:<port>';
195
+ const host = match[1];
196
+ if (host.length === 0) return 'has an empty host';
197
+ if (/[\t\n\v\f\r /?#@\\]/.test(host)) return 'has whitespace, "/", "\\", "?", "#" or "@" in its host';
198
+ if (host.startsWith('[')) return host.endsWith(']') && require('net').isIPv6(host.slice(1, -1)) ? null : 'has a bracketed host that is not a valid IPv6 address';
199
+ if (host.includes('[') || host.includes(']') || host.includes(':')) return 'has a scheme, a port or an unbracketed IPv6 address in its host';
200
+ if (!/^[A-Za-z0-9._-]+$/.test(host)) return 'has characters other than ASCII letters, digits, ".", "-" and "_" in its host';
201
+ let parsed;
202
+ try {
203
+ parsed = new URL('http://' + host + '/').hostname;
204
+ } catch (error) {
205
+ return 'has a host that is not a valid URL host';
206
+ }
207
+ if (parsed !== host.toLowerCase()) return 'has a host that URL parsing reads as ' + JSON.stringify(parsed);
208
+ return null;
209
+ }`;
210
+ /** Name of the HyperDX Team the bootstrap creates when `teamName` is not set. */
211
+ export const DEFAULT_CLICKSTACK_TEAM_NAME = 'ClickStack';
212
+ /**
213
+ * Resolve the build-time `teamName`: `undefined` means "leave the name alone"
214
+ * (only with `initialUser`, where HyperDX's registration names the Team).
215
+ *
216
+ * @throws Error when the name is empty or longer than HyperDX accepts (100)
217
+ */
218
+ export function resolveClickStackTeamName(context, teamName, hasInitialUser) {
219
+ if (teamName === undefined)
220
+ return hasInitialUser ? undefined : DEFAULT_CLICKSTACK_TEAM_NAME;
221
+ if (typeof teamName !== 'string' || teamName.trim().length === 0 || teamName.length > 100) {
222
+ throw new Error(`${context}: teamName must be a non-empty string of at most 100 characters (HyperDX's own limit for a Team name).`);
223
+ }
224
+ return teamName;
225
+ }
113
226
  /** `_id` of the marker document recording that initial-user bootstrap is done. */
114
227
  export const CLICKSTACK_INITIAL_USER_MARKER_ID = 'initial-user';
115
228
  /**
@@ -244,6 +357,13 @@ export function resolveClickStackInitialUser(context, chartSecretName, options)
244
357
  * from {@link clickStackInitialUserVersionValidationRule}, so a consumer who
245
358
  * sets an unaudited version on the custom resource at apply time is rejected by
246
359
  * ADMISSION, where there is no build to fail.
360
+ *
361
+ * KRO CAVEAT. KRO 0.9.2 compares no `x-kubernetes-validations` when it
362
+ * reconciles a CRD, so it adds that rule only to a CRD it creates fresh (or
363
+ * patches for some other, compared change), never to one that predates the
364
+ * rule. The Team-defaults seed therefore re-checks the chart version at
365
+ * runtime (`CLICKSTACK_CHART_VERSION`); `initialUser` and `hyperdxOidc` have
366
+ * only the build-time and CRD halves.
247
367
  */
248
368
  export const CLICKSTACK_INITIAL_USER_VALIDATED_CHART_VERSIONS = ['3.2.0'];
249
369
  /** HyperDX appVersion the registration contract above was verified against. */
@@ -264,7 +384,9 @@ export function isClickStackInitialUserValidatedChartVersion(version) {
264
384
  * This is the KRO-mode half of the allowlist: the rule becomes an
265
385
  * `x-kubernetes-validations` entry on the field, so the API server refuses a CR
266
386
  * carrying an unaudited version instead of admitting it and leaving the
267
- * CronJob to patch `teams.apiKey` on a schema nobody has read.
387
+ * CronJob to patch `teams.apiKey` on a schema nobody has read. Only on CRDs KRO
388
+ * creates fresh: see the KRO caveat on
389
+ * {@link CLICKSTACK_INITIAL_USER_VALIDATED_CHART_VERSIONS}.
268
390
  *
269
391
  * @returns A CEL expression over `self`, the submitted `spec.version`
270
392
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/clickstack/types.ts"],"names":[],"mappings":"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"}
@@ -71,8 +71,7 @@ export declare const DEFAULT_CLICKSTACK_GATEWAY_ENDPOINT = "http://clickstack-ot
71
71
  * the contrib distribution (it carries the k8s receivers the presets enable).
72
72
  */
73
73
  export declare const DEFAULT_K8S_TELEMETRY_COLLECTOR_IMAGE = "otel/opentelemetry-collector-contrib";
74
- /** Name of the HyperDX connection emitted into `defaultConnections`/`defaultSources`. */
75
- export declare const CLICKSTACK_CONNECTION_NAME = "External ClickHouse";
74
+ export { CLICKSTACK_CONNECTION_NAME } from './team-defaults.js';
76
75
  /**
77
76
  * The ClickStack image runs under the OpAMP supervisor. Its built-in remote
78
77
  * configuration declares the OTLP receiver but, without an overlay, does not
@@ -120,6 +119,76 @@ export interface ClickStackK8sTelemetryValues {
120
119
  daemonset: OtelCollectorMappedHelmValues;
121
120
  deployment: OtelCollectorMappedHelmValues;
122
121
  }
122
+ /**
123
+ * With `clickhouse.enabled: false` the chart still renders its default
124
+ * `defaultConnections`/`defaultSources` pointing at the (nonexistent) bundled
125
+ * ClickHouse Service, so both must be overridden for external mode. The
126
+ * sources below mirror the chart defaults (values.yaml `defaultSources`,
127
+ * chart 3.2.0) with the connection renamed and the database a Helm template.
128
+ */
129
+ /**
130
+ * The connection and database the Team bootstrap seeds, derived exactly as
131
+ * `defaultConnections` / `defaultSources` derive them: `http://<host>:<httpPort>`,
132
+ * the UI user (`appUsername`, else `username`, else `default`) and the OTel
133
+ * database. Concrete values in direct mode, CEL in KRO mode. The password is
134
+ * not here: the CronJob reads it from the chart-owned Secret.
135
+ */
136
+ export declare function clickStackDefaultConnectionTarget(config: ClickStackBootstrapRuntimeConfig): {
137
+ host: string;
138
+ username: string;
139
+ database: string;
140
+ };
141
+ /**
142
+ * The chart value HyperDX's `DEFAULT_CONNECTIONS` password is read from in
143
+ * `secretValues` mode, as a Helm template. The chart runs `tpl` over
144
+ * `hyperdx.deployment.defaultConnections` with the release's merged values
145
+ * (its own default uses `{{ .Values.hyperdx.secrets.CLICKHOUSE_APP_PASSWORD }}`),
146
+ * so the caller's `valuesFrom` fragment supplies the password while TypeKro
147
+ * supplies the topology. `toJson` quotes and escapes it as a JSON string.
148
+ */
149
+ export declare const CLICKSTACK_APP_PASSWORD_VALUE_TEMPLATE = "{{ .Values.hyperdx.secrets.CLICKHOUSE_APP_PASSWORD | toJson }}";
150
+ /** Key of the values document in the `secretValues` default-connections ConfigMap. */
151
+ export declare const CLICKSTACK_DEFAULT_CONNECTIONS_VALUES_KEY = "values.yaml";
152
+ /**
153
+ * Where, in the HelmRelease's own `spec.values`, TypeKro puts the non-secret
154
+ * values HyperDX's default connection and sources are built from: host URL,
155
+ * port and user under `.defaultConnection`, the OTel database under
156
+ * `.defaultSources`. The chart ignores the key; the templates below read it.
157
+ */
158
+ export declare const CLICKSTACK_DEFAULTS_VALUES_PATH = "typekro.clickstack";
159
+ /** @deprecated Use {@link CLICKSTACK_DEFAULTS_VALUES_PATH}; kept for the `.defaultConnection` path. */
160
+ export declare const CLICKSTACK_DEFAULT_CONNECTION_VALUES_PATH = "typekro.clickstack.defaultConnection";
161
+ /**
162
+ * HyperDX's `defaultConnections`, in BOTH credential modes: a Helm template
163
+ * the chart runs `tpl` over (with the release's merged values) when it sets
164
+ * `DEFAULT_CONNECTIONS`. Every field is serialised by `toJson`: the host,
165
+ * port and user from {@link CLICKSTACK_DEFAULTS_VALUES_PATH}, the password
166
+ * from `hyperdx.secrets.CLICKHOUSE_APP_PASSWORD` (rendered by TypeKro inline,
167
+ * supplied by the values fragment with `secretValues`). Nothing user-supplied
168
+ * is ever interpolated into JSON by hand, so a quote, backslash or space in
169
+ * any field stays valid JSON, in direct and KRO mode alike.
170
+ */
171
+ export declare const CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE: string;
172
+ /**
173
+ * HyperDX's `defaultSources`: {@link CLICKSTACK_DEFAULT_SOURCES} with every
174
+ * `databaseName` a `toJson` template of the OTel database, for the same
175
+ * reason as {@link CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE}.
176
+ */
177
+ export declare const CLICKSTACK_DEFAULT_SOURCES_TEMPLATE: string;
178
+ /**
179
+ * The `secretValues`-mode values document that sets
180
+ * `hyperdx.deployment.defaultConnections` to
181
+ * {@link CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE}.
182
+ *
183
+ * WHY A SEPARATE DOCUMENT. TypeKro renders no `defaultConnections` in
184
+ * `spec.values` in this mode, because Flux applies `spec.values` last and it
185
+ * would override a `defaultConnections` in the caller's fragment. Without one
186
+ * the chart falls back to its own "Local ClickHouse" at the bundled ClickHouse
187
+ * Service TypeKro disables, which HyperDX's registration (`initialUser`) would
188
+ * provision. The composition hands this document to Flux as a ConfigMap
189
+ * `valuesFrom` entry BEFORE the caller's Secret, so the fragment still wins.
190
+ */
191
+ export declare const CLICKSTACK_SECRET_VALUES_DEFAULT_CONNECTIONS_DOCUMENT: string;
123
192
  /**
124
193
  * Map typed ClickStack runtime config + build options into official
125
194
  * clickstack chart values.
@@ -1 +1 @@
1
- {"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickstack/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EACL,KAAK,yBAAyB,EAI/B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEV,gCAAgC,EAEhC,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,sCAAsC,yBAAyB,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,uEACsB,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,yCAAyC,CAAC;AAE5F,yFAAyF;AACzF,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oCAAoC,EAAE,uBAQlD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC,QAE7C,CAAC;AAEH,2EAA2E;AAC3E,MAAM,WAAW,6BAA6B;IAC5C,mEAAmE;IACnE,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACpC,sFAAsF;IACtF,MAAM,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAClD,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC7C;;;;OAIG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,6BAA6B,CAAC;IACzC,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AA2ND;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,gCAAgC,EACxC,OAAO,GAAE,6BAAkC,GAC1C,0BAA0B,CAyK5B;AAMD,2EAA2E;AAC3E,MAAM,WAAW,mCAAmC;IAClD,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;IACrE,UAAU,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;CACvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,4BAA4B,EACpC,OAAO,GAAE,mCAAwC,GAChD,4BAA4B,CAgH9B"}
1
+ {"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/clickstack/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAOH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EACL,KAAK,yBAAyB,EAI/B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAEV,gCAAgC,EAEhC,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,kDAAkD;AAClD,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,sCAAsC,yBAAyB,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,uEACsB,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,yCAAyC,CAAC;AAE5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oCAAoC,EAAE,uBAQlD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC,QAE7C,CAAC;AAEH,2EAA2E;AAC3E,MAAM,WAAW,6BAA6B;IAC5C,mEAAmE;IACnE,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACpC,sFAAsF;IACtF,MAAM,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAClD,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC7C;;;;OAIG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,6BAA6B,CAAC;IACzC,UAAU,EAAE,6BAA6B,CAAC;CAC3C;AAmHD;;;;;;GAMG;AAGH;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,gCAAgC,GAAG;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAoBA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,mEACe,CAAC;AAEnE,sFAAsF;AACtF,eAAO,MAAM,yCAAyC,gBAAgB,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AACpE,uGAAuG;AACvG,eAAO,MAAM,yCAAyC,yCAAyD,CAAC;AAKhH;;;;;;;;;GASG;AACH,eAAO,MAAM,uCAAuC,QAGhD,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,QAEkD,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qDAAqD,QAMtD,CAAC;AA4Bb;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,gCAAgC,EACxC,OAAO,GAAE,6BAAkC,GAC1C,0BAA0B,CA6I5B;AAMD,2EAA2E;AAC3E,MAAM,WAAW,mCAAmC;IAClD,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;IACrE,UAAU,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;KAAE,CAAC;CACvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,4BAA4B,EACpC,OAAO,GAAE,mCAAwC,GAChD,4BAA4B,CAgH9B"}
@@ -52,6 +52,7 @@ import { Cel } from '../../../core/references/cel.js';
52
52
  import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
53
53
  import { CLICKSTACK_MONGO_NAME_SUFFIX, CLICKSTACK_MONGO_PORT } from '../resources/mongo.js';
54
54
  import { renderCollectorConfig } from './collector-config.js';
55
+ import { CLICKSTACK_CONNECTION_NAME, CLICKSTACK_DEFAULT_SOURCES } from './team-defaults.js';
55
56
  import { clickStackQueueClaimName, persistentQueueConfigFragment, renderPersistentQueueValues, } from './storage.js';
56
57
  /** Default namespace for a ClickStack install. */
57
58
  export const DEFAULT_CLICKSTACK_NAMESPACE = 'clickstack';
@@ -73,8 +74,7 @@ export const DEFAULT_CLICKSTACK_GATEWAY_ENDPOINT = 'http://clickstack-otel-colle
73
74
  * the contrib distribution (it carries the k8s receivers the presets enable).
74
75
  */
75
76
  export const DEFAULT_K8S_TELEMETRY_COLLECTOR_IMAGE = 'otel/opentelemetry-collector-contrib';
76
- /** Name of the HyperDX connection emitted into `defaultConnections`/`defaultSources`. */
77
- export const CLICKSTACK_CONNECTION_NAME = 'External ClickHouse';
77
+ export { CLICKSTACK_CONNECTION_NAME } from './team-defaults.js';
78
78
  /**
79
79
  * The ClickStack image runs under the OpAMP supervisor. Its built-in remote
80
80
  * configuration declares the OTLP receiver but, without an overlay, does not
@@ -213,98 +213,110 @@ function mergeOverridesWithPinsLast(base, overrides, pins) {
213
213
  * `defaultConnections`/`defaultSources` pointing at the (nonexistent) bundled
214
214
  * ClickHouse Service, so both must be overridden for external mode. The
215
215
  * sources below mirror the chart defaults (values.yaml `defaultSources`,
216
- * chart 3.2.0) with the connection renamed and the database parameterized
217
- * (`%s` slots filled per mode).
216
+ * chart 3.2.0) with the connection renamed and the database a Helm template.
218
217
  */
219
- const DEFAULT_SOURCES_FORMAT = JSON.stringify([
220
- {
221
- from: { databaseName: '%s', tableName: 'otel_logs' },
222
- kind: 'log',
223
- timestampValueExpression: 'Timestamp',
224
- name: 'Logs',
225
- displayedTimestampValueExpression: 'Timestamp',
226
- implicitColumnExpression: 'Body',
227
- serviceNameExpression: 'ServiceName',
228
- bodyExpression: 'Body',
229
- eventAttributesExpression: 'LogAttributes',
230
- resourceAttributesExpression: 'ResourceAttributes',
231
- defaultTableSelectExpression: 'Timestamp,ServiceName,SeverityText,Body',
232
- severityTextExpression: 'SeverityText',
233
- traceIdExpression: 'TraceId',
234
- spanIdExpression: 'SpanId',
235
- connection: CLICKSTACK_CONNECTION_NAME,
236
- traceSourceId: 'Traces',
237
- sessionSourceId: 'Sessions',
238
- metricSourceId: 'Metrics',
239
- },
240
- {
241
- from: { databaseName: '%s', tableName: 'otel_traces' },
242
- kind: 'trace',
243
- timestampValueExpression: 'Timestamp',
244
- name: 'Traces',
245
- displayedTimestampValueExpression: 'Timestamp',
246
- implicitColumnExpression: 'SpanName',
247
- serviceNameExpression: 'ServiceName',
248
- bodyExpression: 'SpanName',
249
- eventAttributesExpression: 'SpanAttributes',
250
- resourceAttributesExpression: 'ResourceAttributes',
251
- defaultTableSelectExpression: 'Timestamp,ServiceName,StatusCode,round(Duration/1e6),SpanName',
252
- traceIdExpression: 'TraceId',
253
- spanIdExpression: 'SpanId',
254
- durationExpression: 'Duration',
255
- durationPrecision: 9,
256
- parentSpanIdExpression: 'ParentSpanId',
257
- spanNameExpression: 'SpanName',
258
- spanKindExpression: 'SpanKind',
259
- statusCodeExpression: 'StatusCode',
260
- statusMessageExpression: 'StatusMessage',
261
- connection: CLICKSTACK_CONNECTION_NAME,
262
- logSourceId: 'Logs',
263
- sessionSourceId: 'Sessions',
264
- metricSourceId: 'Metrics',
265
- },
266
- {
267
- from: { databaseName: '%s', tableName: '' },
268
- kind: 'metric',
269
- timestampValueExpression: 'TimeUnix',
270
- name: 'Metrics',
271
- resourceAttributesExpression: 'ResourceAttributes',
272
- metricTables: {
273
- gauge: 'otel_metrics_gauge',
274
- histogram: 'otel_metrics_histogram',
275
- sum: 'otel_metrics_sum',
276
- _id: '682586a8b1f81924e628e808',
277
- id: '682586a8b1f81924e628e808',
278
- },
279
- connection: CLICKSTACK_CONNECTION_NAME,
280
- logSourceId: 'Logs',
281
- traceSourceId: 'Traces',
282
- sessionSourceId: 'Sessions',
283
- },
284
- {
285
- from: { databaseName: '%s', tableName: 'hyperdx_sessions' },
286
- kind: 'session',
287
- timestampValueExpression: 'TimestampTime',
288
- name: 'Sessions',
289
- displayedTimestampValueExpression: 'Timestamp',
290
- implicitColumnExpression: 'Body',
291
- serviceNameExpression: 'ServiceName',
292
- bodyExpression: 'Body',
293
- eventAttributesExpression: 'LogAttributes',
294
- resourceAttributesExpression: 'ResourceAttributes',
295
- defaultTableSelectExpression: 'Timestamp,ServiceName,SeverityText,Body',
296
- severityTextExpression: 'SeverityText',
297
- traceIdExpression: 'TraceId',
298
- spanIdExpression: 'SpanId',
299
- connection: CLICKSTACK_CONNECTION_NAME,
300
- logSourceId: 'Logs',
301
- traceSourceId: 'Traces',
302
- metricSourceId: 'Metrics',
303
- },
304
- ]);
305
- /** `defaultConnections` JSON with %s slots: host, httpPort, httpPort, username, password. */
306
- const DEFAULT_CONNECTIONS_FORMAT = `[{"name":"${CLICKSTACK_CONNECTION_NAME}","host":"http://%s:%s","port":%s,` +
307
- '"username":"%s","password":"%s"}]';
218
+ // The JSON itself is a Helm template, built below (CLICKSTACK_DEFAULT_SOURCES_TEMPLATE).
219
+ /**
220
+ * The connection and database the Team bootstrap seeds, derived exactly as
221
+ * `defaultConnections` / `defaultSources` derive them: `http://<host>:<httpPort>`,
222
+ * the UI user (`appUsername`, else `username`, else `default`) and the OTel
223
+ * database. Concrete values in direct mode, CEL in KRO mode. The password is
224
+ * not here: the CronJob reads it from the chart-owned Secret.
225
+ */
226
+ export function clickStackDefaultConnectionTarget(config) {
227
+ const ch = config.clickhouse;
228
+ if (isKubernetesRef(config.name) || isKubernetesRef(ch)) {
229
+ const httpPortStr = Cel.expr(`string(${hasSchemaPath('schema.spec.clickhouse.httpPort')} ? schema.spec.clickhouse.httpPort : 8123)`);
230
+ return {
231
+ host: Cel.template('http://%s:%s', ch.host, httpPortStr),
232
+ username: Cel.expr(`${hasSchemaPath('schema.spec.clickhouse.appUsername')} ? schema.spec.clickhouse.appUsername : ` +
233
+ `(${hasSchemaPath('schema.spec.clickhouse.username')} ? schema.spec.clickhouse.username : "default")`),
234
+ database: resolve(ch.database, 'default'),
235
+ };
236
+ }
237
+ return {
238
+ host: `http://${ch.host}:${ch.httpPort ?? 8123}`,
239
+ username: ch.appUsername ?? ch.username ?? 'default',
240
+ database: ch.database ?? 'default',
241
+ };
242
+ }
243
+ /**
244
+ * The chart value HyperDX's `DEFAULT_CONNECTIONS` password is read from in
245
+ * `secretValues` mode, as a Helm template. The chart runs `tpl` over
246
+ * `hyperdx.deployment.defaultConnections` with the release's merged values
247
+ * (its own default uses `{{ .Values.hyperdx.secrets.CLICKHOUSE_APP_PASSWORD }}`),
248
+ * so the caller's `valuesFrom` fragment supplies the password while TypeKro
249
+ * supplies the topology. `toJson` quotes and escapes it as a JSON string.
250
+ */
251
+ export const CLICKSTACK_APP_PASSWORD_VALUE_TEMPLATE = '{{ .Values.hyperdx.secrets.CLICKHOUSE_APP_PASSWORD | toJson }}';
252
+ /** Key of the values document in the `secretValues` default-connections ConfigMap. */
253
+ export const CLICKSTACK_DEFAULT_CONNECTIONS_VALUES_KEY = 'values.yaml';
254
+ /**
255
+ * Where, in the HelmRelease's own `spec.values`, TypeKro puts the non-secret
256
+ * values HyperDX's default connection and sources are built from: host URL,
257
+ * port and user under `.defaultConnection`, the OTel database under
258
+ * `.defaultSources`. The chart ignores the key; the templates below read it.
259
+ */
260
+ export const CLICKSTACK_DEFAULTS_VALUES_PATH = 'typekro.clickstack';
261
+ /** @deprecated Use {@link CLICKSTACK_DEFAULTS_VALUES_PATH}; kept for the `.defaultConnection` path. */
262
+ export const CLICKSTACK_DEFAULT_CONNECTION_VALUES_PATH = `${CLICKSTACK_DEFAULTS_VALUES_PATH}.defaultConnection`;
263
+ /** A Helm template that serialises one chart value as JSON. */
264
+ const toJsonTemplate = (path) => `{{ .Values.${path} | toJson }}`;
265
+ /**
266
+ * HyperDX's `defaultConnections`, in BOTH credential modes: a Helm template
267
+ * the chart runs `tpl` over (with the release's merged values) when it sets
268
+ * `DEFAULT_CONNECTIONS`. Every field is serialised by `toJson`: the host,
269
+ * port and user from {@link CLICKSTACK_DEFAULTS_VALUES_PATH}, the password
270
+ * from `hyperdx.secrets.CLICKHOUSE_APP_PASSWORD` (rendered by TypeKro inline,
271
+ * supplied by the values fragment with `secretValues`). Nothing user-supplied
272
+ * is ever interpolated into JSON by hand, so a quote, backslash or space in
273
+ * any field stays valid JSON, in direct and KRO mode alike.
274
+ */
275
+ export const CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE = (() => {
276
+ const connection = `${CLICKSTACK_DEFAULTS_VALUES_PATH}.defaultConnection`;
277
+ return `[{"name":${JSON.stringify(CLICKSTACK_CONNECTION_NAME)},"host":${toJsonTemplate(`${connection}.host`)},"port":${toJsonTemplate(`${connection}.port`)},"username":${toJsonTemplate(`${connection}.username`)},"password":${CLICKSTACK_APP_PASSWORD_VALUE_TEMPLATE}}]`;
278
+ })();
279
+ /**
280
+ * HyperDX's `defaultSources`: {@link CLICKSTACK_DEFAULT_SOURCES} with every
281
+ * `databaseName` a `toJson` template of the OTel database, for the same
282
+ * reason as {@link CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE}.
283
+ */
284
+ export const CLICKSTACK_DEFAULT_SOURCES_TEMPLATE = JSON.stringify(CLICKSTACK_DEFAULT_SOURCES).replaceAll('"%s"', toJsonTemplate(`${CLICKSTACK_DEFAULTS_VALUES_PATH}.defaultSources.database`));
285
+ /**
286
+ * The `secretValues`-mode values document that sets
287
+ * `hyperdx.deployment.defaultConnections` to
288
+ * {@link CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE}.
289
+ *
290
+ * WHY A SEPARATE DOCUMENT. TypeKro renders no `defaultConnections` in
291
+ * `spec.values` in this mode, because Flux applies `spec.values` last and it
292
+ * would override a `defaultConnections` in the caller's fragment. Without one
293
+ * the chart falls back to its own "Local ClickHouse" at the bundled ClickHouse
294
+ * Service TypeKro disables, which HyperDX's registration (`initialUser`) would
295
+ * provision. The composition hands this document to Flux as a ConfigMap
296
+ * `valuesFrom` entry BEFORE the caller's Secret, so the fragment still wins.
297
+ */
298
+ export const CLICKSTACK_SECRET_VALUES_DEFAULT_CONNECTIONS_DOCUMENT = [
299
+ 'hyperdx:',
300
+ ' deployment:',
301
+ ' defaultConnections: |',
302
+ ` ${CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE}`,
303
+ '',
304
+ ].join('\n');
305
+ /**
306
+ * The typed values the templates read (see {@link CLICKSTACK_DEFAULTS_VALUES_PATH}):
307
+ * the same host, port, user and database the seed uses.
308
+ */
309
+ function clickStackDefaultsValues(config) {
310
+ const target = clickStackDefaultConnectionTarget(config);
311
+ const ch = config.clickhouse;
312
+ const port = isKubernetesRef(config.name) || isKubernetesRef(ch)
313
+ ? Cel.expr(`${hasSchemaPath('schema.spec.clickhouse.httpPort')} ? schema.spec.clickhouse.httpPort : 8123`)
314
+ : (ch.httpPort ?? 8123);
315
+ return {
316
+ defaultConnection: { host: target.host, port, username: target.username },
317
+ defaultSources: { database: target.database },
318
+ };
319
+ }
308
320
  // ============================================================================
309
321
  // clickstackBootstrap values
310
322
  // ============================================================================
@@ -328,7 +340,6 @@ export function mapClickStackConfigToHelmValues(config, options = {}) {
328
340
  // Ports as string()-wrapped CEL so they compose into mixed string
329
341
  // templates (KRO mixed templates want string-typed segments).
330
342
  const nativePortStr = Cel.expr(`string(${hasSchemaPath('schema.spec.clickhouse.nativePort')} ? schema.spec.clickhouse.nativePort : 9000)`);
331
- const httpPortStr = Cel.expr(`string(${hasSchemaPath('schema.spec.clickhouse.httpPort')} ? schema.spec.clickhouse.httpPort : 8123)`);
332
343
  hyperdxConfig.CLICKHOUSE_ENDPOINT = Cel.template('tcp://%s:%s?dial_timeout=10s', ch.host, nativePortStr);
333
344
  hyperdxConfig.CLICKHOUSE_SERVER_ENDPOINT = Cel.template('%s:%s', ch.host, nativePortStr);
334
345
  hyperdxConfig.CLICKHOUSE_USER = resolve(ch.username, 'default');
@@ -341,24 +352,20 @@ export function mapClickStackConfigToHelmValues(config, options = {}) {
341
352
  if (credentialSource === 'inline') {
342
353
  const inlineConfig = config;
343
354
  const inlineClickhouse = inlineConfig.clickhouse;
344
- const appUsername = Cel.expr(`${hasSchemaPath('schema.spec.clickhouse.appUsername')} ? schema.spec.clickhouse.appUsername : ` +
345
- `(${hasSchemaPath('schema.spec.clickhouse.username')} ? schema.spec.clickhouse.username : "default")`);
346
355
  const appPassword = Cel.expr(`${hasSchemaPath('schema.spec.clickhouse.appPassword')} ? schema.spec.clickhouse.appPassword : ` +
347
356
  `(${hasSchemaPath('schema.spec.clickhouse.password')} ? schema.spec.clickhouse.password : "")`);
348
357
  hyperdxSecrets.CLICKHOUSE_PASSWORD = resolve(inlineClickhouse.password, '');
349
358
  hyperdxSecrets.CLICKHOUSE_APP_PASSWORD = appPassword;
350
359
  hyperdxSecrets.HYPERDX_API_KEY = inlineConfig.apiKey;
351
- hyperdxDeployment.defaultConnections = Cel.template(DEFAULT_CONNECTIONS_FORMAT, ch.host, httpPortStr, httpPortStr, appUsername, appPassword);
360
+ hyperdxDeployment.defaultConnections = CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE;
352
361
  }
353
362
  hyperdxDeployment.replicas = graphOptional('schema.spec.hyperdx.replicas');
354
363
  hyperdxDeployment.resources = graphOptional('schema.spec.hyperdx.resources');
355
364
  hyperdxDeployment.image = graphOptional('schema.spec.hyperdx.image');
356
- const database = resolve(ch.database, 'default');
357
- hyperdxDeployment.defaultSources = Cel.template(DEFAULT_SOURCES_FORMAT, database, database, database, database);
365
+ hyperdxDeployment.defaultSources = CLICKSTACK_DEFAULT_SOURCES_TEMPLATE;
358
366
  }
359
367
  else {
360
368
  const nativePort = ch.nativePort ?? 9000;
361
- const httpPort = ch.httpPort ?? 8123;
362
369
  const database = ch.database ?? 'default';
363
370
  const username = ch.username ?? 'default';
364
371
  hyperdxConfig.CLICKHOUSE_ENDPOINT = `tcp://${ch.host}:${nativePort}?dial_timeout=10s`;
@@ -374,25 +381,16 @@ export function mapClickStackConfigToHelmValues(config, options = {}) {
374
381
  const inlineConfig = config;
375
382
  const inlineClickhouse = inlineConfig.clickhouse;
376
383
  const password = inlineClickhouse.password ?? '';
377
- const appUsername = inlineClickhouse.appUsername ?? username;
378
384
  const appPassword = inlineClickhouse.appPassword ?? password;
379
385
  hyperdxSecrets.CLICKHOUSE_PASSWORD = password;
380
386
  hyperdxSecrets.CLICKHOUSE_APP_PASSWORD = appPassword;
381
387
  hyperdxSecrets.HYPERDX_API_KEY = inlineConfig.apiKey;
382
- hyperdxDeployment.defaultConnections = JSON.stringify([
383
- {
384
- name: CLICKSTACK_CONNECTION_NAME,
385
- host: `http://${ch.host}:${httpPort}`,
386
- port: httpPort,
387
- username: appUsername,
388
- password: appPassword,
389
- },
390
- ]);
388
+ hyperdxDeployment.defaultConnections = CLICKSTACK_DEFAULT_CONNECTIONS_TEMPLATE;
391
389
  }
392
390
  setIfDefined(hyperdxDeployment, 'replicas', config.hyperdx?.replicas);
393
391
  setIfDefined(hyperdxDeployment, 'resources', config.hyperdx?.resources);
394
392
  setIfDefined(hyperdxDeployment, 'image', config.hyperdx?.image);
395
- hyperdxDeployment.defaultSources = DEFAULT_SOURCES_FORMAT.replace(/%s/g, () => database);
393
+ hyperdxDeployment.defaultSources = CLICKSTACK_DEFAULT_SOURCES_TEMPLATE;
396
394
  }
397
395
  const values = {
398
396
  hyperdx: {
@@ -400,6 +398,9 @@ export function mapClickStackConfigToHelmValues(config, options = {}) {
400
398
  ...(credentialSource === 'inline' ? { secrets: hyperdxSecrets } : {}),
401
399
  deployment: hyperdxDeployment,
402
400
  },
401
+ // The non-secret values the defaultConnections / defaultSources templates
402
+ // read (both credential modes).
403
+ typekro: { clickstack: clickStackDefaultsValues(config) },
403
404
  };
404
405
  // Hard pins (see module doc): external-only build-around + the status
405
406
  // contract's naming anchor. Merged AFTER every passthrough so they always