typekro 0.33.4 → 0.33.6

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 (42) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/aspects/apply.d.ts.map +1 -1
  3. package/dist/core/aspects/apply.js +3 -0
  4. package/dist/core/aspects/apply.js.map +1 -1
  5. package/dist/core/composition/imperative.d.ts.map +1 -1
  6. package/dist/core/composition/imperative.js +34 -1
  7. package/dist/core/composition/imperative.js.map +1 -1
  8. package/dist/core/dependencies/resolver.d.ts +1 -0
  9. package/dist/core/dependencies/resolver.d.ts.map +1 -1
  10. package/dist/core/dependencies/resolver.js +51 -18
  11. package/dist/core/dependencies/resolver.js.map +1 -1
  12. package/dist/core/metadata/resource-metadata.d.ts +9 -0
  13. package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
  14. package/dist/core/metadata/resource-metadata.js.map +1 -1
  15. package/dist/factories/harbor/provider/harbor-api.d.ts.map +1 -1
  16. package/dist/factories/harbor/provider/harbor-api.js +23 -0
  17. package/dist/factories/harbor/provider/harbor-api.js.map +1 -1
  18. package/dist/factories/nats/compositions/index.d.ts +1 -0
  19. package/dist/factories/nats/compositions/index.d.ts.map +1 -1
  20. package/dist/factories/nats/compositions/index.js +1 -0
  21. package/dist/factories/nats/compositions/index.js.map +1 -1
  22. package/dist/factories/nats/compositions/nack-controller-bootstrap.d.ts +44 -0
  23. package/dist/factories/nats/compositions/nack-controller-bootstrap.d.ts.map +1 -0
  24. package/dist/factories/nats/compositions/nack-controller-bootstrap.js +157 -0
  25. package/dist/factories/nats/compositions/nack-controller-bootstrap.js.map +1 -0
  26. package/dist/factories/nats/compositions/nack-controller-migration.d.ts +18 -0
  27. package/dist/factories/nats/compositions/nack-controller-migration.d.ts.map +1 -0
  28. package/dist/factories/nats/compositions/nack-controller-migration.js +126 -0
  29. package/dist/factories/nats/compositions/nack-controller-migration.js.map +1 -0
  30. package/dist/factories/nats/compositions/nats-bootstrap.d.ts +31 -1
  31. package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -1
  32. package/dist/factories/nats/compositions/nats-bootstrap.js +186 -119
  33. package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -1
  34. package/dist/factories/nats/resources/helm.d.ts +1 -0
  35. package/dist/factories/nats/resources/helm.d.ts.map +1 -1
  36. package/dist/factories/nats/resources/helm.js +1 -0
  37. package/dist/factories/nats/resources/helm.js.map +1 -1
  38. package/dist/factories/nats/types.d.ts +46 -0
  39. package/dist/factories/nats/types.d.ts.map +1 -1
  40. package/dist/factories/nats/types.js +30 -0
  41. package/dist/factories/nats/types.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,4 +1,34 @@
1
- /** Install an official NATS cluster with JetStream and the NACK controller. */
1
+ import { type NatsBootstrapBuildOptions } from '../types.js';
2
+ /**
3
+ * Build a NATS installation composition backed by one cluster-wide NACK owner.
4
+ *
5
+ * NACK ownership is deliberately build-time. Every consumer of the singleton
6
+ * must agree on an identical concrete controller spec.
7
+ */
8
+ export declare function makeNatsBootstrap(options?: NatsBootstrapBuildOptions): import("../../../index.js").CallableComposition<{
9
+ name: string;
10
+ namespace?: string;
11
+ namespaceOwnership?: "external" | "owned";
12
+ version?: string;
13
+ nackVersion?: string;
14
+ repositoryName?: string;
15
+ repositoryNamespace?: string;
16
+ repositoryUrl?: string;
17
+ replicas?: number;
18
+ storageSize?: string;
19
+ storageClassName?: string;
20
+ pvcRetentionPolicy?: "delete" | "retain";
21
+ values?: Record<string, unknown>;
22
+ nackValues?: Record<string, unknown>;
23
+ }, {
24
+ ready: boolean;
25
+ failed: boolean;
26
+ phase: "Ready" | "Failed" | "Installing";
27
+ serverVersion: string;
28
+ controllerVersion: string;
29
+ endpoint: string;
30
+ }>;
31
+ /** Install an official NATS cluster backed by the shared NACK controller. */
2
32
  export declare const natsBootstrap: import("../../../index.js").CallableComposition<{
3
33
  name: string;
4
34
  namespace?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"nats-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"AAuBA,+EAA+E;AAC/E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAyIzB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EAAgB,CAAC"}
1
+ {"version":3,"file":"nats-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"AA0BA,OAAO,EAEL,KAAK,yBAAyB,EAK/B,MAAM,aAAa,CAAC;AASrB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;;;;GAqNxE;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAAsB,CAAC;AAEjD,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EAAgB,CAAC"}
@@ -1,141 +1,197 @@
1
1
  import { mergeValuesExpression } from '../../../core/aspects/values-merge.js';
2
2
  import { kubernetesComposition } from '../../../core/composition/imperative.js';
3
+ import { createBunCompatibleKubernetesObjectApi, getKubeConfig, } from '../../../core/kubernetes/index.js';
3
4
  import { Cel } from '../../../core/references/cel.js';
5
+ import { singleton, stableSerialize } from '../../../core/singleton/singleton.js';
4
6
  import { isKubernetesRef } from '../../../utils/type-guards.js';
5
7
  import { helmReleaseConditionSummary } from '../../helm/status.js';
6
8
  import { namespace } from '../../kubernetes/core/namespace.js';
7
- import { DEFAULT_NACK_VERSION, DEFAULT_NATS_REPOSITORY_NAME, DEFAULT_NATS_REPOSITORY_URL, DEFAULT_NATS_VERSION, natsHelmRelease, natsHelmRepository, } from '../resources/helm.js';
9
+ import { DEFAULT_NACK_REPOSITORY_NAME, DEFAULT_NACK_VERSION, DEFAULT_NATS_REPOSITORY_NAME, DEFAULT_NATS_REPOSITORY_URL, DEFAULT_NATS_VERSION, natsHelmRelease, natsHelmRepository, } from '../resources/helm.js';
8
10
  import { NatsBootstrapConfigSchema, NatsBootstrapStatusSchema, } from '../types.js';
11
+ import { nackControllerBootstrap } from './nack-controller-bootstrap.js';
12
+ import { retireLegacyNackController } from './nack-controller-migration.js';
9
13
  const DEFAULT_NATS_NAMESPACE = 'nats-system';
10
- /** Install an official NATS cluster with JetStream and the NACK controller. */
11
- export const natsBootstrap = kubernetesComposition({
12
- name: 'nats-bootstrap',
13
- kind: 'NatsBootstrap',
14
- spec: NatsBootstrapConfigSchema,
15
- status: NatsBootstrapStatusSchema,
16
- }, (spec) => {
17
- const graphMode = isKubernetesRef(spec.name);
18
- const targetNamespace = graphMode
19
- ? Cel.expr('has(schema.spec.namespace) ? schema.spec.namespace : "nats-system"')
20
- : (spec.namespace ?? DEFAULT_NATS_NAMESPACE);
21
- const ownsTargetNamespace = graphMode
22
- ? Cel.expr('!has(schema.spec.namespaceOwnership) || schema.spec.namespaceOwnership == "owned"')
23
- : spec.namespaceOwnership !== 'external';
24
- const repositoryName = spec.repositoryName ?? DEFAULT_NATS_REPOSITORY_NAME;
25
- const repositoryNamespace = spec.repositoryNamespace ?? targetNamespace;
26
- const repositoryUrl = spec.repositoryUrl ?? DEFAULT_NATS_REPOSITORY_URL;
27
- if (!graphMode) {
28
- validateReplicaCount(spec.replicas);
29
- }
30
- const replicas = graphMode
31
- ? Cel.expr('has(schema.spec.replicas) ? schema.spec.replicas : 1')
32
- : (spec.replicas ?? 1);
33
- const clusteringEnabled = graphMode ? Cel.expr(replicas, ' > 1') : replicas > 1;
34
- const pvcWhenDeleted = graphMode
35
- ? Cel.expr('has(schema.spec.pvcRetentionPolicy) && schema.spec.pvcRetentionPolicy == "delete" ? "Delete" : "Retain"')
36
- : spec.pvcRetentionPolicy === 'delete'
37
- ? 'Delete'
38
- : 'Retain';
39
- const endpoint = graphMode
40
- ? Cel.expr('"nats://" + string(schema.spec.name) + "." + string(has(schema.spec.namespace) ? schema.spec.namespace : "nats-system") + ".svc:4222"')
41
- : `nats://${spec.name}.${targetNamespace}.svc:4222`;
42
- const serverDefaults = {
43
- // Keep the chart Service identity identical to the public endpoint for
44
- // every release name. Without this, Helm appends "-nats" whenever the
45
- // release name itself does not contain the chart name.
46
- fullnameOverride: spec.name,
47
- config: {
48
- cluster: { enabled: clusteringEnabled, replicas },
49
- jetstream: {
50
- enabled: true,
51
- fileStore: {
14
+ const DEFAULT_NACK_NAMESPACE = 'typekro-nack-system';
15
+ /**
16
+ * Build a NATS installation composition backed by one cluster-wide NACK owner.
17
+ *
18
+ * NACK ownership is deliberately build-time. Every consumer of the singleton
19
+ * must agree on an identical concrete controller spec.
20
+ */
21
+ export function makeNatsBootstrap(options = {}) {
22
+ const controllerSingletonId = options.controller?.singletonId ?? 'nack-controller';
23
+ const controllerSpec = {
24
+ name: options.controller?.name ?? 'nack',
25
+ namespace: options.controller?.namespace ?? DEFAULT_NACK_NAMESPACE,
26
+ namespaceOwnership: options.controller?.namespaceOwnership ?? 'owned',
27
+ version: options.controller?.version ?? DEFAULT_NACK_VERSION,
28
+ repositoryName: options.controller?.repositoryName ?? DEFAULT_NACK_REPOSITORY_NAME,
29
+ repositoryUrl: options.controller?.repositoryUrl ?? DEFAULT_NATS_REPOSITORY_URL,
30
+ ...(options.controller?.values ? { values: options.controller.values } : {}),
31
+ };
32
+ const composition = kubernetesComposition({
33
+ name: 'nats-bootstrap',
34
+ kind: 'NatsBootstrap',
35
+ spec: NatsBootstrapConfigSchema,
36
+ status: NatsBootstrapStatusSchema,
37
+ }, (spec) => {
38
+ const graphMode = isKubernetesRef(spec.name);
39
+ const targetNamespace = graphMode
40
+ ? Cel.expr('has(schema.spec.namespace) ? schema.spec.namespace : "nats-system"')
41
+ : (spec.namespace ?? DEFAULT_NATS_NAMESPACE);
42
+ const ownsTargetNamespace = graphMode
43
+ ? Cel.expr('!has(schema.spec.namespaceOwnership) || schema.spec.namespaceOwnership == "owned"')
44
+ : spec.namespaceOwnership !== 'external';
45
+ const repositoryName = spec.repositoryName ?? DEFAULT_NATS_REPOSITORY_NAME;
46
+ const repositoryNamespace = spec.repositoryNamespace ?? targetNamespace;
47
+ const repositoryUrl = spec.repositoryUrl ?? DEFAULT_NATS_REPOSITORY_URL;
48
+ if (!graphMode) {
49
+ validateReplicaCount(spec.replicas);
50
+ validateLegacyControllerConfig(spec, controllerSpec);
51
+ }
52
+ const replicas = graphMode
53
+ ? Cel.expr('has(schema.spec.replicas) ? schema.spec.replicas : 1')
54
+ : (spec.replicas ?? 1);
55
+ const clusteringEnabled = graphMode ? Cel.expr(replicas, ' > 1') : replicas > 1;
56
+ const pvcWhenDeleted = graphMode
57
+ ? Cel.expr('has(schema.spec.pvcRetentionPolicy) && schema.spec.pvcRetentionPolicy == "delete" ? "Delete" : "Retain"')
58
+ : spec.pvcRetentionPolicy === 'delete'
59
+ ? 'Delete'
60
+ : 'Retain';
61
+ const endpoint = graphMode
62
+ ? Cel.expr('"nats://" + string(schema.spec.name) + "." + string(has(schema.spec.namespace) ? schema.spec.namespace : "nats-system") + ".svc:4222"')
63
+ : `nats://${spec.name}.${targetNamespace}.svc:4222`;
64
+ const serverDefaults = {
65
+ // Keep the chart Service identity identical to the public endpoint for
66
+ // every release name. Without this, Helm appends "-nats" whenever the
67
+ // release name itself does not contain the chart name.
68
+ fullnameOverride: spec.name,
69
+ config: {
70
+ cluster: { enabled: clusteringEnabled, replicas },
71
+ jetstream: {
52
72
  enabled: true,
53
- pvc: {
73
+ fileStore: {
54
74
  enabled: true,
55
- size: spec.storageSize ?? '10Gi',
56
- ...(spec.storageClassName && { storageClassName: spec.storageClassName }),
75
+ pvc: {
76
+ enabled: true,
77
+ size: spec.storageSize ?? '10Gi',
78
+ ...(spec.storageClassName && { storageClassName: spec.storageClassName }),
79
+ },
57
80
  },
58
81
  },
59
82
  },
60
- },
61
- natsBox: { enabled: true },
62
- statefulSet: {
63
- merge: {
64
- // The official chart merges this object into the StatefulSet root,
65
- // so Kubernetes spec fields must remain nested below `spec`.
66
- // Emitting the retention policy directly below `merge` produces an
67
- // invalid top-level StatefulSet field that Flux cannot server-side
68
- // apply.
69
- spec: {
70
- persistentVolumeClaimRetentionPolicy: {
71
- whenDeleted: pvcWhenDeleted,
72
- whenScaled: 'Retain',
83
+ natsBox: { enabled: true },
84
+ statefulSet: {
85
+ merge: {
86
+ // The official chart merges this object into the StatefulSet root,
87
+ // so Kubernetes spec fields must remain nested below `spec`.
88
+ // Emitting the retention policy directly below `merge` produces an
89
+ // invalid top-level StatefulSet field that Flux cannot server-side
90
+ // apply.
91
+ spec: {
92
+ persistentVolumeClaimRetentionPolicy: {
93
+ whenDeleted: pvcWhenDeleted,
94
+ whenScaled: 'Retain',
95
+ },
73
96
  },
74
97
  },
75
98
  },
76
- },
77
- };
78
- const nackDefaults = {
79
- jetstream: { enabled: true, nats: { url: endpoint }, controlLoop: true },
80
- namespaced: false,
81
- };
82
- const serverValues = spec.values
83
- ? mergeValuesExpression(serverDefaults, spec.values)
84
- : serverDefaults;
85
- const nackValues = spec.nackValues
86
- ? mergeValuesExpression(nackDefaults, spec.nackValues)
87
- : nackDefaults;
88
- const _namespace = namespace({
89
- id: 'natsNamespace',
90
- metadata: {
91
- name: targetNamespace,
92
- labels: {
93
- 'app.kubernetes.io/name': 'nats',
94
- 'app.kubernetes.io/instance': spec.name,
95
- 'app.kubernetes.io/managed-by': 'typekro',
99
+ };
100
+ const serverValues = spec.values
101
+ ? mergeValuesExpression(serverDefaults, spec.values)
102
+ : serverDefaults;
103
+ const _namespace = namespace({
104
+ id: 'natsNamespace',
105
+ metadata: {
106
+ name: targetNamespace,
107
+ labels: {
108
+ 'app.kubernetes.io/name': 'nats',
109
+ 'app.kubernetes.io/instance': spec.name,
110
+ 'app.kubernetes.io/managed-by': 'typekro',
111
+ },
96
112
  },
113
+ }).withIncludeWhen(ownsTargetNamespace);
114
+ const _repository = natsHelmRepository({
115
+ id: 'natsHelmRepository',
116
+ name: repositoryName,
117
+ namespace: repositoryNamespace,
118
+ url: repositoryUrl,
119
+ });
120
+ const server = natsHelmRelease({
121
+ id: 'natsHelmRelease',
122
+ name: spec.name,
123
+ namespace: targetNamespace,
124
+ chart: 'nats',
125
+ version: spec.version ?? DEFAULT_NATS_VERSION,
126
+ values: serverValues,
127
+ repositoryName,
128
+ repositoryNamespace,
129
+ repositoryUrl,
130
+ });
131
+ const controller = singleton(nackControllerBootstrap, {
132
+ id: controllerSingletonId,
133
+ spec: controllerSpec,
134
+ });
135
+ // The sourceRef values are Kubernetes identity, while these explicit
136
+ // graph edges are lifecycle authority: repository before releases on
137
+ // create, releases before repository on destroy.
138
+ server.dependsOn(_repository);
139
+ const serverStatus = helmReleaseConditionSummary(server);
140
+ const ready = Cel.expr(serverStatus.ready, ' && ', controller.status.ready);
141
+ const failed = Cel.expr(serverStatus.failed, ' || ', controller.status.failed);
142
+ return {
143
+ ready,
144
+ failed,
145
+ phase: Cel.expr(failed, ' ? "Failed" : (', ready, ' ? "Ready" : "Installing")'),
146
+ serverVersion: spec.version ?? DEFAULT_NATS_VERSION,
147
+ controllerVersion: controllerSpec.version ?? DEFAULT_NACK_VERSION,
148
+ endpoint,
149
+ };
150
+ }, {
151
+ schemaFieldValidations: {
152
+ nackVersion: `self == ${JSON.stringify(controllerSpec.version ?? DEFAULT_NACK_VERSION)}`,
153
+ // Open-object fields have a structural schema type while CEL literals
154
+ // are maps. Widen both operands before comparison so Kubernetes CEL
155
+ // can validate the deprecated compatibility assertion.
156
+ nackValues: `dyn(self) == dyn(${JSON.stringify(controllerSpec.values ?? {})})`,
97
157
  },
98
- }).withIncludeWhen(ownsTargetNamespace);
99
- const _repository = natsHelmRepository({
100
- id: 'natsHelmRepository',
101
- name: repositoryName,
102
- namespace: repositoryNamespace,
103
- url: repositoryUrl,
104
- });
105
- const server = natsHelmRelease({
106
- id: 'natsHelmRelease',
107
- name: spec.name,
108
- namespace: targetNamespace,
109
- chart: 'nats',
110
- version: spec.version ?? DEFAULT_NATS_VERSION,
111
- values: serverValues,
112
- repositoryName,
113
- repositoryNamespace,
114
- repositoryUrl,
115
158
  });
116
- const controller = natsHelmRelease({
117
- id: 'nackHelmRelease',
118
- name: 'nack',
119
- namespace: targetNamespace,
120
- chart: 'nack',
121
- version: spec.nackVersion ?? DEFAULT_NACK_VERSION,
122
- values: nackValues,
123
- repositoryName,
124
- repositoryNamespace,
125
- repositoryUrl,
126
- });
127
- // The sourceRef values are Kubernetes identity, while these explicit
128
- // graph edges are lifecycle authority: repository before releases on
129
- // create, releases before repository on destroy.
130
- server.dependsOn(_repository);
131
- controller.dependsOn(_repository);
132
- return {
133
- ...helmReleaseConditionSummary(server, controller),
134
- serverVersion: spec.version ?? DEFAULT_NATS_VERSION,
135
- controllerVersion: spec.nackVersion ?? DEFAULT_NACK_VERSION,
136
- endpoint,
137
- };
138
- });
159
+ const originalFactory = composition.factory.bind(composition);
160
+ function natsBootstrapFactory(mode, factoryOptions) {
161
+ if (mode === 'kro') {
162
+ return originalFactory('kro', factoryOptions);
163
+ }
164
+ const factory = originalFactory('direct', factoryOptions);
165
+ const originalDeploy = factory.deploy.bind(factory);
166
+ factory.deploy = async (spec, deployOptions) => {
167
+ // Direct mode does not prune graph nodes removed by a library upgrade.
168
+ // The singleton owner is synchronously made Ready by originalDeploy()
169
+ // before this retirement runs, so the v0.33.5 controller is never
170
+ // removed until its replacement can reconcile.
171
+ const deployed = await originalDeploy(spec, deployOptions);
172
+ const kubeConfig = factoryOptions?.kubeConfig ?? getKubeConfig();
173
+ const abortSignals = [factoryOptions?.abortSignal, deployOptions?.abortSignal].filter((signal) => signal !== undefined);
174
+ const abortSignal = abortSignals.length > 1
175
+ ? AbortSignal.any(abortSignals)
176
+ : abortSignals.length === 1
177
+ ? abortSignals[0]
178
+ : undefined;
179
+ await retireLegacyNackController({
180
+ namespace: spec.namespace ?? DEFAULT_NATS_NAMESPACE,
181
+ instanceName: spec.name,
182
+ kubernetesApi: createBunCompatibleKubernetesObjectApi(kubeConfig, factoryOptions?.httpTimeouts),
183
+ ...(factoryOptions?.timeout !== undefined ? { timeout: factoryOptions.timeout } : {}),
184
+ ...(abortSignal ? { abortSignal } : {}),
185
+ });
186
+ return deployed;
187
+ };
188
+ return factory;
189
+ }
190
+ composition.factory = natsBootstrapFactory;
191
+ return composition;
192
+ }
193
+ /** Install an official NATS cluster backed by the shared NACK controller. */
194
+ export const natsBootstrap = makeNatsBootstrap();
139
195
  /** Explicit lifecycle alias for shared platform ownership. */
140
196
  export const natsInstallation = natsBootstrap;
141
197
  function validateReplicaCount(value) {
@@ -143,4 +199,15 @@ function validateReplicaCount(value) {
143
199
  throw new Error('NATS replicas must be an integer greater than or equal to 1.');
144
200
  }
145
201
  }
202
+ function validateLegacyControllerConfig(spec, controllerSpec) {
203
+ if (spec.nackVersion !== undefined && spec.nackVersion !== controllerSpec.version) {
204
+ throw new Error('nackVersion is now build-time singleton configuration. Move it to ' +
205
+ 'makeNatsBootstrap({ controller: { version } }).');
206
+ }
207
+ if (spec.nackValues !== undefined &&
208
+ stableSerialize(spec.nackValues) !== stableSerialize(controllerSpec.values ?? {})) {
209
+ throw new Error('nackValues is now build-time singleton configuration. Move it to ' +
210
+ 'makeNatsBootstrap({ controller: { values } }).');
211
+ }
212
+ }
146
213
  //# sourceMappingURL=nats-bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nats-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nats-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { HelmRepositorySpec, HelmRepositoryStatus } from '../../helm/helm-r
4
4
  import type { NatsHelmValues } from '../types.js';
5
5
  export declare const DEFAULT_NATS_REPOSITORY_URL = "https://nats-io.github.io/k8s/helm/charts/";
6
6
  export declare const DEFAULT_NATS_REPOSITORY_NAME = "nats";
7
+ export declare const DEFAULT_NACK_REPOSITORY_NAME = "nack-controller";
7
8
  export declare const DEFAULT_NATS_VERSION = "2.14.0";
8
9
  export declare const DEFAULT_NACK_VERSION = "0.34.0";
9
10
  export declare function natsHelmRepository(config: {
@@ -1 +1 @@
1
- {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/resources/helm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AACxF,eAAO,MAAM,4BAA4B,SAAS,CAAC;AACnD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAQrD;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAqB/C;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC7C,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAE9C"}
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/resources/helm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,2BAA2B,+CAA+C,CAAC;AACxF,eAAO,MAAM,4BAA4B,SAAS,CAAC;AACnD,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAQrD;AAED,iBAAS,gBAAgB,CAAC,MAAM,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAqB/C;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC7C,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAE9C"}
@@ -3,6 +3,7 @@ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluato
3
3
  import { helmRepository } from '../../helm/helm-repository.js';
4
4
  export const DEFAULT_NATS_REPOSITORY_URL = 'https://nats-io.github.io/k8s/helm/charts/';
5
5
  export const DEFAULT_NATS_REPOSITORY_NAME = 'nats';
6
+ export const DEFAULT_NACK_REPOSITORY_NAME = 'nack-controller';
6
7
  export const DEFAULT_NATS_VERSION = '2.14.0';
7
8
  export const DEFAULT_NACK_VERSION = '0.34.0';
8
9
  export function natsHelmRepository(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/nats/resources/helm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,4CAA4C,CAAC;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C,MAAM,UAAU,kBAAkB,CAAC,MAKlC;IACC,OAAO,cAAc,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,4BAA4B;QACjD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,aAAa;QAC5C,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,2BAA2B;QAC9C,QAAQ,EAAE,IAAI;QACd,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAuD,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAUzB;IACC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,aAAa,IAAI,2BAA2B;YAC/D,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,4BAA4B;YAC3D,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,SAAS;YACzD,IAAI,EAAE,gBAAgB;SACvB;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAGlE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA8C;IAE9C,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/nats/resources/helm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK/D,MAAM,CAAC,MAAM,2BAA2B,GAAG,4CAA4C,CAAC;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAC7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C,MAAM,UAAU,kBAAkB,CAAC,MAKlC;IACC,OAAO,cAAc,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,4BAA4B;QACjD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,aAAa;QAC5C,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,2BAA2B;QAC9C,QAAQ,EAAE,IAAI;QACd,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAuD,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAUzB;IACC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,aAAa,IAAI,2BAA2B;YAC/D,IAAI,EAAE,MAAM,CAAC,KAAK;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,4BAA4B;YAC3D,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,SAAS;YACzD,IAAI,EAAE,gBAAgB;SACvB;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAGlE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA8C;IAE9C,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
@@ -19,6 +19,26 @@ export type NatsBootstrapConfig = Omit<typeof NatsBootstrapConfigSchema.infer, '
19
19
  values?: TypeKroChartValue<Record<string, unknown>>;
20
20
  nackValues?: TypeKroChartValue<Record<string, unknown>>;
21
21
  };
22
+ /**
23
+ * Build-time ownership settings for the shared NACK controller.
24
+ *
25
+ * These cannot be runtime fields because every NATS consumer must resolve to
26
+ * one identical singleton owner. A schema-proxy value could make the shared
27
+ * controller's identity depend on an individual consumer instance.
28
+ */
29
+ export interface NatsBootstrapBuildOptions {
30
+ readonly controller?: {
31
+ /** Stable TypeKro singleton identity shared by every consumer. */
32
+ readonly singletonId?: string;
33
+ readonly name?: string;
34
+ readonly namespace?: string;
35
+ readonly namespaceOwnership?: 'owned' | 'external';
36
+ readonly version?: string;
37
+ readonly repositoryName?: string;
38
+ readonly repositoryUrl?: string;
39
+ readonly values?: Record<string, unknown>;
40
+ };
41
+ }
22
42
  export declare const NatsBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
23
43
  ready: boolean;
24
44
  failed: boolean;
@@ -28,6 +48,32 @@ export declare const NatsBootstrapStatusSchema: import("arktype/internal/variant
28
48
  endpoint: string;
29
49
  }, {}>;
30
50
  export type NatsBootstrapStatus = typeof NatsBootstrapStatusSchema.infer;
51
+ /**
52
+ * Configuration for the cluster-wide NACK controller owner.
53
+ *
54
+ * NACK's non-namespaced chart resources include fixed-name ClusterRoles and
55
+ * ClusterRoleBindings. TypeKro therefore owns exactly one controller and lets
56
+ * every NATS installation reference it through `singleton(...)`.
57
+ */
58
+ export declare const NackControllerBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
59
+ name: string;
60
+ namespace: string;
61
+ namespaceOwnership?: "external" | "owned";
62
+ version?: string;
63
+ repositoryName?: string;
64
+ repositoryUrl?: string;
65
+ values?: Record<string, unknown>;
66
+ }, {}>;
67
+ export type NackControllerBootstrapConfig = Omit<typeof NackControllerBootstrapConfigSchema.infer, 'values'> & {
68
+ values?: TypeKroChartValue<Record<string, unknown>>;
69
+ };
70
+ export declare const NackControllerBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
71
+ ready: boolean;
72
+ failed: boolean;
73
+ phase: "Ready" | "Failed" | "Installing";
74
+ version: string;
75
+ }, {}>;
76
+ export type NackControllerBootstrapStatus = typeof NackControllerBootstrapStatusSchema.infer;
31
77
  export declare const JetStreamStreamConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
32
78
  name: string;
33
79
  subjects: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/nats/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;MAepC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,OAAO,yBAAyB,CAAC,KAAK,EACtC,QAAQ,GAAG,YAAY,CACxB,GAAG;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;MAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,OAAO,yBAAyB,CAAC,KAAK,CAAC;AAEzE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;MAuBtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,KAAK,CAAC;AAE7E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;MAqBxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,OAAO,6BAA6B,CAAC,KAAK,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/nats/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;MAuBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,OAAO,yBAAyB,CAAC,KAAK,EACtC,QAAQ,GAAG,YAAY,CACxB,GAAG;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,kEAAkE;QAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,CAAC;CACH;AAED,eAAO,MAAM,yBAAyB;;;;;;;MAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,OAAO,yBAAyB,CAAC,KAAK,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;MAQ9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,OAAO,mCAAmC,CAAC,KAAK,EAChD,QAAQ,CACT,GAAG;IACF,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;MAK9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,OAAO,mCAAmC,CAAC,KAAK,CAAC;AAE7F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;MAuBtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,KAAK,CAAC;AAE7E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;MAqBxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,OAAO,6BAA6B,CAAC,KAAK,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -4,6 +4,10 @@ export const NatsBootstrapConfigSchema = type({
4
4
  'namespace?': 'string',
5
5
  'namespaceOwnership?': '"owned" | "external"',
6
6
  'version?': 'string',
7
+ /**
8
+ * @deprecated Configure the shared controller through
9
+ * `makeNatsBootstrap({ controller: { version } })`.
10
+ */
7
11
  'nackVersion?': 'string',
8
12
  'repositoryName?': 'string',
9
13
  'repositoryNamespace?': 'string',
@@ -13,6 +17,10 @@ export const NatsBootstrapConfigSchema = type({
13
17
  'storageClassName?': 'string',
14
18
  'pvcRetentionPolicy?': '"retain" | "delete"',
15
19
  'values?': 'Record<string, unknown>',
20
+ /**
21
+ * @deprecated Configure the shared controller through
22
+ * `makeNatsBootstrap({ controller: { values } })`.
23
+ */
16
24
  'nackValues?': 'Record<string, unknown>',
17
25
  });
18
26
  export const NatsBootstrapStatusSchema = type({
@@ -23,6 +31,28 @@ export const NatsBootstrapStatusSchema = type({
23
31
  controllerVersion: 'string',
24
32
  endpoint: 'string',
25
33
  });
34
+ /**
35
+ * Configuration for the cluster-wide NACK controller owner.
36
+ *
37
+ * NACK's non-namespaced chart resources include fixed-name ClusterRoles and
38
+ * ClusterRoleBindings. TypeKro therefore owns exactly one controller and lets
39
+ * every NATS installation reference it through `singleton(...)`.
40
+ */
41
+ export const NackControllerBootstrapConfigSchema = type({
42
+ name: 'string',
43
+ namespace: 'string',
44
+ 'namespaceOwnership?': '"owned" | "external"',
45
+ 'version?': 'string',
46
+ 'repositoryName?': 'string',
47
+ 'repositoryUrl?': 'string',
48
+ 'values?': 'Record<string, unknown>',
49
+ });
50
+ export const NackControllerBootstrapStatusSchema = type({
51
+ ready: 'boolean',
52
+ failed: 'boolean',
53
+ phase: '"Ready" | "Installing" | "Failed"',
54
+ version: 'string',
55
+ });
26
56
  export const JetStreamStreamConfigSchema = type({
27
57
  name: 'string',
28
58
  'streamName?': 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/nats/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;IAC5C,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,QAAQ;IACtB,qBAAqB,EAAE,sBAAsB;IAC7C,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,iBAAiB,EAAE,QAAQ;IAC3B,sBAAsB,EAAE,QAAQ;IAChC,gBAAgB,EAAE,QAAQ;IAC1B,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,QAAQ;IACxB,mBAAmB,EAAE,QAAQ;IAC7B,qBAAqB,EAAE,qBAAqB;IAC5C,SAAS,EAAE,yBAAyB;IACpC,aAAa,EAAE,yBAAyB;CACzC,CAAC,CAAC;AAUH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;IAC5C,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,mCAAmC;IAC1C,aAAa,EAAE,QAAQ;IACvB,iBAAiB,EAAE,QAAQ;IAC3B,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;IAC9C,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,qCAAqC;IACnD,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,qBAAqB;IAClC,eAAe,EAAE,sBAAsB;IACvC,UAAU,EAAE,sBAAsB;IAClC,WAAW,EAAE,sBAAsB;IACnC,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,sBAAsB;IACrC,kBAAkB,EAAE,QAAQ;IAC5B,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,SAAS;IAC3B,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;CACtB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC;IAChD,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,sBAAsB;IACrC,gBAAgB,EAAE,QAAQ;IAC1B,iBAAiB,EAAE,UAAU;IAC7B,gBAAgB,EAAE,2CAA2C;IAC7D,eAAe,EAAE,wBAAwB;IACzC,gBAAgB,EAAE,sBAAsB;IACxC,WAAW,EAAE,qBAAqB;IAClC,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,SAAS;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/nats/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typekro",
3
- "version": "0.33.4",
3
+ "version": "0.33.6",
4
4
  "description": "A control plane aware framework for orchestrating kubernetes resources like a programmer.",
5
5
  "type": "module",
6
6
  "repository": {