alasio 5.1.0 → 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.
Files changed (102) hide show
  1. package/dist/cli/src/branches.js +6 -14
  2. package/dist/cli/src/branches.js.map +1 -1
  3. package/dist/cli/src/capacity.js +46 -0
  4. package/dist/cli/src/capacity.js.map +1 -0
  5. package/dist/cli/src/cluster/k3s.js +12 -4
  6. package/dist/cli/src/cluster/k3s.js.map +1 -1
  7. package/dist/cli/src/commands/branch.js +2 -1
  8. package/dist/cli/src/commands/branch.js.map +1 -1
  9. package/dist/cli/src/commands/restore-filer-store.js +236 -0
  10. package/dist/cli/src/commands/restore-filer-store.js.map +1 -0
  11. package/dist/cli/src/commands/status.js +110 -9
  12. package/dist/cli/src/commands/status.js.map +1 -1
  13. package/dist/cli/src/commands/uninstall.js +1 -1
  14. package/dist/cli/src/commands/uninstall.js.map +1 -1
  15. package/dist/cli/src/commands/up.js +2 -1
  16. package/dist/cli/src/commands/up.js.map +1 -1
  17. package/dist/cli/src/commands.js +2 -1
  18. package/dist/cli/src/commands.js.map +1 -1
  19. package/dist/cli/src/config.js +13 -4
  20. package/dist/cli/src/config.js.map +1 -1
  21. package/dist/cli/src/install.js +9 -3
  22. package/dist/cli/src/install.js.map +1 -1
  23. package/dist/cli/src/kube/api.js +11 -3
  24. package/dist/cli/src/kube/api.js.map +1 -1
  25. package/dist/cli/src/kube/apply.js +116 -13
  26. package/dist/cli/src/kube/apply.js.map +1 -1
  27. package/dist/cli/src/kube/autoscalers.js +48 -0
  28. package/dist/cli/src/kube/autoscalers.js.map +1 -0
  29. package/dist/cli/src/kube/object-store-scale.js +116 -0
  30. package/dist/cli/src/kube/object-store-scale.js.map +1 -0
  31. package/dist/cli/src/kube/rollout.js +2 -0
  32. package/dist/cli/src/kube/rollout.js.map +1 -1
  33. package/dist/cli/src/manifests/admission.js +296 -0
  34. package/dist/cli/src/manifests/admission.js.map +1 -0
  35. package/dist/cli/src/manifests/agent-sandbox.js +6 -3
  36. package/dist/cli/src/manifests/agent-sandbox.js.map +1 -1
  37. package/dist/cli/src/manifests/alasio.js +34 -12
  38. package/dist/cli/src/manifests/alasio.js.map +1 -1
  39. package/dist/cli/src/manifests/cloudeventsources.eventing.keda.sh.json +219 -0
  40. package/dist/cli/src/manifests/clustercloudeventsources.eventing.keda.sh.json +218 -0
  41. package/dist/cli/src/manifests/clustertriggerauthentications.keda.sh.json +997 -0
  42. package/dist/cli/src/manifests/collector.js +77 -38
  43. package/dist/cli/src/manifests/collector.js.map +1 -1
  44. package/dist/cli/src/manifests/common.js +11 -0
  45. package/dist/cli/src/manifests/common.js.map +1 -1
  46. package/dist/cli/src/manifests/config.js +217 -31
  47. package/dist/cli/src/manifests/config.js.map +1 -1
  48. package/dist/cli/src/manifests/controllers.js +39 -0
  49. package/dist/cli/src/manifests/controllers.js.map +1 -0
  50. package/dist/cli/src/manifests/disruption.js +47 -0
  51. package/dist/cli/src/manifests/disruption.js.map +1 -0
  52. package/dist/cli/src/manifests/grafana.js +49 -5
  53. package/dist/cli/src/manifests/grafana.js.map +1 -1
  54. package/dist/cli/src/manifests/headroom.js +40 -0
  55. package/dist/cli/src/manifests/headroom.js.map +1 -0
  56. package/dist/cli/src/manifests/index.js +12 -3
  57. package/dist/cli/src/manifests/index.js.map +1 -1
  58. package/dist/cli/src/manifests/juicefs-csi.js +9 -6
  59. package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
  60. package/dist/cli/src/manifests/keda.js +271 -0
  61. package/dist/cli/src/manifests/keda.js.map +1 -0
  62. package/dist/cli/src/manifests/lake.js +7 -3
  63. package/dist/cli/src/manifests/lake.js.map +1 -1
  64. package/dist/cli/src/manifests/neon.js +33 -25
  65. package/dist/cli/src/manifests/neon.js.map +1 -1
  66. package/dist/cli/src/manifests/network-policies.js +90 -10
  67. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  68. package/dist/cli/src/manifests/object-store.js +506 -77
  69. package/dist/cli/src/manifests/object-store.js.map +1 -1
  70. package/dist/cli/src/manifests/priorities.js +30 -0
  71. package/dist/cli/src/manifests/priorities.js.map +1 -0
  72. package/dist/cli/src/manifests/scaledjobs.keda.sh.json +7507 -0
  73. package/dist/cli/src/manifests/scaledobjects.keda.sh.json +564 -0
  74. package/dist/cli/src/manifests/scalers.js +24 -0
  75. package/dist/cli/src/manifests/scalers.js.map +1 -0
  76. package/dist/cli/src/manifests/sizing.js +40 -0
  77. package/dist/cli/src/manifests/sizing.js.map +1 -0
  78. package/dist/cli/src/manifests/triggerauthentications.keda.sh.json +992 -0
  79. package/dist/cli/src/manifests/valkey.js +63 -35
  80. package/dist/cli/src/manifests/valkey.js.map +1 -1
  81. package/dist/cli/src/manifests/verticalpodautoscalercheckpoints.autoscaling.k8s.io.json +250 -0
  82. package/dist/cli/src/manifests/verticalpodautoscalers.autoscaling.k8s.io.json +837 -0
  83. package/dist/cli/src/manifests/vpa.js +220 -0
  84. package/dist/cli/src/manifests/vpa.js.map +1 -0
  85. package/dist/cli/src/manifests/workspace-storage.js +12 -2
  86. package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
  87. package/dist/cli/src/object-store.js +57 -0
  88. package/dist/cli/src/object-store.js.map +1 -0
  89. package/dist/cli/src/release.js +6 -6
  90. package/dist/cli/src/target.js +1 -1
  91. package/dist/cli/src/target.js.map +1 -1
  92. package/dist/neon/control/secrets.js +3 -0
  93. package/dist/neon/control/secrets.js.map +1 -1
  94. package/dist/src/kube/busy-label.js +13 -0
  95. package/dist/src/kube/busy-label.js.map +1 -0
  96. package/dist/src/kube/config.js +5 -1
  97. package/dist/src/kube/config.js.map +1 -1
  98. package/dist/src/kube/sandbox-shape.js +62 -0
  99. package/dist/src/kube/sandbox-shape.js.map +1 -0
  100. package/dist/src/sandbox/names.js +44 -0
  101. package/dist/src/sandbox/names.js.map +1 -0
  102. 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: "500m", memory: "1Gi" }, limits: { memory: "8Gi" } }),
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.12.2",
143
- digest: "sha256:654750dd6a1ddcc36aaf46bf5676c58a3438fab3545da454c05aeb296f42a4e6",
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: "256Mi" }, limits: { memory: "8Gi" } }),
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
- replicas: defaulted(Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 7 }, { message: "must be from 1 to 7" })), 3),
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: "100m", memory: "256Mi" }, limits: { memory: "1Gi" } }),
217
+ resources: Resources({ requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "1Gi" } }),
191
218
  }), {}),
192
- pageserver: NeonStored("50Gi", { requests: { cpu: "250m", memory: "512Mi" }, limits: { memory: "4Gi" } }),
193
- storageController: NeonService({ requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } }),
194
- storageBroker: NeonService({ requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
195
- controllerDb: NeonStored("2Gi", { requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } }),
196
- control: NeonStored("100Mi", { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
197
- compute: NeonService({ requests: { cpu: "500m", memory: "1Gi" }, limits: { memory: "4Gi" } }),
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
- /** SeaweedFS, run beside Neon. */
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.47",
218
- digest: "sha256:ce9e796f1fe6f06968f4c04bdaf8f678dad9c8acdfef3d244133d71bfa6bf882",
258
+ tag: "4.48",
259
+ digest: "sha256:4e61d15fd35994cb1e43e1e553dff106794841fd9a99ade2fc8c8bfce4d7872d",
219
260
  }),
220
- storage: Storage("100Gi"),
221
- /** The most volumes it keeps, each up to 1GiB. */
222
- volumes: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(30, { message: "must be at least 30" })), 100),
223
- /** The disk it leaves free. */
224
- minFreeSpace: defaulted(matching(/^[0-9]+(KiB|MiB|GiB|TiB)$/u, "must be a size in KiB, MiB, GiB or TiB"), "5GiB"),
225
- resources: Resources({ requests: { cpu: "100m", memory: "256Mi" }, limits: { memory: "2Gi" } }),
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: "50m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
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: "192Mi" }, limits: { memory: "1Gi" } }) }), {}),
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"}