typekro 0.24.1 → 0.26.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 (210) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/composition/context.d.ts +4 -0
  3. package/dist/core/composition/context.d.ts.map +1 -1
  4. package/dist/core/composition/context.js +1 -0
  5. package/dist/core/composition/context.js.map +1 -1
  6. package/dist/core/composition/imperative.d.ts.map +1 -1
  7. package/dist/core/composition/imperative.js +24 -3
  8. package/dist/core/composition/imperative.js.map +1 -1
  9. package/dist/core/deployment/direct-factory.d.ts +8 -1
  10. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  11. package/dist/core/deployment/direct-factory.js +80 -61
  12. package/dist/core/deployment/direct-factory.js.map +1 -1
  13. package/dist/core/deployment/engine.d.ts +2 -0
  14. package/dist/core/deployment/engine.d.ts.map +1 -1
  15. package/dist/core/deployment/engine.js +22 -1
  16. package/dist/core/deployment/engine.js.map +1 -1
  17. package/dist/core/deployment/kro-factory.d.ts +2 -0
  18. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  19. package/dist/core/deployment/kro-factory.js +47 -11
  20. package/dist/core/deployment/kro-factory.js.map +1 -1
  21. package/dist/core/deployment/kro-instance-safety.d.ts +24 -0
  22. package/dist/core/deployment/kro-instance-safety.d.ts.map +1 -0
  23. package/dist/core/deployment/kro-instance-safety.js +157 -0
  24. package/dist/core/deployment/kro-instance-safety.js.map +1 -0
  25. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  26. package/dist/core/deployment/readiness-waiter.js +17 -2
  27. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  28. package/dist/core/deployment/rollback-manager.d.ts +1 -1
  29. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  30. package/dist/core/deployment/rollback-manager.js +16 -9
  31. package/dist/core/deployment/rollback-manager.js.map +1 -1
  32. package/dist/core/deployment/schema-cel-evaluator.d.ts +5 -0
  33. package/dist/core/deployment/schema-cel-evaluator.d.ts.map +1 -0
  34. package/dist/core/deployment/schema-cel-evaluator.js +36 -0
  35. package/dist/core/deployment/schema-cel-evaluator.js.map +1 -0
  36. package/dist/core/deployment/singleton-gitops.d.ts.map +1 -1
  37. package/dist/core/deployment/singleton-gitops.js +9 -2
  38. package/dist/core/deployment/singleton-gitops.js.map +1 -1
  39. package/dist/core/serialization/core.d.ts.map +1 -1
  40. package/dist/core/serialization/core.js +17 -4
  41. package/dist/core/serialization/core.js.map +1 -1
  42. package/dist/core/serialization/schema.d.ts.map +1 -1
  43. package/dist/core/serialization/schema.js +19 -4
  44. package/dist/core/serialization/schema.js.map +1 -1
  45. package/dist/core/serialization/yaml.d.ts.map +1 -1
  46. package/dist/core/serialization/yaml.js +15 -1
  47. package/dist/core/serialization/yaml.js.map +1 -1
  48. package/dist/core/types/kubernetes.d.ts +9 -0
  49. package/dist/core/types/kubernetes.d.ts.map +1 -1
  50. package/dist/core/types/serialization.d.ts +9 -0
  51. package/dist/core/types/serialization.d.ts.map +1 -1
  52. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +1 -1
  53. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +1 -1
  54. package/dist/factories/clickhouse/index.d.ts +4 -1
  55. package/dist/factories/clickhouse/index.d.ts.map +1 -1
  56. package/dist/factories/clickhouse/index.js +4 -1
  57. package/dist/factories/clickhouse/index.js.map +1 -1
  58. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +1 -1
  59. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +1 -1
  60. package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +1 -1
  61. package/dist/factories/clickstack/compositions/k8s-telemetry.js +1 -1
  62. package/dist/factories/clickstack/index.d.ts +1 -1
  63. package/dist/factories/clickstack/index.js +1 -1
  64. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -1
  65. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +1 -1
  66. package/dist/factories/cnpg/index.d.ts +1 -1
  67. package/dist/factories/cnpg/index.js +1 -1
  68. package/dist/factories/dagster/index.d.ts +1 -1
  69. package/dist/factories/dagster/index.js +1 -1
  70. package/dist/factories/index.d.ts +2 -0
  71. package/dist/factories/index.d.ts.map +1 -1
  72. package/dist/factories/index.js +8 -0
  73. package/dist/factories/index.js.map +1 -1
  74. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -1
  75. package/dist/factories/inngest/compositions/inngest-bootstrap.js +1 -1
  76. package/dist/factories/inngest/index.d.ts +1 -1
  77. package/dist/factories/inngest/index.js +1 -1
  78. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  79. package/dist/factories/kro/resource-graph-definition.js +17 -1
  80. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  81. package/dist/factories/nats/compositions/index.d.ts +2 -0
  82. package/dist/factories/nats/compositions/index.d.ts.map +1 -0
  83. package/dist/factories/nats/compositions/index.js +2 -0
  84. package/dist/factories/nats/compositions/index.js.map +1 -0
  85. package/dist/factories/nats/compositions/nats-bootstrap.d.ts +49 -0
  86. package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -0
  87. package/dist/factories/nats/compositions/nats-bootstrap.js +135 -0
  88. package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -0
  89. package/dist/factories/nats/index.d.ts +5 -0
  90. package/dist/factories/nats/index.d.ts.map +1 -0
  91. package/dist/factories/nats/index.js +5 -0
  92. package/dist/factories/nats/index.js.map +1 -0
  93. package/dist/factories/nats/resources/helm.d.ts +28 -0
  94. package/dist/factories/nats/resources/helm.d.ts.map +1 -0
  95. package/dist/factories/nats/resources/helm.js +39 -0
  96. package/dist/factories/nats/resources/helm.js.map +1 -0
  97. package/dist/factories/nats/resources/index.d.ts +3 -0
  98. package/dist/factories/nats/resources/index.d.ts.map +1 -0
  99. package/dist/factories/nats/resources/index.js +3 -0
  100. package/dist/factories/nats/resources/index.js.map +1 -0
  101. package/dist/factories/nats/resources/jetstream.d.ts +13 -0
  102. package/dist/factories/nats/resources/jetstream.d.ts.map +1 -0
  103. package/dist/factories/nats/resources/jetstream.js +105 -0
  104. package/dist/factories/nats/resources/jetstream.js.map +1 -0
  105. package/dist/factories/nats/types.d.ts +91 -0
  106. package/dist/factories/nats/types.d.ts.map +1 -0
  107. package/dist/factories/nats/types.js +72 -0
  108. package/dist/factories/nats/types.js.map +1 -0
  109. package/dist/factories/ory/compositions/ory-identity-stack.d.ts +1 -1
  110. package/dist/factories/ory/types.d.ts +2 -2
  111. package/dist/factories/rook/compositions/index.d.ts +4 -0
  112. package/dist/factories/rook/compositions/index.d.ts.map +1 -0
  113. package/dist/factories/rook/compositions/index.js +4 -0
  114. package/dist/factories/rook/compositions/index.js.map +1 -0
  115. package/dist/factories/rook/compositions/object-storage-claim.d.ts +32 -0
  116. package/dist/factories/rook/compositions/object-storage-claim.d.ts.map +1 -0
  117. package/dist/factories/rook/compositions/object-storage-claim.js +63 -0
  118. package/dist/factories/rook/compositions/object-storage-claim.js.map +1 -0
  119. package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts +12 -0
  120. package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts.map +1 -0
  121. package/dist/factories/rook/compositions/rook-ceph-helm-repository.js +25 -0
  122. package/dist/factories/rook/compositions/rook-ceph-helm-repository.js.map +1 -0
  123. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts +2 -0
  124. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts.map +1 -0
  125. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js +2 -0
  126. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js.map +1 -0
  127. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts +67 -0
  128. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts.map +1 -0
  129. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js +71 -0
  130. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js.map +1 -0
  131. package/dist/factories/rook/index.d.ts +15 -0
  132. package/dist/factories/rook/index.d.ts.map +1 -0
  133. package/dist/factories/rook/index.js +15 -0
  134. package/dist/factories/rook/index.js.map +1 -0
  135. package/dist/factories/rook/resources/bucket-storage-class.d.ts +12 -0
  136. package/dist/factories/rook/resources/bucket-storage-class.d.ts.map +1 -0
  137. package/dist/factories/rook/resources/bucket-storage-class.js +29 -0
  138. package/dist/factories/rook/resources/bucket-storage-class.js.map +1 -0
  139. package/dist/factories/rook/resources/ceph-object-store-user.d.ts +14 -0
  140. package/dist/factories/rook/resources/ceph-object-store-user.d.ts.map +1 -0
  141. package/dist/factories/rook/resources/ceph-object-store-user.js +42 -0
  142. package/dist/factories/rook/resources/ceph-object-store-user.js.map +1 -0
  143. package/dist/factories/rook/resources/ceph-object-store.d.ts +27 -0
  144. package/dist/factories/rook/resources/ceph-object-store.d.ts.map +1 -0
  145. package/dist/factories/rook/resources/ceph-object-store.js +56 -0
  146. package/dist/factories/rook/resources/ceph-object-store.js.map +1 -0
  147. package/dist/factories/rook/resources/helm.d.ts +18 -0
  148. package/dist/factories/rook/resources/helm.d.ts.map +1 -0
  149. package/dist/factories/rook/resources/helm.js +45 -0
  150. package/dist/factories/rook/resources/helm.js.map +1 -0
  151. package/dist/factories/rook/resources/index.d.ts +6 -0
  152. package/dist/factories/rook/resources/index.d.ts.map +1 -0
  153. package/dist/factories/rook/resources/index.js +6 -0
  154. package/dist/factories/rook/resources/index.js.map +1 -0
  155. package/dist/factories/rook/resources/object-bucket-claim.d.ts +15 -0
  156. package/dist/factories/rook/resources/object-bucket-claim.d.ts.map +1 -0
  157. package/dist/factories/rook/resources/object-bucket-claim.js +52 -0
  158. package/dist/factories/rook/resources/object-bucket-claim.js.map +1 -0
  159. package/dist/factories/rook/types.d.ts +307 -0
  160. package/dist/factories/rook/types.d.ts.map +1 -0
  161. package/dist/factories/rook/types.js +239 -0
  162. package/dist/factories/rook/types.js.map +1 -0
  163. package/dist/factories/rook/utils/helm-values-mapper.d.ts +33 -0
  164. package/dist/factories/rook/utils/helm-values-mapper.d.ts.map +1 -0
  165. package/dist/factories/rook/utils/helm-values-mapper.js +60 -0
  166. package/dist/factories/rook/utils/helm-values-mapper.js.map +1 -0
  167. package/dist/factories/rook/utils/index.d.ts +2 -0
  168. package/dist/factories/rook/utils/index.d.ts.map +1 -0
  169. package/dist/factories/rook/utils/index.js +2 -0
  170. package/dist/factories/rook/utils/index.js.map +1 -0
  171. package/dist/factories/valkey/compositions/index.d.ts +2 -1
  172. package/dist/factories/valkey/compositions/index.d.ts.map +1 -1
  173. package/dist/factories/valkey/compositions/index.js +2 -1
  174. package/dist/factories/valkey/compositions/index.js.map +1 -1
  175. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +21 -2
  176. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
  177. package/dist/factories/valkey/compositions/valkey-bootstrap.js +26 -136
  178. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
  179. package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts +16 -0
  180. package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts.map +1 -0
  181. package/dist/factories/valkey/compositions/valkey-helm-repository.js +29 -0
  182. package/dist/factories/valkey/compositions/valkey-helm-repository.js.map +1 -0
  183. package/dist/factories/valkey/index.d.ts +6 -3
  184. package/dist/factories/valkey/index.d.ts.map +1 -1
  185. package/dist/factories/valkey/index.js +6 -3
  186. package/dist/factories/valkey/index.js.map +1 -1
  187. package/dist/factories/valkey/resources/helm.d.ts.map +1 -1
  188. package/dist/factories/valkey/resources/helm.js +13 -11
  189. package/dist/factories/valkey/resources/helm.js.map +1 -1
  190. package/dist/factories/valkey/types.d.ts +29 -16
  191. package/dist/factories/valkey/types.d.ts.map +1 -1
  192. package/dist/factories/valkey/types.js +34 -22
  193. package/dist/factories/valkey/types.js.map +1 -1
  194. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +6 -1
  195. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -1
  196. package/dist/factories/valkey/utils/helm-values-mapper.js +52 -19
  197. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -1
  198. package/dist/factories/webapp/compositions/index.d.ts +1 -1
  199. package/dist/factories/webapp/compositions/index.d.ts.map +1 -1
  200. package/dist/factories/webapp/compositions/index.js +1 -1
  201. package/dist/factories/webapp/compositions/index.js.map +1 -1
  202. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +9 -13
  203. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  204. package/dist/factories/webapp/compositions/web-app-with-processing.js +290 -278
  205. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  206. package/dist/factories/webapp/types.d.ts +26 -7
  207. package/dist/factories/webapp/types.d.ts.map +1 -1
  208. package/dist/factories/webapp/types.js +0 -9
  209. package/dist/factories/webapp/types.js.map +1 -1
  210. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"resource-graph-definition.js","sourceRoot":"","sources":["../../../src/factories/kro/resource-graph-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-graph-definition.js","sourceRoot":"","sources":["../../../src/factories/kro/resource-graph-definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './nats-bootstrap.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './nats-bootstrap.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /** Install an official NATS cluster with JetStream and the NACK controller. */
2
+ export declare const natsBootstrap: import("../../../index.js").CallableComposition<{
3
+ name: string;
4
+ namespace?: string;
5
+ namespaceOwnership?: "external" | "owned";
6
+ version?: string;
7
+ nackVersion?: string;
8
+ repositoryName?: string;
9
+ repositoryNamespace?: string;
10
+ repositoryUrl?: string;
11
+ replicas?: number;
12
+ storageSize?: string;
13
+ storageClassName?: string;
14
+ pvcRetentionPolicy?: "delete" | "retain";
15
+ values?: Record<string, unknown>;
16
+ nackValues?: Record<string, unknown>;
17
+ }, {
18
+ ready: boolean;
19
+ failed: boolean;
20
+ phase: "Ready" | "Installing";
21
+ serverVersion: string;
22
+ controllerVersion: string;
23
+ endpoint: string;
24
+ }>;
25
+ /** Explicit lifecycle alias for shared platform ownership. */
26
+ export declare const natsInstallation: import("../../../index.js").CallableComposition<{
27
+ name: string;
28
+ namespace?: string;
29
+ namespaceOwnership?: "external" | "owned";
30
+ version?: string;
31
+ nackVersion?: string;
32
+ repositoryName?: string;
33
+ repositoryNamespace?: string;
34
+ repositoryUrl?: string;
35
+ replicas?: number;
36
+ storageSize?: string;
37
+ storageClassName?: string;
38
+ pvcRetentionPolicy?: "delete" | "retain";
39
+ values?: Record<string, unknown>;
40
+ nackValues?: Record<string, unknown>;
41
+ }, {
42
+ ready: boolean;
43
+ failed: boolean;
44
+ phase: "Ready" | "Installing";
45
+ serverVersion: string;
46
+ controllerVersion: string;
47
+ endpoint: string;
48
+ }>;
49
+ //# sourceMappingURL=nats-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"AAsBA,+EAA+E;AAC/E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EA+IzB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EAAgB,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { mergeValuesExpression } from '../../../core/aspects/values-merge.js';
2
+ import { kubernetesComposition } from '../../../core/composition/imperative.js';
3
+ import { Cel } from '../../../core/references/cel.js';
4
+ import { isKubernetesRef } from '../../../utils/type-guards.js';
5
+ import { namespace } from '../../kubernetes/core/namespace.js';
6
+ import { DEFAULT_NACK_VERSION, DEFAULT_NATS_REPOSITORY_NAME, DEFAULT_NATS_REPOSITORY_URL, DEFAULT_NATS_VERSION, natsHelmRelease, natsHelmRepository, } from '../resources/helm.js';
7
+ import { NatsBootstrapConfigSchema, NatsBootstrapStatusSchema, } from '../types.js';
8
+ const DEFAULT_NATS_NAMESPACE = 'nats-system';
9
+ /** Install an official NATS cluster with JetStream and the NACK controller. */
10
+ export const natsBootstrap = kubernetesComposition({
11
+ name: 'nats-bootstrap',
12
+ kind: 'NatsBootstrap',
13
+ spec: NatsBootstrapConfigSchema,
14
+ status: NatsBootstrapStatusSchema,
15
+ }, (spec) => {
16
+ const graphMode = isKubernetesRef(spec.name);
17
+ const targetNamespace = graphMode
18
+ ? Cel.expr('has(schema.spec.namespace) ? schema.spec.namespace : "nats-system"')
19
+ : (spec.namespace ?? DEFAULT_NATS_NAMESPACE);
20
+ const ownsTargetNamespace = graphMode
21
+ ? Cel.expr('!has(schema.spec.namespaceOwnership) || schema.spec.namespaceOwnership == "owned"')
22
+ : spec.namespaceOwnership !== 'external';
23
+ const repositoryName = spec.repositoryName ?? DEFAULT_NATS_REPOSITORY_NAME;
24
+ const repositoryNamespace = spec.repositoryNamespace ?? targetNamespace;
25
+ const repositoryUrl = spec.repositoryUrl ?? DEFAULT_NATS_REPOSITORY_URL;
26
+ if (!graphMode) {
27
+ validateReplicaCount(spec.replicas);
28
+ }
29
+ const replicas = graphMode
30
+ ? Cel.expr('has(schema.spec.replicas) ? schema.spec.replicas : 1')
31
+ : (spec.replicas ?? 1);
32
+ const clusteringEnabled = graphMode ? Cel.expr(replicas, ' > 1') : replicas > 1;
33
+ const pvcWhenDeleted = graphMode
34
+ ? Cel.expr('has(schema.spec.pvcRetentionPolicy) && schema.spec.pvcRetentionPolicy == "delete" ? "Delete" : "Retain"')
35
+ : spec.pvcRetentionPolicy === 'delete'
36
+ ? 'Delete'
37
+ : 'Retain';
38
+ const endpoint = graphMode
39
+ ? Cel.expr('"nats://" + string(schema.spec.name) + "." + string(has(schema.spec.namespace) ? schema.spec.namespace : "nats-system") + ".svc:4222"')
40
+ : `nats://${spec.name}.${targetNamespace}.svc:4222`;
41
+ const serverDefaults = {
42
+ // Keep the chart Service identity identical to the public endpoint for
43
+ // every release name. Without this, Helm appends "-nats" whenever the
44
+ // release name itself does not contain the chart name.
45
+ fullnameOverride: spec.name,
46
+ config: {
47
+ cluster: { enabled: clusteringEnabled, replicas },
48
+ jetstream: {
49
+ enabled: true,
50
+ fileStore: {
51
+ enabled: true,
52
+ pvc: {
53
+ enabled: true,
54
+ size: spec.storageSize ?? '10Gi',
55
+ ...(spec.storageClassName && { storageClassName: spec.storageClassName }),
56
+ },
57
+ },
58
+ },
59
+ },
60
+ natsBox: { enabled: true },
61
+ statefulSet: {
62
+ merge: {
63
+ persistentVolumeClaimRetentionPolicy: {
64
+ whenDeleted: pvcWhenDeleted,
65
+ whenScaled: 'Retain',
66
+ },
67
+ },
68
+ },
69
+ };
70
+ const nackDefaults = {
71
+ jetstream: { enabled: true, nats: { url: endpoint }, controlLoop: true },
72
+ namespaced: false,
73
+ };
74
+ const serverValues = spec.values
75
+ ? mergeValuesExpression(serverDefaults, spec.values)
76
+ : serverDefaults;
77
+ const nackValues = spec.nackValues
78
+ ? mergeValuesExpression(nackDefaults, spec.nackValues)
79
+ : nackDefaults;
80
+ const _namespace = namespace({
81
+ id: 'natsNamespace',
82
+ metadata: {
83
+ name: targetNamespace,
84
+ labels: {
85
+ 'app.kubernetes.io/name': 'nats',
86
+ 'app.kubernetes.io/instance': spec.name,
87
+ 'app.kubernetes.io/managed-by': 'typekro',
88
+ },
89
+ },
90
+ }).withIncludeWhen(ownsTargetNamespace);
91
+ const _repository = natsHelmRepository({
92
+ id: 'natsHelmRepository',
93
+ name: repositoryName,
94
+ namespace: repositoryNamespace,
95
+ url: repositoryUrl,
96
+ });
97
+ const server = natsHelmRelease({
98
+ id: 'natsHelmRelease',
99
+ name: spec.name,
100
+ namespace: targetNamespace,
101
+ chart: 'nats',
102
+ version: spec.version ?? DEFAULT_NATS_VERSION,
103
+ values: serverValues,
104
+ repositoryName,
105
+ repositoryNamespace,
106
+ repositoryUrl,
107
+ });
108
+ const controller = natsHelmRelease({
109
+ id: 'nackHelmRelease',
110
+ name: 'nack',
111
+ namespace: targetNamespace,
112
+ chart: 'nack',
113
+ version: spec.nackVersion ?? DEFAULT_NACK_VERSION,
114
+ values: nackValues,
115
+ repositoryName,
116
+ repositoryNamespace,
117
+ repositoryUrl,
118
+ });
119
+ return {
120
+ ready: Cel.expr(server.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True") && ', controller.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
121
+ failed: Cel.expr(server.status.conditions, '.exists(c, c.type == "Ready" && c.status == "False") || ', controller.status.conditions, '.exists(c, c.type == "Ready" && c.status == "False")'),
122
+ phase: Cel.expr(server.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True") && ', controller.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")', ' ? "Ready" : "Installing"'),
123
+ serverVersion: spec.version ?? DEFAULT_NATS_VERSION,
124
+ controllerVersion: spec.nackVersion ?? DEFAULT_NACK_VERSION,
125
+ endpoint,
126
+ };
127
+ });
128
+ /** Explicit lifecycle alias for shared platform ownership. */
129
+ export const natsInstallation = natsBootstrap;
130
+ function validateReplicaCount(value) {
131
+ if (value !== undefined && (!Number.isInteger(value) || value < 1)) {
132
+ throw new Error('NATS replicas must be an integer greater than or equal to 1.');
133
+ }
134
+ }
135
+ //# sourceMappingURL=nats-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/nats-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Official NATS, JetStream, and NACK integration for TypeKro. */
2
+ export * from './compositions/index.js';
3
+ export * from './resources/index.js';
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/nats/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Official NATS, JetStream, and NACK integration for TypeKro. */
2
+ export * from './compositions/index.js';
3
+ export * from './resources/index.js';
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/nats/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Enhanced } from '../../../core/types/index.js';
2
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
3
+ import type { HelmRepositorySpec, HelmRepositoryStatus } from '../../helm/helm-repository.js';
4
+ import type { NatsHelmValues } from '../types.js';
5
+ export declare const DEFAULT_NATS_REPOSITORY_URL = "https://nats-io.github.io/k8s/helm/charts/";
6
+ export declare const DEFAULT_NATS_REPOSITORY_NAME = "nats";
7
+ export declare const DEFAULT_NATS_VERSION = "2.14.0";
8
+ export declare const DEFAULT_NACK_VERSION = "0.34.0";
9
+ export declare function natsHelmRepository(config: {
10
+ name?: string;
11
+ namespace?: string;
12
+ url?: string;
13
+ id?: string;
14
+ }): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
15
+ declare function natsChartRelease(config: {
16
+ name: string;
17
+ namespace: string;
18
+ chart: 'nats' | 'nack';
19
+ version: string;
20
+ values: NatsHelmValues;
21
+ repositoryName?: string;
22
+ repositoryNamespace?: string;
23
+ repositoryUrl?: string;
24
+ id?: string;
25
+ }): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
26
+ export declare function natsHelmRelease(config: Parameters<typeof natsChartRelease>[0]): Enhanced<HelmReleaseSpec, HelmReleaseStatus>;
27
+ export {};
28
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,39 @@
1
+ import { helmRelease } from '../../helm/helm-release.js';
2
+ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
3
+ import { helmRepository } from '../../helm/helm-repository.js';
4
+ export const DEFAULT_NATS_REPOSITORY_URL = 'https://nats-io.github.io/k8s/helm/charts/';
5
+ export const DEFAULT_NATS_REPOSITORY_NAME = 'nats';
6
+ export const DEFAULT_NATS_VERSION = '2.14.0';
7
+ export const DEFAULT_NACK_VERSION = '0.34.0';
8
+ export function natsHelmRepository(config) {
9
+ return helmRepository({
10
+ name: config.name ?? DEFAULT_NATS_REPOSITORY_NAME,
11
+ namespace: config.namespace ?? 'flux-system',
12
+ url: config.url ?? DEFAULT_NATS_REPOSITORY_URL,
13
+ interval: '5m',
14
+ ...(config.id && { id: config.id }),
15
+ });
16
+ }
17
+ function natsChartRelease(config) {
18
+ return helmRelease({
19
+ name: config.name,
20
+ namespace: config.namespace,
21
+ chart: {
22
+ repository: config.repositoryUrl ?? DEFAULT_NATS_REPOSITORY_URL,
23
+ name: config.chart,
24
+ version: config.version,
25
+ },
26
+ sourceRef: {
27
+ name: config.repositoryName ?? DEFAULT_NATS_REPOSITORY_NAME,
28
+ namespace: config.repositoryNamespace ?? config.namespace,
29
+ kind: 'HelmRepository',
30
+ },
31
+ driftDetection: { mode: 'enabled' },
32
+ values: config.values,
33
+ ...(config.id && { id: config.id }),
34
+ }).withReadinessEvaluator(createLabeledHelmReleaseEvaluator('NATS'));
35
+ }
36
+ export function natsHelmRelease(config) {
37
+ return natsChartRelease(config);
38
+ }
39
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export * from './helm.js';
2
+ export * from './jetstream.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './helm.js';
2
+ export * from './jetstream.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/nats/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
2
+ import type { JetStreamConsumerConfig, JetStreamResourceStatus, JetStreamStreamConfig } from '../types.js';
3
+ /** Create a NACK-managed JetStream Stream. */
4
+ export declare function jetStreamStream(config: Composable<JetStreamStreamConfig>): Enhanced<JetStreamStreamConfig, JetStreamResourceStatus>;
5
+ /**
6
+ * Create a NACK-managed durable JetStream Consumer.
7
+ *
8
+ * `durableName` defaults to the Kubernetes resource `name`; this factory does
9
+ * not expose ephemeral consumers because NACK continuously reconciles the
10
+ * declared Consumer resource.
11
+ */
12
+ export declare function jetStreamConsumer(config: Composable<JetStreamConsumerConfig>): Enhanced<JetStreamConsumerConfig, JetStreamResourceStatus>;
13
+ //# sourceMappingURL=jetstream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jetstream.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/resources/jetstream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAkB,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAuBrB,8CAA8C;AAC9C,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,GACxC,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CA2C1D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,GAC1C,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAuC5D"}
@@ -0,0 +1,105 @@
1
+ import { createResource } from '../../shared.js';
2
+ function jetStreamReadiness(resource) {
3
+ const typed = resource;
4
+ const status = typed?.status;
5
+ const ready = status?.conditions?.find((condition) => condition.type === 'Ready');
6
+ const generation = typed?.metadata?.generation;
7
+ const generationCurrent = generation !== undefined && status?.observedGeneration === generation;
8
+ return {
9
+ ready: generationCurrent && ready?.status === 'True',
10
+ reason: !status
11
+ ? 'StatusMissing'
12
+ : !generationCurrent
13
+ ? 'ObservedGenerationStale'
14
+ : (ready?.reason ?? 'ReadyConditionMissing'),
15
+ message: !generationCurrent
16
+ ? `NACK observed generation ${status?.observedGeneration ?? 'none'}; expected ${generation ?? 'none'}.`
17
+ : (ready?.message ?? 'NACK has not reported the resource ready.'),
18
+ };
19
+ }
20
+ /** Create a NACK-managed JetStream Stream. */
21
+ export function jetStreamStream(config) {
22
+ validateOptionalInteger('Stream replicas', config.replicas, 1);
23
+ validateOptionalInteger('Stream maxConsumers', config.maxConsumers, -1);
24
+ validateOptionalInteger('Stream maxMsgs', config.maxMsgs, -1);
25
+ validateOptionalInteger('Stream maxBytes', config.maxBytes, -1);
26
+ validateOptionalInteger('Stream maxMsgSize', config.maxMsgSize, -1);
27
+ return createResource({
28
+ apiVersion: 'jetstream.nats.io/v1beta2',
29
+ kind: 'Stream',
30
+ metadata: {
31
+ name: config.name,
32
+ ...(config.namespace && { namespace: config.namespace }),
33
+ labels: { 'app.kubernetes.io/managed-by': 'typekro' },
34
+ },
35
+ spec: {
36
+ name: config.streamName ?? config.name,
37
+ subjects: config.subjects,
38
+ ...(config.description && { description: config.description }),
39
+ ...(config.retention && { retention: config.retention }),
40
+ ...(config.storage && { storage: config.storage }),
41
+ ...(config.replicas && { replicas: config.replicas }),
42
+ ...(config.maxConsumers !== undefined && { maxConsumers: config.maxConsumers }),
43
+ ...(config.maxMsgs !== undefined && { maxMsgs: config.maxMsgs }),
44
+ ...(config.maxBytes !== undefined && { maxBytes: config.maxBytes }),
45
+ ...(config.maxAge && { maxAge: config.maxAge }),
46
+ ...(config.maxMsgSize !== undefined && { maxMsgSize: config.maxMsgSize }),
47
+ ...(config.duplicateWindow && { duplicateWindow: config.duplicateWindow }),
48
+ ...(config.discard && { discard: config.discard }),
49
+ ...(config.preventDelete !== undefined && { preventDelete: config.preventDelete }),
50
+ ...(config.preventUpdate !== undefined && { preventUpdate: config.preventUpdate }),
51
+ ...(config.servers && { servers: config.servers }),
52
+ ...(config.creds && { creds: config.creds }),
53
+ ...(config.nkey && { nkey: config.nkey }),
54
+ ...(config.jsDomain && { jsDomain: config.jsDomain }),
55
+ },
56
+ ...(config.id && { id: config.id }),
57
+ }, { scope: 'namespaced', dnsAddressable: false }).withReadinessEvaluator(jetStreamReadiness);
58
+ }
59
+ /**
60
+ * Create a NACK-managed durable JetStream Consumer.
61
+ *
62
+ * `durableName` defaults to the Kubernetes resource `name`; this factory does
63
+ * not expose ephemeral consumers because NACK continuously reconciles the
64
+ * declared Consumer resource.
65
+ */
66
+ export function jetStreamConsumer(config) {
67
+ validateOptionalInteger('Consumer maxDeliver', config.maxDeliver, -1);
68
+ validateOptionalInteger('Consumer maxAckPending', config.maxAckPending, -1);
69
+ validateOptionalInteger('Consumer replicas', config.replicas, 1);
70
+ return createResource({
71
+ apiVersion: 'jetstream.nats.io/v1beta2',
72
+ kind: 'Consumer',
73
+ metadata: {
74
+ name: config.name,
75
+ ...(config.namespace && { namespace: config.namespace }),
76
+ labels: { 'app.kubernetes.io/managed-by': 'typekro' },
77
+ },
78
+ spec: {
79
+ durableName: config.durableName ?? config.name,
80
+ streamName: config.streamName,
81
+ ...(config.ackPolicy && { ackPolicy: config.ackPolicy }),
82
+ ...(config.ackWait && { ackWait: config.ackWait }),
83
+ ...(config.maxDeliver !== undefined && { maxDeliver: config.maxDeliver }),
84
+ ...(config.filterSubject && { filterSubject: config.filterSubject }),
85
+ ...(config.filterSubjects && { filterSubjects: config.filterSubjects }),
86
+ ...(config.deliverPolicy && { deliverPolicy: config.deliverPolicy }),
87
+ ...(config.replayPolicy && { replayPolicy: config.replayPolicy }),
88
+ ...(config.maxAckPending !== undefined && { maxAckPending: config.maxAckPending }),
89
+ ...(config.replicas && { replicas: config.replicas }),
90
+ ...(config.servers && { servers: config.servers }),
91
+ ...(config.creds && { creds: config.creds }),
92
+ ...(config.nkey && { nkey: config.nkey }),
93
+ ...(config.jsDomain && { jsDomain: config.jsDomain }),
94
+ ...(config.preventDelete !== undefined && { preventDelete: config.preventDelete }),
95
+ ...(config.preventUpdate !== undefined && { preventUpdate: config.preventUpdate }),
96
+ },
97
+ ...(config.id && { id: config.id }),
98
+ }, { scope: 'namespaced', dnsAddressable: false }).withReadinessEvaluator(jetStreamReadiness);
99
+ }
100
+ function validateOptionalInteger(label, value, minimum) {
101
+ if (typeof value === 'number' && (!Number.isInteger(value) || value < minimum)) {
102
+ throw new Error(`${label} must be an integer greater than or equal to ${minimum}.`);
103
+ }
104
+ }
105
+ //# sourceMappingURL=jetstream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jetstream.js","sourceRoot":"","sources":["../../../../src/factories/nats/resources/jetstream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { TypeKroChartValue } from '../../core/types/common.js';
2
+ export declare const NatsBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
3
+ name: string;
4
+ namespace?: string;
5
+ namespaceOwnership?: "external" | "owned";
6
+ version?: string;
7
+ nackVersion?: string;
8
+ repositoryName?: string;
9
+ repositoryNamespace?: string;
10
+ repositoryUrl?: string;
11
+ replicas?: number;
12
+ storageSize?: string;
13
+ storageClassName?: string;
14
+ pvcRetentionPolicy?: "delete" | "retain";
15
+ values?: Record<string, unknown>;
16
+ nackValues?: Record<string, unknown>;
17
+ }, {}>;
18
+ export type NatsBootstrapConfig = Omit<typeof NatsBootstrapConfigSchema.infer, 'values' | 'nackValues'> & {
19
+ values?: TypeKroChartValue<Record<string, unknown>>;
20
+ nackValues?: TypeKroChartValue<Record<string, unknown>>;
21
+ };
22
+ export declare const NatsBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
23
+ ready: boolean;
24
+ failed: boolean;
25
+ phase: "Ready" | "Installing";
26
+ serverVersion: string;
27
+ controllerVersion: string;
28
+ endpoint: string;
29
+ }, {}>;
30
+ export type NatsBootstrapStatus = typeof NatsBootstrapStatusSchema.infer;
31
+ export declare const JetStreamStreamConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
32
+ name: string;
33
+ subjects: string[];
34
+ streamName?: string;
35
+ namespace?: string;
36
+ id?: string;
37
+ description?: string;
38
+ retention?: "limits" | "interest" | "workqueue";
39
+ storage?: "memory" | "file";
40
+ replicas?: number;
41
+ maxConsumers?: number;
42
+ maxMsgs?: number;
43
+ maxBytes?: number;
44
+ maxAge?: string;
45
+ maxMsgSize?: number;
46
+ duplicateWindow?: string;
47
+ discard?: "old" | "new";
48
+ preventDelete?: boolean;
49
+ preventUpdate?: boolean;
50
+ servers?: string[];
51
+ creds?: string;
52
+ nkey?: string;
53
+ jsDomain?: string;
54
+ }, {}>;
55
+ export type JetStreamStreamConfig = typeof JetStreamStreamConfigSchema.infer;
56
+ export declare const JetStreamConsumerConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
57
+ name: string;
58
+ streamName: string;
59
+ namespace?: string;
60
+ id?: string;
61
+ durableName?: string;
62
+ ackPolicy?: "none" | "all" | "explicit";
63
+ ackWait?: string;
64
+ maxDeliver?: number;
65
+ filterSubject?: string;
66
+ filterSubjects?: string[];
67
+ deliverPolicy?: "all" | "new" | "last" | "lastPerSubject";
68
+ replayPolicy?: "original" | "instant";
69
+ maxAckPending?: number;
70
+ replicas?: number;
71
+ servers?: string[];
72
+ creds?: string;
73
+ nkey?: string;
74
+ jsDomain?: string;
75
+ preventDelete?: boolean;
76
+ preventUpdate?: boolean;
77
+ }, {}>;
78
+ export type JetStreamConsumerConfig = typeof JetStreamConsumerConfigSchema.infer;
79
+ export interface JetStreamCondition {
80
+ type: string;
81
+ status: 'True' | 'False' | 'Unknown';
82
+ reason?: string;
83
+ message?: string;
84
+ lastTransitionTime?: string;
85
+ }
86
+ export interface JetStreamResourceStatus {
87
+ observedGeneration?: number;
88
+ conditions?: JetStreamCondition[];
89
+ }
90
+ export type NatsHelmValues = TypeKroChartValue<Record<string, unknown>>;
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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"}