alasio 8.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 (183) hide show
  1. package/dist/cli/src/api-server.js +18 -0
  2. package/dist/cli/src/api-server.js.map +1 -0
  3. package/dist/cli/src/bound-harnesses.js +98 -0
  4. package/dist/cli/src/bound-harnesses.js.map +1 -0
  5. package/dist/cli/src/branches.js +79 -22
  6. package/dist/cli/src/branches.js.map +1 -1
  7. package/dist/cli/src/cluster/docker.js +40 -15
  8. package/dist/cli/src/cluster/docker.js.map +1 -1
  9. package/dist/cli/src/cluster/host.js +38 -8
  10. package/dist/cli/src/cluster/host.js.map +1 -1
  11. package/dist/cli/src/cluster/k3s.js +105 -14
  12. package/dist/cli/src/cluster/k3s.js.map +1 -1
  13. package/dist/cli/src/cluster/node.js +142 -33
  14. package/dist/cli/src/cluster/node.js.map +1 -1
  15. package/dist/cli/src/cluster/stargz.js +92 -0
  16. package/dist/cli/src/cluster/stargz.js.map +1 -0
  17. package/dist/cli/src/commands/branch.js +5 -4
  18. package/dist/cli/src/commands/branch.js.map +1 -1
  19. package/dist/cli/src/commands/common.js +11 -5
  20. package/dist/cli/src/commands/common.js.map +1 -1
  21. package/dist/cli/src/commands/folder.js +14 -0
  22. package/dist/cli/src/commands/folder.js.map +1 -0
  23. package/dist/cli/src/commands/lake.js +1 -1
  24. package/dist/cli/src/commands/lake.js.map +1 -1
  25. package/dist/cli/src/commands/login-relay.js +91 -0
  26. package/dist/cli/src/commands/login-relay.js.map +1 -0
  27. package/dist/cli/src/commands/login.js +11 -10
  28. package/dist/cli/src/commands/login.js.map +1 -1
  29. package/dist/cli/src/commands/logs.js +89 -6
  30. package/dist/cli/src/commands/logs.js.map +1 -1
  31. package/dist/cli/src/commands/restart.js +10 -4
  32. package/dist/cli/src/commands/restart.js.map +1 -1
  33. package/dist/cli/src/commands/restore-filer-store.js +27 -10
  34. package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
  35. package/dist/cli/src/commands/status.js +119 -20
  36. package/dist/cli/src/commands/status.js.map +1 -1
  37. package/dist/cli/src/commands/uninstall.js +8 -9
  38. package/dist/cli/src/commands/uninstall.js.map +1 -1
  39. package/dist/cli/src/commands/up.js +20 -9
  40. package/dist/cli/src/commands/up.js.map +1 -1
  41. package/dist/cli/src/commands/upgrade.js +22 -6
  42. package/dist/cli/src/commands/upgrade.js.map +1 -1
  43. package/dist/cli/src/commands.js +2 -1
  44. package/dist/cli/src/commands.js.map +1 -1
  45. package/dist/cli/src/config.js +4 -1
  46. package/dist/cli/src/config.js.map +1 -1
  47. package/dist/cli/src/cpu-baseline.js +8 -4
  48. package/dist/cli/src/cpu-baseline.js.map +1 -1
  49. package/dist/cli/src/folders.js +63 -0
  50. package/dist/cli/src/folders.js.map +1 -0
  51. package/dist/cli/src/gateway-calls.js +64 -0
  52. package/dist/cli/src/gateway-calls.js.map +1 -0
  53. package/dist/cli/src/install.js +45 -31
  54. package/dist/cli/src/install.js.map +1 -1
  55. package/dist/cli/src/kept-releases.js +27 -20
  56. package/dist/cli/src/kept-releases.js.map +1 -1
  57. package/dist/cli/src/kube/api.js +61 -15
  58. package/dist/cli/src/kube/api.js.map +1 -1
  59. package/dist/cli/src/kube/apply.js +122 -81
  60. package/dist/cli/src/kube/apply.js.map +1 -1
  61. package/dist/cli/src/kube/rollout.js +43 -21
  62. package/dist/cli/src/kube/rollout.js.map +1 -1
  63. package/dist/cli/src/main.js +2 -1
  64. package/dist/cli/src/main.js.map +1 -1
  65. package/dist/cli/src/manifests/admission.js +558 -222
  66. package/dist/cli/src/manifests/admission.js.map +1 -1
  67. package/dist/cli/src/manifests/alasio.js +180 -428
  68. package/dist/cli/src/manifests/alasio.js.map +1 -1
  69. package/dist/cli/src/manifests/branch.js +16 -27
  70. package/dist/cli/src/manifests/branch.js.map +1 -1
  71. package/dist/cli/src/manifests/codex-login.js +101 -0
  72. package/dist/cli/src/manifests/codex-login.js.map +1 -0
  73. package/dist/cli/src/manifests/collector.js +83 -62
  74. package/dist/cli/src/manifests/collector.js.map +1 -1
  75. package/dist/cli/src/manifests/common.js +82 -25
  76. package/dist/cli/src/manifests/common.js.map +1 -1
  77. package/dist/cli/src/manifests/config.js +137 -105
  78. package/dist/cli/src/manifests/config.js.map +1 -1
  79. package/dist/cli/src/manifests/disruption.js +18 -3
  80. package/dist/cli/src/manifests/disruption.js.map +1 -1
  81. package/dist/cli/src/manifests/folders.js +131 -0
  82. package/dist/cli/src/manifests/folders.js.map +1 -0
  83. package/dist/cli/src/manifests/grafana.js +4 -2
  84. package/dist/cli/src/manifests/grafana.js.map +1 -1
  85. package/dist/cli/src/manifests/harness-pools.js +236 -0
  86. package/dist/cli/src/manifests/harness-pools.js.map +1 -0
  87. package/dist/cli/src/manifests/image-holder.js +61 -0
  88. package/dist/cli/src/manifests/image-holder.js.map +1 -0
  89. package/dist/cli/src/manifests/index.js +14 -7
  90. package/dist/cli/src/manifests/index.js.map +1 -1
  91. package/dist/cli/src/manifests/keda.js +4 -2
  92. package/dist/cli/src/manifests/keda.js.map +1 -1
  93. package/dist/cli/src/manifests/lake.js +18 -20
  94. package/dist/cli/src/manifests/lake.js.map +1 -1
  95. package/dist/cli/src/manifests/log.js +84 -19
  96. package/dist/cli/src/manifests/log.js.map +1 -1
  97. package/dist/cli/src/manifests/neon.js +60 -80
  98. package/dist/cli/src/manifests/neon.js.map +1 -1
  99. package/dist/cli/src/manifests/network-policies.js +232 -94
  100. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  101. package/dist/cli/src/manifests/node-agent.js +42 -15
  102. package/dist/cli/src/manifests/node-agent.js.map +1 -1
  103. package/dist/cli/src/manifests/object-store.js +99 -25
  104. package/dist/cli/src/manifests/object-store.js.map +1 -1
  105. package/dist/cli/src/manifests/sandbox-gateway.js +761 -0
  106. package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -0
  107. package/dist/cli/src/manifests/scalers.js +17 -5
  108. package/dist/cli/src/manifests/scalers.js.map +1 -1
  109. package/dist/cli/src/manifests/sizing.js +17 -9
  110. package/dist/cli/src/manifests/sizing.js.map +1 -1
  111. package/dist/cli/src/manifests/valkey.js +30 -10
  112. package/dist/cli/src/manifests/valkey.js.map +1 -1
  113. package/dist/cli/src/manifests/volume-lock.js +43 -0
  114. package/dist/cli/src/manifests/volume-lock.js.map +1 -0
  115. package/dist/cli/src/manifests/vpa.js +15 -2
  116. package/dist/cli/src/manifests/vpa.js.map +1 -1
  117. package/dist/cli/src/manifests/workspace-storage.js +182 -94
  118. package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
  119. package/dist/cli/src/neon-storage.js +54 -16
  120. package/dist/cli/src/neon-storage.js.map +1 -1
  121. package/dist/cli/src/release.js +9 -9
  122. package/dist/cli/src/release.js.map +1 -1
  123. package/dist/cli/src/setup-pod.js +44 -0
  124. package/dist/cli/src/setup-pod.js.map +1 -0
  125. package/dist/cli/src/target.js +2 -2
  126. package/dist/cli/src/target.js.map +1 -1
  127. package/dist/cli/src/telegram.js +13 -4
  128. package/dist/cli/src/telegram.js.map +1 -1
  129. package/dist/cli/src/wakes.js +68 -0
  130. package/dist/cli/src/wakes.js.map +1 -0
  131. package/dist/cli/src/webhook.js +5 -2
  132. package/dist/cli/src/webhook.js.map +1 -1
  133. package/dist/cluster/node/pins.json +11 -5
  134. package/dist/neon/control/branches.js +13 -6
  135. package/dist/neon/control/branches.js.map +1 -1
  136. package/dist/neon/control/endpoints.js +81 -10
  137. package/dist/neon/control/endpoints.js.map +1 -1
  138. package/dist/neon/control/secrets.js +24 -8
  139. package/dist/neon/control/secrets.js.map +1 -1
  140. package/dist/src/binder/bindings.js +195 -0
  141. package/dist/src/binder/bindings.js.map +1 -0
  142. package/dist/src/binder/names.js +63 -0
  143. package/dist/src/binder/names.js.map +1 -0
  144. package/dist/src/binder/tokens.js +71 -0
  145. package/dist/src/binder/tokens.js.map +1 -0
  146. package/dist/src/branch/names.js +20 -6
  147. package/dist/src/branch/names.js.map +1 -1
  148. package/dist/src/events/names.js +28 -0
  149. package/dist/src/events/names.js.map +1 -0
  150. package/dist/src/gateway/names.js +240 -0
  151. package/dist/src/gateway/names.js.map +1 -0
  152. package/dist/src/harness/names.js +67 -0
  153. package/dist/src/harness/names.js.map +1 -0
  154. package/dist/src/kube/client.js +212 -0
  155. package/dist/src/kube/client.js.map +1 -0
  156. package/dist/src/kube/sandbox-shape.js +14 -68
  157. package/dist/src/kube/sandbox-shape.js.map +1 -1
  158. package/dist/src/kube/started-map.js +12 -0
  159. package/dist/src/kube/started-map.js.map +1 -0
  160. package/dist/src/node-agent/names.js +62 -5
  161. package/dist/src/node-agent/names.js.map +1 -1
  162. package/dist/src/sandbox/names.js +12 -20
  163. package/dist/src/sandbox/names.js.map +1 -1
  164. package/dist/src/sandbox/otlp-resource.js +173 -0
  165. package/dist/src/sandbox/otlp-resource.js.map +1 -0
  166. package/dist/src/sandbox/telemetry.js +43 -0
  167. package/dist/src/sandbox/telemetry.js.map +1 -0
  168. package/dist/src/telegram/bot-commands.js +17 -0
  169. package/dist/src/telegram/bot-commands.js.map +1 -0
  170. package/dist/src/telegram/stop.js +12 -0
  171. package/dist/src/telegram/stop.js.map +1 -0
  172. package/dist/src/telemetry/config.js +131 -0
  173. package/dist/src/telemetry/config.js.map +1 -0
  174. package/dist/src/telemetry/forward.js +154 -0
  175. package/dist/src/telemetry/forward.js.map +1 -0
  176. package/package.json +1 -1
  177. package/dist/cli/src/manifests/agent-sandbox.js +0 -92
  178. package/dist/cli/src/manifests/agent-sandbox.js.map +0 -1
  179. package/dist/cli/src/manifests/juicefs-csi.js +0 -320
  180. package/dist/cli/src/manifests/juicefs-csi.js.map +0 -1
  181. package/dist/cli/src/manifests/sandboxes.agents.x-k8s.io.json +0 -6295
  182. package/dist/src/kube/config.js +0 -145
  183. package/dist/src/kube/config.js.map +0 -1
@@ -2,10 +2,12 @@
2
2
  * This machine made a node of k3s, as the cluster alasio makes on it outside Docker is
3
3
  * (./host.ts): k3s installed by its own install script, as the systemd service `k3s`, from
4
4
  * the binary cluster/node/pins.json pins, with each gVisor release it pins beside it, each
5
- * a runtime of containerd's (./k3s.ts), and set in /etc/rancher/k3s/config.yaml. The node
6
- * image (cluster/node) is built from the same pins, its gVisor releases where the machine
7
- * has them, and its k3s reads the same containerd files, so a node in Docker and one on a
8
- * machine run the same k3s and gVisor alike.
5
+ * a runtime of containerd's (./k3s.ts), and stargz-snapshotter's daemon, the service
6
+ * `stargz-snapshotter`, its snapshotter (./stargz.ts), and set in
7
+ * /etc/rancher/k3s/config.yaml. The node image (cluster/node) is built from the same pins,
8
+ * its gVisor releases where the machine has them, and its k3s reads the same containerd
9
+ * files, so a node in Docker and one on a machine run the same k3s, gVisor and snapshotter
10
+ * alike.
9
11
  *
10
12
  * Every download is checked against its pin as the operator downloads it, and again as
11
13
  * root before it is installed. What alasio installed, and the digest of the files that
@@ -19,13 +21,14 @@
19
21
  */
20
22
  import { createHash, randomUUID } from "node:crypto";
21
23
  import { dirname } from "node:path";
22
- import { zstdDecompressSync } from "node:zlib";
24
+ import { gunzipSync, zstdDecompressSync } from "node:zlib";
23
25
  import { Duration, Effect, FileSystem, Option, Schedule, Schema } from "effect";
24
26
  import pins from "../../../cluster/node/pins.json" with { type: "json" };
25
- import { CONTAINERD, GVISOR_RELEASES, gvisorDirectory, gvisorHandler } from "../../../src/node-agent/names.js";
27
+ import { CONTAINERD, GVISOR_RELEASES, gvisorDirectory, gvisorHandler, NODE_DIRECTORY } from "../../../src/node-agent/names.js";
26
28
  import { Registries } from "../config.js";
27
- import { clusterKubeconfig, gvisorRuntimeFiles, KUBELET_ARGS, NotYet, registriesYaml } from "./k3s.js";
29
+ import { clusterKubeconfig, containerdFiles, KUBELET_ARGS, KUBELET_CONFIG, KUBELET_CONFIG_PATH, NotYet, registriesYaml, SANDBOX_IMAGE } from "./k3s.js";
28
30
  import { Machine, RootSystem, under } from "./machine.js";
31
+ import { FUSE_MANAGER_SOCKET, FUSE_MANAGER_STORE, STARGZ_CONFIG, STARGZ_EXECUTABLES, STARGZ_MEMORY_LIMIT, STARGZ_ROOT, STARGZ_SOCKET, stargzConfig } from "./stargz.js";
29
32
  import { tarEntries } from "./tar.js";
30
33
  /** This version's pins, cluster/node/pins.json's. */
31
34
  export const NODE_PINS = pins;
@@ -40,16 +43,21 @@ export function currentGvisorRelease(pins = NODE_PINS) {
40
43
  }
41
44
  /**
42
45
  * Where what `pins` pins is downloaded from: k3s's binary and install script from its
43
- * repository, and each gVisor release, by its name, from alasio's fork of it,
44
- * github.com/eaucoin/gvisor.
46
+ * repository, each gVisor release, by its name, from alasio's fork of it,
47
+ * github.com/eaucoin/gvisor, and stargz-snapshotter's from its repository.
45
48
  */
46
- export const downloads = ({ k3s, gvisor }) => ({
49
+ export const downloads = ({ k3s, gvisor, stargz }) => ({
47
50
  k3s: { url: `https://github.com/k3s-io/k3s/releases/download/${encodeURIComponent(k3s.version)}/k3s`, algorithm: "sha256", digest: k3s.sha256 },
48
51
  installScript: { url: `https://raw.githubusercontent.com/k3s-io/k3s/${k3s.installScript.commit}/install.sh`, algorithm: "sha256", digest: k3s.installScript.sha256 },
49
52
  gvisor: new Map(gvisor.releases.map(({ release, sha512 }) => [
50
53
  release,
51
54
  { url: `https://github.com/eaucoin/gvisor/releases/download/release-${encodeURIComponent(release)}/gvisor-x86_64.tar.zstd`, algorithm: "sha512", digest: sha512 },
52
55
  ])),
56
+ stargz: {
57
+ url: `https://github.com/containerd/stargz-snapshotter/releases/download/${encodeURIComponent(stargz.version)}/stargz-snapshotter-${encodeURIComponent(stargz.version)}-linux-amd64.tar.gz`,
58
+ algorithm: "sha256",
59
+ digest: stargz.sha256,
60
+ },
53
61
  });
54
62
  const BIN = "/usr/local/bin";
55
63
  const K3S_ETC = "/etc/rancher/k3s";
@@ -83,10 +91,17 @@ const SERVICE_CIDR = "10.43.0.0/16";
83
91
  * (cli/src/manifests/network-policies.ts).
84
92
  */
85
93
  export const CLUSTER_NETWORKS = [CLUSTER_CIDR, SERVICE_CIDR];
86
- /** The directories JuiceFS's CSI driver keeps on the node, its mounts in them, which nothing of k3s's removes. */
87
- const JUICEFS = ["/var/lib/juicefs", "/run/juicefs-csi"];
88
94
  /** What alasio installs of a gVisor release, in the release's directory: runsc and its shim, and the binaries runsc runs beside it. */
89
95
  const GVISOR = ["runsc", "containerd-shim-runsc-v1", "gvisor-bin"];
96
+ /** stargz-snapshotter's daemon's systemd service, which k3s's wants, and with which it stops and restarts. */
97
+ export const STARGZ_SERVICE = "stargz-snapshotter";
98
+ const STARGZ_UNIT = `/etc/systemd/system/${STARGZ_SERVICE}.service`;
99
+ /** What k3s's service is given beside its install script's: the daemon, started before it. */
100
+ const K3S_DROP_IN = `/etc/systemd/system/${SERVICE}.service.d/alasio-stargz.conf`;
101
+ /** The containers that ran on a FUSE manager gone, which the daemon's service lists as it starts and stops once the daemon serves, one id a line. */
102
+ const ON_GONE_MANAGER = `${dirname(STARGZ_SOCKET)}/on-gone-manager`;
103
+ /** The mounts of a FUSE manager gone, as the daemon's service finds them before it unmounts them. */
104
+ const SERVED = `${ON_GONE_MANAGER}.mounts`;
90
105
  /**
91
106
  * How a node is made: a server, its volumes in `storagePath`, pulling through
92
107
  * `registries`, its containerd running each of the gVisor releases `gvisor`, the current
@@ -100,9 +115,12 @@ export const NodeConfig = Schema.Struct({
100
115
  });
101
116
  /**
102
117
  * The files that make k3s and its containerd a node of `config`, by their paths: k3s's
103
- * config.yaml, written as JSON, which YAML reads as it is, the registries, and the files
104
- * that make each gVisor release a runtime of containerd's, where systemd runs the
105
- * machine. Pure, for tests.
118
+ * config.yaml, written as JSON, which YAML reads as it is, its snapshotter none, as
119
+ * containerd's files say the daemon's, and its sandbox image pinned (./k3s.ts); its kubelet's
120
+ * config file; the registries; the files that make containerd pull through stargz-snapshotter's daemon and
121
+ * run each gVisor release, where systemd runs the machine; and the daemon's configuration
122
+ * and service, which k3s's service wants, and with which it stops and restarts. Pure, for
123
+ * tests.
106
124
  */
107
125
  export function nodeFiles(config) {
108
126
  const k3s = {
@@ -111,11 +129,70 @@ export function nodeFiles(config) {
111
129
  "service-cidr": SERVICE_CIDR,
112
130
  "default-local-storage-path": config.storagePath,
113
131
  "kubelet-arg": KUBELET_ARGS,
132
+ "snapshotter": "",
133
+ "pause-image": SANDBOX_IMAGE,
114
134
  };
115
135
  return new Map([
116
136
  [CONFIG_YAML, `# k3s as alasio's cluster runs it: alasio up writes this file.\n${JSON.stringify(k3s)}\n`],
137
+ [KUBELET_CONFIG_PATH, KUBELET_CONFIG],
117
138
  ...(config.registries ? [[REGISTRIES_YAML, `${registriesYaml(config.registries)}\n`]] : []),
118
- ...gvisorRuntimeFiles(config.gvisor, { systemd: true }),
139
+ ...containerdFiles(config.gvisor, { systemd: true }),
140
+ [STARGZ_CONFIG, stargzConfig(config.registries)],
141
+ [STARGZ_UNIT, [
142
+ "# stargz-snapshotter's daemon, the snapshotter of k3s's containerd: alasio up writes this file.",
143
+ "[Unit]",
144
+ "Description=stargz-snapshotter's daemon, which k3s's containerd pulls images through",
145
+ `PartOf=${SERVICE}.service`,
146
+ "",
147
+ "[Service]",
148
+ "# Go's soft limit on its heap and its FUSE manager's (./stargz.ts's STARGZ_MEMORY_LIMIT).",
149
+ `Environment=GOMEMLIMIT=${STARGZ_MEMORY_LIMIT}`,
150
+ "# Its FUSE manager gone, as one killed is or a machine's crash ends, its socket held by no process, as the",
151
+ "# kernel's table of sockets says: its socket removed, so the daemon starts a manager anew rather than none for the",
152
+ "# socket; its record of what it mounted removed, so the new manager mounts nothing the daemon then finds mounted",
153
+ "# and skips (./stargz.ts's FUSE_MANAGER_SOCKET and FUSE_MANAGER_STORE); and the mounts it served unmounted",
154
+ "# lazily, deepest first, as the daemon unmounts each before it mounts it again, and cannot where the pods'",
155
+ "# containers that ran on it hold it. And those containers, each on an overlay of a layer it served, whose reads",
156
+ "# fail now and whose probes may not say so, listed, the id of each the directory of its root's mount, to be",
157
+ "# stopped once the daemon serves. Only then: a manager there serves its mounts on, and is left be with them and",
158
+ "# its pods, so what is unmounted serves nothing already.",
159
+ `ExecStartPre=/bin/sh -c '${[
160
+ // systemd's $$ a $, the end of the line the socket is on.
161
+ `grep -q " ${FUSE_MANAGER_SOCKET}$$" /proc/net/unix && exit 0`,
162
+ `mkdir -p ${dirname(STARGZ_SOCKET)}`,
163
+ // Its mounts, the layers it served; the overlays on any of them, the containers that ran on it.
164
+ `grep " - fuse" /proc/self/mountinfo | cut -d " " -f 5 | grep "^${STARGZ_ROOT}/snapshotter/snapshots/" > ${SERVED}`,
165
+ `grep " - overlay " /proc/self/mountinfo | grep -F -f ${SERVED} | cut -d " " -f 5 | sed -n "s|/rootfs$$||p" | xargs -r -n 1 basename > ${ON_GONE_MANAGER}`,
166
+ // The daemon's socket too, which it makes once it has mounted its snapshots' layers again, and the step after waits for.
167
+ `rm -f ${FUSE_MANAGER_SOCKET} ${FUSE_MANAGER_STORE} ${STARGZ_SOCKET}`,
168
+ `sort -r ${SERVED} | xargs -r -n 1 umount -l`,
169
+ `rm -f ${SERVED}`,
170
+ ].join("; ")}'`,
171
+ `ExecStart=${BIN}/containerd-stargz-grpc --address=${STARGZ_SOCKET} --config=${STARGZ_CONFIG} --root=${STARGZ_ROOT}`,
172
+ "# The containers listed before it started stopped at once, once it serves, as no hook of theirs can run on what",
173
+ "# serves nothing, so kubelet starts each again on the layers it mounted anew; what it costs, the containers on",
174
+ "# those mounts started again, they could read nothing anyway. Each step bounded, and the unit started however",
175
+ "# they end, a stop that fails said in its journal. Where the manager went as k3s restarts, k3s's start waits for",
176
+ "# this one's (After=), about 65 s at most, and crictl reaches no containerd: the stop fails so, and those",
177
+ "# containers run on, their reads failing, until each ends or is ended by hand.",
178
+ `ExecStartPost=-/bin/sh -c '${[
179
+ `[ -s ${ON_GONE_MANAGER} ] || { rm -f ${ON_GONE_MANAGER}; exit 0; }`,
180
+ `waited=0; until [ -S ${STARGZ_SOCKET} ] || [ "$$waited" -ge 450 ]; do sleep 0.1; waited=$$((waited + 1)); done`,
181
+ `timeout 20 xargs -n 1 ${BIN}/k3s crictl stop --timeout 0 < ${ON_GONE_MANAGER} || echo "stopping the containers on the FUSE manager gone failed: $$(xargs < ${ON_GONE_MANAGER})" >&2`,
182
+ `rm -f ${ON_GONE_MANAGER}`,
183
+ ].join("; ")}'`,
184
+ "Restart=always",
185
+ "# Its FUSE manager keeps the mounts of the images running pods read, through the daemon's restarts.",
186
+ "KillMode=process",
187
+ "",
188
+ ].join("\n")],
189
+ [K3S_DROP_IN, [
190
+ "# k3s's service, its images pulled through stargz-snapshotter's daemon: alasio up writes this file.",
191
+ "[Unit]",
192
+ `Wants=${STARGZ_SERVICE}.service`,
193
+ `After=${STARGZ_SERVICE}.service`,
194
+ "",
195
+ ].join("\n")],
119
196
  ]);
120
197
  }
121
198
  /** A digest of `files` that two sets of files share only when they are the same. */
@@ -124,13 +201,14 @@ export const filesDigest = (files) => createHash("sha256").update(JSON.stringify
124
201
  export const Firewall = Schema.Literals(["ufw", "firewalld"]);
125
202
  /**
126
203
  * What alasio installed on this machine, as STAMP records it: k3s's version, gVisor's
127
- * releases, the digest of the files that configure the node, and the firewall it opened
128
- * the cluster's networks in, with those it added a rule for itself, which are all it
129
- * removes.
204
+ * releases, stargz-snapshotter's version, the digest of the files that configure the node,
205
+ * and the firewall it opened the cluster's networks in, with those it added a rule for
206
+ * itself, which are all it removes.
130
207
  */
131
208
  export const NodeStamp = Schema.Struct({
132
209
  k3s: Schema.optionalKey(Schema.String),
133
210
  gvisor: Schema.optionalKey(Schema.Array(Schema.String)),
211
+ stargz: Schema.optionalKey(Schema.String),
134
212
  config: Schema.optionalKey(Schema.String),
135
213
  firewall: Schema.optionalKey(Schema.Struct({ tool: Firewall, networks: Schema.Array(Schema.String), added: Schema.Array(Schema.String) })),
136
214
  });
@@ -196,6 +274,8 @@ export const ConfigureNode = Schema.TaggedStruct("ConfigureNode", { config: Node
196
274
  export const InstallGvisor = Schema.TaggedStruct("InstallGvisor", { release: Schema.String, archive: Artifact });
197
275
  /** The step that stops a gVisor release's sandboxes, and removes it. */
198
276
  export const RemoveGvisor = Schema.TaggedStruct("RemoveGvisor", { release: Schema.String });
277
+ /** The step that installs stargz-snapshotter's daemon and its FUSE manager, from its release's archive, in place of `previous`. */
278
+ export const InstallStargz = Schema.TaggedStruct("InstallStargz", { version: Schema.String, previous: Schema.optionalKey(Schema.String), archive: Artifact });
199
279
  /** The step that installs k3s's binary, with its install script, which makes its service, enables it, and starts it anew. */
200
280
  export const InstallK3s = Schema.TaggedStruct("InstallK3s", {
201
281
  version: Schema.String,
@@ -214,7 +294,7 @@ export const RemoveNode = Schema.TaggedStruct("RemoveNode", { firewall: Schema.o
214
294
  export const RemoveStorage = Schema.TaggedStruct("RemoveStorage", { path: Schema.String });
215
295
  /** The step that reads k3s's kubeconfig, after restarting k3s, which renews its certificates, when `renew`. */
216
296
  export const ReadKubeconfig = Schema.TaggedStruct("ReadKubeconfig", { renew: Schema.Boolean });
217
- export const NodeStep = Schema.Union([OpenFirewall, ConfigureNode, InstallGvisor, RemoveGvisor, InstallK3s, StartK3s, StopK3s, RemoveNode, RemoveStorage, ReadKubeconfig]);
297
+ export const NodeStep = Schema.Union([OpenFirewall, ConfigureNode, InstallGvisor, RemoveGvisor, InstallStargz, InstallK3s, StartK3s, StopK3s, RemoveNode, RemoveStorage, ReadKubeconfig]);
218
298
  /** What `step` does, as alasio says it will. */
219
299
  export function describeNodeStep(step) {
220
300
  const replacing = (previous) => (previous ? `, in place of ${previous},` : "");
@@ -224,12 +304,15 @@ export function describeNodeStep(step) {
224
304
  "nothing else is opened, k3s's API server's port 6443 staying closed to the rest";
225
305
  case "ConfigureNode": {
226
306
  const runtimes = step.config.gvisor.map(gvisorHandler);
227
- return `write k3s's configuration in ${K3S_ETC}, and its containerd's, with gVisor as the runtime${runtimes.length > 1 ? "s" : ""} ${runtimes.join(" and ")}, in ${CONTAINERD}`;
307
+ return `write k3s's configuration in ${K3S_ETC}, and its containerd's, with gVisor as the runtime${runtimes.length > 1 ? "s" : ""} ${runtimes.join(" and ")}, in ${CONTAINERD}, ` +
308
+ `and stargz-snapshotter's daemon's, as the service ${STARGZ_SERVICE}, which k3s's starts`;
228
309
  }
229
310
  case "InstallGvisor":
230
311
  return `install gVisor ${step.release} in ${gvisorDirectory(step.release)}: ${GVISOR.join(", ")}`;
231
312
  case "RemoveGvisor":
232
313
  return `stop the sandboxes of gVisor ${step.release}, which alasio no longer keeps, and remove ${gvisorDirectory(step.release)}`;
314
+ case "InstallStargz":
315
+ return `install stargz-snapshotter ${step.version}${replacing(step.previous)} in ${BIN}: ${STARGZ_EXECUTABLES.join(", ")}`;
233
316
  case "InstallK3s":
234
317
  return `install k3s ${step.version}${replacing(step.previous)} in ${BIN}, with its own install script, as the systemd service ${SERVICE}, enabled and started anew`;
235
318
  case "StartK3s":
@@ -240,8 +323,8 @@ export function describeNodeStep(step) {
240
323
  return `stop the cluster's gVisor pods, ` +
241
324
  (step.firewall && step.firewall.added.length > 0 ? `remove the rules alasio added to ${step.firewall.tool} for ${step.firewall.added.join(" and ")}, ` : "") +
242
325
  `uninstall k3s with k3s-uninstall.sh, which removes its service, ${K3S_ETC} and its data, ` +
243
- `and remove what it leaves, its node's password in ${NODE_PASSWORD}, gVisor's releases in ${GVISOR_RELEASES}, and JuiceFS's mounts and directories, ` +
244
- JUICEFS.join(" and ");
326
+ `and remove what it leaves, its node's password in ${NODE_PASSWORD}, gVisor's releases in ${GVISOR_RELEASES}, stargz-snapshotter from ${BIN}, ` +
327
+ `stargz-snapshotter's service, its mounts and its images in ${STARGZ_ROOT} and its sockets in ${dirname(STARGZ_SOCKET)}, and alasio's mounts and directory, ${NODE_DIRECTORY}`;
245
328
  case "RemoveStorage":
246
329
  return `remove ${step.path}, the cluster's volumes`;
247
330
  case "ReadKubeconfig":
@@ -269,19 +352,19 @@ const killGvisor = Effect.fnUntraced(function* (releases) {
269
352
  yield* Effect.logInfo(`stopped ${killed} of gVisor's processes`);
270
353
  });
271
354
  /**
272
- * Unmounts what is mounted in JUICEFS, at once, as their FUSE clients are gone with the
273
- * cluster's pods, then removes them. A mount point's spaces and the like are octal
274
- * escapes in /proc/self/mounts.
355
+ * Unmounts what is mounted in `directories`, at once, as their FUSE servers are gone with
356
+ * the cluster's pods and stargz-snapshotter's FUSE manager, then removes them. A mount
357
+ * point's spaces and the like are octal escapes in /proc/self/mounts.
275
358
  */
276
- const removeJuicefs = Effect.gen(function* () {
359
+ const removeMounted = (directories) => Effect.gen(function* () {
277
360
  const fs = yield* FileSystem.FileSystem;
278
361
  const { root } = yield* Machine;
279
362
  const table = under(root, "/proc/self/mounts");
280
363
  const mounts = (yield* fs.exists(table)) ? (yield* fs.readFileString(table)).split("\n").map((line) => (line.split(" ")[1] ?? "").replace(/\\(\d{3})/gu, (_, code) => String.fromCharCode(Number.parseInt(code, 8)))) : [];
281
- const inside = mounts.filter((point) => JUICEFS.some((directory) => point === directory || point.startsWith(`${directory}/`))).toSorted().toReversed();
364
+ const inside = mounts.filter((point) => directories.some((directory) => point === directory || point.startsWith(`${directory}/`))).toSorted().toReversed();
282
365
  for (const point of inside)
283
366
  yield* (yield* RootSystem).run("umount", ["--lazy", point]);
284
- for (const directory of JUICEFS)
367
+ for (const directory of directories)
285
368
  yield* fs.remove(under(root, directory), { recursive: true, force: true });
286
369
  });
287
370
  /** What a firewall alasio opens the cluster's networks in is asked, and told, as root. */
@@ -359,6 +442,8 @@ export const performNodeStep = (step) => Effect.gen(function* () {
359
442
  if (name.startsWith("runsc") && name.endsWith(".toml") && !files.has(path))
360
443
  yield* fs.remove(under(root, path));
361
444
  }
445
+ // The daemon's service and k3s's drop-in, as systemd reads them anew.
446
+ yield* systemctl("daemon-reload");
362
447
  yield* recordStamp({ config: filesDigest(files) });
363
448
  return yield* Effect.logInfo(`wrote ${[...files.keys()].join(", ")}`);
364
449
  }
@@ -380,6 +465,14 @@ export const performNodeStep = (step) => Effect.gen(function* () {
380
465
  yield* recordStamp({ gvisor: ((yield* readStamp)?.gvisor ?? []).filter((release) => release !== step.release) });
381
466
  return yield* Effect.logInfo(`removed gVisor ${step.release}`);
382
467
  }
468
+ case "InstallStargz": {
469
+ const entries = tarEntries(gunzipSync(yield* verified(step.archive)));
470
+ for (const entry of entries.filter(({ name }) => STARGZ_EXECUTABLES.some((executable) => name === executable))) {
471
+ yield* writeFile(under(root, `${BIN}/${entry.name}`), entry.content, entry.mode);
472
+ }
473
+ yield* recordStamp({ stargz: step.version });
474
+ return yield* Effect.logInfo(`installed stargz-snapshotter ${step.version}`);
475
+ }
383
476
  case "InstallK3s": {
384
477
  yield* writeFile(under(root, `${BIN}/k3s`), yield* verified(step.binary), 0o755);
385
478
  const script = yield* verified(step.script);
@@ -416,18 +509,34 @@ export const performNodeStep = (step) => Effect.gen(function* () {
416
509
  yield* closeFirewall(step.firewall);
417
510
  if (yield* fs.exists(under(root, UNINSTALL)))
418
511
  yield* system.run(UNINSTALL, []);
419
- yield* removeJuicefs;
512
+ // stargz-snapshotter's daemon stopped with k3s; its FUSE manager, which keeps its mounts, stops now.
513
+ yield* system.kill([`${BIN}/stargz-fuse-manager`]);
514
+ yield* removeMounted([NODE_DIRECTORY, STARGZ_ROOT]);
420
515
  // alasio's own, and the node's password, which k3s keeps and its uninstall script leaves.
421
- for (const path of [GVISOR_RELEASES, CONFIG_YAML, REGISTRIES_YAML, STAMP, CONTAINERD, NODE_PASSWORD]) {
516
+ const owned = [
517
+ GVISOR_RELEASES,
518
+ ...STARGZ_EXECUTABLES.map((name) => `${BIN}/${name}`),
519
+ CONFIG_YAML,
520
+ REGISTRIES_YAML,
521
+ STAMP,
522
+ CONTAINERD,
523
+ NODE_PASSWORD,
524
+ STARGZ_UNIT,
525
+ dirname(K3S_DROP_IN),
526
+ dirname(STARGZ_CONFIG),
527
+ // Its FUSE manager's socket among them: the daemon starts no manager where that is, and fails to reach one.
528
+ dirname(STARGZ_SOCKET),
529
+ ];
530
+ for (const path of owned)
422
531
  yield* fs.remove(under(root, path), { recursive: true, force: true });
423
- }
532
+ yield* systemctl("daemon-reload");
424
533
  // What k3s's uninstall script leaves of the directories it made, and of alasio's, when it is empty.
425
534
  for (const path of [K3S_ETC, "/etc/rancher", "/var/lib/rancher/k3s", "/var/lib/rancher", dirname(GVISOR_RELEASES)]) {
426
535
  const at = under(root, path);
427
536
  if ((yield* fs.exists(at)) && (yield* fs.readDirectory(at)).length === 0)
428
537
  yield* fs.remove(at, { recursive: true });
429
538
  }
430
- return yield* Effect.logInfo("removed k3s and gVisor");
539
+ return yield* Effect.logInfo("removed k3s, gVisor and stargz-snapshotter");
431
540
  }
432
541
  case "RemoveStorage":
433
542
  // A path of the operator's, which they made, as the rest of their own paths.
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/cluster/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../src/cluster/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /** The snapshotter's name, which containerd's CRI pulls with. */
2
+ export const SNAPSHOTTER = "alasio-stargz";
3
+ /** Where the daemon keeps its snapshots and caches. */
4
+ export const STARGZ_ROOT = "/var/lib/containerd-stargz-grpc";
5
+ /** The daemon's socket, which containerd reaches it at. */
6
+ export const STARGZ_SOCKET = "/run/containerd-stargz-grpc/containerd-stargz-grpc.sock";
7
+ /** The daemon's configuration. */
8
+ export const STARGZ_CONFIG = "/etc/containerd-stargz-grpc/config.toml";
9
+ /**
10
+ * The soft limit of Go's on the heap of the daemon and of its FUSE manager, which inherits
11
+ * its environment. Unbounded, the manager's heap grew to 311 MB with a 2.1 GB image lazily
12
+ * mounted and fetched, and kept 184 MB once it was gone, most of it garbage not collected
13
+ * yet; at 128 MiB it held 129 MB, and starts took as long. What lives is about 45 MB of
14
+ * the manager's own, and 45 MB more for each 2 GB image mounted (measured in CI), which
15
+ * the limit does not bound: past it, Go collects more often.
16
+ */
17
+ export const STARGZ_MEMORY_LIMIT = "128MiB";
18
+ /**
19
+ * The socket of the daemon's FUSE manager, which serves the layers it mounts. The daemon
20
+ * starts a manager only where no socket is there, and mounts its snapshots' layers again
21
+ * only through one it started; one kept is taken to keep its mounts.
22
+ */
23
+ export const FUSE_MANAGER_SOCKET = "/run/containerd-stargz-grpc/fuse-manager.sock";
24
+ /**
25
+ * The FUSE manager's record of the layers it mounted, which a manager stopped removes, and
26
+ * one killed leaves. A manager started anew mounts what it records again as the daemon
27
+ * starts it; the daemon then unmounts each of its snapshots' layers and mounts it again
28
+ * through the manager, which skips each it mounted itself, so each is left with nothing
29
+ * mounted (stargz-snapshotter's restoreFuseInfo and restoreRemoteSnapshot).
30
+ */
31
+ export const FUSE_MANAGER_STORE = `${STARGZ_ROOT}/fusestore.db`;
32
+ /** The daemon's executables, as its release has them: the daemon and its FUSE manager. */
33
+ export const STARGZ_EXECUTABLES = ["containerd-stargz-grpc", "stargz-fuse-manager"];
34
+ /** `value` as a TOML string, quoted. */
35
+ const tomlString = (value) => JSON.stringify(value);
36
+ /**
37
+ * How much of a layer the daemon asks a registry for at once, as it fetches in the background
38
+ * and as a file is read: 1 MiB. At the daemon's default, 50 kB, the sessions' 2.1 GiB agent
39
+ * image, pulled lazily, was fetched whole in the background in 17 min on a runner's host,
40
+ * and had not been in 30 min in Docker, its sessions reading from the registry all that
41
+ * while, and its files read whole 5 min on took 611 to 1168 s; at 1 MiB, fetched whole in 8
42
+ * and 5 min, its files read in 186 to 413 s, its pull as quick (2 to 3 s) and a pull beside
43
+ * it no slower. 4 MiB read slower than 1 MiB.
44
+ */
45
+ const CHUNK_BYTES = 1024 * 1024;
46
+ /**
47
+ * The daemon's configuration on a node pulling through `registries`: its background fetch,
48
+ * which fetches every layer whole so a pod reads nothing from the registry once it is done,
49
+ * one layer at a time, so it takes less of the network a pod's start reads its layers
50
+ * over (in CI, a 2.1 GB image started in 0.7–1.3 s so, and 1.0–3.2 s with the
51
+ * default two), in chunks of CHUNK_BYTES; one range at a time in each request it makes of a
52
+ * registry; its FUSE manager on, which keeps its mounts; and each mirror it can reach as it
53
+ * is, ahead of the registry itself, which it reads last. Pure, for tests.
54
+ *
55
+ * One range at a time, as ghcr.io's blobs answer a request of more than one range with 501
56
+ * Not Implemented (pkg-containers.githubusercontent.com, which its blobs redirect to), which
57
+ * the daemon neither retries nor falls back from (it falls back on 400 alone, as gcr.io
58
+ * answers). A file read as its layer is fetched in the background, some of its chunks fetched
59
+ * already and others not, asks for those others at once, in ranges apart: refused so, the read
60
+ * failed with EIO in the pod, as a 9.0.0 workspace-mount's of its juicefs did in CI. Asked for
61
+ * as one range covering them, it reads again what was fetched between them, no more.
62
+ */
63
+ export function stargzConfig(registries) {
64
+ const mirrors = Object.entries(registries?.mirrors ?? {})
65
+ // `*` stands for every registry, which the daemon has no way to say.
66
+ .filter(([host, { rewrite }]) => host !== "*" && rewrite === undefined)
67
+ .flatMap(([host, { endpoint }]) => {
68
+ const reached = endpoint.map((url) => new URL(url)).filter(({ pathname }) => pathname === "/" || pathname === "");
69
+ return reached.length === 0 ? [] : [[host, reached]];
70
+ });
71
+ return [
72
+ "# stargz-snapshotter's daemon on a node alasio makes: alasio writes this file.",
73
+ "max_concurrency = 1",
74
+ "",
75
+ "[blob]",
76
+ "force_single_range_mode = true",
77
+ `chunk_size = ${CHUNK_BYTES}`,
78
+ "",
79
+ "[fuse_manager]",
80
+ "enable = true",
81
+ `address = ${tomlString(FUSE_MANAGER_SOCKET)}`,
82
+ `path = ${tomlString("/usr/local/bin/stargz-fuse-manager")}`,
83
+ ...mirrors.flatMap(([host, reached]) => reached.flatMap((url) => [
84
+ "",
85
+ `[[resolver.host.${tomlString(host)}.mirrors]]`,
86
+ `host = ${tomlString(url.host)}`,
87
+ ...(url.protocol === "http:" ? ["insecure = true"] : []),
88
+ ])),
89
+ "",
90
+ ].join("\n");
91
+ }
92
+ //# sourceMappingURL=stargz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stargz.js","sourceRoot":"","sources":["../../../../src/cluster/stargz.ts"],"names":[],"mappings":"AAmBA,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,uDAAuD;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAC7D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,yDAAyD,CAAC;AACvF,kCAAkC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AACvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,+CAA+C,CAAC;AACnF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,WAAW,eAAe,CAAC;AAChE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,wBAAwB,EAAE,qBAAqB,CAAU,CAAC;AAE7F,wCAAwC;AACxC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,UAAuB;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;QACvD,qEAAqE;SACpE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,KAAK,SAAS,CAAC;SACtE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC;QAClH,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAU,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACL,OAAO;QACL,gFAAgF;QAChF,qBAAqB;QACrB,EAAE;QACF,QAAQ;QACR,gCAAgC;QAChC,gBAAgB,WAAW,EAAE;QAC7B,EAAE;QACF,gBAAgB;QAChB,eAAe;QACf,aAAa,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAC9C,UAAU,UAAU,CAAC,oCAAoC,CAAC,EAAE;QAC5D,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACrC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACvB,EAAE;YACF,mBAAmB,UAAU,CAAC,IAAI,CAAC,YAAY;YAC/C,UAAU,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChC,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CACH;QACD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -91,14 +91,15 @@ const list = Command.make("list", {}, () => onCluster(() => Effect.gen(function*
91
91
  "whether its alasio runs, and the memory its alasio, compute and lake request and use."));
92
92
  const remove = Command.make("delete", {
93
93
  name,
94
- force: Flag.Boolean("force").pipe(Flag.withDefault(false), Flag.withDescription("Delete it even while its alasio has a turn running, or when that cannot be read")),
94
+ force: Flag.Boolean("force").pipe(Flag.withDefault(false), Flag.withDescription("Delete it even while its alasio has a turn running, or when that cannot be read, or a workspace of its sessions is bound")),
95
95
  timeout: timeoutFlag,
96
96
  }, ({ name, force, timeout }) => onCluster(() => Effect.gen(function* () {
97
97
  yield* deleteBranch(name, { force }, waitOptions(timeout));
98
98
  yield* Console.log(`The branch ${name} is deleted, with all it had; main's data is as it was.`);
99
- }))).pipe(Command.withShortDescription("Delete a branch environment"), Command.withDescription("Deletes the branch environment name: stops its alasio and lake, deletes its sessions and their volumes (JuiceFS keeps every " +
100
- "chunk main still uses), stops its compute, deletes its branch of Neon's, and its namespaces with its Secrets. It refuses " +
101
- "while the branch's alasio has a turn running, as its database says, unless --force."));
99
+ }))).pipe(Command.withShortDescription("Delete a branch environment"), Command.withDescription("Deletes the branch environment name: stops its alasio and lake, deletes its sessions' workspaces and their snapshots through " +
100
+ "the sandbox gateway, their bound pods first (JuiceFS keeps every chunk a fork shares with main's), stops its compute, deletes " +
101
+ "its branch of Neon's, and its namespaces with its Secrets. It refuses while the branch's alasio has a turn running, as its " +
102
+ "database says, or a workspace of its sessions is bound, unless --force."));
102
103
  export const branch = Command.make("branch").pipe(Command.withSubcommands([create, list, remove]), Command.withShortDescription("Run a different alasio on a copy of alasio's data"), Command.withDescription("A branch environment is a different alasio (another image, other settings) on a copy-on-write copy of alasio's data, made " +
103
104
  "in seconds without copying any: alasio's state and transcripts are a branch of its Neon, and the lake's catalog with them. " +
104
105
  "It serves a bot of its own and changes nothing of main's. What it shares with main is what is never branched: Neon's " +
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../../src/commands/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../../src/commands/branch.ts"],"names":[],"mappings":"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"}