typekro 0.24.1 → 0.25.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/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 +11 -0
- package/dist/core/deployment/readiness-waiter.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 +1 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -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/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 +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/rook/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/rook/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* // 'kro' = KRO mode (continuous reconciliation via ResourceGraphDefinition)
|
|
18
18
|
* // 'direct' = Direct mode (immediate apply, no KRO controller needed)
|
|
19
19
|
* const factory = valkeyBootstrap.factory('kro', {
|
|
20
|
-
* namespace: '
|
|
20
|
+
* namespace: 'typekro-system', // KRO instance/control-plane namespace
|
|
21
21
|
* waitForReady: true,
|
|
22
22
|
* });
|
|
23
23
|
*
|
|
@@ -31,8 +31,27 @@ export declare const valkeyBootstrap: import("../../../index.js").CallableCompos
|
|
|
31
31
|
name: string;
|
|
32
32
|
namespace?: string;
|
|
33
33
|
version?: string;
|
|
34
|
+
repositoryName?: string;
|
|
35
|
+
repositoryNamespace?: string;
|
|
36
|
+
repositoryUrl?: string;
|
|
37
|
+
values?: Record<string, unknown>;
|
|
38
|
+
customValues?: Record<string, unknown>;
|
|
39
|
+
}, {
|
|
40
|
+
phase: "Ready" | "Installing";
|
|
41
|
+
ready: boolean;
|
|
42
|
+
failed: boolean;
|
|
43
|
+
version?: string;
|
|
44
|
+
}>;
|
|
45
|
+
/** Explicit lifecycle name for code that wants to emphasize ownership. */
|
|
46
|
+
export declare const valkeyOperatorInstallation: import("../../../index.js").CallableComposition<{
|
|
47
|
+
name: string;
|
|
48
|
+
namespace?: string;
|
|
49
|
+
version?: string;
|
|
50
|
+
repositoryName?: string;
|
|
51
|
+
repositoryNamespace?: string;
|
|
52
|
+
repositoryUrl?: string;
|
|
53
|
+
values?: Record<string, unknown>;
|
|
34
54
|
customValues?: Record<string, unknown>;
|
|
35
|
-
shared?: boolean;
|
|
36
55
|
}, {
|
|
37
56
|
phase: "Ready" | "Installing";
|
|
38
57
|
ready: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valkey-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"valkey-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;EAgF3B,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;EAAkB,CAAC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
-
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
3
|
-
import { setMetadataField } from '../../../core/metadata/index.js';
|
|
4
2
|
import { Cel } from '../../../core/references/cel.js';
|
|
5
3
|
import { namespace } from '../../kubernetes/core/namespace.js';
|
|
6
|
-
import {
|
|
7
|
-
import { clusterRoleBinding } from '../../kubernetes/rbac/cluster-role-binding.js';
|
|
8
|
-
import { DEFAULT_VALKEY_REPO_NAME, DEFAULT_VALKEY_VERSION, valkeyHelmRelease, valkeyHelmRepository, } from '../resources/helm.js';
|
|
4
|
+
import { DEFAULT_VALKEY_REPO_NAME, DEFAULT_VALKEY_REPO_URL, DEFAULT_VALKEY_VERSION, valkeyHelmRelease, valkeyHelmRepository, } from '../resources/helm.js';
|
|
9
5
|
import { ValkeyBootstrapConfigSchema, ValkeyBootstrapStatusSchema, } from '../types.js';
|
|
10
6
|
import { mapValkeyConfigToHelmValues } from '../utils/helm-values-mapper.js';
|
|
11
7
|
/**
|
|
12
|
-
* Strips the '-chart' suffix from
|
|
13
|
-
*
|
|
14
|
-
*
|
|
8
|
+
* Strips the '-chart' suffix from the verified built-in Hyperspike version.
|
|
9
|
+
* Runtime schema references cannot be normalized synchronously, so explicit
|
|
10
|
+
* version overrides are preserved as supplied.
|
|
15
11
|
*/
|
|
16
12
|
function stripChartSuffix(version) {
|
|
17
13
|
return version.replace(/-chart$/, '');
|
|
18
14
|
}
|
|
15
|
+
const DEFAULT_VALKEY_OPERATOR_NAMESPACE = 'valkey-operator-system';
|
|
19
16
|
/**
|
|
20
17
|
* Hyperspike Valkey Operator Bootstrap Composition
|
|
21
18
|
*
|
|
@@ -35,7 +32,7 @@ function stripChartSuffix(version) {
|
|
|
35
32
|
* // 'kro' = KRO mode (continuous reconciliation via ResourceGraphDefinition)
|
|
36
33
|
* // 'direct' = Direct mode (immediate apply, no KRO controller needed)
|
|
37
34
|
* const factory = valkeyBootstrap.factory('kro', {
|
|
38
|
-
* namespace: '
|
|
35
|
+
* namespace: 'typekro-system', // KRO instance/control-plane namespace
|
|
39
36
|
* waitForReady: true,
|
|
40
37
|
* });
|
|
41
38
|
*
|
|
@@ -51,17 +48,17 @@ export const valkeyBootstrap = kubernetesComposition({
|
|
|
51
48
|
spec: ValkeyBootstrapConfigSchema,
|
|
52
49
|
status: ValkeyBootstrapStatusSchema,
|
|
53
50
|
}, (spec) => {
|
|
54
|
-
const resolvedNamespace = spec.namespace
|
|
55
|
-
const resolvedVersion = spec.version
|
|
56
|
-
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
51
|
+
const resolvedNamespace = spec.namespace ?? DEFAULT_VALKEY_OPERATOR_NAMESPACE;
|
|
52
|
+
const resolvedVersion = spec.version ?? DEFAULT_VALKEY_VERSION;
|
|
53
|
+
// A schema-proxy string cannot be normalized synchronously. Keep the
|
|
54
|
+
// upstream chart tag for overrides; normalize the verified built-in default.
|
|
55
|
+
const reportedVersion = spec.version ? spec.version : stripChartSuffix(DEFAULT_VALKEY_VERSION);
|
|
56
|
+
const repositoryName = spec.repositoryName ?? DEFAULT_VALKEY_REPO_NAME;
|
|
57
|
+
const repositoryNamespace = spec.repositoryNamespace ?? resolvedNamespace;
|
|
58
|
+
const repositoryUrl = spec.repositoryUrl ?? DEFAULT_VALKEY_REPO_URL;
|
|
61
59
|
const helmValues = mapValkeyConfigToHelmValues({
|
|
62
|
-
...spec,
|
|
63
|
-
|
|
64
|
-
version: resolvedVersion,
|
|
60
|
+
...(spec.customValues !== undefined && { customValues: spec.customValues }),
|
|
61
|
+
...(spec.values !== undefined && { values: spec.values }),
|
|
65
62
|
});
|
|
66
63
|
// Resources are _-prefixed because they're registered via side effects in the
|
|
67
64
|
// kubernetesComposition callback — the composition captures them automatically.
|
|
@@ -72,18 +69,16 @@ export const valkeyBootstrap = kubernetesComposition({
|
|
|
72
69
|
labels: {
|
|
73
70
|
'app.kubernetes.io/name': 'valkey-operator',
|
|
74
71
|
'app.kubernetes.io/instance': spec.name,
|
|
75
|
-
'app.kubernetes.io/version':
|
|
72
|
+
'app.kubernetes.io/version': reportedVersion,
|
|
76
73
|
'app.kubernetes.io/managed-by': 'typekro',
|
|
77
74
|
},
|
|
78
75
|
},
|
|
79
76
|
id: 'valkeyNamespace',
|
|
80
77
|
});
|
|
81
|
-
// OCI HelmRepositories don't have status in Flux, which can cause the deploy
|
|
82
|
-
// engine to block waiting for readiness. Create both resources but don't depend
|
|
83
|
-
// on the repository readiness — Flux handles the OCI → chart resolution internally.
|
|
84
78
|
const _helmRepository = valkeyHelmRepository({
|
|
85
|
-
name:
|
|
86
|
-
namespace:
|
|
79
|
+
name: repositoryName,
|
|
80
|
+
namespace: repositoryNamespace,
|
|
81
|
+
url: repositoryUrl,
|
|
87
82
|
id: 'valkeyHelmRepository',
|
|
88
83
|
});
|
|
89
84
|
const _helmRelease = valkeyHelmRelease({
|
|
@@ -91,118 +86,11 @@ export const valkeyBootstrap = kubernetesComposition({
|
|
|
91
86
|
namespace: resolvedNamespace,
|
|
92
87
|
version: resolvedVersion,
|
|
93
88
|
values: helmValues,
|
|
94
|
-
repositoryName
|
|
89
|
+
repositoryName,
|
|
90
|
+
repositoryNamespace,
|
|
91
|
+
repositoryUrl,
|
|
95
92
|
id: 'valkeyHelmRelease',
|
|
96
93
|
});
|
|
97
|
-
const _managerRole = clusterRole({
|
|
98
|
-
metadata: {
|
|
99
|
-
name: 'valkey-operator-manager-role',
|
|
100
|
-
labels: {
|
|
101
|
-
'app.kubernetes.io/name': 'valkey-operator',
|
|
102
|
-
'app.kubernetes.io/instance': spec.name,
|
|
103
|
-
'app.kubernetes.io/version': appVersion,
|
|
104
|
-
'app.kubernetes.io/managed-by': 'typekro',
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
rules: [
|
|
108
|
-
{
|
|
109
|
-
apiGroups: [''],
|
|
110
|
-
resources: ['configmaps', 'secrets', 'serviceaccounts', 'services'],
|
|
111
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
apiGroups: [''],
|
|
115
|
-
resources: ['pods'],
|
|
116
|
-
verbs: ['get', 'list', 'watch'],
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
apiGroups: [''],
|
|
120
|
-
resources: ['events'],
|
|
121
|
-
verbs: ['create', 'patch'],
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
apiGroups: ['apps'],
|
|
125
|
-
resources: ['deployments', 'statefulsets'],
|
|
126
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
apiGroups: ['policy'],
|
|
130
|
-
resources: ['poddisruptionbudgets'],
|
|
131
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
apiGroups: ['hyperspike.io'],
|
|
135
|
-
resources: ['valkeys'],
|
|
136
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
apiGroups: ['hyperspike.io'],
|
|
140
|
-
resources: ['valkeys/status'],
|
|
141
|
-
verbs: ['get', 'patch', 'update'],
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
apiGroups: ['hyperspike.io'],
|
|
145
|
-
resources: ['valkeys/finalizers'],
|
|
146
|
-
verbs: ['update'],
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
apiGroups: ['storage.k8s.io'],
|
|
150
|
-
resources: ['storageclasses'],
|
|
151
|
-
verbs: ['get', 'list', 'watch'],
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
apiGroups: ['cert-manager.io'],
|
|
155
|
-
resources: ['certificates'],
|
|
156
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
apiGroups: ['cert-manager.io'],
|
|
160
|
-
resources: ['clusterissuers', 'issuers'],
|
|
161
|
-
verbs: ['get', 'list', 'watch'],
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
apiGroups: ['monitoring.coreos.com'],
|
|
165
|
-
resources: ['servicemonitors'],
|
|
166
|
-
verbs: ['create', 'delete', 'get', 'list', 'patch', 'update', 'watch'],
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
id: 'valkeyManagerRole',
|
|
170
|
-
});
|
|
171
|
-
const _managerRoleBinding = clusterRoleBinding({
|
|
172
|
-
metadata: {
|
|
173
|
-
name: `${spec.name}-${resolvedNamespace}-manager-rolebinding`,
|
|
174
|
-
labels: {
|
|
175
|
-
'app.kubernetes.io/name': 'valkey-operator',
|
|
176
|
-
'app.kubernetes.io/instance': spec.name,
|
|
177
|
-
'app.kubernetes.io/version': appVersion,
|
|
178
|
-
'app.kubernetes.io/managed-by': 'typekro',
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
roleRef: {
|
|
182
|
-
apiGroup: 'rbac.authorization.k8s.io',
|
|
183
|
-
kind: 'ClusterRole',
|
|
184
|
-
name: 'valkey-operator-manager-role',
|
|
185
|
-
},
|
|
186
|
-
subjects: [
|
|
187
|
-
{
|
|
188
|
-
kind: 'ServiceAccount',
|
|
189
|
-
name: 'valkey-operator-controller-manager',
|
|
190
|
-
namespace: resolvedNamespace,
|
|
191
|
-
},
|
|
192
|
-
],
|
|
193
|
-
id: 'valkeyManagerRoleBinding',
|
|
194
|
-
});
|
|
195
|
-
// Tag all resources with 'cluster' scope so factory-level
|
|
196
|
-
// deleteInstance leaves the operator install intact. Callers can
|
|
197
|
-
// opt in to tearing down shared infra with
|
|
198
|
-
// `deleteInstance(name, { scopes: ['cluster'] })`.
|
|
199
|
-
if (isShared) {
|
|
200
|
-
setMetadataField(_valkeyNamespace, 'scopes', ['cluster']);
|
|
201
|
-
setMetadataField(_helmRepository, 'scopes', ['cluster']);
|
|
202
|
-
setMetadataField(_helmRelease, 'scopes', ['cluster']);
|
|
203
|
-
setMetadataField(_managerRole, 'scopes', ['cluster']);
|
|
204
|
-
setMetadataField(_managerRoleBinding, 'scopes', ['cluster']);
|
|
205
|
-
}
|
|
206
94
|
// Status derived from HelmRelease conditions.
|
|
207
95
|
return {
|
|
208
96
|
ready: Cel.expr(_helmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
|
|
@@ -215,7 +103,9 @@ export const valkeyBootstrap = kubernetesComposition({
|
|
|
215
103
|
// Static version from deploy-time config, not derived from live HelmRelease
|
|
216
104
|
// status. If the operator is upgraded out-of-band (e.g. Flux automation),
|
|
217
105
|
// this value will not reflect the running version.
|
|
218
|
-
version:
|
|
106
|
+
version: reportedVersion,
|
|
219
107
|
};
|
|
220
108
|
});
|
|
109
|
+
/** Explicit lifecycle name for code that wants to emphasize ownership. */
|
|
110
|
+
export const valkeyOperatorInstallation = valkeyBootstrap;
|
|
221
111
|
//# sourceMappingURL=valkey-bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valkey-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"valkey-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared owner for the cluster-wide Hyperspike OCI HelmRepository.
|
|
3
|
+
*
|
|
4
|
+
* Keeping this resource outside each operator instance's ApplySet prevents
|
|
5
|
+
* cross-instance ownership conflicts and preserves its `flux-system` namespace
|
|
6
|
+
* in direct factory YAML. OCI HelmRepositories do not consistently publish a
|
|
7
|
+
* Ready condition, so existence is represented by its positive generation.
|
|
8
|
+
*/
|
|
9
|
+
export declare const valkeyHelmRepositoryBootstrap: import("../../../index.js").CallableComposition<{
|
|
10
|
+
name: string;
|
|
11
|
+
namespace: string;
|
|
12
|
+
url: string;
|
|
13
|
+
}, {
|
|
14
|
+
ready: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=valkey-helm-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valkey-helm-repository.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-helm-repository.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B;;;;;;EAmBzC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
3
|
+
import { valkeyHelmRepository } from '../resources/helm.js';
|
|
4
|
+
import { ValkeyHelmRepositorySingletonSpecSchema, ValkeyHelmRepositorySingletonStatusSchema, } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Shared owner for the cluster-wide Hyperspike OCI HelmRepository.
|
|
7
|
+
*
|
|
8
|
+
* Keeping this resource outside each operator instance's ApplySet prevents
|
|
9
|
+
* cross-instance ownership conflicts and preserves its `flux-system` namespace
|
|
10
|
+
* in direct factory YAML. OCI HelmRepositories do not consistently publish a
|
|
11
|
+
* Ready condition, so existence is represented by its positive generation.
|
|
12
|
+
*/
|
|
13
|
+
export const valkeyHelmRepositoryBootstrap = kubernetesComposition({
|
|
14
|
+
name: 'valkey-helm-repository',
|
|
15
|
+
kind: 'ValkeyHelmRepository',
|
|
16
|
+
spec: ValkeyHelmRepositorySingletonSpecSchema,
|
|
17
|
+
status: ValkeyHelmRepositorySingletonStatusSchema,
|
|
18
|
+
}, (spec) => {
|
|
19
|
+
const repository = valkeyHelmRepository({
|
|
20
|
+
name: spec.name,
|
|
21
|
+
namespace: spec.namespace,
|
|
22
|
+
url: spec.url,
|
|
23
|
+
id: 'repository',
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
ready: Cel.expr(repository.metadata.generation, ' > 0'),
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=valkey-helm-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valkey-helm-repository.js","sourceRoot":"","sources":["../../../../src/factories/valkey/compositions/valkey-helm-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,uCAAuC,EACvC,yCAAyC,GAC1C,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAChE;IACE,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,uCAAuC;IAC7C,MAAM,EAAE,yCAAyC;CAClD,EACD,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,EAAE,EAAE,YAAY;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAU,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KACjE,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* - `valkey()` — Valkey cluster (sharded with optional replicas)
|
|
9
9
|
* - `valkeyHelmRepository()` — Helm chart repository (OCI)
|
|
10
10
|
* - `valkeyHelmRelease()` — Operator installation via Helm
|
|
11
|
+
* - `valkeyHelmRepositoryBootstrap` — Low-level shared OCI repository owner
|
|
11
12
|
*
|
|
12
13
|
* ## Compositions
|
|
13
|
-
* - `valkeyBootstrap` — Complete operator deployment
|
|
14
|
+
* - `valkeyBootstrap` / `valkeyOperatorInstallation` — Complete, explicitly owned operator deployment
|
|
14
15
|
*
|
|
15
16
|
* @example
|
|
16
17
|
* ```typescript
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
*
|
|
19
20
|
* // Install the operator
|
|
20
21
|
* const operatorFactory = valkeyBootstrap.factory('kro', {
|
|
21
|
-
* namespace: '
|
|
22
|
+
* namespace: 'typekro-system', // KRO instance/control-plane namespace
|
|
22
23
|
* });
|
|
23
24
|
* await operatorFactory.deploy({
|
|
24
25
|
* name: 'valkey-operator',
|
|
@@ -33,7 +34,9 @@
|
|
|
33
34
|
* shards: 3,
|
|
34
35
|
* replicas: 1,
|
|
35
36
|
* storage: {
|
|
36
|
-
*
|
|
37
|
+
* spec: {
|
|
38
|
+
* resources: { requests: { storage: '10Gi' } },
|
|
39
|
+
* },
|
|
37
40
|
* },
|
|
38
41
|
* },
|
|
39
42
|
* id: 'appCache',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* - `valkey()` — Valkey cluster (sharded with optional replicas)
|
|
9
9
|
* - `valkeyHelmRepository()` — Helm chart repository (OCI)
|
|
10
10
|
* - `valkeyHelmRelease()` — Operator installation via Helm
|
|
11
|
+
* - `valkeyHelmRepositoryBootstrap` — Low-level shared OCI repository owner
|
|
11
12
|
*
|
|
12
13
|
* ## Compositions
|
|
13
|
-
* - `valkeyBootstrap` — Complete operator deployment
|
|
14
|
+
* - `valkeyBootstrap` / `valkeyOperatorInstallation` — Complete, explicitly owned operator deployment
|
|
14
15
|
*
|
|
15
16
|
* @example
|
|
16
17
|
* ```typescript
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
*
|
|
19
20
|
* // Install the operator
|
|
20
21
|
* const operatorFactory = valkeyBootstrap.factory('kro', {
|
|
21
|
-
* namespace: '
|
|
22
|
+
* namespace: 'typekro-system', // KRO instance/control-plane namespace
|
|
22
23
|
* });
|
|
23
24
|
* await operatorFactory.deploy({
|
|
24
25
|
* name: 'valkey-operator',
|
|
@@ -33,7 +34,9 @@
|
|
|
33
34
|
* shards: 3,
|
|
34
35
|
* replicas: 1,
|
|
35
36
|
* storage: {
|
|
36
|
-
*
|
|
37
|
+
* spec: {
|
|
38
|
+
* resources: { requests: { storage: '10Gi' } },
|
|
39
|
+
* },
|
|
37
40
|
* },
|
|
38
41
|
* },
|
|
39
42
|
* id: 'appCache',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/valkey/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEvF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,CAAC,0BAA0B,CAAC,GAC7C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEvF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,CAAC,0BAA0B,CAAC,GAC7C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,CAAC,uBAAuB,CAAC,GAC1C,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAyB9C"}
|
|
@@ -34,14 +34,15 @@ export const DEFAULT_VALKEY_REPO_NAME = 'valkey-operator-repo';
|
|
|
34
34
|
* ```
|
|
35
35
|
*/
|
|
36
36
|
export function valkeyHelmRepository(config) {
|
|
37
|
-
|
|
38
|
-
name: config.name
|
|
39
|
-
namespace: config.namespace
|
|
40
|
-
url: config.url
|
|
37
|
+
const repo = helmRepository({
|
|
38
|
+
name: config.name ?? DEFAULT_VALKEY_REPO_NAME,
|
|
39
|
+
namespace: config.namespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
40
|
+
url: config.url ?? DEFAULT_VALKEY_REPO_URL,
|
|
41
41
|
type: 'oci',
|
|
42
|
-
interval: config.interval
|
|
42
|
+
interval: config.interval ?? '5m',
|
|
43
43
|
...(config.id && { id: config.id }),
|
|
44
44
|
}).withReadinessEvaluator(createHelmRepositoryReadinessEvaluator('Valkey'));
|
|
45
|
+
return repo;
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
48
|
* Create a HelmRelease for the Hyperspike Valkey operator.
|
|
@@ -64,18 +65,19 @@ export function valkeyHelmRelease(config) {
|
|
|
64
65
|
// actually uses to resolve the chart. Both are required by the helmRelease factory.
|
|
65
66
|
return helmRelease({
|
|
66
67
|
name: config.name,
|
|
67
|
-
namespace: config.namespace
|
|
68
|
+
namespace: config.namespace ?? 'valkey-operator-system',
|
|
68
69
|
chart: {
|
|
69
|
-
repository: DEFAULT_VALKEY_REPO_URL,
|
|
70
|
+
repository: config.repositoryUrl ?? DEFAULT_VALKEY_REPO_URL,
|
|
70
71
|
name: 'valkey-operator',
|
|
71
|
-
version: config.version
|
|
72
|
+
version: config.version ?? DEFAULT_VALKEY_VERSION,
|
|
72
73
|
},
|
|
73
74
|
sourceRef: {
|
|
74
|
-
name: config.repositoryName
|
|
75
|
-
namespace: DEFAULT_FLUX_NAMESPACE,
|
|
75
|
+
name: config.repositoryName ?? DEFAULT_VALKEY_REPO_NAME,
|
|
76
|
+
namespace: config.repositoryNamespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
76
77
|
kind: 'HelmRepository',
|
|
77
78
|
},
|
|
78
|
-
|
|
79
|
+
driftDetection: { mode: 'enabled' },
|
|
80
|
+
values: config.values ?? {},
|
|
79
81
|
...(config.id && { id: config.id }),
|
|
80
82
|
}).withReadinessEvaluator(createLabeledHelmReleaseEvaluator('Valkey'));
|
|
81
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8C;IAE9C,
|
|
1
|
+
{"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/valkey/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA8C;IAE9C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,wBAAwB;QAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,sBAAsB;QACrD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,uBAAuB;QAC1C,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAGzE,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA2C;IAE3C,sEAAsE;IAEtE,4EAA4E;IAC5E,oFAAoF;IACpF,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,wBAAwB;QACvD,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,aAAa,IAAI,uBAAuB;YAC3D,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,sBAAsB;SAClD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,wBAAwB;YACvD,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,sBAAsB;YAC/D,IAAI,EAAE,gBAAgB;SACvB;QACD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAGpE,CAAC;AACJ,CAAC"}
|