typekro 0.31.1 → 0.32.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/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +0 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +1 -0
- package/dist/compositions/typekro-runtime/types.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.d.ts +13 -0
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.js.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.js +23 -0
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +13 -4
- package/dist/core/planning/planner.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +1 -1
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +5 -1
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +47 -0
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/factories/hatchet/compositions/hatchet-installation.d.ts +53 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.d.ts.map +1 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.js +296 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.js.map +1 -0
- package/dist/factories/hatchet/compositions/index.d.ts +2 -0
- package/dist/factories/hatchet/compositions/index.d.ts.map +1 -0
- package/dist/factories/hatchet/compositions/index.js +2 -0
- package/dist/factories/hatchet/compositions/index.js.map +1 -0
- package/dist/factories/hatchet/index.d.ts +5 -0
- package/dist/factories/hatchet/index.d.ts.map +1 -0
- package/dist/factories/hatchet/index.js +5 -0
- package/dist/factories/hatchet/index.js.map +1 -0
- package/dist/factories/hatchet/resources/helm.d.ts +12 -0
- package/dist/factories/hatchet/resources/helm.d.ts.map +1 -0
- package/dist/factories/hatchet/resources/helm.js +49 -0
- package/dist/factories/hatchet/resources/helm.js.map +1 -0
- package/dist/factories/hatchet/resources/index.d.ts +2 -0
- package/dist/factories/hatchet/resources/index.d.ts.map +1 -0
- package/dist/factories/hatchet/resources/index.js +2 -0
- package/dist/factories/hatchet/resources/index.js.map +1 -0
- package/dist/factories/hatchet/types.d.ts +85 -0
- package/dist/factories/hatchet/types.d.ts.map +1 -0
- package/dist/factories/hatchet/types.js +87 -0
- package/dist/factories/hatchet/types.js.map +1 -0
- package/dist/factories/helm/helm-release.d.ts +7 -2
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +5 -0
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/index.d.ts +1 -1
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +5 -2
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +20 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -1
- 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/opensearch/compositions/cluster.d.ts +38 -0
- package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/cluster.js +338 -0
- package/dist/factories/opensearch/compositions/cluster.js.map +1 -0
- package/dist/factories/opensearch/compositions/index.d.ts +4 -0
- package/dist/factories/opensearch/compositions/index.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/index.js +4 -0
- package/dist/factories/opensearch/compositions/index.js.map +1 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.d.ts +40 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.js +89 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.js.map +1 -0
- package/dist/factories/opensearch/compositions/repository.d.ts +8 -0
- package/dist/factories/opensearch/compositions/repository.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/repository.js +21 -0
- package/dist/factories/opensearch/compositions/repository.js.map +1 -0
- package/dist/factories/opensearch/constants.d.ts +2 -0
- package/dist/factories/opensearch/constants.d.ts.map +1 -0
- package/dist/factories/opensearch/constants.js +2 -0
- package/dist/factories/opensearch/constants.js.map +1 -0
- package/dist/factories/opensearch/index.d.ts +12 -0
- package/dist/factories/opensearch/index.d.ts.map +1 -0
- package/dist/factories/opensearch/index.js +12 -0
- package/dist/factories/opensearch/index.js.map +1 -0
- package/dist/factories/opensearch/resources/cluster.d.ts +6 -0
- package/dist/factories/opensearch/resources/cluster.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/cluster.js +175 -0
- package/dist/factories/opensearch/resources/cluster.js.map +1 -0
- package/dist/factories/opensearch/resources/helm.d.ts +17 -0
- package/dist/factories/opensearch/resources/helm.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/helm.js +44 -0
- package/dist/factories/opensearch/resources/helm.js.map +1 -0
- package/dist/factories/opensearch/resources/index.d.ts +3 -0
- package/dist/factories/opensearch/resources/index.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/index.js +3 -0
- package/dist/factories/opensearch/resources/index.js.map +1 -0
- package/dist/factories/opensearch/types.d.ts +281 -0
- package/dist/factories/opensearch/types.d.ts.map +1 -0
- package/dist/factories/opensearch/types.js +94 -0
- package/dist/factories/opensearch/types.js.map +1 -0
- package/package.json +11 -2
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import { type } from 'arktype';
|
|
2
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
3
|
+
import { setIncludeWhen } from '../../../core/metadata/resource-metadata.js';
|
|
4
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
5
|
+
import { isKubernetesRef } from '../../../utils/type-guards.js';
|
|
6
|
+
import { certificate } from '../../cert-manager/resources/certificates.js';
|
|
7
|
+
import { namespace } from '../../kubernetes/core/namespace.js';
|
|
8
|
+
import { networkPolicy } from '../../kubernetes/networking/network-policy.js';
|
|
9
|
+
import { DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE } from '../constants.js';
|
|
10
|
+
import { OPENSEARCH_HTTP_PORT, openSearchClusterResource } from '../resources/cluster.js';
|
|
11
|
+
import { OpenSearchClusterStatusSchema } from '../types.js';
|
|
12
|
+
const DEFAULT_OPENSEARCH_VERSION = '3.2.0';
|
|
13
|
+
function resolveTopology(options) {
|
|
14
|
+
const profile = options.profile ?? 'development';
|
|
15
|
+
const nodes = options.nodes ?? 3;
|
|
16
|
+
const roles = options.roles ?? ['cluster_manager', 'data', 'ingest'];
|
|
17
|
+
if (!Number.isSafeInteger(nodes) || nodes < 3) {
|
|
18
|
+
throw new Error('makeOpenSearchCluster requires at least three nodes because the OpenSearch operator does not support single-node clusters.');
|
|
19
|
+
}
|
|
20
|
+
if (!roles.includes('cluster_manager')) {
|
|
21
|
+
throw new Error('makeOpenSearchCluster roles must include cluster_manager because its single node pool must be able to elect a cluster manager.');
|
|
22
|
+
}
|
|
23
|
+
const pdb = options.podDisruptionBudget ??
|
|
24
|
+
(profile === 'production' ? { minAvailable: Math.max(1, nodes - 1) } : undefined);
|
|
25
|
+
if (pdb?.minAvailable !== undefined && pdb.maxUnavailable !== undefined) {
|
|
26
|
+
throw new Error('makeOpenSearchCluster podDisruptionBudget accepts minAvailable or maxUnavailable, not both.');
|
|
27
|
+
}
|
|
28
|
+
if ((pdb?.minAvailable !== undefined &&
|
|
29
|
+
(!Number.isSafeInteger(pdb.minAvailable) ||
|
|
30
|
+
pdb.minAvailable < 1 ||
|
|
31
|
+
pdb.minAvailable >= nodes)) ||
|
|
32
|
+
(pdb?.maxUnavailable !== undefined &&
|
|
33
|
+
(!Number.isSafeInteger(pdb.maxUnavailable) ||
|
|
34
|
+
pdb.maxUnavailable < 0 ||
|
|
35
|
+
pdb.maxUnavailable >= nodes))) {
|
|
36
|
+
throw new Error('makeOpenSearchCluster PodDisruptionBudget must preserve at least one available node.');
|
|
37
|
+
}
|
|
38
|
+
const networkPolicy = options.networkPolicy?.enabled === true
|
|
39
|
+
? {
|
|
40
|
+
operatorNamespace: options.networkPolicy.operatorNamespace ?? DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE,
|
|
41
|
+
ingressNamespaceLabels: options.networkPolicy.ingressNamespaceLabels ?? {},
|
|
42
|
+
egressNamespaceLabels: options.networkPolicy.egressNamespaceLabels ?? [],
|
|
43
|
+
egressCidrs: options.networkPolicy.egressCidrs ?? [],
|
|
44
|
+
}
|
|
45
|
+
: profile === 'production'
|
|
46
|
+
? {
|
|
47
|
+
operatorNamespace: options.networkPolicy?.operatorNamespace ?? DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE,
|
|
48
|
+
ingressNamespaceLabels: options.networkPolicy?.ingressNamespaceLabels ?? {},
|
|
49
|
+
egressNamespaceLabels: options.networkPolicy?.egressNamespaceLabels ?? [],
|
|
50
|
+
egressCidrs: options.networkPolicy?.egressCidrs ?? [],
|
|
51
|
+
}
|
|
52
|
+
: undefined;
|
|
53
|
+
if (networkPolicy && !/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/u.test(networkPolicy.operatorNamespace)) {
|
|
54
|
+
throw new Error('makeOpenSearchCluster networkPolicy.operatorNamespace must be a non-empty Kubernetes Namespace name.');
|
|
55
|
+
}
|
|
56
|
+
if (profile === 'production' &&
|
|
57
|
+
networkPolicy &&
|
|
58
|
+
Object.keys(networkPolicy.ingressNamespaceLabels).length === 0) {
|
|
59
|
+
throw new Error('makeOpenSearchCluster production network policy requires ingressNamespaceLabels.');
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
profile,
|
|
63
|
+
nodes,
|
|
64
|
+
roles,
|
|
65
|
+
tls: options.tls ?? 'generated',
|
|
66
|
+
snapshots: options.snapshots ?? false,
|
|
67
|
+
snapshotCredentialKeys: {
|
|
68
|
+
accessKey: options.snapshotCredentialKeys?.accessKey ?? 'accessKey',
|
|
69
|
+
secretKey: options.snapshotCredentialKeys?.secretKey ?? 'secretKey',
|
|
70
|
+
},
|
|
71
|
+
...(pdb ? { podDisruptionBudget: pdb } : {}),
|
|
72
|
+
...(networkPolicy ? { networkPolicy } : {}),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function buildSpecSchema(topology) {
|
|
76
|
+
const shape = {
|
|
77
|
+
name: 'string > 0',
|
|
78
|
+
namespace: 'string > 0',
|
|
79
|
+
'version?': 'string > 0',
|
|
80
|
+
'serviceName?': 'string > 0',
|
|
81
|
+
'lifecycle?': '"owned-delete" | "external-delete" | "external-retain"',
|
|
82
|
+
storage: {
|
|
83
|
+
size: 'string > 0',
|
|
84
|
+
'storageClassName?': 'string > 0',
|
|
85
|
+
},
|
|
86
|
+
'resources?': {
|
|
87
|
+
'requests?': { 'cpu?': 'string', 'memory?': 'string' },
|
|
88
|
+
'limits?': { 'cpu?': 'string', 'memory?': 'string' },
|
|
89
|
+
},
|
|
90
|
+
'adminCredentialsSecret?': { name: 'string > 0' },
|
|
91
|
+
'dashboardCredentialsSecret?': { name: 'string > 0' },
|
|
92
|
+
'monitoring?': 'boolean',
|
|
93
|
+
};
|
|
94
|
+
if (topology.tls === 'generated') {
|
|
95
|
+
shape.tls = { source: '"generated"' };
|
|
96
|
+
}
|
|
97
|
+
else if (topology.tls === 'secret') {
|
|
98
|
+
shape.tls = {
|
|
99
|
+
source: '"secret"',
|
|
100
|
+
secretName: 'string > 0',
|
|
101
|
+
adminSecretName: 'string > 0',
|
|
102
|
+
adminDn: '(string > 0)[] > 0',
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
shape.tls = {
|
|
107
|
+
source: '"cert-manager"',
|
|
108
|
+
secretName: 'string > 0',
|
|
109
|
+
adminSecretName: 'string > 0',
|
|
110
|
+
issuerName: 'string > 0',
|
|
111
|
+
'issuerKind?': '"Issuer" | "ClusterIssuer"',
|
|
112
|
+
dnsNames: 'string[] > 0',
|
|
113
|
+
adminDn: '(string > 0)[] > 0',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (topology.snapshots) {
|
|
117
|
+
shape.snapshots = {
|
|
118
|
+
repository: 'string > 0',
|
|
119
|
+
bucket: 'string > 0',
|
|
120
|
+
credentialsSecret: {
|
|
121
|
+
name: 'string > 0',
|
|
122
|
+
},
|
|
123
|
+
'endpoint?': 'string',
|
|
124
|
+
'region?': 'string',
|
|
125
|
+
'basePath?': 'string',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return type(shape);
|
|
129
|
+
}
|
|
130
|
+
export function makeOpenSearchCluster(options = {}) {
|
|
131
|
+
const topology = resolveTopology(options);
|
|
132
|
+
const specSchema = buildSpecSchema(topology);
|
|
133
|
+
return kubernetesComposition({
|
|
134
|
+
name: 'opensearch-cluster',
|
|
135
|
+
kind: 'OpenSearchClusterInstallation',
|
|
136
|
+
spec: specSchema,
|
|
137
|
+
status: OpenSearchClusterStatusSchema,
|
|
138
|
+
}, (spec) => {
|
|
139
|
+
const lifecycle = spec.lifecycle ?? 'owned-delete';
|
|
140
|
+
const clusterNamespace = namespace({
|
|
141
|
+
metadata: {
|
|
142
|
+
name: spec.namespace,
|
|
143
|
+
labels: {
|
|
144
|
+
'app.kubernetes.io/name': 'opensearch',
|
|
145
|
+
'app.kubernetes.io/instance': spec.name,
|
|
146
|
+
'app.kubernetes.io/managed-by': 'typekro',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
id: 'clusterNamespace',
|
|
150
|
+
});
|
|
151
|
+
if (isKubernetesRef(spec.name)) {
|
|
152
|
+
setIncludeWhen(clusterNamespace, [
|
|
153
|
+
Cel.expr('!has(schema.spec.lifecycle) || schema.spec.lifecycle == "owned-delete"'),
|
|
154
|
+
]);
|
|
155
|
+
}
|
|
156
|
+
else if (lifecycle !== 'owned-delete') {
|
|
157
|
+
setIncludeWhen(clusterNamespace, [false]);
|
|
158
|
+
}
|
|
159
|
+
let serverCertificate;
|
|
160
|
+
if (topology.tls === 'cert-manager') {
|
|
161
|
+
const tls = spec.tls;
|
|
162
|
+
serverCertificate = certificate({
|
|
163
|
+
name: `${spec.name}-http`,
|
|
164
|
+
namespace: spec.namespace,
|
|
165
|
+
spec: {
|
|
166
|
+
secretName: tls.secretName,
|
|
167
|
+
issuerRef: {
|
|
168
|
+
name: tls.issuerName,
|
|
169
|
+
kind: tls.issuerKind ?? 'ClusterIssuer',
|
|
170
|
+
},
|
|
171
|
+
dnsNames: tls.dnsNames,
|
|
172
|
+
usages: ['server auth'],
|
|
173
|
+
},
|
|
174
|
+
id: 'httpCertificate',
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
const cluster = openSearchClusterResource({
|
|
178
|
+
name: spec.name,
|
|
179
|
+
namespace: spec.namespace,
|
|
180
|
+
version: spec.version ?? DEFAULT_OPENSEARCH_VERSION,
|
|
181
|
+
serviceName: spec.serviceName ?? spec.name,
|
|
182
|
+
nodes: topology.nodes,
|
|
183
|
+
roles: topology.roles,
|
|
184
|
+
storage: {
|
|
185
|
+
size: spec.storage.size,
|
|
186
|
+
...(spec.storage.storageClassName
|
|
187
|
+
? { storageClassName: spec.storage.storageClassName }
|
|
188
|
+
: {}),
|
|
189
|
+
deletionPolicy: lifecycle === 'external-retain' ? 'retain' : 'delete',
|
|
190
|
+
},
|
|
191
|
+
...(spec.resources ? { resources: spec.resources } : {}),
|
|
192
|
+
...(spec.adminCredentialsSecret
|
|
193
|
+
? { adminCredentialsSecret: spec.adminCredentialsSecret }
|
|
194
|
+
: {}),
|
|
195
|
+
...(spec.dashboardCredentialsSecret
|
|
196
|
+
? {
|
|
197
|
+
dashboardCredentialsSecret: spec.dashboardCredentialsSecret,
|
|
198
|
+
}
|
|
199
|
+
: {}),
|
|
200
|
+
tls: topology.tls === 'generated'
|
|
201
|
+
? { source: 'generated' }
|
|
202
|
+
: externalTls(spec.tls, topology.tls),
|
|
203
|
+
...(topology.snapshots && spec.snapshots
|
|
204
|
+
? {
|
|
205
|
+
snapshots: {
|
|
206
|
+
repository: spec.snapshots.repository,
|
|
207
|
+
bucket: spec.snapshots.bucket,
|
|
208
|
+
credentialsSecret: {
|
|
209
|
+
name: spec.snapshots.credentialsSecret.name,
|
|
210
|
+
accessKeyKey: topology.snapshotCredentialKeys.accessKey,
|
|
211
|
+
secretKeyKey: topology.snapshotCredentialKeys.secretKey,
|
|
212
|
+
},
|
|
213
|
+
...(spec.snapshots.endpoint ? { endpoint: spec.snapshots.endpoint } : {}),
|
|
214
|
+
...(spec.snapshots.region ? { region: spec.snapshots.region } : {}),
|
|
215
|
+
...(spec.snapshots.basePath ? { basePath: spec.snapshots.basePath } : {}),
|
|
216
|
+
},
|
|
217
|
+
}
|
|
218
|
+
: {}),
|
|
219
|
+
monitoring: spec.monitoring ?? false,
|
|
220
|
+
...(topology.podDisruptionBudget
|
|
221
|
+
? { podDisruptionBudget: topology.podDisruptionBudget }
|
|
222
|
+
: {}),
|
|
223
|
+
id: 'cluster',
|
|
224
|
+
});
|
|
225
|
+
if (serverCertificate)
|
|
226
|
+
cluster.dependsOn(serverCertificate);
|
|
227
|
+
if (topology.networkPolicy) {
|
|
228
|
+
const podSelector = {
|
|
229
|
+
matchLabels: {
|
|
230
|
+
'opensearch.org/opensearch-cluster': spec.name,
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
networkPolicy({
|
|
234
|
+
metadata: {
|
|
235
|
+
name: `${spec.name}-default`,
|
|
236
|
+
namespace: spec.namespace,
|
|
237
|
+
},
|
|
238
|
+
spec: {
|
|
239
|
+
podSelector,
|
|
240
|
+
policyTypes: ['Ingress', 'Egress'],
|
|
241
|
+
ingress: [
|
|
242
|
+
{
|
|
243
|
+
_from: [{ podSelector: {} }],
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
_from: [
|
|
247
|
+
{
|
|
248
|
+
namespaceSelector: {
|
|
249
|
+
matchLabels: {
|
|
250
|
+
'kubernetes.io/metadata.name': topology.networkPolicy.operatorNamespace,
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
],
|
|
255
|
+
ports: [{ protocol: 'TCP', port: OPENSEARCH_HTTP_PORT }],
|
|
256
|
+
},
|
|
257
|
+
...(Object.keys(topology.networkPolicy.ingressNamespaceLabels).length > 0
|
|
258
|
+
? [
|
|
259
|
+
{
|
|
260
|
+
_from: [
|
|
261
|
+
{
|
|
262
|
+
namespaceSelector: {
|
|
263
|
+
matchLabels: topology.networkPolicy.ingressNamespaceLabels,
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
ports: [
|
|
268
|
+
{
|
|
269
|
+
protocol: 'TCP',
|
|
270
|
+
port: OPENSEARCH_HTTP_PORT,
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
},
|
|
274
|
+
]
|
|
275
|
+
: []),
|
|
276
|
+
],
|
|
277
|
+
egress: [
|
|
278
|
+
{ to: [{ podSelector: {} }] },
|
|
279
|
+
{
|
|
280
|
+
to: [
|
|
281
|
+
{
|
|
282
|
+
namespaceSelector: {
|
|
283
|
+
matchLabels: {
|
|
284
|
+
'kubernetes.io/metadata.name': 'kube-system',
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
],
|
|
289
|
+
ports: [
|
|
290
|
+
{ protocol: 'UDP', port: 53 },
|
|
291
|
+
{ protocol: 'TCP', port: 53 },
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
...topology.networkPolicy.egressNamespaceLabels.map((matchLabels) => ({
|
|
295
|
+
to: [{ namespaceSelector: { matchLabels } }],
|
|
296
|
+
})),
|
|
297
|
+
...topology.networkPolicy.egressCidrs.map((cidr) => ({
|
|
298
|
+
to: [{ ipBlock: { cidr } }],
|
|
299
|
+
})),
|
|
300
|
+
],
|
|
301
|
+
},
|
|
302
|
+
id: 'networkPolicy',
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
const failed = Cel.expr('cluster.status.componentsStatus.exists(c, c.status == "Failed" || c.status == "Error")');
|
|
306
|
+
const ready = Cel.expr(`cluster.status.initialized == true && cluster.status.availableNodes >= ${topology.nodes} && (cluster.status.health == "green" || cluster.status.health == "yellow") && cluster.status.version == cluster.spec.general.version`);
|
|
307
|
+
return {
|
|
308
|
+
ready,
|
|
309
|
+
failed,
|
|
310
|
+
phase: Cel.expr(`cluster.status.componentsStatus.exists(c, c.status == "Failed" || c.status == "Error") ? "Failed" : (cluster.status.initialized == true && cluster.status.availableNodes >= ${topology.nodes} && (cluster.status.health == "green" || cluster.status.health == "yellow") && cluster.status.version == cluster.spec.general.version ? "Ready" : "Installing")`),
|
|
311
|
+
endpoint: `https://${cluster.spec.general.serviceName}.${cluster.metadata.namespace}.svc.cluster.local:${OPENSEARCH_HTTP_PORT}`,
|
|
312
|
+
credentialsSecret: Cel.expr(`has(cluster.spec.security.config.adminCredentialsSecret) && cluster.spec.security.config.adminCredentialsSecret.name != "" ? cluster.spec.security.config.adminCredentialsSecret.name : string(cluster.metadata.name) + "-admin-password"`),
|
|
313
|
+
version: cluster.status.version,
|
|
314
|
+
availableNodes: cluster.status.availableNodes,
|
|
315
|
+
health: cluster.status.health,
|
|
316
|
+
snapshotRepository: Cel.expr('has(cluster.spec.general.snapshotRepositories) && cluster.spec.general.snapshotRepositories.size() > 0 ? cluster.spec.general.snapshotRepositories[0].name : ""'),
|
|
317
|
+
};
|
|
318
|
+
}, topology.tls === 'generated'
|
|
319
|
+
? undefined
|
|
320
|
+
: {
|
|
321
|
+
schemaFieldValidations: {
|
|
322
|
+
'tls.adminDn': 'size(self) > 0 && self.all(dn, size(dn) > 0)',
|
|
323
|
+
},
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
export const openSearchCluster = makeOpenSearchCluster();
|
|
327
|
+
function externalTls(tls, source) {
|
|
328
|
+
if (tls.source === 'generated') {
|
|
329
|
+
throw new Error(`makeOpenSearchCluster configured TLS source ${source}, but the instance supplied generated TLS.`);
|
|
330
|
+
}
|
|
331
|
+
return {
|
|
332
|
+
source,
|
|
333
|
+
secretName: tls.secretName,
|
|
334
|
+
adminSecretName: tls.adminSecretName,
|
|
335
|
+
adminDn: tls.adminDn,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=cluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/cluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type OpenSearchOperatorBootstrapBuildOptions } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Explicitly owned operator installation. Deleting its KRO instance uninstalls
|
|
4
|
+
* the operator; shared consumers should use openSearchOperatorBootstrap.
|
|
5
|
+
*/
|
|
6
|
+
export declare const openSearchOperatorInstallation: import("../../../index.js").CallableComposition<{
|
|
7
|
+
name: string;
|
|
8
|
+
namespace?: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
repositoryName?: string;
|
|
11
|
+
repositoryNamespace?: string;
|
|
12
|
+
customValues?: Record<string, unknown>;
|
|
13
|
+
}, {
|
|
14
|
+
ready: boolean;
|
|
15
|
+
failed: boolean;
|
|
16
|
+
phase: "Ready" | "Failed" | "Installing";
|
|
17
|
+
version: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Create a shared operator reference whose complete installation is owned by
|
|
21
|
+
* one singleton instance in typekro-singletons. Ownership is build-time so a
|
|
22
|
+
* KRO schema proxy can never silently change lifecycle semantics.
|
|
23
|
+
*/
|
|
24
|
+
export declare function makeOpenSearchOperatorBootstrap(options?: OpenSearchOperatorBootstrapBuildOptions): import("../../../index.js").CallableComposition<{
|
|
25
|
+
name: string;
|
|
26
|
+
}, {
|
|
27
|
+
ready: boolean;
|
|
28
|
+
failed: boolean;
|
|
29
|
+
phase: "Ready" | "Failed" | "Installing";
|
|
30
|
+
version: string;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const openSearchOperatorBootstrap: import("../../../index.js").CallableComposition<{
|
|
33
|
+
name: string;
|
|
34
|
+
}, {
|
|
35
|
+
ready: boolean;
|
|
36
|
+
failed: boolean;
|
|
37
|
+
phase: "Ready" | "Failed" | "Installing";
|
|
38
|
+
version: string;
|
|
39
|
+
}>;
|
|
40
|
+
//# sourceMappingURL=operator-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/operator-bootstrap.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,uCAAuC,EAM7C,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;EA4C1C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,uCAA4C;;;;;;;GA8BtD;AAED,eAAO,MAAM,2BAA2B;;;;;;;EAAoC,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
|
|
3
|
+
import { singleton } from '../../../core/singleton/singleton.js';
|
|
4
|
+
import { helmReleaseConditionSummary } from '../../helm/status.js';
|
|
5
|
+
import { namespace } from '../../kubernetes/core/namespace.js';
|
|
6
|
+
import { DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE } from '../constants.js';
|
|
7
|
+
import { DEFAULT_OPENSEARCH_OPERATOR_REPOSITORY_NAME, DEFAULT_OPENSEARCH_OPERATOR_REPOSITORY_URL, DEFAULT_OPENSEARCH_OPERATOR_VERSION, openSearchOperatorHelmRelease, } from '../resources/helm.js';
|
|
8
|
+
import { OpenSearchOperatorBootstrapConfigSchema, OpenSearchOperatorBootstrapStatusSchema, OpenSearchOperatorReferenceConfigSchema, } from '../types.js';
|
|
9
|
+
import { openSearchHelmRepositoryBootstrap } from './repository.js';
|
|
10
|
+
/**
|
|
11
|
+
* Explicitly owned operator installation. Deleting its KRO instance uninstalls
|
|
12
|
+
* the operator; shared consumers should use openSearchOperatorBootstrap.
|
|
13
|
+
*/
|
|
14
|
+
export const openSearchOperatorInstallation = kubernetesComposition({
|
|
15
|
+
name: 'opensearch-operator-installation',
|
|
16
|
+
kind: 'OpenSearchOperatorInstallation',
|
|
17
|
+
spec: OpenSearchOperatorBootstrapConfigSchema,
|
|
18
|
+
status: OpenSearchOperatorBootstrapStatusSchema,
|
|
19
|
+
}, (spec) => {
|
|
20
|
+
const operatorNamespace = spec.namespace || DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE;
|
|
21
|
+
const version = spec.version || DEFAULT_OPENSEARCH_OPERATOR_VERSION;
|
|
22
|
+
const repositoryName = spec.repositoryName || DEFAULT_OPENSEARCH_OPERATOR_REPOSITORY_NAME;
|
|
23
|
+
const repositoryNamespace = spec.repositoryNamespace || DEFAULT_FLUX_NAMESPACE;
|
|
24
|
+
namespace({
|
|
25
|
+
metadata: {
|
|
26
|
+
name: operatorNamespace,
|
|
27
|
+
labels: {
|
|
28
|
+
'app.kubernetes.io/name': 'opensearch-operator',
|
|
29
|
+
'app.kubernetes.io/managed-by': 'typekro',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
id: 'operatorNamespace',
|
|
33
|
+
});
|
|
34
|
+
const _repository = singleton(openSearchHelmRepositoryBootstrap, {
|
|
35
|
+
id: 'opensearch-helm-repository',
|
|
36
|
+
spec: {
|
|
37
|
+
name: repositoryName,
|
|
38
|
+
namespace: repositoryNamespace,
|
|
39
|
+
url: DEFAULT_OPENSEARCH_OPERATOR_REPOSITORY_URL,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const release = openSearchOperatorHelmRelease({
|
|
43
|
+
name: spec.name,
|
|
44
|
+
namespace: operatorNamespace,
|
|
45
|
+
version,
|
|
46
|
+
repositoryName,
|
|
47
|
+
repositoryNamespace,
|
|
48
|
+
values: spec.customValues,
|
|
49
|
+
id: 'operatorRelease',
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
...helmReleaseConditionSummary(release),
|
|
53
|
+
version: release.spec.chart.spec.version,
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
/**
|
|
57
|
+
* Create a shared operator reference whose complete installation is owned by
|
|
58
|
+
* one singleton instance in typekro-singletons. Ownership is build-time so a
|
|
59
|
+
* KRO schema proxy can never silently change lifecycle semantics.
|
|
60
|
+
*/
|
|
61
|
+
export function makeOpenSearchOperatorBootstrap(options = {}) {
|
|
62
|
+
const installation = {
|
|
63
|
+
name: options.name ?? 'opensearch-operator',
|
|
64
|
+
namespace: options.namespace ?? DEFAULT_OPENSEARCH_OPERATOR_NAMESPACE,
|
|
65
|
+
version: options.version ?? DEFAULT_OPENSEARCH_OPERATOR_VERSION,
|
|
66
|
+
repositoryName: options.repositoryName ?? DEFAULT_OPENSEARCH_OPERATOR_REPOSITORY_NAME,
|
|
67
|
+
repositoryNamespace: options.repositoryNamespace ?? DEFAULT_FLUX_NAMESPACE,
|
|
68
|
+
...(options.customValues ? { customValues: options.customValues } : {}),
|
|
69
|
+
};
|
|
70
|
+
return kubernetesComposition({
|
|
71
|
+
name: 'opensearch-operator-bootstrap',
|
|
72
|
+
kind: 'OpenSearchOperatorBootstrap',
|
|
73
|
+
spec: OpenSearchOperatorReferenceConfigSchema,
|
|
74
|
+
status: OpenSearchOperatorBootstrapStatusSchema,
|
|
75
|
+
}, (_spec) => {
|
|
76
|
+
const owner = singleton(openSearchOperatorInstallation, {
|
|
77
|
+
id: 'opensearch-operator',
|
|
78
|
+
spec: installation,
|
|
79
|
+
});
|
|
80
|
+
return {
|
|
81
|
+
ready: owner.status.ready,
|
|
82
|
+
failed: owner.status.failed,
|
|
83
|
+
phase: owner.status.phase,
|
|
84
|
+
version: owner.status.version,
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
export const openSearchOperatorBootstrap = makeOpenSearchOperatorBootstrap();
|
|
89
|
+
//# sourceMappingURL=operator-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/operator-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/repository.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iCAAiC;;;;;;EAqB7C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
2
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
3
|
+
import { openSearchOperatorHelmRepository } from '../resources/helm.js';
|
|
4
|
+
import { OpenSearchHelmRepositorySingletonSpecSchema, OpenSearchHelmRepositorySingletonStatusSchema, } from '../types.js';
|
|
5
|
+
export const openSearchHelmRepositoryBootstrap = kubernetesComposition({
|
|
6
|
+
name: 'opensearch-helm-repository',
|
|
7
|
+
kind: 'OpenSearchHelmRepository',
|
|
8
|
+
spec: OpenSearchHelmRepositorySingletonSpecSchema,
|
|
9
|
+
status: OpenSearchHelmRepositorySingletonStatusSchema,
|
|
10
|
+
}, (spec) => {
|
|
11
|
+
const repository = openSearchOperatorHelmRepository({
|
|
12
|
+
name: spec.name,
|
|
13
|
+
namespace: spec.namespace,
|
|
14
|
+
url: spec.url,
|
|
15
|
+
id: 'repository',
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
ready: Cel.expr(repository.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")'),
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../../src/factories/opensearch/compositions/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,2CAA2C,EAC3C,6CAA6C,GAC9C,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CACpE;IACE,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,2CAA2C;IACjD,MAAM,EAAE,6CAA6C;CACtD,EACD,CAAC,IAAI,EAAE,EAAE;IACP,MAAM,UAAU,GAAG,gCAAgC,CAAC;QAClD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,EAAE,EAAE,YAAY;KACjB,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CACb,UAAU,CAAC,MAAM,CAAC,UAAU,EAC5B,qDAAqD,CACtD;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/factories/opensearch/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qCAAqC,+BACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/factories/opensearch/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qCAAqC,GAChD,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Official OpenSearch Kubernetes operator integration for TypeKro.
|
|
3
|
+
*
|
|
4
|
+
* The operator bootstrap owns the cluster-scoped controller and CRDs. Cluster
|
|
5
|
+
* compositions own only their declared namespace, OpenSearchCluster,
|
|
6
|
+
* certificate, and network-policy resources.
|
|
7
|
+
*/
|
|
8
|
+
export * from './compositions/index.js';
|
|
9
|
+
export * from './constants.js';
|
|
10
|
+
export * from './resources/index.js';
|
|
11
|
+
export * from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/opensearch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Official OpenSearch Kubernetes operator integration for TypeKro.
|
|
3
|
+
*
|
|
4
|
+
* The operator bootstrap owns the cluster-scoped controller and CRDs. Cluster
|
|
5
|
+
* compositions own only their declared namespace, OpenSearchCluster,
|
|
6
|
+
* certificate, and network-policy resources.
|
|
7
|
+
*/
|
|
8
|
+
export * from './compositions/index.js';
|
|
9
|
+
export * from './constants.js';
|
|
10
|
+
export * from './resources/index.js';
|
|
11
|
+
export * from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/opensearch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Composable, Enhanced, ResourceStatus } from '../../../core/types/index.js';
|
|
2
|
+
import type { OpenSearchClusterObservedStatus, OpenSearchClusterResourceConfig, OpenSearchClusterResourceSpec } from '../types.js';
|
|
3
|
+
export declare const OPENSEARCH_HTTP_PORT = 9200;
|
|
4
|
+
export declare function openSearchClusterReadinessEvaluator(liveResource: unknown): ResourceStatus;
|
|
5
|
+
export declare function openSearchClusterResource(config: Composable<OpenSearchClusterResourceConfig>): Enhanced<OpenSearchClusterResourceSpec, OpenSearchClusterObservedStatus>;
|
|
6
|
+
//# sourceMappingURL=cluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../src/factories/opensearch/resources/cluster.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,OAAO,GAAG,cAAc,CAmDzF;AAqHD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,CAAC,+BAA+B,CAAC,GAClD,QAAQ,CAAC,6BAA6B,EAAE,+BAA+B,CAAC,CA8B1E"}
|