alasio 9.0.0 → 10.0.1

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 (148) hide show
  1. package/dist/cli/src/bound-harnesses.js +98 -0
  2. package/dist/cli/src/bound-harnesses.js.map +1 -0
  3. package/dist/cli/src/branches.js +30 -14
  4. package/dist/cli/src/branches.js.map +1 -1
  5. package/dist/cli/src/cluster/docker.js +21 -11
  6. package/dist/cli/src/cluster/docker.js.map +1 -1
  7. package/dist/cli/src/cluster/host.js +5 -1
  8. package/dist/cli/src/cluster/host.js.map +1 -1
  9. package/dist/cli/src/cluster/k3s.js +68 -3
  10. package/dist/cli/src/cluster/k3s.js.map +1 -1
  11. package/dist/cli/src/cluster/node.js +47 -13
  12. package/dist/cli/src/cluster/node.js.map +1 -1
  13. package/dist/cli/src/cluster/stargz.js +40 -3
  14. package/dist/cli/src/cluster/stargz.js.map +1 -1
  15. package/dist/cli/src/commands/common.js +2 -2
  16. package/dist/cli/src/commands/common.js.map +1 -1
  17. package/dist/cli/src/commands/lake.js +1 -1
  18. package/dist/cli/src/commands/lake.js.map +1 -1
  19. package/dist/cli/src/commands/login-relay.js +91 -0
  20. package/dist/cli/src/commands/login-relay.js.map +1 -0
  21. package/dist/cli/src/commands/login.js +11 -10
  22. package/dist/cli/src/commands/login.js.map +1 -1
  23. package/dist/cli/src/commands/logs.js +89 -6
  24. package/dist/cli/src/commands/logs.js.map +1 -1
  25. package/dist/cli/src/commands/restart.js +10 -4
  26. package/dist/cli/src/commands/restart.js.map +1 -1
  27. package/dist/cli/src/commands/restore-filer-store.js +27 -10
  28. package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
  29. package/dist/cli/src/commands/status.js +59 -12
  30. package/dist/cli/src/commands/status.js.map +1 -1
  31. package/dist/cli/src/commands/up.js +9 -6
  32. package/dist/cli/src/commands/up.js.map +1 -1
  33. package/dist/cli/src/commands/upgrade.js +14 -5
  34. package/dist/cli/src/commands/upgrade.js.map +1 -1
  35. package/dist/cli/src/folders.js +9 -13
  36. package/dist/cli/src/folders.js.map +1 -1
  37. package/dist/cli/src/gateway-calls.js +14 -8
  38. package/dist/cli/src/gateway-calls.js.map +1 -1
  39. package/dist/cli/src/install.js +7 -41
  40. package/dist/cli/src/install.js.map +1 -1
  41. package/dist/cli/src/kube/api.js +59 -12
  42. package/dist/cli/src/kube/api.js.map +1 -1
  43. package/dist/cli/src/kube/apply.js +107 -9
  44. package/dist/cli/src/kube/apply.js.map +1 -1
  45. package/dist/cli/src/kube/object-store-scale.js +10 -7
  46. package/dist/cli/src/kube/object-store-scale.js.map +1 -1
  47. package/dist/cli/src/kube/rollout.js +16 -6
  48. package/dist/cli/src/kube/rollout.js.map +1 -1
  49. package/dist/cli/src/main.js +2 -1
  50. package/dist/cli/src/main.js.map +1 -1
  51. package/dist/cli/src/manifests/admission.js +228 -11
  52. package/dist/cli/src/manifests/admission.js.map +1 -1
  53. package/dist/cli/src/manifests/alasio.js +151 -63
  54. package/dist/cli/src/manifests/alasio.js.map +1 -1
  55. package/dist/cli/src/manifests/branch.js +6 -1
  56. package/dist/cli/src/manifests/branch.js.map +1 -1
  57. package/dist/cli/src/manifests/codex-login.js +101 -0
  58. package/dist/cli/src/manifests/codex-login.js.map +1 -0
  59. package/dist/cli/src/manifests/collector.js +26 -21
  60. package/dist/cli/src/manifests/collector.js.map +1 -1
  61. package/dist/cli/src/manifests/common.js +50 -23
  62. package/dist/cli/src/manifests/common.js.map +1 -1
  63. package/dist/cli/src/manifests/config.js +79 -30
  64. package/dist/cli/src/manifests/config.js.map +1 -1
  65. package/dist/cli/src/manifests/disruption.js +8 -3
  66. package/dist/cli/src/manifests/disruption.js.map +1 -1
  67. package/dist/cli/src/manifests/folders.js +8 -5
  68. package/dist/cli/src/manifests/folders.js.map +1 -1
  69. package/dist/cli/src/manifests/harness-pools.js +236 -0
  70. package/dist/cli/src/manifests/harness-pools.js.map +1 -0
  71. package/dist/cli/src/manifests/image-holder.js +61 -0
  72. package/dist/cli/src/manifests/image-holder.js.map +1 -0
  73. package/dist/cli/src/manifests/index.js +6 -2
  74. package/dist/cli/src/manifests/index.js.map +1 -1
  75. package/dist/cli/src/manifests/keda.js +4 -2
  76. package/dist/cli/src/manifests/keda.js.map +1 -1
  77. package/dist/cli/src/manifests/lake.js +1 -17
  78. package/dist/cli/src/manifests/lake.js.map +1 -1
  79. package/dist/cli/src/manifests/log.js +63 -16
  80. package/dist/cli/src/manifests/log.js.map +1 -1
  81. package/dist/cli/src/manifests/neon.js +57 -77
  82. package/dist/cli/src/manifests/neon.js.map +1 -1
  83. package/dist/cli/src/manifests/network-policies.js +111 -39
  84. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  85. package/dist/cli/src/manifests/node-agent.js +39 -19
  86. package/dist/cli/src/manifests/node-agent.js.map +1 -1
  87. package/dist/cli/src/manifests/object-store.js +98 -24
  88. package/dist/cli/src/manifests/object-store.js.map +1 -1
  89. package/dist/cli/src/manifests/sandbox-gateway.js +147 -46
  90. package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -1
  91. package/dist/cli/src/manifests/scalers.js +5 -4
  92. package/dist/cli/src/manifests/scalers.js.map +1 -1
  93. package/dist/cli/src/manifests/sizing.js +1 -1
  94. package/dist/cli/src/manifests/sizing.js.map +1 -1
  95. package/dist/cli/src/manifests/valkey.js +19 -5
  96. package/dist/cli/src/manifests/valkey.js.map +1 -1
  97. package/dist/cli/src/manifests/volume-lock.js +43 -0
  98. package/dist/cli/src/manifests/volume-lock.js.map +1 -0
  99. package/dist/cli/src/manifests/vpa.js +12 -1
  100. package/dist/cli/src/manifests/vpa.js.map +1 -1
  101. package/dist/cli/src/manifests/workspace-storage.js +19 -16
  102. package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
  103. package/dist/cli/src/neon-storage.js +0 -2
  104. package/dist/cli/src/neon-storage.js.map +1 -1
  105. package/dist/cli/src/release.js +9 -9
  106. package/dist/cli/src/release.js.map +1 -1
  107. package/dist/cli/src/target.js +2 -2
  108. package/dist/cli/src/target.js.map +1 -1
  109. package/dist/cli/src/telegram.js +13 -4
  110. package/dist/cli/src/telegram.js.map +1 -1
  111. package/dist/cli/src/wakes.js +68 -0
  112. package/dist/cli/src/wakes.js.map +1 -0
  113. package/dist/cli/src/webhook.js +5 -2
  114. package/dist/cli/src/webhook.js.map +1 -1
  115. package/dist/cluster/node/pins.json +6 -5
  116. package/dist/neon/control/branches.js +11 -4
  117. package/dist/neon/control/branches.js.map +1 -1
  118. package/dist/neon/control/endpoints.js +81 -10
  119. package/dist/neon/control/endpoints.js.map +1 -1
  120. package/dist/neon/control/secrets.js +11 -6
  121. package/dist/neon/control/secrets.js.map +1 -1
  122. package/dist/src/binder/bindings.js +195 -0
  123. package/dist/src/binder/bindings.js.map +1 -0
  124. package/dist/src/binder/names.js +30 -0
  125. package/dist/src/binder/names.js.map +1 -1
  126. package/dist/src/binder/tokens.js +17 -4
  127. package/dist/src/binder/tokens.js.map +1 -1
  128. package/dist/src/branch/names.js +10 -6
  129. package/dist/src/branch/names.js.map +1 -1
  130. package/dist/src/events/names.js +24 -3
  131. package/dist/src/events/names.js.map +1 -1
  132. package/dist/src/gateway/names.js +44 -5
  133. package/dist/src/gateway/names.js.map +1 -1
  134. package/dist/src/harness/names.js +18 -0
  135. package/dist/src/harness/names.js.map +1 -1
  136. package/dist/src/kube/client.js +212 -0
  137. package/dist/src/kube/client.js.map +1 -0
  138. package/dist/src/kube/sandbox-shape.js +6 -0
  139. package/dist/src/kube/sandbox-shape.js.map +1 -1
  140. package/dist/src/kube/started-map.js +12 -0
  141. package/dist/src/kube/started-map.js.map +1 -0
  142. package/dist/src/node-agent/names.js +16 -8
  143. package/dist/src/node-agent/names.js.map +1 -1
  144. package/dist/src/telegram/bot-commands.js +17 -0
  145. package/dist/src/telegram/bot-commands.js.map +1 -0
  146. package/dist/src/telegram/stop.js +12 -0
  147. package/dist/src/telegram/stop.js.map +1 -0
  148. package/package.json +1 -1
@@ -29,9 +29,10 @@
29
29
  import { createHash } from "node:crypto";
30
30
  import { isDeepStrictEqual } from "node:util";
31
31
  import { Schema } from "effect";
32
- import { freeLabels } from "../../../src/binder/names.js";
32
+ import { freeLabels, GATEWAY_READINESS, STOP_GRACE_SECONDS } from "../../../src/binder/names.js";
33
+ import { EVENTS_BROKERS_VARIABLE, EVENTS_PASSWORD_FILE_VARIABLE, EVENTS_USERNAME_VARIABLE } from "../../../src/events/names.js";
33
34
  import { MAIN_ENVIRONMENT_NAME } from "../../../src/branch/names.js";
34
- import { BINDING_KEY_VARIABLE, CALLER_KEY_VARIABLE, EVENTS_BROKERS_VARIABLE, EVENTS_PASSWORD_FILE_VARIABLE, EVENTS_USERNAME_VARIABLE, GATEWAY_CONFIG_VARIABLE, GatewayConfig as GatewayConfigSchema, FOLDERS_NAMESPACE_VARIABLE, RECEIVER_PORT_VARIABLE, SESSIONS_NAMESPACE_VARIABLE, templateHash, } from "../../../src/gateway/names.js";
35
+ import { BINDING_KEY_VARIABLE, CALLER_KEY_VARIABLE, GATEWAY_CONFIG_VARIABLE, GatewayConfig as GatewayConfigSchema, FOLDERS_NAMESPACE_VARIABLE, RECEIVER_PORT_VARIABLE, SESSIONS_NAMESPACE_VARIABLE, templateHash, } from "../../../src/gateway/names.js";
35
36
  import { BAYMA_CONTAINER, BAYMA_STOP_SECONDS, CPU_FEATURES_ANNOTATION, NET_MODE_LABEL, SESSION_TEMPLATE_ANNOTATION, STOP_WAIT_ARG } from "../../../src/kube/sandbox-shape.js";
36
37
  import { ATTACH_ROOT, goferOf, gvisorRuntimeClass, NODE_AGENT_PORT, NODE_AGENT_TOKEN_VARIABLE, WORKSPACES_ROOT } from "../../../src/node-agent/names.js";
37
38
  import { memoryBytes } from "../capacity.js";
@@ -40,11 +41,13 @@ import { imageReference } from "../images.js";
40
41
  import { READY_ONCE_BOUND_ANNOTATION } from "../kube/rollout.js";
41
42
  import { sessionsNamespace, stopWaitSeconds } from "./alasio.js";
42
43
  import { folderTemplate, foldersRun } from "./folders.js";
43
- import { accountRole, componentName, given, imagePullSecrets, labels, MAIN_ENVIRONMENT, NAMESPACE, nodeAgentRuns, otelEnv, RELEASE, replicasOf, restrictedContainer, restrictedPod, selectorLabels, sha256, } from "./common.js";
44
+ import { harnessesConfig } from "./harness-pools.js";
45
+ import { accountRole, APPLIED_AFTER_ANNOTATION, appliedAfter, componentName, given, imagePullSecrets, labels, MAIN_ENVIRONMENT, NAMESPACE, otelEnv, RELEASE, replicasOf, restrictedContainer, restrictedPod, selectorLabels, sha256, TINI_SUBREAPER, } from "./common.js";
44
46
  import { resumedConditionPolicy, sandboxPodPolicy } from "./admission.js";
45
47
  import { durationSeconds } from "./config.js";
46
48
  import { LOG_BROKERS, logPrincipalSecret } from "./log.js";
47
49
  import { boundBudget } from "./disruption.js";
50
+ import { FILER_STORE } from "./object-store.js";
48
51
  import { priority } from "./priorities.js";
49
52
  import { scaledObject } from "./scalers.js";
50
53
  import { verticalPodAutoscaler } from "./sizing.js";
@@ -67,10 +70,6 @@ export const POOL_POD_PORT = 7290;
67
70
  export const POOLS = { none: "sandboxes-none", full: "sandboxes-full" };
68
71
  /** The component of a pool's pods: a session's. */
69
72
  export const POOL_COMPONENT = "session";
70
- /** Whether the sandbox service runs: for session workspaces on workspace storage, where the node agents run, which attach them, and Neon's setup makes its keys. */
71
- export function sandboxServiceRuns(config) {
72
- return config.workspaceStorage.enabled && nodeAgentRuns(config);
73
- }
74
73
  /** The pools of `environment`, by its sessions' internet. */
75
74
  export const poolsOf = (config, environment) => {
76
75
  const namespace = sessionsNamespace(config, environment);
@@ -87,7 +86,7 @@ export const poolsOf = (config, environment) => {
87
86
  */
88
87
  export function carriedPools(config, liveGateway, kept) {
89
88
  const none = { none: null, full: null };
90
- if (!sandboxServiceRuns(config) || !poolsSnapshotted(config, kept.cpuBaseline) || liveGateway === undefined)
89
+ if (!poolsSnapshotted(kept.cpuBaseline) || liveGateway === undefined)
91
90
  return none;
92
91
  const held = Schema.decodeUnknownOption(Schema.fromJsonString(GatewayConfigSchema))(liveGateway);
93
92
  if (held._tag === "None" || held.value.snapshots === null)
@@ -114,8 +113,8 @@ export function recordedCpuBaseline(liveGateway) {
114
113
  const recorded = held.value.snapshots?.templates.none.current?.metadata?.annotations?.[CPU_FEATURES_ANNOTATION];
115
114
  return recorded ? recorded.split(",") : null;
116
115
  }
117
- /** Whether the sandbox pools' sessions are snapshotted: where the node agents run, which save them, and the nodes' CPU baseline is recorded, which they are held to. */
118
- export const poolsSnapshotted = (config, cpuBaseline) => nodeAgentRuns(config) && cpuBaseline !== null;
116
+ /** Whether the sandbox pools' sessions are snapshotted: where the nodes' CPU baseline is recorded, which they are held to. */
117
+ export const poolsSnapshotted = (cpuBaseline) => cpuBaseline !== null;
119
118
  /**
120
119
  * The template of a pool's pods, as the module says: a session's, under its internet `mode`.
121
120
  * Where its sessions are snapshotted (poolsSnapshotted), as main's are by the gateway, it holds
@@ -126,7 +125,7 @@ export const poolsSnapshotted = (config, cpuBaseline) => nodeAgentRuns(config) &
126
125
  */
127
126
  export function poolTemplate(config, pool, mode, cpuBaseline) {
128
127
  const template = unhashedPoolTemplate(config, pool, mode, cpuBaseline);
129
- if (!poolsSnapshotted(config, cpuBaseline))
128
+ if (!poolsSnapshotted(cpuBaseline))
130
129
  return template;
131
130
  return { ...template, metadata: { ...template.metadata, annotations: { ...template.metadata?.annotations, [SESSION_TEMPLATE_ANNOTATION]: templateHash(template) } } };
132
131
  }
@@ -134,7 +133,7 @@ export function poolTemplate(config, pool, mode, cpuBaseline) {
134
133
  function unhashedPoolTemplate(config, pool, mode, cpuBaseline) {
135
134
  const { sessions } = config;
136
135
  const agent = imageReference(config.images.agent);
137
- const snapshotted = poolsSnapshotted(config, cpuBaseline);
136
+ const snapshotted = poolsSnapshotted(cpuBaseline);
138
137
  return {
139
138
  metadata: {
140
139
  labels: { "app.kubernetes.io/part-of": "alasio", "app.kubernetes.io/instance": RELEASE, "app.kubernetes.io/component": POOL_COMPONENT, [NET_MODE_LABEL]: mode, ...freeLabels(pool) },
@@ -173,8 +172,11 @@ function unhashedPoolTemplate(config, pool, mode, cpuBaseline) {
173
172
  "0.0.0.0",
174
173
  "--port",
175
174
  String(POOL_POD_PORT),
175
+ // Its home's, named through the pod's own mount, where its node's agent reads what a live
176
+ // save caught (src/node-agent/volume.ts hostPathOf), and not through the image's link
177
+ // of /home/agent to it, which no mount of the pod names.
176
178
  "--state-dir",
177
- "/home/agent/.bayma",
179
+ "/attach/ws/home/.bayma",
178
180
  "--token-file",
179
181
  "/attach/token",
180
182
  "--telemetry-token-file",
@@ -243,7 +245,7 @@ function gatewayConfig(config, carried) {
243
245
  // A new session's volume's size, as the configuration checks it.
244
246
  quotaBytes: memoryBytes(config.sessions.storage.size),
245
247
  // Under the releases the cluster keeps, each restored with a RuntimeClass of its own.
246
- snapshots: poolsSnapshotted(config, carried.cpuBaseline)
248
+ snapshots: poolsSnapshotted(carried.cpuBaseline)
247
249
  ? {
248
250
  liveEverySeconds: durationSeconds(config.sessions.snapshots.liveEvery) ?? 0,
249
251
  releases: carried.gvisorReleases.map((release) => ({ release, runtimeClassName: gvisorRuntimeClass(release), gofer: goferOf(release, NODE_PINS.gvisor.restoresThroughSocketSince) })),
@@ -261,6 +263,8 @@ function gatewayConfig(config, carried) {
261
263
  folders: foldersRun(config)
262
264
  ? { namespace: config.host.namespace, template: { ...folderTemplate(config) }, stateRoot: config.host.stateRoot, releaseAfterSeconds: durationSeconds(config.host.releaseAfter) ?? 0 }
263
265
  : null,
266
+ // Conversations' harnesses' pools, where they run in pools of their own.
267
+ harnesses: harnessesConfig(config),
264
268
  };
265
269
  }
266
270
  /**
@@ -326,13 +330,15 @@ function gatewayObjects(config, carried) {
326
330
  spec: {
327
331
  serviceAccountName: GATEWAY,
328
332
  ...priority("floor"),
333
+ // Its front's calls under way let end as it stops (src/binder/server.ts).
334
+ terminationGracePeriodSeconds: STOP_GRACE_SECONDS,
329
335
  securityContext: restrictedPod(1000, 1000),
330
336
  ...imagePullSecrets(config),
331
337
  containers: [{
332
338
  name: GATEWAY_COMPONENT,
333
339
  image: imageReference(config.images.alasio),
334
340
  imagePullPolicy: config.images.pullPolicy,
335
- command: ["node", "/opt/alasio/src/gateway/main.ts"],
341
+ args: ["node", "/opt/alasio/src/gateway/main.ts"],
336
342
  env: [
337
343
  { name: GATEWAY_CONFIG_VARIABLE, value: "/etc/gateway/config.json" },
338
344
  key(CALLER_KEY_VARIABLE, "caller-key"),
@@ -346,7 +352,7 @@ function gatewayObjects(config, carried) {
346
352
  ...(otelEnv(config).length > 0 ? [{ name: "OTEL_SERVICE_NAME", value: GATEWAY }, ...otelEnv(config)] : []),
347
353
  ],
348
354
  ports: [{ name: "gateway", containerPort: GATEWAY_PORT }],
349
- readinessProbe: { httpGet: { path: "/healthz", port: "gateway" }, periodSeconds: 5 },
355
+ readinessProbe: { httpGet: { path: "/healthz", port: "gateway" }, ...GATEWAY_READINESS },
350
356
  securityContext: restrictedContainer(),
351
357
  resources: config.sessions.gateway.resources,
352
358
  volumeMounts: [{ name: "config", mountPath: "/etc/gateway", readOnly: true }, { name: "log", mountPath: "/run/alasio/log", readOnly: true }],
@@ -385,7 +391,7 @@ function receiverObjects(config) {
385
391
  name: RECEIVER_COMPONENT,
386
392
  image: imageReference(config.images.alasio),
387
393
  imagePullPolicy: config.images.pullPolicy,
388
- command: ["node", "/opt/alasio/src/receiver/main.ts"],
394
+ args: ["node", "/opt/alasio/src/receiver/main.ts"],
389
395
  env: [
390
396
  { name: RECEIVER_PORT_VARIABLE, value: String(port) },
391
397
  { name: BINDING_KEY_VARIABLE, valueFrom: { secretKeyRef: { name: GATEWAY, key: "binding-key" } } },
@@ -443,6 +449,12 @@ function mountServicesChecksum(config, uids) {
443
449
  const reached = { metadata: VALKEY_ADDRESS, bucket: workspacesBucketUrl(config), services: Object.fromEntries(mountServices(config).map((name) => [name, uids[name] ?? null])) };
444
450
  return createHash("sha256").update(JSON.stringify(reached)).digest("hex").slice(0, 16);
445
451
  }
452
+ /**
453
+ * How long a mount's juicefs has to serve the node's mount once it starts: past what a takeover
454
+ * takes, juicefs's own waits in it bounded at some 70 s (the FUSE session's fd, then the old
455
+ * mount's end), and a fresh mount, a matter of seconds.
456
+ */
457
+ export const MOUNT_SERVE_WAIT_SECONDS = 180;
446
458
  export const MOUNT_PATHS = {
447
459
  run: MOUNT_RUN,
448
460
  bin: JUICEFS_BIN,
@@ -452,6 +464,7 @@ export const MOUNT_PATHS = {
452
464
  mountinfo: "/proc/1/mountinfo",
453
465
  inNode: "nsenter -t 1 -m --",
454
466
  resolve: "getent hosts",
467
+ fuseConnections: "/sys/fs/fuse/connections",
455
468
  };
456
469
  /**
457
470
  * The script of a workspace mount's pod: JuiceFS's mount of workspace storage at `root`, made
@@ -463,8 +476,18 @@ export const MOUNT_PATHS = {
463
476
  *
464
477
  * Its juicefs is JuiceFS's static release, of alasio's image, which runs as it is in the node's
465
478
  * namespace: copied to the node, under its digest, never over the one a mount runs. A mount left
466
- * at `root` whose juicefs is gone, as a pod killed with no successor leaves one, is unmounted
467
- * first, lazily, so the next mounts afresh.
479
+ * at `root` whose juicefs is gone, as a pod killed with no successor leaves one, which the kernel
480
+ * answers as not connected, or whose juicefs answers nothing within 5 s, as one stopped or hung
481
+ * does, not even of what it holds in memory, is unmounted first, lazily, so the next mounts
482
+ * afresh.
483
+ *
484
+ * Its juicefs, taking a mount over or mounting afresh, serves within MOUNT_SERVE_WAIT_SECONDS
485
+ * (`serveWaitSeconds`), or is ended, and the mount fails, so kubelet starts it again, to mount
486
+ * afresh: a takeover whose old mount stopped answering waits, in juicefs's own reads of it, for
487
+ * as long as it does, and no juicefs serves the node's mount meanwhile. Ended so, or unmounted as
488
+ * one that answers nothing, the node's mount has its FUSE connection aborted first: a request on
489
+ * a session no process will answer, as a juicefs makes of the one it takes over and holds, waits
490
+ * where no signal ends it, KILL among them, until its connection is aborted, which fails it.
468
491
  *
469
492
  * In the node's mount namespace its juicefs reads the node's resolv.conf, which resolves none of
470
493
  * the cluster's names, its network the pod's still: so the metadata engine's and the bucket's,
@@ -476,11 +499,33 @@ export const MOUNT_PATHS = {
476
499
  * Its juicefs, run in the node's mount namespace, is still this pod's process, of its cgroup: the
477
500
  * pod's teardown kills it. So a pod hands its mount over before it is torn down, never after: the
478
501
  * pod that replaces it starts beside it (maxSurge), takes its FUSE session over, and only then is
479
- * it deleted, idle, its juicefs ended already. `paths` are MOUNT_PATHS but for tests.
502
+ * it deleted, idle, its juicefs ended already, which its readiness keeps it from until then
503
+ * (workspaceMountReady). `paths` are MOUNT_PATHS but for tests.
480
504
  */
481
- export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
482
- const { run, bin, state, cache, juicefs, mountinfo, inNode, resolve } = paths;
505
+ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS, serveWaitSeconds = MOUNT_SERVE_WAIT_SECONDS) {
506
+ const { run, bin, state, cache, juicefs, mountinfo, inNode, resolve, fuseConnections } = paths;
483
507
  return [
508
+ // The FUSE connection of the node's mount at the root aborted, where its mount there, the
509
+ // topmost, is a FUSE file system's: every request on it fails, those no process will ever
510
+ // answer among them, as one a juicefs makes of the very session it takes over and holds,
511
+ // which leaves it waiting where no signal, not even KILL, ends it. Its connection is named by
512
+ // the minor of the mount's device, under fusectl's mount, made where the node has none.
513
+ "aborted() {",
514
+ ` connection=$(awk -v root=${root} '$5 == root { connection = ""; for (i = 6; i < NF; i += 1) if ($i == "-") { if ($(i + 1) ~ /^fuse(\\.|$)/) { split($3, device, ":"); connection = device[2] }; break } } END { print connection }' ${mountinfo})`,
515
+ ' [ -n "$connection" ] || return 0',
516
+ ` grep -qF ' ${fuseConnections} ' ${mountinfo} || ${inNode} mount -t fusectl none ${fuseConnections}`,
517
+ ` ${inNode} sh -c 'echo 1 > "$1"' sh "${fuseConnections}/$connection/abort" && echo "aborted the FUSE connection $connection of the node's mount, so what waits on it fails"`,
518
+ "}",
519
+ // Whether the node's mount at the root answers its .config within 5 s, which juicefs answers
520
+ // of its own memory, what the read said kept in $run/probed: where not, no process serves it,
521
+ // or one stopped or hung does. Not waited on past that: a read juicefs took but never
522
+ // answers waits where no signal ends it, until the connection is aborted, which frees it.
523
+ "answers() {",
524
+ ` rm -f "$run/answered" "$run/probed"`,
525
+ ` ( ${inNode} cat ${root}/.config > /dev/null 2> "$run/probed"; : > "$run/answered" ) &`,
526
+ ` for tick in 1 2 3 4 5; do sleep 1; [ -e "$run/answered" ] && return 0; done`,
527
+ " return 1",
528
+ "}",
484
529
  // `url`, its host a Service's name given as its address, by the pod's DNS.
485
530
  "resolved() {",
486
531
  ' scheme=${1%%://*}; rest=${1#*://}; auth=""',
@@ -492,6 +537,11 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
492
537
  " esac",
493
538
  ` printf '%s://%s%s%s\n' "$scheme" "$auth" "$address" "$tail"`,
494
539
  "}",
540
+ // Told to stop (TERM, INT) at any time, the script's start among it: noted, and passed on to
541
+ // its juicefs, as it runs; before it runs, it is not started.
542
+ "pid=",
543
+ "termed=",
544
+ `trap 'termed=1; [ -z "$pid" ] || kill -TERM "$pid"' TERM INT`,
495
545
  // The metadata engine's password given in META_PASSWORD, which JuiceFS reads, not in its
496
546
  // address on the command line, which every process of the node's PIDs could read.
497
547
  `META_PASSWORD=$(node -e 'process.stdout.write(decodeURIComponent(new URL(process.env.META_URL).password))') || exit 1`,
@@ -499,28 +549,68 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
499
549
  `meta=$(resolved "$(node -e 'const url = new URL(process.env.META_URL); url.password = ""; process.stdout.write(url.href)')") || exit 1`,
500
550
  'bucket=$(resolved "$BUCKET") || exit 1',
501
551
  `run=${run}`,
502
- `mkdir -p "$run" ${bin} ${state} ${cache}`,
503
- `rm -f "$run/handed-over"`,
552
+ `mkdir -p "$run" ${bin} ${state} ${cache} || exit 1`,
553
+ `rm -f "$run/handed-over" "$run/expired"`,
504
554
  // Made, empty, before the mount starts or the log is followed, which would not find it yet.
505
555
  `: > "$run/juicefs.log"`,
506
- `node_juicefs="${bin}/juicefs-$(sha256sum ${juicefs} | cut -c1-16)"`,
507
- `if [ ! -x "$node_juicefs" ]; then cp ${juicefs} "$node_juicefs.$$" && chmod 755 "$node_juicefs.$$" && mv "$node_juicefs.$$" "$node_juicefs"; fi`,
508
- // A mount of a juicefs gone, which reads as nothing: unmounted, so this one mounts afresh.
509
- `if awk -v root=${root} '$5 == root { found = 1 } END { exit !found }' ${mountinfo} && ! ${inNode} ls ${root} >/dev/null 2>&1; then`,
510
- ` ${inNode} umount -l ${root} && echo "unmounted the node's mount its juicefs left, which served nothing"`,
556
+ // Named by its digest, read whole: a read that fails, as one of a layer lazily pulled may, stops
557
+ // the mount, which kubelet starts again, rather than run a juicefs of no digest, which is none.
558
+ `digest=$(sha256sum ${juicefs}) || { echo "could not read ${juicefs}, so the mount is not started" >&2; exit 1; }`,
559
+ `node_juicefs="${bin}/juicefs-$(printf '%.16s' "$digest")"`,
560
+ // Copied beside it under a name of its own, made by mktemp, and moved into place, so no
561
+ // pod's half-written copy is run: no $$, which Kubernetes makes $ in a container's command.
562
+ `if [ ! -x "$node_juicefs" ]; then`,
563
+ ` copying=$(mktemp "${bin}/.juicefs.XXXXXX") && { cp ${juicefs} "$copying" && chmod 755 "$copying" && mv "$copying" "$node_juicefs"; } || { rm -f "$copying"; echo "could not copy ${juicefs} to the node, so the mount is not started" >&2; exit 1; }`,
564
+ "fi",
565
+ // A mount of a juicefs gone, which its kernel answers as no longer connected, or of one that
566
+ // answers nothing within 5 s: unmounted, so this one mounts afresh. Asked of its .config,
567
+ // which juicefs answers of its own memory, never its metadata engine's (JuiceFS's
568
+ // pkg/vfs/internal.go), so a juicefs that serves still, however slow its metadata engine
569
+ // is, or unreachable, as it is where `up` rolls the mount, is answered and taken over, its
570
+ // workspaces kept. Its takeover reads the same file (cmd/mount.go).
571
+ `if awk -v root=${root} '$5 == root { found = 1 } END { exit !found }' ${mountinfo}; then`,
572
+ " if ! answers; then",
573
+ " aborted",
574
+ ` ${inNode} umount -l ${root} && echo "unmounted the node's mount, whose juicefs answered nothing in 5 s, not even its .config"`,
575
+ ` elif grep -qi 'not connected' "$run/probed"; then`,
576
+ ` ${inNode} umount -l ${root} && echo "unmounted the node's mount its juicefs left, which served nothing"`,
577
+ " fi",
511
578
  "fi",
512
579
  `${inNode} mkdir -p ${root}`,
580
+ `if [ -n "$termed" ]; then echo "told to stop before its juicefs started, so it starts none"; exit 0; fi`,
513
581
  `TMPDIR=${state} ${inNode} "$node_juicefs" mount --no-bgjob --metrics 0.0.0.0:${JUICEFS_METRICS_PORT} --bucket "$bucket" --cache-dir ${cache} --cache-size ${cacheSizeMiB} "$meta" ${root} >> "$run/juicefs.log" 2>&1 &`,
514
582
  "pid=$!",
583
+ // Told to stop as it started, before its PID was known: passed on now.
584
+ `[ -z "$termed" ] || kill -TERM "$pid"`,
515
585
  `echo "$pid" > "$run/juicefs.pid"`,
516
586
  `tail -n +1 -f "$run/juicefs.log" &`,
517
587
  "tailer=$!",
518
- `trap 'kill -TERM "$pid"' TERM INT`,
588
+ // Ended where it serves nothing within its wait, its watcher's end awaited then (expired):
589
+ // what each of its goroutines waits on said, into its log, as Go says it on QUIT, of it and
590
+ // of each process it runs, while their main threads run still, as a KILLed process one of
591
+ // whose threads waits on yet says nothing. Then, where the node's mount answers nothing, as
592
+ // where it holds the session no process serves, its FUSE connection aborted, as what holds
593
+ // it up may be a request on it that nothing answers, which no signal ends; TERM, and KILL 5 s
594
+ // on; and the mount, dead, unmounted, so the next mounts afresh. Where it answers, it is the
595
+ // mount of the pod this replaces, served still, which the next takes over again.
596
+ "(",
597
+ ` for second in $(seq ${serveWaitSeconds}); do grep -qF '${SERVING}' "$run/juicefs.log" && exit 0; kill -0 "$pid" 2>/dev/null || exit 0; sleep 1; done`,
598
+ ` : > "$run/expired"`,
599
+ ` echo "juicefs served nothing within ${serveWaitSeconds} s of starting, so it is ended, and the mount started again to mount afresh" >&2`,
600
+ ` for proc in /proc/[0-9]*; do [ "$(sed 's/.*) //' "$proc/stat" 2>/dev/null | cut -d ' ' -f 2)" = "$pid" ] && kill -QUIT "\${proc#/proc/}" 2>/dev/null; done`,
601
+ ` kill -QUIT "$pid" 2>/dev/null; sleep 2`,
602
+ " dead=",
603
+ " if ! answers; then aborted; dead=1; fi",
604
+ ` kill -TERM "$pid" 2>/dev/null; sleep 5; kill -KILL "$pid" 2>/dev/null`,
605
+ ` if [ -n "$dead" ]; then ${inNode} umount -l ${root} && echo "unmounted the node's mount, which no juicefs served"; fi`,
606
+ ") &",
607
+ "watcher=$!",
519
608
  `wait "$pid"; code=$?`,
520
609
  // A TERM's wait ends as the trap runs; the mount's own end is waited for.
521
610
  `while kill -0 "$pid" 2>/dev/null; do wait "$pid"; code=$?; done`,
522
611
  "sleep 1",
523
- `kill "$tailer" 2>/dev/null`,
612
+ `if [ -e "$run/expired" ]; then wait "$watcher"; fi`,
613
+ `kill "$tailer" "$watcher" 2>/dev/null`,
524
614
  `if grep -qF '${HANDED_OVER}' "$run/juicefs.log"; then`,
525
615
  ` touch "$run/handed-over"`,
526
616
  " echo 'the mount is handed over to the pod that replaces this one, which is idle until it is deleted'",
@@ -534,19 +624,26 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
534
624
  }
535
625
  /**
536
626
  * The readiness of a workspace mount's pod: its own juicefs runs, has said it serves the mount
537
- * point (SERVING), and has not handed its mount over, and the node's mount table holds JuiceFS's
538
- * mount at `root`: this pod's juicefs serves the node's mount point. The table alone holds the
539
- * mount of the pod it replaces as its juicefs starts, before it takes that mount over, which the
540
- * pod it replaces would be deleted for, its mount with it.
627
+ * point (SERVING), and the node's mount table holds JuiceFS's mount at `root`: this pod's juicefs
628
+ * serves the node's mount point. The table alone holds the mount of the pod it replaces as its
629
+ * juicefs starts, before it takes that mount over, which the pod it replaces would be deleted
630
+ * for, its mount with it.
631
+ *
632
+ * Or it has handed its mount over, its part done: ready still, until its DaemonSet's update
633
+ * deletes it, once the pod that took its mount over is ready. Kubernetes keeps two of a
634
+ * DaemonSet's pods on a node, a surge's, only while the new is not ready and the old is; were
635
+ * neither ready, it deletes the old at once (the DaemonSet controller's podsShouldBeOnNode),
636
+ * whatever the update's maxUnavailable, and the node has no ready pod of its mount while the
637
+ * takeover runs on.
541
638
  */
542
639
  export function workspaceMountReady(root, paths = MOUNT_PATHS) {
543
640
  const { run, mountinfo } = paths;
544
- return [
545
- `[ ! -e ${run}/handed-over ]`,
641
+ const serving = [
546
642
  `kill -0 "$(cat ${run}/juicefs.pid)" 2>/dev/null`,
547
643
  `grep -qF '${SERVING}' ${run}/juicefs.log`,
548
644
  `awk -v root=${root} '$5 == root { for (i = 6; i < NF; i += 1) if ($i == "-") { if ($(i + 1) == "fuse.juicefs") found = 1; break } } END { exit !found }' ${mountinfo}`,
549
645
  ].join(" && ");
646
+ return `[ -e ${run}/handed-over ] || { ${serving}; }`;
550
647
  }
551
648
  /**
552
649
  * The node's mount of workspace storage, at WORKSPACES_ROOT, the node's own (workspaceMountScript),
@@ -564,7 +661,15 @@ function workspaceMount(config, mountServices) {
564
661
  return {
565
662
  apiVersion: "apps/v1",
566
663
  kind: "DaemonSet",
567
- metadata: { name: WORKSPACE_MOUNT, namespace: NAMESPACE, labels: labels(WORKSPACE_MOUNT_COMPONENT) },
664
+ metadata: {
665
+ name: WORKSPACE_MOUNT,
666
+ namespace: NAMESPACE,
667
+ labels: labels(WORKSPACE_MOUNT_COMPONENT),
668
+ // Rolled only once the Valkeys it reaches are ready, its metadata engine's and the
669
+ // bucket's filer store's: a pod that takes its predecessor's FUSE session over while its
670
+ // metadata engine restarts may never serve it.
671
+ annotations: { [APPLIED_AFTER_ANNOTATION]: appliedAfter([{ kind: "StatefulSet", namespace: NAMESPACE, name: VALKEY }, { kind: "StatefulSet", namespace: NAMESPACE, name: FILER_STORE }]) },
672
+ },
568
673
  spec: {
569
674
  selector: { matchLabels: selectorLabels(WORKSPACE_MOUNT_COMPONENT) },
570
675
  updateStrategy: { type: "RollingUpdate", rollingUpdate: { maxSurge: 1, maxUnavailable: 0 } },
@@ -585,8 +690,8 @@ function workspaceMount(config, mountServices) {
585
690
  name: WORKSPACE_MOUNT_COMPONENT,
586
691
  image: imageReference(config.images.alasio),
587
692
  imagePullPolicy: config.images.pullPolicy,
588
- command: ["sh", "-c", workspaceMountScript(WORKSPACES_ROOT, config.workspaceStorage.cacheSizeMiB)],
589
- env: [credential("META_URL", "metaurl"), credential("BUCKET", "bucket"), credential("ACCESS_KEY", "access-key"), credential("SECRET_KEY", "secret-key")],
693
+ args: ["sh", "-c", workspaceMountScript(WORKSPACES_ROOT, config.workspaceStorage.cacheSizeMiB)],
694
+ env: [TINI_SUBREAPER, credential("META_URL", "metaurl"), credential("BUCKET", "bucket"), credential("ACCESS_KEY", "access-key"), credential("SECRET_KEY", "secret-key")],
590
695
  ports: [{ name: "metrics", containerPort: JUICEFS_METRICS_PORT }],
591
696
  readinessProbe: { exec: { command: ["sh", "-c", workspaceMountReady(WORKSPACES_ROOT)] }, periodSeconds: 2 },
592
697
  securityContext: { privileged: true },
@@ -606,8 +711,6 @@ function workspaceMount(config, mountServices) {
606
711
  * may do there, binding in its pools, and the receiver, watching their Leases.
607
712
  */
608
713
  export function sandboxPoolObjects(config, environment, cpuBaseline) {
609
- if (!sandboxServiceRuns(config))
610
- return [];
611
714
  const pools = poolsOf(config, environment);
612
715
  const namespace = pools.none.namespace;
613
716
  return [
@@ -632,8 +735,6 @@ export function sandboxPoolObjects(config, environment, cpuBaseline) {
632
735
  }
633
736
  /** The sandbox service's objects: its gateway, its receiver, and the nodes' mount, main's alone, which serve every environment, and main's pools. */
634
737
  export function sandboxServiceObjects(config, carried) {
635
- if (!sandboxServiceRuns(config))
636
- return [];
637
738
  const mount = workspaceMount(config, carried.mountServices);
638
739
  const pools = poolsOf(config, MAIN_ENVIRONMENT);
639
740
  return [
@@ -643,7 +744,7 @@ export function sandboxServiceObjects(config, carried) {
643
744
  ...sandboxPodPolicy([poolTemplate(config, pools.none, "none", carried.cpuBaseline), poolTemplate(config, pools.full, "full", carried.cpuBaseline)], {
644
745
  sessionsNamespace: sessionsNamespace(config, MAIN_ENVIRONMENT),
645
746
  // Main's restores, by the gateway alone, onto each pool's template and the one before it, under the releases kept.
646
- restores: poolsSnapshotted(config, carried.cpuBaseline)
747
+ restores: poolsSnapshotted(carried.cpuBaseline)
647
748
  ? {
648
749
  restorer: GATEWAY_USER,
649
750
  templates: ["none", "full"].flatMap((mode) => [poolTemplate(config, pools[mode], mode, carried.cpuBaseline), ...(carried.previousPools[mode] ? [carried.previousPools[mode]] : [])]),
@@ -652,7 +753,7 @@ export function sandboxServiceObjects(config, carried) {
652
753
  : null,
653
754
  }),
654
755
  // Where main's sessions are snapshotted, what the gateway may set of a restore's pod's status.
655
- ...(poolsSnapshotted(config, carried.cpuBaseline) ? resumedConditionPolicy(componentName("resumed-condition"), GATEWAY_USER, pools.none.namespace) : []),
756
+ ...(poolsSnapshotted(carried.cpuBaseline) ? resumedConditionPolicy(componentName("resumed-condition"), GATEWAY_USER, pools.none.namespace) : []),
656
757
  ...receiverObjects(config),
657
758
  ...sandboxPoolObjects(config, MAIN_ENVIRONMENT, carried.cpuBaseline),
658
759
  mount,
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-gateway.js","sourceRoot":"","sources":["../../../../src/manifests/sandbox-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-gateway.js","sourceRoot":"","sources":["../../../../src/manifests/sandbox-gateway.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { scaled } from "./common.js";
2
- /** The ScaledObject of `workload`, of `scale`, on `triggers`: none where the scale is a fixed count. */
3
- export function scaledObject(workload, scale, triggers) {
4
- return scaledOn(workload, scale, triggers, undefined);
2
+ /** The ScaledObject of `workload`, of `scale`, on `triggers`, as often and as long as `timing` says, KEDA's defaults where none: none where the scale is a fixed count. */
3
+ export function scaledObject(workload, scale, triggers, timing) {
4
+ return scaledOn(workload, scale, triggers, undefined, timing);
5
5
  }
6
6
  /**
7
7
  * The ScaledObject of `workload`, of `scale`, on its CPU's use, averaged over its pods, as
@@ -15,7 +15,7 @@ export function cpuScaledObject(workload, scale, { percent, startUpSeconds }) {
15
15
  const cpu = { type: "cpu", metricType: "Utilization", metadata: { value: String(percent) } };
16
16
  return scaledOn(workload, scale, [cpu], { horizontalPodAutoscalerConfig: { behavior: { scaleUp: { stabilizationWindowSeconds: startUpSeconds } } } });
17
17
  }
18
- function scaledOn(workload, scale, triggers, advanced) {
18
+ function scaledOn(workload, scale, triggers, advanced, timing) {
19
19
  if (!scaled(scale))
20
20
  return [];
21
21
  const { name = "", namespace = "", labels = {} } = workload.metadata ?? {};
@@ -27,6 +27,7 @@ function scaledOn(workload, scale, triggers, advanced) {
27
27
  scaleTargetRef: { apiVersion: workload.apiVersion, kind: workload.kind, name },
28
28
  minReplicaCount: scale.min,
29
29
  maxReplicaCount: scale.max,
30
+ ...(timing ? { pollingInterval: timing.pollingSeconds, cooldownPeriod: timing.cooldownSeconds } : {}),
30
31
  triggers,
31
32
  ...(advanced ? { advanced } : {}),
32
33
  },
@@ -1 +1 @@
1
- {"version":3,"file":"scalers.js","sourceRoot":"","sources":["../../../../src/manifests/scalers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiCrC,wGAAwG;AACxG,MAAM,UAAU,YAAY,CAAC,QAAsC,EAAE,KAAY,EAAE,QAA4B;IAC7G,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsC,EAAE,KAAY,EAAE,EAAE,OAAO,EAAE,cAAc,EAAiE;IAC9K,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IACtG,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,6BAA6B,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAsC,EAAE,KAAY,EAAE,QAA4B,EAAE,QAA0C;IAC9I,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC3E,OAAO,CAAC;YACN,UAAU,EAAE,kBAAkB;YAC9B,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;YACrC,IAAI,EAAE;gBACJ,cAAc,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC9E,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,QAAQ;gBACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC;SACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"scalers.js","sourceRoot":"","sources":["../../../../src/manifests/scalers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA2CrC,2KAA2K;AAC3K,MAAM,UAAU,YAAY,CAAC,QAAsC,EAAE,KAAY,EAAE,QAA4B,EAAE,MAAsB;IACrI,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsC,EAAE,KAAY,EAAE,EAAE,OAAO,EAAE,cAAc,EAAiE;IAC9K,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IACtG,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,6BAA6B,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,0BAA0B,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxJ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAsC,EAAE,KAAY,EAAE,QAA4B,EAAE,QAA0C,EAAE,MAAsB;IACtK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC3E,OAAO,CAAC;YACN,UAAU,EAAE,kBAAkB;YAC9B,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;YACrC,IAAI,EAAE;gBACJ,cAAc,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC9E,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,QAAQ;gBACR,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC;SACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** VPA's update mode of each sizing: InPlace is alpha in VPA 1.8.0, behind the feature gate ./vpa.ts gives its updater and admission controller. */
2
- const UPDATE_MODES = { InPlace: "InPlace", Recommended: "Off" };
2
+ const UPDATE_MODES = { InPlace: "InPlace", AtStart: "Initial", Recommended: "Off" };
3
3
  /** The least any container is recommended: a little under what alasio's smallest components use (a storage broker's 13 MiB, a Valkey's 6). */
4
4
  const MIN_ALLOWED = { cpu: "5m", memory: "16Mi" };
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../../../src/manifests/sizing.ts"],"names":[],"mappings":"AAwBA,oJAAoJ;AACpJ,MAAM,YAAY,GAAqC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAElG,8IAA8I;AAC9I,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAClD;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC;AAY/B;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAoD,EAAE,MAAc,EAAE,UAAU,GAAkC,CAAC,KAAK,EAAE,QAAQ,CAAC;IACvK,MAAM,UAAU,GAA2B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC1F,OAAO;QACL,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC1I,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE;YAClG,sEAAsE;YACtE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACvG,cAAc,EAAE;gBACd,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;oBACxD,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO;wBACL,aAAa,EAAE,IAAI;wBACnB,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;wBACnE,gBAAgB,EAAE,cAAc;qBACjC,CAAC;gBACJ,CAAC,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../../../src/manifests/sizing.ts"],"names":[],"mappings":"AAqCA,oJAAoJ;AACpJ,MAAM,YAAY,GAAqC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAEtH,8IAA8I;AAC9I,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAClD;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC;AAY/B;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAoD,EAAE,MAAc,EAAE,UAAU,GAAkC,CAAC,KAAK,EAAE,QAAQ,CAAC;IACvK,MAAM,UAAU,GAA2B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC1F,OAAO;QACL,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC1I,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE;YAClG,sEAAsE;YACtE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACvG,cAAc,EAAE;gBACd,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;oBACxD,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO;wBACL,aAAa,EAAE,IAAI;wBACnB,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,UAAU,EAAE,WAAW;wBACvB,UAAU,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;wBACnE,gBAAgB,EAAE,cAAc;qBACjC,CAAC;gBACJ,CAAC,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC"}