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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/core/composition/context.d.ts +4 -0
- package/dist/core/composition/context.d.ts.map +1 -1
- package/dist/core/composition/context.js +1 -0
- package/dist/core/composition/context.js.map +1 -1
- package/dist/core/composition/imperative.d.ts.map +1 -1
- package/dist/core/composition/imperative.js +24 -3
- package/dist/core/composition/imperative.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +8 -1
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +80 -61
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +2 -0
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +22 -1
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +2 -0
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +47 -11
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/kro-instance-safety.d.ts +24 -0
- package/dist/core/deployment/kro-instance-safety.d.ts.map +1 -0
- package/dist/core/deployment/kro-instance-safety.js +157 -0
- package/dist/core/deployment/kro-instance-safety.js.map +1 -0
- package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
- package/dist/core/deployment/readiness-waiter.js +17 -2
- package/dist/core/deployment/readiness-waiter.js.map +1 -1
- package/dist/core/deployment/rollback-manager.d.ts +1 -1
- package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
- package/dist/core/deployment/rollback-manager.js +16 -9
- package/dist/core/deployment/rollback-manager.js.map +1 -1
- package/dist/core/deployment/schema-cel-evaluator.d.ts +5 -0
- package/dist/core/deployment/schema-cel-evaluator.d.ts.map +1 -0
- package/dist/core/deployment/schema-cel-evaluator.js +36 -0
- package/dist/core/deployment/schema-cel-evaluator.js.map +1 -0
- package/dist/core/deployment/singleton-gitops.d.ts.map +1 -1
- package/dist/core/deployment/singleton-gitops.js +9 -2
- package/dist/core/deployment/singleton-gitops.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +17 -4
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +19 -4
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +15 -1
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/kubernetes.d.ts +9 -0
- package/dist/core/types/kubernetes.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +9 -0
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +1 -1
- package/dist/factories/clickhouse/index.d.ts +4 -1
- package/dist/factories/clickhouse/index.d.ts.map +1 -1
- package/dist/factories/clickhouse/index.js +4 -1
- package/dist/factories/clickhouse/index.js.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +1 -1
- package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +1 -1
- package/dist/factories/clickstack/compositions/k8s-telemetry.js +1 -1
- package/dist/factories/clickstack/index.d.ts +1 -1
- package/dist/factories/clickstack/index.js +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -1
- package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +1 -1
- package/dist/factories/cnpg/index.d.ts +1 -1
- package/dist/factories/cnpg/index.js +1 -1
- package/dist/factories/dagster/index.d.ts +1 -1
- package/dist/factories/dagster/index.js +1 -1
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +8 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -1
- package/dist/factories/inngest/compositions/inngest-bootstrap.js +1 -1
- package/dist/factories/inngest/index.d.ts +1 -1
- package/dist/factories/inngest/index.js +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +17 -1
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/nats/compositions/index.d.ts +2 -0
- package/dist/factories/nats/compositions/index.d.ts.map +1 -0
- package/dist/factories/nats/compositions/index.js +2 -0
- package/dist/factories/nats/compositions/index.js.map +1 -0
- package/dist/factories/nats/compositions/nats-bootstrap.d.ts +49 -0
- package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -0
- package/dist/factories/nats/compositions/nats-bootstrap.js +135 -0
- package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -0
- package/dist/factories/nats/index.d.ts +5 -0
- package/dist/factories/nats/index.d.ts.map +1 -0
- package/dist/factories/nats/index.js +5 -0
- package/dist/factories/nats/index.js.map +1 -0
- package/dist/factories/nats/resources/helm.d.ts +28 -0
- package/dist/factories/nats/resources/helm.d.ts.map +1 -0
- package/dist/factories/nats/resources/helm.js +39 -0
- package/dist/factories/nats/resources/helm.js.map +1 -0
- package/dist/factories/nats/resources/index.d.ts +3 -0
- package/dist/factories/nats/resources/index.d.ts.map +1 -0
- package/dist/factories/nats/resources/index.js +3 -0
- package/dist/factories/nats/resources/index.js.map +1 -0
- package/dist/factories/nats/resources/jetstream.d.ts +13 -0
- package/dist/factories/nats/resources/jetstream.d.ts.map +1 -0
- package/dist/factories/nats/resources/jetstream.js +105 -0
- package/dist/factories/nats/resources/jetstream.js.map +1 -0
- package/dist/factories/nats/types.d.ts +91 -0
- package/dist/factories/nats/types.d.ts.map +1 -0
- package/dist/factories/nats/types.js +72 -0
- package/dist/factories/nats/types.js.map +1 -0
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts +1 -1
- package/dist/factories/ory/types.d.ts +2 -2
- package/dist/factories/rook/compositions/index.d.ts +4 -0
- package/dist/factories/rook/compositions/index.d.ts.map +1 -0
- package/dist/factories/rook/compositions/index.js +4 -0
- package/dist/factories/rook/compositions/index.js.map +1 -0
- package/dist/factories/rook/compositions/object-storage-claim.d.ts +32 -0
- package/dist/factories/rook/compositions/object-storage-claim.d.ts.map +1 -0
- package/dist/factories/rook/compositions/object-storage-claim.js +63 -0
- package/dist/factories/rook/compositions/object-storage-claim.js.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts +12 -0
- package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-helm-repository.js +25 -0
- package/dist/factories/rook/compositions/rook-ceph-helm-repository.js.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts +2 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js +2 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts +67 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts.map +1 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.js +71 -0
- package/dist/factories/rook/compositions/rook-ceph-operator-installation.js.map +1 -0
- package/dist/factories/rook/index.d.ts +15 -0
- package/dist/factories/rook/index.d.ts.map +1 -0
- package/dist/factories/rook/index.js +15 -0
- package/dist/factories/rook/index.js.map +1 -0
- package/dist/factories/rook/resources/bucket-storage-class.d.ts +12 -0
- package/dist/factories/rook/resources/bucket-storage-class.d.ts.map +1 -0
- package/dist/factories/rook/resources/bucket-storage-class.js +29 -0
- package/dist/factories/rook/resources/bucket-storage-class.js.map +1 -0
- package/dist/factories/rook/resources/ceph-object-store-user.d.ts +14 -0
- package/dist/factories/rook/resources/ceph-object-store-user.d.ts.map +1 -0
- package/dist/factories/rook/resources/ceph-object-store-user.js +42 -0
- package/dist/factories/rook/resources/ceph-object-store-user.js.map +1 -0
- package/dist/factories/rook/resources/ceph-object-store.d.ts +27 -0
- package/dist/factories/rook/resources/ceph-object-store.d.ts.map +1 -0
- package/dist/factories/rook/resources/ceph-object-store.js +56 -0
- package/dist/factories/rook/resources/ceph-object-store.js.map +1 -0
- package/dist/factories/rook/resources/helm.d.ts +18 -0
- package/dist/factories/rook/resources/helm.d.ts.map +1 -0
- package/dist/factories/rook/resources/helm.js +45 -0
- package/dist/factories/rook/resources/helm.js.map +1 -0
- package/dist/factories/rook/resources/index.d.ts +6 -0
- package/dist/factories/rook/resources/index.d.ts.map +1 -0
- package/dist/factories/rook/resources/index.js +6 -0
- package/dist/factories/rook/resources/index.js.map +1 -0
- package/dist/factories/rook/resources/object-bucket-claim.d.ts +15 -0
- package/dist/factories/rook/resources/object-bucket-claim.d.ts.map +1 -0
- package/dist/factories/rook/resources/object-bucket-claim.js +52 -0
- package/dist/factories/rook/resources/object-bucket-claim.js.map +1 -0
- package/dist/factories/rook/types.d.ts +307 -0
- package/dist/factories/rook/types.d.ts.map +1 -0
- package/dist/factories/rook/types.js +239 -0
- package/dist/factories/rook/types.js.map +1 -0
- package/dist/factories/rook/utils/helm-values-mapper.d.ts +33 -0
- package/dist/factories/rook/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/rook/utils/helm-values-mapper.js +60 -0
- package/dist/factories/rook/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/rook/utils/index.d.ts +2 -0
- package/dist/factories/rook/utils/index.d.ts.map +1 -0
- package/dist/factories/rook/utils/index.js +2 -0
- package/dist/factories/rook/utils/index.js.map +1 -0
- package/dist/factories/valkey/compositions/index.d.ts +2 -1
- package/dist/factories/valkey/compositions/index.d.ts.map +1 -1
- package/dist/factories/valkey/compositions/index.js +2 -1
- package/dist/factories/valkey/compositions/index.js.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +21 -2
- package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
- package/dist/factories/valkey/compositions/valkey-bootstrap.js +26 -136
- package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
- package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts +16 -0
- package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts.map +1 -0
- package/dist/factories/valkey/compositions/valkey-helm-repository.js +29 -0
- package/dist/factories/valkey/compositions/valkey-helm-repository.js.map +1 -0
- package/dist/factories/valkey/index.d.ts +6 -3
- package/dist/factories/valkey/index.d.ts.map +1 -1
- package/dist/factories/valkey/index.js +6 -3
- package/dist/factories/valkey/index.js.map +1 -1
- package/dist/factories/valkey/resources/helm.d.ts.map +1 -1
- package/dist/factories/valkey/resources/helm.js +13 -11
- package/dist/factories/valkey/resources/helm.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +29 -16
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js +34 -22
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/factories/valkey/utils/helm-values-mapper.d.ts +6 -1
- package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -1
- package/dist/factories/valkey/utils/helm-values-mapper.js +52 -19
- package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -1
- package/dist/factories/webapp/compositions/index.d.ts +1 -1
- package/dist/factories/webapp/compositions/index.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/index.js +1 -1
- package/dist/factories/webapp/compositions/index.js.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +9 -13
- package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
- package/dist/factories/webapp/compositions/web-app-with-processing.js +290 -278
- package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
- package/dist/factories/webapp/types.d.ts +26 -7
- package/dist/factories/webapp/types.d.ts.map +1 -1
- package/dist/factories/webapp/types.js +0 -9
- package/dist/factories/webapp/types.js.map +1 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/nats/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|