alasio 5.0.3 → 6.0.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/cli/src/branches.js +6 -14
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/capacity.js +46 -0
- package/dist/cli/src/capacity.js.map +1 -0
- package/dist/cli/src/cluster/k3s.js +12 -4
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +2 -2
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/commands/branch.js +2 -1
- package/dist/cli/src/commands/branch.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +236 -0
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -0
- package/dist/cli/src/commands/status.js +110 -9
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/uninstall.js +1 -1
- package/dist/cli/src/commands/uninstall.js.map +1 -1
- package/dist/cli/src/commands/up.js +2 -1
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands.js +2 -1
- package/dist/cli/src/commands.js.map +1 -1
- package/dist/cli/src/config.js +13 -4
- package/dist/cli/src/config.js.map +1 -1
- package/dist/cli/src/install.js +9 -3
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kube/api.js +11 -3
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +116 -13
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/autoscalers.js +48 -0
- package/dist/cli/src/kube/autoscalers.js.map +1 -0
- package/dist/cli/src/kube/object-store-scale.js +116 -0
- package/dist/cli/src/kube/object-store-scale.js.map +1 -0
- package/dist/cli/src/kube/rollout.js +2 -0
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +296 -0
- package/dist/cli/src/manifests/admission.js.map +1 -0
- package/dist/cli/src/manifests/agent-sandbox.js +6 -3
- package/dist/cli/src/manifests/agent-sandbox.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +34 -12
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/cloudeventsources.eventing.keda.sh.json +219 -0
- package/dist/cli/src/manifests/clustercloudeventsources.eventing.keda.sh.json +218 -0
- package/dist/cli/src/manifests/clustertriggerauthentications.keda.sh.json +997 -0
- package/dist/cli/src/manifests/collector.js +77 -38
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +11 -0
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +217 -31
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/controllers.js +39 -0
- package/dist/cli/src/manifests/controllers.js.map +1 -0
- package/dist/cli/src/manifests/disruption.js +47 -0
- package/dist/cli/src/manifests/disruption.js.map +1 -0
- package/dist/cli/src/manifests/grafana.js +49 -5
- package/dist/cli/src/manifests/grafana.js.map +1 -1
- package/dist/cli/src/manifests/headroom.js +40 -0
- package/dist/cli/src/manifests/headroom.js.map +1 -0
- package/dist/cli/src/manifests/index.js +12 -3
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/juicefs-csi.js +9 -6
- package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +271 -0
- package/dist/cli/src/manifests/keda.js.map +1 -0
- package/dist/cli/src/manifests/lake.js +7 -3
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +33 -25
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +90 -10
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/object-store.js +506 -77
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/priorities.js +30 -0
- package/dist/cli/src/manifests/priorities.js.map +1 -0
- package/dist/cli/src/manifests/scaledjobs.keda.sh.json +7507 -0
- package/dist/cli/src/manifests/scaledobjects.keda.sh.json +564 -0
- package/dist/cli/src/manifests/scalers.js +24 -0
- package/dist/cli/src/manifests/scalers.js.map +1 -0
- package/dist/cli/src/manifests/sizing.js +40 -0
- package/dist/cli/src/manifests/sizing.js.map +1 -0
- package/dist/cli/src/manifests/triggerauthentications.keda.sh.json +992 -0
- package/dist/cli/src/manifests/valkey.js +63 -35
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/verticalpodautoscalercheckpoints.autoscaling.k8s.io.json +250 -0
- package/dist/cli/src/manifests/verticalpodautoscalers.autoscaling.k8s.io.json +837 -0
- package/dist/cli/src/manifests/vpa.js +220 -0
- package/dist/cli/src/manifests/vpa.js.map +1 -0
- package/dist/cli/src/manifests/workspace-storage.js +12 -2
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/object-store.js +57 -0
- package/dist/cli/src/object-store.js.map +1 -0
- package/dist/cli/src/release.js +6 -6
- package/dist/cli/src/target.js +1 -1
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cluster/node/pins.json +2 -2
- package/dist/neon/control/secrets.js +3 -0
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/kube/busy-label.js +13 -0
- package/dist/src/kube/busy-label.js.map +1 -0
- package/dist/src/kube/config.js +5 -1
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +62 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -0
- package/dist/src/sandbox/names.js +44 -0
- package/dist/src/sandbox/names.js.map +1 -0
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { isIPv4 } from "node:net";
|
|
11
11
|
import { Effect, Predicate, Result, Schema, SchemaGetter, SchemaIssue } from "effect";
|
|
12
|
+
import { memoryBytes, memoryText } from "../capacity.js";
|
|
12
13
|
import { IMAGES } from "../release.js";
|
|
13
14
|
/** The install configuration is not what alasio installs from; the message says which key and why. */
|
|
14
15
|
export class InstallConfigError extends Schema.TaggedError()("InstallConfigError", {
|
|
@@ -52,6 +53,32 @@ const quantities = (defaults) => defaulted(Quantities.pipe(Schema.decodeTo(Schem
|
|
|
52
53
|
})), {});
|
|
53
54
|
/** A container's resources, its requests and limits over `defaults`. */
|
|
54
55
|
const Resources = (defaults) => defaulted(Schema.Struct({ requests: quantities(defaults.requests), limits: quantities(defaults.limits) }), {});
|
|
56
|
+
const Count = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0, { message: "must be a number of replicas, 0 or more" }));
|
|
57
|
+
/** What is wrong with `scale`, given `limits`: the key, and why; none when nothing is. */
|
|
58
|
+
function scaleProblem({ min, max }, { floor, scaled, most }) {
|
|
59
|
+
if (min > max)
|
|
60
|
+
return { path: ["max"], issue: "must be at least min" };
|
|
61
|
+
if (floor && min === 0)
|
|
62
|
+
return { path: ["min"], issue: "must be at least 1: it never sleeps" };
|
|
63
|
+
if (!scaled && min !== max)
|
|
64
|
+
return { path: ["max"], issue: "must equal min: nothing scales it between them" };
|
|
65
|
+
if (most !== undefined && max > most)
|
|
66
|
+
return { path: ["max"], issue: `must be at most ${most}` };
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A component's scale, `scaling`, as every component declares it: `{ min, max }`, how
|
|
71
|
+
* many replicas it runs. Equal, they fix the count; apart, the component's scaler moves
|
|
72
|
+
* it between them; a `min` of 0 lets it sleep. One left out is its default, moved as far
|
|
73
|
+
* as the other given needs: `{ min: 2 }` of a scale of 1 is 2 to 2.
|
|
74
|
+
*/
|
|
75
|
+
const Scaling = (defaults, limits) => defaulted(Schema.Struct({ min: Schema.optionalKey(Count), max: Schema.optionalKey(Count) }).pipe(Schema.decodeTo(Schema.Struct({ min: Count, max: Count }).check(Schema.makeFilter((scale) => scaleProblem(scale, limits))), {
|
|
76
|
+
decode: SchemaGetter.transform(({ min, max }) => ({
|
|
77
|
+
min: min ?? Math.min(defaults.min, max ?? defaults.min),
|
|
78
|
+
max: max ?? Math.max(defaults.max, min ?? defaults.max),
|
|
79
|
+
})),
|
|
80
|
+
encode: SchemaGetter.transform((scale) => scale),
|
|
81
|
+
})), {});
|
|
55
82
|
/** A volume: its size, and its StorageClass, the cluster's default when empty. */
|
|
56
83
|
const Storage = (size) => defaulted(Schema.Struct({ size: defaulted(Size, size), storageClassName: defaulted(Schema.String, "") }), {});
|
|
57
84
|
const Env = defaulted(Schema.Record(Schema.String, Schema.String), {});
|
|
@@ -78,7 +105,7 @@ const Alasio = Schema.Struct({
|
|
|
78
105
|
claude: defaulted(Schema.Struct({ existingSecret: defaulted(OptionalSecretName, ""), key: defaulted(NonEmpty, "token") }), {}),
|
|
79
106
|
env: Env,
|
|
80
107
|
envFrom: defaulted(Schema.Array(object()), []),
|
|
81
|
-
resources: Resources({ requests: { cpu: "
|
|
108
|
+
resources: Resources({ requests: { cpu: "250m", memory: "768Mi" }, limits: { memory: "8Gi" } }),
|
|
82
109
|
/** Whom alasio runs as, unless the host profile says. */
|
|
83
110
|
runAsUser: defaulted(Id, 1000),
|
|
84
111
|
runAsGroup: defaulted(Id, 1000),
|
|
@@ -139,8 +166,8 @@ const Host = Schema.Struct({
|
|
|
139
166
|
createNamespace: defaulted(Schema.Boolean, true),
|
|
140
167
|
baymaImage: Image({
|
|
141
168
|
repository: "ghcr.io/eaucoin/bayma",
|
|
142
|
-
tag: "0.
|
|
143
|
-
digest: "sha256:
|
|
169
|
+
tag: "0.13.0",
|
|
170
|
+
digest: "sha256:840bfbbb660c5a0fefb562448db2ee93ceef3715142e538c7717ef9c34f3acc1",
|
|
144
171
|
}),
|
|
145
172
|
/** The operator's user and home, which alasio and each folder's bayma run as and in. */
|
|
146
173
|
uid: defaulted(Id, 1000),
|
|
@@ -155,7 +182,7 @@ const Host = Schema.Struct({
|
|
|
155
182
|
/** Whether alasio's home is the operator's rather than its volume. */
|
|
156
183
|
alasioHome: defaulted(Schema.Boolean, true),
|
|
157
184
|
env: Env,
|
|
158
|
-
resources: Resources({ requests: { cpu: "100m", memory: "
|
|
185
|
+
resources: Resources({ requests: { cpu: "100m", memory: "512Mi" }, limits: { memory: "8Gi" } }),
|
|
159
186
|
});
|
|
160
187
|
/** A service of Neon's with a volume. */
|
|
161
188
|
const NeonStored = (size, resources) => defaulted(Schema.Struct({ storage: Storage(size), resources: Resources(resources) }), {});
|
|
@@ -184,17 +211,17 @@ const Neon = Schema.Struct({
|
|
|
184
211
|
runAsUser: defaulted(Id, 1000),
|
|
185
212
|
runAsGroup: defaulted(Id, 1000),
|
|
186
213
|
safekeepers: defaulted(Schema.Struct({
|
|
187
|
-
/** How many safekeepers hold each timeline's WAL. */
|
|
188
|
-
|
|
214
|
+
/** How many safekeepers hold each timeline's WAL: a count, which neon-control registers them by. */
|
|
215
|
+
scaling: Scaling({ min: 3, max: 3 }, { floor: true, scaled: false, most: 7 }),
|
|
189
216
|
storage: Storage("20Gi"),
|
|
190
|
-
resources: Resources({ requests: { cpu: "
|
|
217
|
+
resources: Resources({ requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "1Gi" } }),
|
|
191
218
|
}), {}),
|
|
192
|
-
pageserver: NeonStored("50Gi", { requests: { cpu: "
|
|
193
|
-
storageController: NeonService({ requests: { cpu: "
|
|
194
|
-
storageBroker: NeonService({ requests: { cpu: "
|
|
195
|
-
controllerDb: NeonStored("2Gi", { requests: { cpu: "50m", memory: "
|
|
196
|
-
control: NeonStored("100Mi", { requests: { cpu: "20m", memory: "
|
|
197
|
-
compute: NeonService({ requests: { cpu: "
|
|
219
|
+
pageserver: NeonStored("50Gi", { requests: { cpu: "100m", memory: "256Mi" }, limits: { memory: "4Gi" } }),
|
|
220
|
+
storageController: NeonService({ requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
221
|
+
storageBroker: NeonService({ requests: { cpu: "20m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
222
|
+
controllerDb: NeonStored("2Gi", { requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
223
|
+
control: NeonStored("100Mi", { requests: { cpu: "20m", memory: "96Mi" }, limits: { memory: "256Mi" } }),
|
|
224
|
+
compute: NeonService({ requests: { cpu: "250m", memory: "384Mi" }, limits: { memory: "4Gi" } }),
|
|
198
225
|
/**
|
|
199
226
|
* A daily logical dump of alasio's database to the object store, and a copy of
|
|
200
227
|
* JuiceFS's newest dump of workspace storage's metadata beside it; of each, the last
|
|
@@ -208,21 +235,105 @@ const Neon = Schema.Struct({
|
|
|
208
235
|
nodeSelector: NodeSelector,
|
|
209
236
|
tolerations: Tolerations,
|
|
210
237
|
});
|
|
238
|
+
/** The Valkey of workspace storage's metadata and of the object store's filers. */
|
|
239
|
+
const VALKEY_IMAGE = { repository: "valkey/valkey", tag: "9.1.2-alpine", digest: "sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11" };
|
|
240
|
+
/** What an entry of the filer store, an object or a directory, takes in its Valkey: 1,339 bytes as measured, rounded up. */
|
|
241
|
+
const FILER_STORE_ENTRY_BYTES = 1400;
|
|
242
|
+
/** The filer store's `maxmemory` for `entries`: what they take and a quarter more, in whole 64 MiB. */
|
|
243
|
+
export function filerStoreMaxmemoryBytes(entries) {
|
|
244
|
+
const unit = 64 * 2 ** 20;
|
|
245
|
+
return Math.ceil((entries * FILER_STORE_ENTRY_BYTES * 1.25) / unit) * unit;
|
|
246
|
+
}
|
|
211
247
|
const ObjectStore = Schema.Struct({
|
|
212
|
-
/**
|
|
248
|
+
/**
|
|
249
|
+
* SeaweedFS, run beside Neon, as its parts: masters, which place objects on volume
|
|
250
|
+
* servers, which keep them; filers, which keep the store's namespace in a Valkey of its
|
|
251
|
+
* own, the filer store, so every filer sees what any has written; and S3 gateways, on the
|
|
252
|
+
* filers. Each takes its scale; the gateways', apart, scale on their CPU.
|
|
253
|
+
*/
|
|
213
254
|
bundled: defaulted(Schema.Struct({
|
|
214
255
|
enabled: defaulted(Schema.Boolean, true),
|
|
215
256
|
image: Image({
|
|
216
257
|
repository: "chrislusf/seaweedfs",
|
|
217
|
-
tag: "4.
|
|
218
|
-
digest: "sha256:
|
|
258
|
+
tag: "4.48",
|
|
259
|
+
digest: "sha256:4e61d15fd35994cb1e43e1e553dff106794841fd9a99ade2fc8c8bfce4d7872d",
|
|
219
260
|
}),
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
261
|
+
/**
|
|
262
|
+
* How many copies of each object are kept, as SeaweedFS's replication says it: 000,
|
|
263
|
+
* one; 00N, N more, each on another volume server, so N + 1 of them at least. A copy
|
|
264
|
+
* outlives a disk's loss only on another disk: volume servers whose volumes are on one
|
|
265
|
+
* disk, as local-path's are on one node's, lose every copy with it, and need room
|
|
266
|
+
* there for all of them. Where copies are kept, each volume server is on a node of
|
|
267
|
+
* its own while there are as many, one left unplaced rather than beside another, and
|
|
268
|
+
* what a lost server held is copied again, each hour, onto the others. Changed, it
|
|
269
|
+
* holds for what is written from then on at once, and for what was written before
|
|
270
|
+
* from the next hour's lifecycle pass, which sets each volume's own to it and copies
|
|
271
|
+
* each that lacks copies; until then, those are kept as they were.
|
|
272
|
+
*/
|
|
273
|
+
replication: defaulted(matching(/^00[0-9]$/u, "must be 000, or 00N for N more copies, each on another volume server"), "000"),
|
|
274
|
+
/**
|
|
275
|
+
* The masters, 1, or 3 in Raft, each with a volume of its state; their count is set
|
|
276
|
+
* as the store is made, and never changed after: fewer would lose what their Raft
|
|
277
|
+
* keeps, and one master's state, made without peers, is no Raft's that more could join.
|
|
278
|
+
*/
|
|
279
|
+
masters: defaulted(Schema.Struct({
|
|
280
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false, most: 3 }),
|
|
281
|
+
storage: Storage("1Gi"),
|
|
282
|
+
resources: Resources({ requests: { cpu: "10m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
283
|
+
}), {}),
|
|
284
|
+
/**
|
|
285
|
+
* The volume servers, each keeping objects on a volume of its own. Their count is
|
|
286
|
+
* lowered only once those it would remove hold no volumes, moved to the others first.
|
|
287
|
+
*/
|
|
288
|
+
volumeServers: defaulted(Schema.Struct({
|
|
289
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
290
|
+
storage: Storage("100Gi"),
|
|
291
|
+
/** The most volumes each keeps, each up to 1GiB. */
|
|
292
|
+
volumes: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(30, { message: "must be at least 30" })), 100),
|
|
293
|
+
/**
|
|
294
|
+
* The disk each leaves free. Once its disk has less free, a volume server takes no
|
|
295
|
+
* more writes; once none takes any, nor does the store, as each of its filers'
|
|
296
|
+
* writes is logged to a volume: `alasio status`, the Stack health dashboard and an
|
|
297
|
+
* alert say how near each is.
|
|
298
|
+
*/
|
|
299
|
+
minFreeSpace: defaulted(matching(/^[0-9]+(KiB|MiB|GiB|TiB)$/u, "must be a size in KiB, MiB, GiB or TiB"), "5GiB"),
|
|
300
|
+
resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "2Gi" } }),
|
|
301
|
+
}), {}),
|
|
302
|
+
/** The filers, started one after another. */
|
|
303
|
+
filers: defaulted(Schema.Struct({
|
|
304
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
305
|
+
resources: Resources({ requests: { cpu: "20m", memory: "128Mi" }, limits: { memory: "1Gi" } }),
|
|
306
|
+
}), {}),
|
|
307
|
+
/** The S3 gateways, the store's endpoint. */
|
|
308
|
+
gateways: defaulted(Schema.Struct({
|
|
309
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: true }),
|
|
310
|
+
resources: Resources({ requests: { cpu: "20m", memory: "96Mi" }, limits: { memory: "1Gi" } }),
|
|
311
|
+
}), {}),
|
|
312
|
+
/**
|
|
313
|
+
* The filers' store: a Valkey of its own, its memory sized for `entries`, the store's
|
|
314
|
+
* objects and directories, as about 1.4 KB each, with a quarter more. Full, it
|
|
315
|
+
* refuses writes, and the store with it: an alert says when it nears that.
|
|
316
|
+
*/
|
|
317
|
+
filerStore: defaulted(Schema.Struct({
|
|
318
|
+
image: Image(VALKEY_IMAGE),
|
|
319
|
+
storage: Storage("2Gi"),
|
|
320
|
+
entries: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(10_000, { message: "must be at least 10000" })), 150_000),
|
|
321
|
+
resources: Resources({ requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "512Mi" } }),
|
|
322
|
+
/**
|
|
323
|
+
* A snapshot of the filer store on `schedule`, hourly, onto a volume of its own,
|
|
324
|
+
* the last `keep` kept. One put back rolls the store's namespace back to when it
|
|
325
|
+
* was taken, so what was written since is lost, as an hour's at most. On a
|
|
326
|
+
* cluster of several nodes the volume is made on another node than the filer
|
|
327
|
+
* store's where one can take it, so a node's loss takes one of the two alone; on
|
|
328
|
+
* a single node, its disk's loss takes both.
|
|
329
|
+
*/
|
|
330
|
+
backups: defaulted(Schema.Struct({
|
|
331
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
332
|
+
schedule: defaulted(Schema.String.check(Schema.isMinLength(9, { message: "must be a cron schedule" })), "23 * * * *"),
|
|
333
|
+
keep: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(1, { message: "must be at least 1" })), 48),
|
|
334
|
+
storage: Storage("10Gi"),
|
|
335
|
+
}), {}),
|
|
336
|
+
}), {}),
|
|
226
337
|
}), {}),
|
|
227
338
|
/** Or an S3-compatible store of the operator's: its endpoint, region, and a Secret with `accessKey` and `secretKey`. */
|
|
228
339
|
external: defaulted(Schema.Struct({
|
|
@@ -291,11 +402,7 @@ const Csi = Schema.Struct({
|
|
|
291
402
|
});
|
|
292
403
|
/** Valkey, the file system's metadata engine. */
|
|
293
404
|
const Valkey = Schema.Struct({
|
|
294
|
-
image: Image(
|
|
295
|
-
repository: "valkey/valkey",
|
|
296
|
-
tag: "9.1.2-alpine",
|
|
297
|
-
digest: "sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11",
|
|
298
|
-
}),
|
|
405
|
+
image: Image(VALKEY_IMAGE),
|
|
299
406
|
/** Its snapshots and append-only file. */
|
|
300
407
|
storage: Storage("2Gi"),
|
|
301
408
|
/** What it may hold, half its memory limit, leaving room for the fork that writes its snapshots; about a million files at 384mb. */
|
|
@@ -333,11 +440,65 @@ const AgentSandbox = Schema.Struct({
|
|
|
333
440
|
digest: defaulted(Digest, "sha256:28a9cbdbfd6ac0a4e5c7e9261ace1aa30ee2da681cb640dccdfed98e8dd9d98b"),
|
|
334
441
|
pullPolicy: defaulted(PullPolicy, "IfNotPresent"),
|
|
335
442
|
}), {}),
|
|
336
|
-
resources: Resources({ requests: { cpu: "
|
|
443
|
+
resources: Resources({ requests: { cpu: "20m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
337
444
|
nodeSelector: NodeSelector,
|
|
338
445
|
tolerations: Tolerations,
|
|
339
446
|
affinity: Affinity,
|
|
340
447
|
});
|
|
448
|
+
/** A container of a controller alasio installs: its pinned image and its resources. */
|
|
449
|
+
const ControllerContainer = (image, resources) => defaulted(Schema.Struct({ image: Image(image), resources: Resources(resources) }), {});
|
|
450
|
+
/**
|
|
451
|
+
* How alasio's components scale: KEDA, which moves a component's replicas between its
|
|
452
|
+
* scale's min and max on what its ScaledObject names; VPA, which sizes every workload's
|
|
453
|
+
* requests from what it uses; each installed once per cluster, and off where the cluster
|
|
454
|
+
* has its own already, which alasio then uses; and headroom for a node autoscaler.
|
|
455
|
+
*/
|
|
456
|
+
const Autoscaling = Schema.Struct({
|
|
457
|
+
/**
|
|
458
|
+
* KEDA (kedacore/keda v2.21.0), as its release's manifest installs it, but that it reads
|
|
459
|
+
* Secrets in its own namespace alone, and of what ScaledObjects scale, Deployments and
|
|
460
|
+
* StatefulSets, and runs no ScaledJob's Jobs (./keda.ts): a cluster whose ScaledObjects
|
|
461
|
+
* scale custom resources, or authenticate through TriggerAuthentications in their own
|
|
462
|
+
* namespaces, or whose ScaledJobs run, brings a KEDA of its own, which enabled false uses.
|
|
463
|
+
*/
|
|
464
|
+
keda: defaulted(Schema.Struct({
|
|
465
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
466
|
+
operator: ControllerContainer({ repository: "ghcr.io/kedacore/keda", tag: "2.21.0", digest: "sha256:81fe6547ce8d1cc29273f887b76507e9b853e5bc1f875ec23fe60061a38ed809" }, { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
467
|
+
metricsApiServer: ControllerContainer({ repository: "ghcr.io/kedacore/keda-metrics-apiserver", tag: "2.21.0", digest: "sha256:255375037fe592732eeb554743aae360c2da88cf0b9b1258d0a987ef885f0881" }, { requests: { cpu: "10m", memory: "48Mi" }, limits: { memory: "256Mi" } }),
|
|
468
|
+
admissionWebhooks: ControllerContainer({ repository: "ghcr.io/kedacore/keda-admission-webhooks", tag: "2.21.0", digest: "sha256:e1969628cca6123e32eea13c47c75817091af2657fa68d9d0d58a8620d1b75b1" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
469
|
+
}), {}),
|
|
470
|
+
/** VPA (kubernetes/autoscaler vertical-pod-autoscaler-1.8.0), as its deploy/ installs it, with its chart's certificate Job. */
|
|
471
|
+
vpa: defaulted(Schema.Struct({
|
|
472
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
473
|
+
recommender: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-recommender", tag: "1.8.0", digest: "sha256:e743e3a7e58a614f850063dba5df88eec5a19cf4cc43edb2050248df2d7dd8d3" }, { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
474
|
+
updater: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-updater", tag: "1.8.0", digest: "sha256:1d0229e52f90f645f1ee2e86ddfac8f451d166777c2aab066b9c5ab5e8bc5d5c" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
475
|
+
admissionController: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-admission-controller", tag: "1.8.0", digest: "sha256:3d94f53e4c5a6891b8b32af545dda975e45842486432b69475afaf8df278d23d" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
476
|
+
/** What makes the admission controller's certificate, and gives its webhook the CA. */
|
|
477
|
+
certgenImage: Image({
|
|
478
|
+
repository: "registry.k8s.io/ingress-nginx/kube-webhook-certgen",
|
|
479
|
+
tag: "v1.6.9",
|
|
480
|
+
digest: "sha256:01038e7de14b78d702d2849c3aad72fd25903c4765af63cf16aa3398f5d5f2dd",
|
|
481
|
+
}),
|
|
482
|
+
}), {}),
|
|
483
|
+
/**
|
|
484
|
+
* Whether alasio's pods take the places of pods of lower priority to be scheduled where
|
|
485
|
+
* there is no room for them (./priorities.ts): alasio's own, and, on a cluster it shares,
|
|
486
|
+
* the cluster's others, of priority 0 unless their class says; or wait for room. So true
|
|
487
|
+
* on a cluster alasio makes, and false on one a kubeconfig reaches, unless said
|
|
488
|
+
* (installConfigOf in ../config.ts).
|
|
489
|
+
*/
|
|
490
|
+
preemption: defaulted(Schema.Boolean, true),
|
|
491
|
+
/**
|
|
492
|
+
* Placeholder pods, each requesting `resources`, which any pod takes the place of: room a
|
|
493
|
+
* node autoscaler keeps ready, of use only where one runs, and where pods preempt. None
|
|
494
|
+
* unless a fixed count is given.
|
|
495
|
+
*/
|
|
496
|
+
headroom: defaulted(Schema.Struct({
|
|
497
|
+
scaling: Scaling({ min: 0, max: 0 }, { floor: false, scaled: false }),
|
|
498
|
+
image: Image({ repository: "registry.k8s.io/pause", tag: "3.10.1", digest: "sha256:278fb9dbcca9518083ad1e11276933a2e96f23de604a3a08cc3c80002767d24c" }),
|
|
499
|
+
resources: Resources({ requests: { cpu: "500m", memory: "512Mi" }, limits: {} }),
|
|
500
|
+
}), {}),
|
|
501
|
+
});
|
|
341
502
|
/** What a configuration must also hold, given what it turns off: the issue of the first it lacks. */
|
|
342
503
|
function completeness(config) {
|
|
343
504
|
if (!config.neon.enabled && !config.neon.external.existingSecret) {
|
|
@@ -355,6 +516,22 @@ function completeness(config) {
|
|
|
355
516
|
if (config.workspaceStorage.enabled && !config.neon.enabled) {
|
|
356
517
|
return { path: ["workspaceStorage", "enabled"], issue: "must be false when neon.enabled is false, as its data is in the object store that runs with Neon" };
|
|
357
518
|
}
|
|
519
|
+
const { bundled } = config.objectStore;
|
|
520
|
+
if (bundled.masters.scaling.min === 2)
|
|
521
|
+
return { path: ["objectStore", "bundled", "masters", "scaling"], issue: "must be 1 or 3: two masters elect no leader once one is gone" };
|
|
522
|
+
const copies = Number(bundled.replication.slice(2)) + 1;
|
|
523
|
+
if (bundled.volumeServers.scaling.min < copies) {
|
|
524
|
+
return { path: ["objectStore", "bundled", "volumeServers", "scaling"], issue: `must be at least ${copies}, one for each copy objectStore.bundled.replication keeps` };
|
|
525
|
+
}
|
|
526
|
+
if (memoryBytes(bundled.filerStore.resources.limits["memory"] ?? "0") < 2 * filerStoreMaxmemoryBytes(bundled.filerStore.entries)) {
|
|
527
|
+
return {
|
|
528
|
+
path: ["objectStore", "bundled", "filerStore", "resources", "limits", "memory"],
|
|
529
|
+
issue: `must be at least ${memoryText(2 * filerStoreMaxmemoryBytes(bundled.filerStore.entries))}, twice what its entries take, for the fork that writes its snapshots`,
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
if (config.autoscaling.headroom.scaling.min > 0 && !config.autoscaling.preemption) {
|
|
533
|
+
return { path: ["autoscaling", "headroom", "scaling"], issue: "must be 0 when autoscaling.preemption is false, as no pod takes a placeholder's place then" };
|
|
534
|
+
}
|
|
358
535
|
return undefined;
|
|
359
536
|
}
|
|
360
537
|
const InstallStruct = Schema.Struct({
|
|
@@ -379,13 +556,22 @@ const InstallStruct = Schema.Struct({
|
|
|
379
556
|
lake: defaulted(Schema.Struct({
|
|
380
557
|
enabled: defaulted(Schema.Boolean, true),
|
|
381
558
|
resources: Resources({ requests: { cpu: "100m", memory: "512Mi" }, limits: { memory: "1536Mi" } }),
|
|
382
|
-
query: defaulted(Schema.Struct({ resources: Resources({ requests: { cpu: "50m", memory: "
|
|
559
|
+
query: defaulted(Schema.Struct({ resources: Resources({ requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "1Gi" } }) }), {}),
|
|
560
|
+
}), {}),
|
|
561
|
+
/**
|
|
562
|
+
* Grafana, with the lake: dashboards and alerts on it, alerting through the Telegram bot;
|
|
563
|
+
* alasio grafana reaches it. Two replicas or more are its high availability, which sends
|
|
564
|
+
* each alert once; min and max apart scale it on its CPU.
|
|
565
|
+
*/
|
|
566
|
+
grafana: defaulted(Schema.Struct({
|
|
567
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
568
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: true }),
|
|
569
|
+
resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "768Mi" } }),
|
|
383
570
|
}), {}),
|
|
384
|
-
/** Grafana, with the lake: dashboards and alerts on it, alerting through the Telegram bot; alasio grafana reaches it. */
|
|
385
|
-
grafana: defaulted(Schema.Struct({ enabled: defaulted(Schema.Boolean, true), resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "768Mi" } }) }), {}),
|
|
386
571
|
/** NetworkPolicies confining sessions, folder workspaces' bayma and Neon. */
|
|
387
572
|
networkPolicies: defaulted(Schema.Struct({ enabled: defaulted(Schema.Boolean, true) }), {}),
|
|
388
573
|
agentSandbox: defaulted(AgentSandbox, {}),
|
|
574
|
+
autoscaling: defaulted(Autoscaling, {}),
|
|
389
575
|
});
|
|
390
576
|
/** The install configuration: what the config file holds, every key left out its default. */
|
|
391
577
|
export const InstallConfig = InstallStruct.check(Schema.makeFilter(completeness));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/manifests/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/manifests/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { componentName, imagePullSecrets, labels, NAMESPACE, ONE, replicasOf, restrictedContainer, restrictedPod, selectorLabels } from "./common.js";
|
|
2
|
+
import { priority } from "./priorities.js";
|
|
3
|
+
import { verticalPodAutoscaler } from "./sizing.js";
|
|
4
|
+
/** The user of KEDA's and VPA's distroless images. */
|
|
5
|
+
const NONROOT = 65532;
|
|
6
|
+
/** The Deployment of the controller `component`: `container`, as `serviceAccountName`, with `volumes`. */
|
|
7
|
+
function controllerDeployment(config, component, serviceAccountName, container, volumes = []) {
|
|
8
|
+
return {
|
|
9
|
+
apiVersion: "apps/v1",
|
|
10
|
+
kind: "Deployment",
|
|
11
|
+
metadata: { name: componentName(component), namespace: NAMESPACE, labels: labels(component) },
|
|
12
|
+
spec: {
|
|
13
|
+
...replicasOf(ONE),
|
|
14
|
+
selector: { matchLabels: selectorLabels(component) },
|
|
15
|
+
template: {
|
|
16
|
+
metadata: { labels: labels(component) },
|
|
17
|
+
spec: {
|
|
18
|
+
serviceAccountName,
|
|
19
|
+
...priority("floor"),
|
|
20
|
+
securityContext: restrictedPod(NONROOT, NONROOT),
|
|
21
|
+
...imagePullSecrets(config),
|
|
22
|
+
terminationGracePeriodSeconds: 10,
|
|
23
|
+
...(volumes.length > 0 ? { volumes } : {}),
|
|
24
|
+
containers: [{ ...container, imagePullPolicy: "IfNotPresent", securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true } }],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** The controller `component`'s Deployment (controllerDeployment) and its VerticalPodAutoscaler, which resizes it in place. */
|
|
31
|
+
export function sizedController(...args) {
|
|
32
|
+
const deployment = controllerDeployment(...args);
|
|
33
|
+
return [deployment, verticalPodAutoscaler(deployment, "InPlace")];
|
|
34
|
+
}
|
|
35
|
+
/** A rule granting `verbs` on `resources` of `apiGroups`, of those named `resourceNames` alone when given. */
|
|
36
|
+
export function rule(apiGroups, resources, verbs, resourceNames) {
|
|
37
|
+
return { apiGroups, resources, verbs, ...(resourceNames ? { resourceNames } : {}) };
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=controllers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../../../src/manifests/controllers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtJ,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,sDAAsD;AACtD,MAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,0GAA0G;AAC1G,SAAS,oBAAoB,CAAC,MAAqB,EAAE,SAAiB,EAAE,kBAA0B,EAAE,SAAsB,EAAE,OAAO,GAAe,EAAE;IAClJ,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;QAC7F,IAAI,EAAE;YACJ,GAAG,UAAU,CAAC,GAAG,CAAC;YAClB,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;YACpD,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;gBACvC,IAAI,EAAE;oBACJ,kBAAkB;oBAClB,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACpB,eAAe,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;oBAChD,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC3B,6BAA6B,EAAE,EAAE;oBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,GAAG,mBAAmB,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;iBAC7I;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,+HAA+H;AAC/H,MAAM,UAAU,eAAe,CAAC,GAAG,IAA6C;IAC9E,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,SAAmB,EAAE,KAAe,EAAE,aAAwB;IACtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BUSY_LABEL } from "../../../src/kube/busy-label.js";
|
|
2
|
+
import { componentName, labels, selectorLabels } from "./common.js";
|
|
3
|
+
/** Whether a component of `scale` may run more than one replica. */
|
|
4
|
+
export const replicated = ({ max }) => max > 1;
|
|
5
|
+
/** The budget of `component`'s pods in `namespace`, of `scale`: one of them evicted at a time; none for a component of one replica. */
|
|
6
|
+
export function replicaBudget(component, namespace, scale) {
|
|
7
|
+
if (!replicated(scale))
|
|
8
|
+
return [];
|
|
9
|
+
return [{
|
|
10
|
+
apiVersion: "policy/v1",
|
|
11
|
+
kind: "PodDisruptionBudget",
|
|
12
|
+
metadata: { name: componentName(component), namespace, labels: labels(component) },
|
|
13
|
+
spec: { maxUnavailable: 1, selector: { matchLabels: selectorLabels(component) } },
|
|
14
|
+
}];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The budget of `namespace`'s busy pods: none of them evicted, but one not ready, which
|
|
18
|
+
* would otherwise hold a drain for as long as it stayed so, its label held by a turn
|
|
19
|
+
* that may never end.
|
|
20
|
+
*/
|
|
21
|
+
export function busyBudget(namespace) {
|
|
22
|
+
return {
|
|
23
|
+
apiVersion: "policy/v1",
|
|
24
|
+
kind: "PodDisruptionBudget",
|
|
25
|
+
metadata: { name: componentName("busy"), namespace, labels: labels("alasio") },
|
|
26
|
+
spec: { maxUnavailable: 0, selector: { matchLabels: { [BUSY_LABEL]: "true" } }, unhealthyPodEvictionPolicy: "AlwaysAllow" },
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Where `component`'s replicas go, of `scale`: spread across nodes, where the cluster has
|
|
31
|
+
* them, and zones; nothing to say of one replica. `strictly`, a replica is left unplaced
|
|
32
|
+
* rather than put beside another on a node while one has fewer: of what keeps copies of
|
|
33
|
+
* the same data, so the copies are on different nodes as long as there are as many.
|
|
34
|
+
*/
|
|
35
|
+
export function spread(component, scale, strictly = false) {
|
|
36
|
+
if (!replicated(scale))
|
|
37
|
+
return {};
|
|
38
|
+
const across = (topologyKey, hard) => ({
|
|
39
|
+
maxSkew: 1,
|
|
40
|
+
topologyKey,
|
|
41
|
+
whenUnsatisfiable: hard ? "DoNotSchedule" : "ScheduleAnyway",
|
|
42
|
+
labelSelector: { matchLabels: selectorLabels(component) },
|
|
43
|
+
});
|
|
44
|
+
// Zones softly alone: a node without a zone's label would be no place for a pod spread strictly across them.
|
|
45
|
+
return { topologySpreadConstraints: [across("kubernetes.io/hostname", strictly), across("topology.kubernetes.io/zone", false)] };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=disruption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disruption.js","sourceRoot":"","sources":["../../../../src/manifests/disruption.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGpE,oEAAoE;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAS,EAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AAE/D,uIAAuI;AACvI,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAY;IAC9E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC;YACN,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;YAClF,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE;SAClF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC9E,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,0BAA0B,EAAE,aAAa,EAAE;KAC5H,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,SAAiB,EAAE,KAAY,EAAE,QAAQ,GAAG,KAAK;IACtE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,IAAa,EAA8B,EAAE,CAAC,CAAC;QAClF,OAAO,EAAE,CAAC;QACV,WAAW;QACX,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;QAC5D,aAAa,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;KAC1D,CAAC,CAAC;IACH,6GAA6G;IAC7G,OAAO,EAAE,yBAAyB,EAAE,CAAC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AACnI,CAAC"}
|