alasio 9.0.0 → 10.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 (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 +62 -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 +21 -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/rollout.js +16 -6
  46. package/dist/cli/src/kube/rollout.js.map +1 -1
  47. package/dist/cli/src/main.js +2 -1
  48. package/dist/cli/src/main.js.map +1 -1
  49. package/dist/cli/src/manifests/admission.js +228 -11
  50. package/dist/cli/src/manifests/admission.js.map +1 -1
  51. package/dist/cli/src/manifests/alasio.js +151 -63
  52. package/dist/cli/src/manifests/alasio.js.map +1 -1
  53. package/dist/cli/src/manifests/branch.js +6 -1
  54. package/dist/cli/src/manifests/branch.js.map +1 -1
  55. package/dist/cli/src/manifests/codex-login.js +101 -0
  56. package/dist/cli/src/manifests/codex-login.js.map +1 -0
  57. package/dist/cli/src/manifests/collector.js +26 -21
  58. package/dist/cli/src/manifests/collector.js.map +1 -1
  59. package/dist/cli/src/manifests/common.js +50 -23
  60. package/dist/cli/src/manifests/common.js.map +1 -1
  61. package/dist/cli/src/manifests/config.js +79 -30
  62. package/dist/cli/src/manifests/config.js.map +1 -1
  63. package/dist/cli/src/manifests/disruption.js +8 -3
  64. package/dist/cli/src/manifests/disruption.js.map +1 -1
  65. package/dist/cli/src/manifests/folders.js +8 -5
  66. package/dist/cli/src/manifests/folders.js.map +1 -1
  67. package/dist/cli/src/manifests/harness-pools.js +236 -0
  68. package/dist/cli/src/manifests/harness-pools.js.map +1 -0
  69. package/dist/cli/src/manifests/image-holder.js +61 -0
  70. package/dist/cli/src/manifests/image-holder.js.map +1 -0
  71. package/dist/cli/src/manifests/index.js +6 -2
  72. package/dist/cli/src/manifests/index.js.map +1 -1
  73. package/dist/cli/src/manifests/keda.js +4 -2
  74. package/dist/cli/src/manifests/keda.js.map +1 -1
  75. package/dist/cli/src/manifests/lake.js +1 -17
  76. package/dist/cli/src/manifests/lake.js.map +1 -1
  77. package/dist/cli/src/manifests/log.js +63 -16
  78. package/dist/cli/src/manifests/log.js.map +1 -1
  79. package/dist/cli/src/manifests/neon.js +57 -77
  80. package/dist/cli/src/manifests/neon.js.map +1 -1
  81. package/dist/cli/src/manifests/network-policies.js +111 -39
  82. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  83. package/dist/cli/src/manifests/node-agent.js +39 -19
  84. package/dist/cli/src/manifests/node-agent.js.map +1 -1
  85. package/dist/cli/src/manifests/object-store.js +95 -23
  86. package/dist/cli/src/manifests/object-store.js.map +1 -1
  87. package/dist/cli/src/manifests/sandbox-gateway.js +143 -45
  88. package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -1
  89. package/dist/cli/src/manifests/scalers.js +5 -4
  90. package/dist/cli/src/manifests/scalers.js.map +1 -1
  91. package/dist/cli/src/manifests/sizing.js +1 -1
  92. package/dist/cli/src/manifests/sizing.js.map +1 -1
  93. package/dist/cli/src/manifests/valkey.js +19 -5
  94. package/dist/cli/src/manifests/valkey.js.map +1 -1
  95. package/dist/cli/src/manifests/volume-lock.js +43 -0
  96. package/dist/cli/src/manifests/volume-lock.js.map +1 -0
  97. package/dist/cli/src/manifests/vpa.js +12 -1
  98. package/dist/cli/src/manifests/vpa.js.map +1 -1
  99. package/dist/cli/src/manifests/workspace-storage.js +19 -16
  100. package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
  101. package/dist/cli/src/neon-storage.js +0 -2
  102. package/dist/cli/src/neon-storage.js.map +1 -1
  103. package/dist/cli/src/release.js +9 -9
  104. package/dist/cli/src/release.js.map +1 -1
  105. package/dist/cli/src/setup-pod.js +44 -0
  106. package/dist/cli/src/setup-pod.js.map +1 -0
  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 +13 -6
  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) },
@@ -243,7 +242,7 @@ function gatewayConfig(config, carried) {
243
242
  // A new session's volume's size, as the configuration checks it.
244
243
  quotaBytes: memoryBytes(config.sessions.storage.size),
245
244
  // Under the releases the cluster keeps, each restored with a RuntimeClass of its own.
246
- snapshots: poolsSnapshotted(config, carried.cpuBaseline)
245
+ snapshots: poolsSnapshotted(carried.cpuBaseline)
247
246
  ? {
248
247
  liveEverySeconds: durationSeconds(config.sessions.snapshots.liveEvery) ?? 0,
249
248
  releases: carried.gvisorReleases.map((release) => ({ release, runtimeClassName: gvisorRuntimeClass(release), gofer: goferOf(release, NODE_PINS.gvisor.restoresThroughSocketSince) })),
@@ -261,6 +260,8 @@ function gatewayConfig(config, carried) {
261
260
  folders: foldersRun(config)
262
261
  ? { namespace: config.host.namespace, template: { ...folderTemplate(config) }, stateRoot: config.host.stateRoot, releaseAfterSeconds: durationSeconds(config.host.releaseAfter) ?? 0 }
263
262
  : null,
263
+ // Conversations' harnesses' pools, where they run in pools of their own.
264
+ harnesses: harnessesConfig(config),
264
265
  };
265
266
  }
266
267
  /**
@@ -326,13 +327,15 @@ function gatewayObjects(config, carried) {
326
327
  spec: {
327
328
  serviceAccountName: GATEWAY,
328
329
  ...priority("floor"),
330
+ // Its front's calls under way let end as it stops (src/binder/server.ts).
331
+ terminationGracePeriodSeconds: STOP_GRACE_SECONDS,
329
332
  securityContext: restrictedPod(1000, 1000),
330
333
  ...imagePullSecrets(config),
331
334
  containers: [{
332
335
  name: GATEWAY_COMPONENT,
333
336
  image: imageReference(config.images.alasio),
334
337
  imagePullPolicy: config.images.pullPolicy,
335
- command: ["node", "/opt/alasio/src/gateway/main.ts"],
338
+ args: ["node", "/opt/alasio/src/gateway/main.ts"],
336
339
  env: [
337
340
  { name: GATEWAY_CONFIG_VARIABLE, value: "/etc/gateway/config.json" },
338
341
  key(CALLER_KEY_VARIABLE, "caller-key"),
@@ -346,7 +349,7 @@ function gatewayObjects(config, carried) {
346
349
  ...(otelEnv(config).length > 0 ? [{ name: "OTEL_SERVICE_NAME", value: GATEWAY }, ...otelEnv(config)] : []),
347
350
  ],
348
351
  ports: [{ name: "gateway", containerPort: GATEWAY_PORT }],
349
- readinessProbe: { httpGet: { path: "/healthz", port: "gateway" }, periodSeconds: 5 },
352
+ readinessProbe: { httpGet: { path: "/healthz", port: "gateway" }, ...GATEWAY_READINESS },
350
353
  securityContext: restrictedContainer(),
351
354
  resources: config.sessions.gateway.resources,
352
355
  volumeMounts: [{ name: "config", mountPath: "/etc/gateway", readOnly: true }, { name: "log", mountPath: "/run/alasio/log", readOnly: true }],
@@ -385,7 +388,7 @@ function receiverObjects(config) {
385
388
  name: RECEIVER_COMPONENT,
386
389
  image: imageReference(config.images.alasio),
387
390
  imagePullPolicy: config.images.pullPolicy,
388
- command: ["node", "/opt/alasio/src/receiver/main.ts"],
391
+ args: ["node", "/opt/alasio/src/receiver/main.ts"],
389
392
  env: [
390
393
  { name: RECEIVER_PORT_VARIABLE, value: String(port) },
391
394
  { name: BINDING_KEY_VARIABLE, valueFrom: { secretKeyRef: { name: GATEWAY, key: "binding-key" } } },
@@ -443,6 +446,12 @@ function mountServicesChecksum(config, uids) {
443
446
  const reached = { metadata: VALKEY_ADDRESS, bucket: workspacesBucketUrl(config), services: Object.fromEntries(mountServices(config).map((name) => [name, uids[name] ?? null])) };
444
447
  return createHash("sha256").update(JSON.stringify(reached)).digest("hex").slice(0, 16);
445
448
  }
449
+ /**
450
+ * How long a mount's juicefs has to serve the node's mount once it starts: past what a takeover
451
+ * takes, juicefs's own waits in it bounded at some 70 s (the FUSE session's fd, then the old
452
+ * mount's end), and a fresh mount, a matter of seconds.
453
+ */
454
+ export const MOUNT_SERVE_WAIT_SECONDS = 180;
446
455
  export const MOUNT_PATHS = {
447
456
  run: MOUNT_RUN,
448
457
  bin: JUICEFS_BIN,
@@ -452,6 +461,7 @@ export const MOUNT_PATHS = {
452
461
  mountinfo: "/proc/1/mountinfo",
453
462
  inNode: "nsenter -t 1 -m --",
454
463
  resolve: "getent hosts",
464
+ fuseConnections: "/sys/fs/fuse/connections",
455
465
  };
456
466
  /**
457
467
  * The script of a workspace mount's pod: JuiceFS's mount of workspace storage at `root`, made
@@ -463,8 +473,18 @@ export const MOUNT_PATHS = {
463
473
  *
464
474
  * Its juicefs is JuiceFS's static release, of alasio's image, which runs as it is in the node's
465
475
  * 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.
476
+ * at `root` whose juicefs is gone, as a pod killed with no successor leaves one, which the kernel
477
+ * answers as not connected, or whose juicefs answers nothing within 5 s, as one stopped or hung
478
+ * does, not even of what it holds in memory, is unmounted first, lazily, so the next mounts
479
+ * afresh.
480
+ *
481
+ * Its juicefs, taking a mount over or mounting afresh, serves within MOUNT_SERVE_WAIT_SECONDS
482
+ * (`serveWaitSeconds`), or is ended, and the mount fails, so kubelet starts it again, to mount
483
+ * afresh: a takeover whose old mount stopped answering waits, in juicefs's own reads of it, for
484
+ * as long as it does, and no juicefs serves the node's mount meanwhile. Ended so, or unmounted as
485
+ * one that answers nothing, the node's mount has its FUSE connection aborted first: a request on
486
+ * a session no process will answer, as a juicefs makes of the one it takes over and holds, waits
487
+ * where no signal ends it, KILL among them, until its connection is aborted, which fails it.
468
488
  *
469
489
  * In the node's mount namespace its juicefs reads the node's resolv.conf, which resolves none of
470
490
  * the cluster's names, its network the pod's still: so the metadata engine's and the bucket's,
@@ -476,11 +496,33 @@ export const MOUNT_PATHS = {
476
496
  * Its juicefs, run in the node's mount namespace, is still this pod's process, of its cgroup: the
477
497
  * pod's teardown kills it. So a pod hands its mount over before it is torn down, never after: the
478
498
  * 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.
499
+ * it deleted, idle, its juicefs ended already, which its readiness keeps it from until then
500
+ * (workspaceMountReady). `paths` are MOUNT_PATHS but for tests.
480
501
  */
481
- export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
482
- const { run, bin, state, cache, juicefs, mountinfo, inNode, resolve } = paths;
502
+ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS, serveWaitSeconds = MOUNT_SERVE_WAIT_SECONDS) {
503
+ const { run, bin, state, cache, juicefs, mountinfo, inNode, resolve, fuseConnections } = paths;
483
504
  return [
505
+ // The FUSE connection of the node's mount at the root aborted, where its mount there, the
506
+ // topmost, is a FUSE file system's: every request on it fails, those no process will ever
507
+ // answer among them, as one a juicefs makes of the very session it takes over and holds,
508
+ // which leaves it waiting where no signal, not even KILL, ends it. Its connection is named by
509
+ // the minor of the mount's device, under fusectl's mount, made where the node has none.
510
+ "aborted() {",
511
+ ` 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})`,
512
+ ' [ -n "$connection" ] || return 0',
513
+ ` grep -qF ' ${fuseConnections} ' ${mountinfo} || ${inNode} mount -t fusectl none ${fuseConnections}`,
514
+ ` ${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"`,
515
+ "}",
516
+ // Whether the node's mount at the root answers its .config within 5 s, which juicefs answers
517
+ // of its own memory, what the read said kept in $run/probed: where not, no process serves it,
518
+ // or one stopped or hung does. Not waited on past that: a read juicefs took but never
519
+ // answers waits where no signal ends it, until the connection is aborted, which frees it.
520
+ "answers() {",
521
+ ` rm -f "$run/answered" "$run/probed"`,
522
+ ` ( ${inNode} cat ${root}/.config > /dev/null 2> "$run/probed"; : > "$run/answered" ) &`,
523
+ ` for tick in 1 2 3 4 5; do sleep 1; [ -e "$run/answered" ] && return 0; done`,
524
+ " return 1",
525
+ "}",
484
526
  // `url`, its host a Service's name given as its address, by the pod's DNS.
485
527
  "resolved() {",
486
528
  ' scheme=${1%%://*}; rest=${1#*://}; auth=""',
@@ -492,6 +534,11 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
492
534
  " esac",
493
535
  ` printf '%s://%s%s%s\n' "$scheme" "$auth" "$address" "$tail"`,
494
536
  "}",
537
+ // Told to stop (TERM, INT) at any time, the script's start among it: noted, and passed on to
538
+ // its juicefs, as it runs; before it runs, it is not started.
539
+ "pid=",
540
+ "termed=",
541
+ `trap 'termed=1; [ -z "$pid" ] || kill -TERM "$pid"' TERM INT`,
495
542
  // The metadata engine's password given in META_PASSWORD, which JuiceFS reads, not in its
496
543
  // address on the command line, which every process of the node's PIDs could read.
497
544
  `META_PASSWORD=$(node -e 'process.stdout.write(decodeURIComponent(new URL(process.env.META_URL).password))') || exit 1`,
@@ -499,28 +546,68 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
499
546
  `meta=$(resolved "$(node -e 'const url = new URL(process.env.META_URL); url.password = ""; process.stdout.write(url.href)')") || exit 1`,
500
547
  'bucket=$(resolved "$BUCKET") || exit 1',
501
548
  `run=${run}`,
502
- `mkdir -p "$run" ${bin} ${state} ${cache}`,
503
- `rm -f "$run/handed-over"`,
549
+ `mkdir -p "$run" ${bin} ${state} ${cache} || exit 1`,
550
+ `rm -f "$run/handed-over" "$run/expired"`,
504
551
  // Made, empty, before the mount starts or the log is followed, which would not find it yet.
505
552
  `: > "$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"`,
553
+ // Named by its digest, read whole: a read that fails, as one of a layer lazily pulled may, stops
554
+ // the mount, which kubelet starts again, rather than run a juicefs of no digest, which is none.
555
+ `digest=$(sha256sum ${juicefs}) || { echo "could not read ${juicefs}, so the mount is not started" >&2; exit 1; }`,
556
+ `node_juicefs="${bin}/juicefs-$(printf '%.16s' "$digest")"`,
557
+ // Copied beside it under a name of its own, made by mktemp, and moved into place, so no
558
+ // pod's half-written copy is run: no $$, which Kubernetes makes $ in a container's command.
559
+ `if [ ! -x "$node_juicefs" ]; then`,
560
+ ` 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; }`,
561
+ "fi",
562
+ // A mount of a juicefs gone, which its kernel answers as no longer connected, or of one that
563
+ // answers nothing within 5 s: unmounted, so this one mounts afresh. Asked of its .config,
564
+ // which juicefs answers of its own memory, never its metadata engine's (JuiceFS's
565
+ // pkg/vfs/internal.go), so a juicefs that serves still, however slow its metadata engine
566
+ // is, or unreachable, as it is where `up` rolls the mount, is answered and taken over, its
567
+ // workspaces kept. Its takeover reads the same file (cmd/mount.go).
568
+ `if awk -v root=${root} '$5 == root { found = 1 } END { exit !found }' ${mountinfo}; then`,
569
+ " if ! answers; then",
570
+ " aborted",
571
+ ` ${inNode} umount -l ${root} && echo "unmounted the node's mount, whose juicefs answered nothing in 5 s, not even its .config"`,
572
+ ` elif grep -qi 'not connected' "$run/probed"; then`,
573
+ ` ${inNode} umount -l ${root} && echo "unmounted the node's mount its juicefs left, which served nothing"`,
574
+ " fi",
511
575
  "fi",
512
576
  `${inNode} mkdir -p ${root}`,
577
+ `if [ -n "$termed" ]; then echo "told to stop before its juicefs started, so it starts none"; exit 0; fi`,
513
578
  `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
579
  "pid=$!",
580
+ // Told to stop as it started, before its PID was known: passed on now.
581
+ `[ -z "$termed" ] || kill -TERM "$pid"`,
515
582
  `echo "$pid" > "$run/juicefs.pid"`,
516
583
  `tail -n +1 -f "$run/juicefs.log" &`,
517
584
  "tailer=$!",
518
- `trap 'kill -TERM "$pid"' TERM INT`,
585
+ // Ended where it serves nothing within its wait, its watcher's end awaited then (expired):
586
+ // what each of its goroutines waits on said, into its log, as Go says it on QUIT, of it and
587
+ // of each process it runs, while their main threads run still, as a KILLed process one of
588
+ // whose threads waits on yet says nothing. Then, where the node's mount answers nothing, as
589
+ // where it holds the session no process serves, its FUSE connection aborted, as what holds
590
+ // it up may be a request on it that nothing answers, which no signal ends; TERM, and KILL 5 s
591
+ // on; and the mount, dead, unmounted, so the next mounts afresh. Where it answers, it is the
592
+ // mount of the pod this replaces, served still, which the next takes over again.
593
+ "(",
594
+ ` 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`,
595
+ ` : > "$run/expired"`,
596
+ ` echo "juicefs served nothing within ${serveWaitSeconds} s of starting, so it is ended, and the mount started again to mount afresh" >&2`,
597
+ ` 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`,
598
+ ` kill -QUIT "$pid" 2>/dev/null; sleep 2`,
599
+ " dead=",
600
+ " if ! answers; then aborted; dead=1; fi",
601
+ ` kill -TERM "$pid" 2>/dev/null; sleep 5; kill -KILL "$pid" 2>/dev/null`,
602
+ ` if [ -n "$dead" ]; then ${inNode} umount -l ${root} && echo "unmounted the node's mount, which no juicefs served"; fi`,
603
+ ") &",
604
+ "watcher=$!",
519
605
  `wait "$pid"; code=$?`,
520
606
  // A TERM's wait ends as the trap runs; the mount's own end is waited for.
521
607
  `while kill -0 "$pid" 2>/dev/null; do wait "$pid"; code=$?; done`,
522
608
  "sleep 1",
523
- `kill "$tailer" 2>/dev/null`,
609
+ `if [ -e "$run/expired" ]; then wait "$watcher"; fi`,
610
+ `kill "$tailer" "$watcher" 2>/dev/null`,
524
611
  `if grep -qF '${HANDED_OVER}' "$run/juicefs.log"; then`,
525
612
  ` touch "$run/handed-over"`,
526
613
  " echo 'the mount is handed over to the pod that replaces this one, which is idle until it is deleted'",
@@ -534,19 +621,26 @@ export function workspaceMountScript(root, cacheSizeMiB, paths = MOUNT_PATHS) {
534
621
  }
535
622
  /**
536
623
  * 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.
624
+ * point (SERVING), and the node's mount table holds JuiceFS's mount at `root`: this pod's juicefs
625
+ * serves the node's mount point. The table alone holds the mount of the pod it replaces as its
626
+ * juicefs starts, before it takes that mount over, which the pod it replaces would be deleted
627
+ * for, its mount with it.
628
+ *
629
+ * Or it has handed its mount over, its part done: ready still, until its DaemonSet's update
630
+ * deletes it, once the pod that took its mount over is ready. Kubernetes keeps two of a
631
+ * DaemonSet's pods on a node, a surge's, only while the new is not ready and the old is; were
632
+ * neither ready, it deletes the old at once (the DaemonSet controller's podsShouldBeOnNode),
633
+ * whatever the update's maxUnavailable, and the node has no ready pod of its mount while the
634
+ * takeover runs on.
541
635
  */
542
636
  export function workspaceMountReady(root, paths = MOUNT_PATHS) {
543
637
  const { run, mountinfo } = paths;
544
- return [
545
- `[ ! -e ${run}/handed-over ]`,
638
+ const serving = [
546
639
  `kill -0 "$(cat ${run}/juicefs.pid)" 2>/dev/null`,
547
640
  `grep -qF '${SERVING}' ${run}/juicefs.log`,
548
641
  `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
642
  ].join(" && ");
643
+ return `[ -e ${run}/handed-over ] || { ${serving}; }`;
550
644
  }
551
645
  /**
552
646
  * The node's mount of workspace storage, at WORKSPACES_ROOT, the node's own (workspaceMountScript),
@@ -564,7 +658,15 @@ function workspaceMount(config, mountServices) {
564
658
  return {
565
659
  apiVersion: "apps/v1",
566
660
  kind: "DaemonSet",
567
- metadata: { name: WORKSPACE_MOUNT, namespace: NAMESPACE, labels: labels(WORKSPACE_MOUNT_COMPONENT) },
661
+ metadata: {
662
+ name: WORKSPACE_MOUNT,
663
+ namespace: NAMESPACE,
664
+ labels: labels(WORKSPACE_MOUNT_COMPONENT),
665
+ // Rolled only once the Valkeys it reaches are ready, its metadata engine's and the
666
+ // bucket's filer store's: a pod that takes its predecessor's FUSE session over while its
667
+ // metadata engine restarts may never serve it.
668
+ annotations: { [APPLIED_AFTER_ANNOTATION]: appliedAfter([{ kind: "StatefulSet", namespace: NAMESPACE, name: VALKEY }, { kind: "StatefulSet", namespace: NAMESPACE, name: FILER_STORE }]) },
669
+ },
568
670
  spec: {
569
671
  selector: { matchLabels: selectorLabels(WORKSPACE_MOUNT_COMPONENT) },
570
672
  updateStrategy: { type: "RollingUpdate", rollingUpdate: { maxSurge: 1, maxUnavailable: 0 } },
@@ -585,8 +687,8 @@ function workspaceMount(config, mountServices) {
585
687
  name: WORKSPACE_MOUNT_COMPONENT,
586
688
  image: imageReference(config.images.alasio),
587
689
  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")],
690
+ args: ["sh", "-c", workspaceMountScript(WORKSPACES_ROOT, config.workspaceStorage.cacheSizeMiB)],
691
+ env: [TINI_SUBREAPER, credential("META_URL", "metaurl"), credential("BUCKET", "bucket"), credential("ACCESS_KEY", "access-key"), credential("SECRET_KEY", "secret-key")],
590
692
  ports: [{ name: "metrics", containerPort: JUICEFS_METRICS_PORT }],
591
693
  readinessProbe: { exec: { command: ["sh", "-c", workspaceMountReady(WORKSPACES_ROOT)] }, periodSeconds: 2 },
592
694
  securityContext: { privileged: true },
@@ -606,8 +708,6 @@ function workspaceMount(config, mountServices) {
606
708
  * may do there, binding in its pools, and the receiver, watching their Leases.
607
709
  */
608
710
  export function sandboxPoolObjects(config, environment, cpuBaseline) {
609
- if (!sandboxServiceRuns(config))
610
- return [];
611
711
  const pools = poolsOf(config, environment);
612
712
  const namespace = pools.none.namespace;
613
713
  return [
@@ -632,8 +732,6 @@ export function sandboxPoolObjects(config, environment, cpuBaseline) {
632
732
  }
633
733
  /** 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
734
  export function sandboxServiceObjects(config, carried) {
635
- if (!sandboxServiceRuns(config))
636
- return [];
637
735
  const mount = workspaceMount(config, carried.mountServices);
638
736
  const pools = poolsOf(config, MAIN_ENVIRONMENT);
639
737
  return [
@@ -643,7 +741,7 @@ export function sandboxServiceObjects(config, carried) {
643
741
  ...sandboxPodPolicy([poolTemplate(config, pools.none, "none", carried.cpuBaseline), poolTemplate(config, pools.full, "full", carried.cpuBaseline)], {
644
742
  sessionsNamespace: sessionsNamespace(config, MAIN_ENVIRONMENT),
645
743
  // 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)
744
+ restores: poolsSnapshotted(carried.cpuBaseline)
647
745
  ? {
648
746
  restorer: GATEWAY_USER,
649
747
  templates: ["none", "full"].flatMap((mode) => [poolTemplate(config, pools[mode], mode, carried.cpuBaseline), ...(carried.previousPools[mode] ? [carried.previousPools[mode]] : [])]),
@@ -652,7 +750,7 @@ export function sandboxServiceObjects(config, carried) {
652
750
  : null,
653
751
  }),
654
752
  // 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) : []),
753
+ ...(poolsSnapshotted(carried.cpuBaseline) ? resumedConditionPolicy(componentName("resumed-condition"), GATEWAY_USER, pools.none.namespace) : []),
656
754
  ...receiverObjects(config),
657
755
  ...sandboxPoolObjects(config, MAIN_ENVIRONMENT, carried.cpuBaseline),
658
756
  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"}