alasio 6.0.0 → 8.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 (115) hide show
  1. package/dist/cli/src/branches.js +106 -31
  2. package/dist/cli/src/branches.js.map +1 -1
  3. package/dist/cli/src/cluster/docker-engine.js +6 -4
  4. package/dist/cli/src/cluster/docker-engine.js.map +1 -1
  5. package/dist/cli/src/cluster/docker.js +49 -10
  6. package/dist/cli/src/cluster/docker.js.map +1 -1
  7. package/dist/cli/src/cluster/host.js +45 -19
  8. package/dist/cli/src/cluster/host.js.map +1 -1
  9. package/dist/cli/src/cluster/k3s.js +104 -5
  10. package/dist/cli/src/cluster/k3s.js.map +1 -1
  11. package/dist/cli/src/cluster/node.js +102 -51
  12. package/dist/cli/src/cluster/node.js.map +1 -1
  13. package/dist/cli/src/cluster/tar.js +43 -1
  14. package/dist/cli/src/cluster/tar.js.map +1 -1
  15. package/dist/cli/src/commands/branch.js +7 -3
  16. package/dist/cli/src/commands/branch.js.map +1 -1
  17. package/dist/cli/src/commands/init.js +54 -4
  18. package/dist/cli/src/commands/init.js.map +1 -1
  19. package/dist/cli/src/commands/lake.js +40 -6
  20. package/dist/cli/src/commands/lake.js.map +1 -1
  21. package/dist/cli/src/commands/restore-filer-store.js +56 -13
  22. package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
  23. package/dist/cli/src/commands/status.js +182 -10
  24. package/dist/cli/src/commands/status.js.map +1 -1
  25. package/dist/cli/src/commands/up.js +40 -3
  26. package/dist/cli/src/commands/up.js.map +1 -1
  27. package/dist/cli/src/commands/upgrade.js +22 -6
  28. package/dist/cli/src/commands/upgrade.js.map +1 -1
  29. package/dist/cli/src/config.js +20 -8
  30. package/dist/cli/src/config.js.map +1 -1
  31. package/dist/cli/src/cpu-baseline.js +97 -0
  32. package/dist/cli/src/cpu-baseline.js.map +1 -0
  33. package/dist/cli/src/install.js +94 -13
  34. package/dist/cli/src/install.js.map +1 -1
  35. package/dist/cli/src/kept-releases.js +59 -0
  36. package/dist/cli/src/kept-releases.js.map +1 -0
  37. package/dist/cli/src/kube/api.js +9 -2
  38. package/dist/cli/src/kube/api.js.map +1 -1
  39. package/dist/cli/src/kube/apply.js +1 -1
  40. package/dist/cli/src/kube/apply.js.map +1 -1
  41. package/dist/cli/src/kube/rollout.js +79 -12
  42. package/dist/cli/src/kube/rollout.js.map +1 -1
  43. package/dist/cli/src/lake.js +124 -0
  44. package/dist/cli/src/lake.js.map +1 -0
  45. package/dist/cli/src/manifests/admission.js +183 -24
  46. package/dist/cli/src/manifests/admission.js.map +1 -1
  47. package/dist/cli/src/manifests/alasio.js +198 -27
  48. package/dist/cli/src/manifests/alasio.js.map +1 -1
  49. package/dist/cli/src/manifests/branch.js +2 -1
  50. package/dist/cli/src/manifests/branch.js.map +1 -1
  51. package/dist/cli/src/manifests/collector.js +229 -122
  52. package/dist/cli/src/manifests/collector.js.map +1 -1
  53. package/dist/cli/src/manifests/common.js +23 -8
  54. package/dist/cli/src/manifests/common.js.map +1 -1
  55. package/dist/cli/src/manifests/config.js +254 -21
  56. package/dist/cli/src/manifests/config.js.map +1 -1
  57. package/dist/cli/src/manifests/grafana.js +18 -6
  58. package/dist/cli/src/manifests/grafana.js.map +1 -1
  59. package/dist/cli/src/manifests/index.js +15 -6
  60. package/dist/cli/src/manifests/index.js.map +1 -1
  61. package/dist/cli/src/manifests/juicefs-csi.js +7 -6
  62. package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
  63. package/dist/cli/src/manifests/keda.js +2 -1
  64. package/dist/cli/src/manifests/keda.js.map +1 -1
  65. package/dist/cli/src/manifests/lake.js +340 -73
  66. package/dist/cli/src/manifests/lake.js.map +1 -1
  67. package/dist/cli/src/manifests/log.js +298 -0
  68. package/dist/cli/src/manifests/log.js.map +1 -0
  69. package/dist/cli/src/manifests/neon.js +282 -66
  70. package/dist/cli/src/manifests/neon.js.map +1 -1
  71. package/dist/cli/src/manifests/network-policies.js +211 -45
  72. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  73. package/dist/cli/src/manifests/node-agent.js +116 -0
  74. package/dist/cli/src/manifests/node-agent.js.map +1 -0
  75. package/dist/cli/src/manifests/object-store.js +42 -10
  76. package/dist/cli/src/manifests/object-store.js.map +1 -1
  77. package/dist/cli/src/manifests/priorities.js +1 -0
  78. package/dist/cli/src/manifests/priorities.js.map +1 -1
  79. package/dist/cli/src/manifests/scalers.js.map +1 -1
  80. package/dist/cli/src/manifests/valkey.js +1 -1
  81. package/dist/cli/src/manifests/webhook.js +102 -0
  82. package/dist/cli/src/manifests/webhook.js.map +1 -0
  83. package/dist/cli/src/neon-storage.js +115 -0
  84. package/dist/cli/src/neon-storage.js.map +1 -0
  85. package/dist/cli/src/release.js +9 -6
  86. package/dist/cli/src/release.js.map +1 -1
  87. package/dist/cli/src/secrets.js +45 -4
  88. package/dist/cli/src/secrets.js.map +1 -1
  89. package/dist/cli/src/target.js +1 -1
  90. package/dist/cli/src/target.js.map +1 -1
  91. package/dist/cli/src/telegram.js +56 -10
  92. package/dist/cli/src/telegram.js.map +1 -1
  93. package/dist/cli/src/webhook.js +182 -0
  94. package/dist/cli/src/webhook.js.map +1 -0
  95. package/dist/cluster/node/pins.json +11 -2
  96. package/dist/neon/control/branches.js +146 -22
  97. package/dist/neon/control/branches.js.map +1 -1
  98. package/dist/neon/control/endpoints.js +117 -0
  99. package/dist/neon/control/endpoints.js.map +1 -0
  100. package/dist/neon/control/jwt.js +16 -3
  101. package/dist/neon/control/jwt.js.map +1 -1
  102. package/dist/neon/control/scram.js +13 -1
  103. package/dist/neon/control/scram.js.map +1 -1
  104. package/dist/neon/control/secrets.js +88 -14
  105. package/dist/neon/control/secrets.js.map +1 -1
  106. package/dist/src/kube/config.js +27 -3
  107. package/dist/src/kube/config.js.map +1 -1
  108. package/dist/src/kube/sandbox-shape.js +49 -3
  109. package/dist/src/kube/sandbox-shape.js.map +1 -1
  110. package/dist/src/node-agent/names.js +140 -0
  111. package/dist/src/node-agent/names.js.map +1 -0
  112. package/dist/src/telegram/deliveries.js +40 -0
  113. package/dist/src/telegram/deliveries.js.map +1 -0
  114. package/package.json +2 -2
  115. package/dist/cluster/node/config-v3.toml.tmpl +0 -12
@@ -1,7 +1,21 @@
1
+ /**
2
+ * alasio itself: its Deployment, its telemetry receiver's Service, the
3
+ * namespaces its workspaces run in, its identity in them, and the templates it makes
4
+ * its workspaces' Sandboxes from (src/kube/config.ts); main's, or a branch environment's
5
+ * in its own namespaces (./branch.ts), and main's Service of the forks it makes for them.
6
+ */
7
+ import { isDeepStrictEqual } from "node:util";
8
+ import { Result } from "effect";
1
9
  import { BRANCH_FORK_PORT, branchSessionsNamespace } from "../../../src/branch/names.js";
10
+ import { decodeKubeTemplates } from "../../../src/kube/config.js";
11
+ import { BAYMA_STOP_SECONDS, CPU_FEATURES_ANNOTATION, STOP_WAIT_ARG } from "../../../src/kube/sandbox-shape.js";
12
+ import { gvisorRuntimeClass, NODE_AGENT_PORT, NODE_AGENT_TOKEN_VARIABLE } from "../../../src/node-agent/names.js";
13
+ import { gvisorReleases, NODE_PINS } from "../cluster/node.js";
2
14
  import { imageReference } from "../images.js";
3
- import { alasioAccount, busyLabelPolicy, cloneJobPolicy, sandboxPolicy, sandboxPolicyName, secretPolicy } from "./admission.js";
4
- import { BRANCH_FORK_SECRET, BRANCH_LABEL, componentName, databaseSecret, envOf, given, goJson, helperResources, hostVolumeMounts, hostVolumes, imagePullSecrets, labels, MAIN_ENVIRONMENT, NAMESPACE, ONE, otelEnv, RELEASE, replicasOf, restrictedContainer, restrictedPod, rolePasswords, selectorLabels, sha256, } from "./common.js";
15
+ import { alasioAccount, busyLabelPolicy, cloneJobPolicy, resumedConditionPolicy, sandboxPolicy, sandboxPolicyName, secretPolicy } from "./admission.js";
16
+ import { alasioGroup, environmentLogSecret, environmentName, lakeWakeTopic, LOG_BROKERS, telegramTopic } from "./log.js";
17
+ import { BRANCH_FORK_SECRET, BRANCH_LABEL, componentName, databaseSecret, envOf, given, goJson, helperResources, hostVolumeMounts, hostVolumes, imagePullSecrets, labels, lakeRuns, MAIN_ENVIRONMENT, NAMESPACE, nodeAgentRuns, ONE, otelEnv, RELEASE, replicasOf, restrictedContainer, restrictedPod, roleVerifiers, selectorLabels, sha256, } from "./common.js";
18
+ import { durationSeconds } from "./config.js";
5
19
  import { busyBudget } from "./disruption.js";
6
20
  import { priority } from "./priorities.js";
7
21
  import { verticalPodAutoscaler } from "./sizing.js";
@@ -24,9 +38,11 @@ function workspaceNamespaces(config, environment) {
24
38
  * session (its parent does, src/branch/fork.ts) nor removes JuiceFS's mount pods, which
25
39
  * are main's to drive.
26
40
  */
27
- function sessionsProfile(config, environment) {
41
+ function sessionsProfile(config, environment, { cpuBaseline, gvisorReleases }) {
28
42
  const { sessions, workspaceStorage } = config;
29
43
  const main = environment.branch === null;
44
+ // Snapshotted once every node's CPU features are known, its sandboxes held to those all have.
45
+ const snapshotted = main && nodeAgentRuns(config) && cpuBaseline !== null;
30
46
  const agent = imageReference(config.images.agent);
31
47
  const storageClassName = sessions.storage.storageClassName || (workspaceStorage.enabled ? workspaceStorage.storageClassName : "");
32
48
  // On workspace storage, the volume's mounts follow its mount pod's, as upstream's
@@ -43,10 +59,26 @@ function sessionsProfile(config, environment) {
43
59
  fullModeNameservers: [...sessions.fullModeNameservers],
44
60
  ...(main && mountPodsRemoved(config) ? { mountPodNamespace: workspaceStorage.csi.namespace } : {}),
45
61
  podTemplate: {
46
- metadata: { labels: { "app.kubernetes.io/part-of": "alasio", "app.kubernetes.io/instance": RELEASE, "app.kubernetes.io/component": "session" } },
62
+ metadata: {
63
+ labels: { "app.kubernetes.io/part-of": "alasio", "app.kubernetes.io/instance": RELEASE, "app.kubernetes.io/component": "session" },
64
+ // Under gVisor, /tmp is a tmpfs of the sandbox's own, by gVisor's mount hints, rather
65
+ // than the emptyDir's directory on the node: a snapshot of the sandbox holds it, as it
66
+ // holds the files that bayma's runtimes keep open there.
67
+ annotations: {
68
+ "dev.gvisor.spec.mount.tmp.share": "container",
69
+ "dev.gvisor.spec.mount.tmp.type": "tmpfs",
70
+ "dev.gvisor.spec.mount.tmp.options": "rw",
71
+ ...(snapshotted ? { [CPU_FEATURES_ANNOTATION]: cpuBaseline.join(",") } : {}),
72
+ },
73
+ },
47
74
  spec: {
48
75
  ...(sessions.runtimeClassName ? { runtimeClassName: sessions.runtimeClassName } : {}),
49
76
  ...priority("turn"),
77
+ // A pod that ends is ended: alasio brings the session up in a new one, and nothing
78
+ // starts bayma again in a sandbox that a snapshot has just ended.
79
+ restartPolicy: "Never",
80
+ // Ended by other than alasio, bayma holds its stop for alasio's snapshot, then stops.
81
+ ...(snapshotted ? { terminationGracePeriodSeconds: stopWaitSeconds(config) + BAYMA_STOP_SECONDS } : {}),
50
82
  securityContext: { ...restrictedPod(1000, 1000), ...ownership },
51
83
  ...imagePullSecrets(config),
52
84
  ...given("nodeSelector", { ...sessions.nodeSelector }),
@@ -73,7 +105,16 @@ function sessionsProfile(config, environment) {
73
105
  image: agent,
74
106
  imagePullPolicy: config.images.pullPolicy,
75
107
  command: ["/usr/bin/tini", "-s", "--", "node", "/opt/bayma/bayma.js"],
76
- args: ["mcp-http", "--host", "0.0.0.0", "--port", String(BAYMA_PORT), "--state-dir", "/home/agent/.bayma"],
108
+ args: [
109
+ "mcp-http",
110
+ "--host",
111
+ "0.0.0.0",
112
+ "--port",
113
+ String(BAYMA_PORT),
114
+ "--state-dir",
115
+ "/home/agent/.bayma",
116
+ ...(snapshotted ? [STOP_WAIT_ARG, String(stopWaitSeconds(config) * 1000)] : []),
117
+ ],
77
118
  workingDir: "/workspace",
78
119
  env: [
79
120
  { name: "HOME", value: "/home/agent" },
@@ -101,6 +142,34 @@ function sessionsProfile(config, environment) {
101
142
  },
102
143
  }],
103
144
  ...(main && sessionsForked(config) ? { clone: { claimTemplate: "data", job: cloneJob(config) } } : {}),
145
+ ...(snapshotted ? { snapshots: sessionSnapshots(config, gvisorReleases) } : {}),
146
+ };
147
+ }
148
+ /** How long a session's bayma holds a stop alasio did not make (sessions.snapshots.stopWait). */
149
+ function stopWaitSeconds(config) {
150
+ // A duration, as the configuration checks it.
151
+ return durationSeconds(config.sessions.snapshots.stopWait) ?? 0;
152
+ }
153
+ /**
154
+ * How session sandboxes are snapshotted as they are released (src/sandbox/snapshots.ts),
155
+ * where the node agents run: once sessions.snapshots.releaseAfter has passed without an
156
+ * exec or a turn, live every sessions.snapshots.liveEvery while execs run, and as their
157
+ * pods are ended by other than alasio, within sessions.snapshots.stopWait, under the
158
+ * gVisor `releases` alasio keeps (../kept-releases.ts), the
159
+ * current one first, each restored with a RuntimeClass of its own, by the agents in
160
+ * alasio's namespace.
161
+ */
162
+ function sessionSnapshots(config, releases) {
163
+ return {
164
+ // A duration, as the configuration checks it.
165
+ releaseAfterSeconds: durationSeconds(config.sessions.snapshots.releaseAfter) ?? 0,
166
+ liveEverySeconds: durationSeconds(config.sessions.snapshots.liveEvery) ?? 0,
167
+ releases: releases.map((release) => ({ release, runtimeClassName: gvisorRuntimeClass(release) })),
168
+ agents: {
169
+ namespace: NAMESPACE,
170
+ selector: Object.entries(selectorLabels("node-agent")).map(([label, value]) => `${label}=${value}`).join(","),
171
+ port: NODE_AGENT_PORT,
172
+ },
104
173
  };
105
174
  }
106
175
  /** Whether alasio forks sessions: where their volumes are workspace storage's, which JuiceFS clones. */
@@ -152,10 +221,59 @@ function hostProfile(config) {
152
221
  },
153
222
  };
154
223
  }
224
+ /** What a cluster keeps where up has found nothing of it yet: no baseline, the releases pinned, and no bot. */
225
+ export const NOTHING_KEPT = { cpuBaseline: null, gvisorReleases: gvisorReleases(NODE_PINS), botChecksum: null };
226
+ /** Nothing carried forward: a first installation's, and a branch environment's. */
227
+ export const NOTHING_CARRIED = { previousSessions: null, ...NOTHING_KEPT };
228
+ /** The ConfigMap of the templates, by its name. */
229
+ export const SANDBOX_TEMPLATES = componentName("sandbox-templates");
230
+ /**
231
+ * What the installation `config` describes, with what the cluster keeps, `kept`, carries
232
+ * forward from `live`, the templates of the installation it replaces (its ConfigMap's
233
+ * `templates.json`, if it has one): the sessions' profile it ran, where their template
234
+ * changes, or else the one it carried. A profile is carried for one change of the
235
+ * template, and no more. Pure, for tests.
236
+ *
237
+ * What it carries is pinned whole into the Sandbox policy (./admission.ts) as a template
238
+ * alasio may make a Sandbox from, read back from the cluster rather than rendered from the
239
+ * config: the ConfigMap is the anchor of that trust. It is one as long as only the
240
+ * operator, by `alasio up`, writes it: alasio's ServiceAccount may write no ConfigMap
241
+ * (./alasio.ts identity). Were alasio given that, it could write any pod template into
242
+ * the ConfigMap, and the next `up` would let it make Sandboxes of it.
243
+ */
244
+ export function carriedFrom(config, live, kept) {
245
+ const nothing = { ...NOTHING_CARRIED, ...kept };
246
+ if (!config.sessions.enabled || live === undefined)
247
+ return nothing;
248
+ // Carried as the ConfigMap held them, which alasio read as they are: the profile a snapshot recorded the hash of.
249
+ if (Result.isFailure(decodeKubeTemplates(SANDBOX_TEMPLATES, live)))
250
+ return nothing;
251
+ const held = JSON.parse(live);
252
+ if (!held.sessions)
253
+ return nothing;
254
+ // The current profile as the ConfigMap holds it, to compare with what it held.
255
+ const current = JSON.parse(goJson(sessionsProfile(config, MAIN_ENVIRONMENT, kept), ""));
256
+ return { previousSessions: isDeepStrictEqual(held.sessions.podTemplate, current.podTemplate) ? (held.previousSessions ?? null) : held.sessions, ...kept };
257
+ }
258
+ /**
259
+ * The CPU baseline the installation whose templates are `live` (as carriedFrom takes
260
+ * them) holds sessions to: what its sessions' template sets, if anything.
261
+ */
262
+ export function recordedCpuBaseline(live) {
263
+ if (live === undefined || Result.isFailure(decodeKubeTemplates(SANDBOX_TEMPLATES, live)))
264
+ return null;
265
+ const held = JSON.parse(live);
266
+ const recorded = held.sessions?.podTemplate.metadata?.annotations?.[CPU_FEATURES_ANNOTATION];
267
+ return recorded ? recorded.split(",") : null;
268
+ }
155
269
  /** The ConfigMap of the templates, and their checksum, which alasio's pod carries so it is replaced when they change. */
156
- function sandboxTemplates(config, environment) {
157
- const name = componentName("sandbox-templates");
158
- const templates = goJson({ ...(config.sessions.enabled ? { sessions: sessionsProfile(config, environment) } : {}), ...(config.host.enabled ? { host: hostProfile(config) } : {}) }, " ");
270
+ function sandboxTemplates(config, environment, carried) {
271
+ const name = SANDBOX_TEMPLATES;
272
+ const templates = goJson({
273
+ ...(config.sessions.enabled ? { sessions: sessionsProfile(config, environment, carried) } : {}),
274
+ ...(config.sessions.enabled && carried.previousSessions ? { previousSessions: carried.previousSessions } : {}),
275
+ ...(config.host.enabled ? { host: hostProfile(config) } : {}),
276
+ }, " ");
159
277
  return {
160
278
  configMap: { apiVersion: "v1", kind: "ConfigMap", metadata: { name, namespace: environment.namespace, labels: labels("alasio") }, data: { "templates.json": templates } },
161
279
  checksum: sha256(templates),
@@ -191,11 +309,11 @@ export function forksForBranches(config) {
191
309
  }
192
310
  /**
193
311
  * The roles main's alasio makes for what reads its Neon beside it (common.ts
194
- * rolePasswords); a branch environment's makes none, as it has none of them, and is given
195
- * none of their passwords.
312
+ * roleVerifiers); a branch environment's makes none, as it has none of them, and is given
313
+ * none of their verifiers.
196
314
  */
197
315
  function readerRoles(config, { branch }) {
198
- return branch === null ? rolePasswords(config) : [];
316
+ return branch === null ? roleVerifiers(config) : [];
199
317
  }
200
318
  /** alasio's environment: where its templates, state, database and receiver are, and what the configuration adds. */
201
319
  function alasioEnv(config, home, operatorHome, environment) {
@@ -212,9 +330,17 @@ function alasioEnv(config, home, operatorHome, environment) {
212
330
  { name: "TELEGRAM_BOT_TOKEN", valueFrom: { secretKeyRef: { name: alasio.telegram.existingSecret, key: "token" } } },
213
331
  { name: "TELEGRAM_ALLOWED_USER_IDS", valueFrom: { secretKeyRef: { name: alasio.telegram.existingSecret, key: "allowedUserIds" } } },
214
332
  { name: "ALASIO_DATABASE_URL_FILE", value: "/run/alasio/database/url" },
215
- { name: "ALASIO_LAKE_PASSWORD_FILE", value: "/run/alasio/database/lake-password" },
333
+ { name: "ALASIO_LAKE_VERIFIER_FILE", value: "/run/alasio/database/lake-verifier" },
216
334
  ...readerRoles(config, environment).map(({ key, variable }) => ({ name: variable, value: `/run/alasio/database/${key}` })),
217
335
  { name: "ALASIO_LAKE_ENABLED", value: config.lake.enabled && config.neon.enabled ? "1" : "0" },
336
+ // Its Telegram updates: its environment's topic, read in its group as its principal.
337
+ { name: "ALASIO_LOG_BROKERS", value: LOG_BROKERS },
338
+ { name: "ALASIO_LOG_USERNAME", valueFrom: { secretKeyRef: { name: environmentLogSecret(environment), key: "username" } } },
339
+ { name: "ALASIO_LOG_PASSWORD_FILE", value: "/run/alasio/log/password" },
340
+ { name: "ALASIO_TELEGRAM_TOPIC", value: telegramTopic(environmentName(environment)) },
341
+ { name: "ALASIO_TELEGRAM_GROUP", value: alasioGroup(environmentName(environment)) },
342
+ // Its environment's wake topic, which it tells the lake's loader of each transcript it writes on, as that principal.
343
+ ...(lakeRuns(config) ? [{ name: "ALASIO_LAKE_WAKE_TOPIC", value: lakeWakeTopic(environmentName(environment)) }] : []),
218
344
  { name: "ALASIO_TELEMETRY_RECEIVER_SERVICE", value: `${componentName("telemetry")}.${environment.namespace}.svc` },
219
345
  { name: "ALASIO_TELEMETRY_RECEIVER_PORT", value: String(config.telemetry.receiverPort) },
220
346
  ...(alasio.defaultHarness ? [{ name: "ALASIO_DEFAULT_HARNESS", value: alasio.defaultHarness }] : []),
@@ -222,22 +348,29 @@ function alasioEnv(config, home, operatorHome, environment) {
222
348
  ...(alasio.claude.existingSecret
223
349
  ? [{ name: "CLAUDE_CODE_OAUTH_TOKEN", valueFrom: { secretKeyRef: { name: alasio.claude.existingSecret, key: alasio.claude.key } } }]
224
350
  : []),
351
+ // What it presents to the node agents, which snapshot its sessions.
352
+ ...(environment.branch === null && nodeAgentRuns(config)
353
+ ? [{ name: NODE_AGENT_TOKEN_VARIABLE, valueFrom: { secretKeyRef: { name: componentName("node-agent"), key: "token" } } }]
354
+ : []),
225
355
  ...branchEnv(config, environment),
226
356
  ...otelEnv(config, environment),
227
357
  ...envOf(alasio.env),
228
358
  ];
229
359
  }
230
360
  /**
231
- * alasio's Deployment: one replica, as Telegram's updates have one poller, so an update
232
- * stops the old pod before the new one starts. It keeps no volume: its state is in Neon,
361
+ * alasio's Deployment: one replica, the one member of its group on its topic's one
362
+ * partition, which its turns run in, so an update stops the old pod before the new one
363
+ * starts. It keeps no volume: its state is in Neon,
233
364
  * and what it writes to disk (received files written for the agent, its home unless it
234
365
  * is the operator's) is written again as needed, on emptyDirs. Under the
235
366
  * host profile it runs as the operator, in their home, with the machine's mounts. A
236
367
  * branch environment's runs in its namespace on the branch's database, told it is the
237
368
  * branch, with its token to ask main to fork the sessions it inherited; main's is given
238
- * the key branch environments' tokens are signed with, where it forks sessions.
369
+ * the key branch environments' tokens are signed with, where it forks sessions. Its pod
370
+ * carries the checksums of its templates and, where up read it, of its bot's Secret, so
371
+ * it is replaced when either changes.
239
372
  */
240
- function deployment(config, templatesChecksum, environment) {
373
+ function deployment(config, templatesChecksum, botChecksum, environment) {
241
374
  const { alasio, host } = config;
242
375
  const operatorHome = host.enabled && host.alasioHome;
243
376
  const home = operatorHome ? host.home : "/var/lib/alasio/home";
@@ -255,7 +388,10 @@ function deployment(config, templatesChecksum, environment) {
255
388
  strategy: { type: "Recreate" },
256
389
  selector: { matchLabels: selectorLabels("alasio") },
257
390
  template: {
258
- metadata: { labels: labels("alasio"), annotations: { "checksum/sandbox-templates": templatesChecksum } },
391
+ metadata: {
392
+ labels: labels("alasio"),
393
+ annotations: { "checksum/sandbox-templates": templatesChecksum, ...(botChecksum === null ? {} : { "checksum/telegram": botChecksum }) },
394
+ },
259
395
  spec: {
260
396
  serviceAccountName: RELEASE,
261
397
  ...priority("turn"),
@@ -281,6 +417,7 @@ function deployment(config, templatesChecksum, environment) {
281
417
  ...(operatorHome ? [] : [{ name: "alasio-home", mountPath: home }]),
282
418
  { name: "templates", mountPath: "/etc/alasio", readOnly: true },
283
419
  { name: "database", mountPath: "/run/alasio/database", readOnly: true },
420
+ { name: "log", mountPath: "/run/alasio/log", readOnly: true },
284
421
  ...branchSecret.map(({ name }) => ({ name, mountPath: BRANCH_SECRETS, readOnly: true })),
285
422
  ...(host.enabled ? hostVolumeMounts(config) : []),
286
423
  ],
@@ -293,9 +430,10 @@ function deployment(config, templatesChecksum, environment) {
293
430
  name: "database",
294
431
  secret: {
295
432
  secretName: databaseSecret(config),
296
- items: ["url", "lake-password", ...readerRoles(config, environment).map(({ key }) => key)].map((key) => ({ key, path: key })),
433
+ items: ["url", "lake-verifier", ...readerRoles(config, environment).map(({ key }) => key)].map((key) => ({ key, path: key })),
297
434
  },
298
435
  },
436
+ { name: "log", secret: { secretName: environmentLogSecret(environment), items: [{ key: "password", path: "password" }] } },
299
437
  ...branchSecret,
300
438
  ...(host.enabled ? hostVolumes(config) : []),
301
439
  ],
@@ -374,9 +512,12 @@ function mountPodsRemoved({ workspaceStorage }) {
374
512
  * alasio's identity: it drives its workspaces' Sandboxes, their token Secrets, and reads
375
513
  * files from sessions through exec, in the namespaces it owns, labelling their pods busy
376
514
  * while turns run in them, as it does its own in its namespace (src/kube/busy.ts); where
377
- * it forks sessions, reads sessions' volume claims and runs the Jobs that clone them in its
378
- * own; and, where it installs JuiceFS's driver, lists and deletes pods in the driver's
379
- * namespace, its mount pods; and nothing else.
515
+ * it snapshots sessions, sets a restored session's readiness; where it forks
516
+ * sessions, reads sessions' volume claims and runs the Jobs that clone them in its own;
517
+ * where the node agents run, watches pods in its own, theirs among them, and reads the
518
+ * cluster's nodes, for a restore to go to one that takes its pod; and, where it installs
519
+ * JuiceFS's driver, lists and deletes pods in the driver's namespace, its mount pods; and
520
+ * nothing else.
380
521
  */
381
522
  function identity(config, environment) {
382
523
  const main = environment.branch === null;
@@ -400,16 +541,33 @@ function identity(config, environment) {
400
541
  kind: "Role",
401
542
  metadata: inOwnNamespace,
402
543
  rules: [
403
- { apiGroups: [""], resources: ["pods"], verbs: ["list", "patch"] },
544
+ // Its own pod's busy label; and each node's agent, found by its pod on the node.
545
+ { apiGroups: [""], resources: ["pods"], verbs: main && nodeAgentRuns(config) ? ["list", "watch", "patch"] : ["list", "patch"] },
404
546
  ...(main && sessionsForked(config) ? [{ apiGroups: ["batch"], resources: ["jobs"], verbs: ["create", "get", "delete"] }] : []),
405
547
  ],
406
548
  };
407
549
  const serviceAccount = { apiVersion: "v1", kind: "ServiceAccount", metadata: { name: RELEASE, namespace: environment.namespace, labels: labels("alasio") } };
550
+ // The nodes, read alone, for a restore to go to one that takes the session's pod (src/sandbox/snapshots.ts).
551
+ const nodes = { name: componentName("nodes"), labels: labels("alasio") };
552
+ const nodesRole = {
553
+ apiVersion: "rbac.authorization.k8s.io/v1",
554
+ kind: "ClusterRole",
555
+ metadata: nodes,
556
+ rules: [{ apiGroups: [""], resources: ["nodes"], verbs: ["get"] }],
557
+ };
558
+ const nodesBinding = {
559
+ apiVersion: "rbac.authorization.k8s.io/v1",
560
+ kind: "ClusterRoleBinding",
561
+ metadata: nodes,
562
+ subjects: [{ kind: "ServiceAccount", name: RELEASE, namespace: environment.namespace }],
563
+ roleRef: { apiGroup: "rbac.authorization.k8s.io", kind: "ClusterRole", name: nodes.name },
564
+ };
408
565
  return [
409
566
  serviceAccount,
410
567
  ...workspaceNamespaces(config, environment).flatMap((namespace) => {
411
568
  const metadata = { name: RELEASE, namespace, labels: labels("alasio") };
412
569
  const forked = main && sessionsForked(config) && namespace === config.sessions.namespace;
570
+ const snapshotted = main && nodeAgentRuns(config) && namespace === config.sessions.namespace;
413
571
  const role = {
414
572
  apiVersion: "rbac.authorization.k8s.io/v1",
415
573
  kind: "Role",
@@ -420,6 +578,10 @@ function identity(config, environment) {
420
578
  { apiGroups: [""], resources: ["pods"], verbs: ["get", "list", "patch"] },
421
579
  { apiGroups: [""], resources: ["pods/exec"], verbs: ["create", "get"] },
422
580
  ...(forked ? [{ apiGroups: [""], resources: ["persistentvolumeclaims"], verbs: ["get"] }] : []),
581
+ // A restored session's readiness, once its sandbox is let run, and the network policies that must hold it first (src/sandbox/snapshots.ts).
582
+ ...(snapshotted
583
+ ? [{ apiGroups: [""], resources: ["pods/status"], verbs: ["patch"] }, { apiGroups: ["networking.k8s.io"], resources: ["networkpolicies"], verbs: ["list"] }]
584
+ : []),
423
585
  ],
424
586
  };
425
587
  return [role, binding(metadata)];
@@ -427,6 +589,7 @@ function identity(config, environment) {
427
589
  own,
428
590
  binding(inOwnNamespace),
429
591
  ...(main && mountPodsRemoved(config) ? [mountPods, binding(inDriverNamespace)] : []),
592
+ ...(main && nodeAgentRuns(config) ? [nodesRole, nodesBinding] : []),
430
593
  ...(config.host.enabled ? hostAgentIdentity(config) : []),
431
594
  ];
432
595
  }
@@ -461,10 +624,10 @@ function hostAgentIdentity(config) {
461
624
  };
462
625
  return [serviceAccount, role, binding];
463
626
  }
464
- /** The objects of the alasio of `environment`, main's unless a branch environment's. */
465
- export function alasioObjects(config, environment = MAIN_ENVIRONMENT) {
466
- const templates = sandboxTemplates(config, environment);
467
- const alasio = deployment(config, templates.checksum, environment);
627
+ /** The objects of the alasio of `environment`, main's unless a branch environment's, with what main's carries forward. */
628
+ export function alasioObjects(config, environment = MAIN_ENVIRONMENT, carried = NOTHING_CARRIED) {
629
+ const templates = sandboxTemplates(config, environment, carried);
630
+ const alasio = deployment(config, templates.checksum, carried.botChecksum, environment);
468
631
  return [
469
632
  ...namespaces(config, environment),
470
633
  ...identity(config, environment),
@@ -478,8 +641,16 @@ export function alasioObjects(config, environment = MAIN_ENVIRONMENT) {
478
641
  ...(environment.branch === null && forksForBranches(config) ? [branchForksService()] : []),
479
642
  // What alasio may do beyond what RBAC can say; the cluster's, but for its Sandboxes', made with main's.
480
643
  ...(environment.branch === null ? [...busyLabelPolicy(), ...secretPolicy()] : []),
644
+ // Where sessions are snapshotted, what alasio may set of a restored session's pod's status.
645
+ ...(environment.branch === null && config.sessions.enabled && nodeAgentRuns(config)
646
+ ? resumedConditionPolicy(componentName("resumed-condition"), alasioAccount(environment.namespace), config.sessions.namespace)
647
+ : []),
481
648
  ...(environment.branch === null && sessionsForked(config) ? cloneJobPolicy(cloneJob(config)) : []),
482
- ...sandboxPolicy(sandboxPolicyName(environment.namespace), alasioAccount(environment.namespace), { sessions: config.sessions.enabled ? sessionsProfile(config, environment) : null, host: config.host.enabled ? hostProfile(config) : null }),
649
+ ...sandboxPolicy(sandboxPolicyName(environment.namespace), alasioAccount(environment.namespace), {
650
+ sessions: config.sessions.enabled ? sessionsProfile(config, environment, carried) : null,
651
+ previousSessions: config.sessions.enabled ? carried.previousSessions : null,
652
+ host: config.host.enabled ? hostProfile(config) : null,
653
+ }),
483
654
  ];
484
655
  }
485
656
  //# sourceMappingURL=alasio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alasio.js","sourceRoot":"","sources":["../../../../src/manifests/alasio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alasio.js","sourceRoot":"","sources":["../../../../src/manifests/alasio.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { branchNamespace } from "../../../src/branch/names.js";
2
2
  import { alasioObjects, sessionsNamespace } from "./alasio.js";
3
3
  import { BRANCH_LABEL, componentName, labels, NAMESPACE, RELEASE } from "./common.js";
4
4
  import { lakeObjects } from "./lake.js";
5
- import { compute } from "./neon.js";
5
+ import { compute, computeScaling } from "./neon.js";
6
6
  import { networkPolicyObjects } from "./network-policies.js";
7
7
  /** The environment of the branch `name`. */
8
8
  export const branchEnvironment = (name) => ({ namespace: branchNamespace(name), branch: name });
@@ -37,6 +37,7 @@ export function branchObjects(config, name) {
37
37
  return [
38
38
  ...alasioObjects(config, environment),
39
39
  ...compute(config, environment),
40
+ ...computeScaling(environment.namespace),
40
41
  ...lakeObjects(config, environment),
41
42
  ...networkPolicyObjects(config, environment),
42
43
  ...(config.sessions.enabled ? parentAccess(config, environment) : []),
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../../src/manifests/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../../src/manifests/branch.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAErH,iDAAiD;AACjD,SAAS,cAAc,CAAC,MAAwB,EAAE,IAAY;IAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACvH,CAAC;AAED,qJAAqJ;AACrJ,SAAS,YAAY,CAAC,MAAqB,EAAE,WAAwB;IACnE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChI,MAAM,IAAI,GAAW;QACnB,UAAU,EAAE,8BAA8B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,KAAK,EAAE;YACL,EAAE,SAAS,EAAE,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACzF,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;SAC3E;KACF,CAAC;IACF,MAAM,OAAO,GAAkB;QAC7B,UAAU,EAAE,8BAA8B;QAC1C,IAAI,EAAE,aAAa;QACnB,QAAQ;QACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAC3E,OAAO,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;KACtF,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,kIAAkI;AAClI,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,IAAY;IAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC;QACrC,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/B,GAAG,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC;QACxC,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;QACnC,GAAG,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC"}