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,10 +1,11 @@
1
1
  /**
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
- * the binary cluster/node/pins.json pins, with gVisor beside it, containerd's runtime
5
- * `runsc`, and set in /etc/rancher/k3s/config.yaml. The node image (cluster/node) is
6
- * built from the same pins, and k3s reads the same containerd template in it, so a node
7
- * in Docker and one on a machine run the same k3s and gVisor alike.
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.
8
9
  *
9
10
  * Every download is checked against its pin as the operator downloads it, and again as
10
11
  * root before it is installed. What alasio installed, and the digest of the files that
@@ -18,33 +19,51 @@
18
19
  */
19
20
  import { createHash, randomUUID } from "node:crypto";
20
21
  import { dirname } from "node:path";
21
- import { fileURLToPath } from "node:url";
22
22
  import { zstdDecompressSync } from "node:zlib";
23
23
  import { Duration, Effect, FileSystem, Option, Schedule, Schema } from "effect";
24
24
  import pins from "../../../cluster/node/pins.json" with { type: "json" };
25
+ import { CONTAINERD, GVISOR_RELEASES, gvisorDirectory, gvisorHandler } from "../../../src/node-agent/names.js";
25
26
  import { Registries } from "../config.js";
26
- import { clusterKubeconfig, KUBELET_ARGS, NotYet, registriesYaml } from "./k3s.js";
27
+ import { clusterKubeconfig, gvisorRuntimeFiles, KUBELET_ARGS, NotYet, registriesYaml } from "./k3s.js";
27
28
  import { Machine, RootSystem, under } from "./machine.js";
28
29
  import { tarEntries } from "./tar.js";
29
30
  /** This version's pins, cluster/node/pins.json's. */
30
31
  export const NODE_PINS = pins;
31
- /** Where what `pins` pins is downloaded from: k3s's binary and install script from its repository, gVisor's release from alasio's fork of it, github.com/eaucoin/gvisor. */
32
+ /** The gVisor releases `pins` pins, the current first. */
33
+ export const gvisorReleases = ({ gvisor }) => gvisor.releases.map(({ release }) => release);
34
+ /** The gVisor release `pins` pins as current, which new sandboxes run: the first; pins of none are no pins. */
35
+ export function currentGvisorRelease(pins = NODE_PINS) {
36
+ const [current] = gvisorReleases(pins);
37
+ if (current === undefined)
38
+ throw new Error("cluster/node/pins.json pins no gVisor release");
39
+ return current;
40
+ }
41
+ /**
42
+ * 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.
45
+ */
32
46
  export const downloads = ({ k3s, gvisor }) => ({
33
47
  k3s: { url: `https://github.com/k3s-io/k3s/releases/download/${encodeURIComponent(k3s.version)}/k3s`, algorithm: "sha256", digest: k3s.sha256 },
34
48
  installScript: { url: `https://raw.githubusercontent.com/k3s-io/k3s/${k3s.installScript.commit}/install.sh`, algorithm: "sha256", digest: k3s.installScript.sha256 },
35
- gvisor: { url: `https://github.com/eaucoin/gvisor/releases/download/release-${encodeURIComponent(gvisor.release)}/gvisor-x86_64.tar.zstd`, algorithm: "sha512", digest: gvisor.sha512 },
49
+ gvisor: new Map(gvisor.releases.map(({ release, sha512 }) => [
50
+ release,
51
+ { url: `https://github.com/eaucoin/gvisor/releases/download/release-${encodeURIComponent(release)}/gvisor-x86_64.tar.zstd`, algorithm: "sha512", digest: sha512 },
52
+ ])),
36
53
  });
37
54
  const BIN = "/usr/local/bin";
38
55
  const K3S_ETC = "/etc/rancher/k3s";
39
56
  const CONFIG_YAML = `${K3S_ETC}/config.yaml`;
40
57
  const REGISTRIES_YAML = `${K3S_ETC}/registries.yaml`;
41
- /** What alasio installed, and the digest of the files that configure the node. */
58
+ /**
59
+ * What alasio installed, and the digest of the files that configure the node. Not the
60
+ * CPU baseline sessions are held to, which is the cluster's, of every node of it, and
61
+ * recorded in it (../cpu-baseline.ts): a cluster in Docker or of a kubeconfig has no
62
+ * stamp, and the other nodes of a cluster on this machine are not described by its stamp.
63
+ */
42
64
  const STAMP = `${K3S_ETC}/alasio.json`;
43
65
  /** The kubeconfig k3s writes, root's alone. */
44
66
  const K3S_KUBECONFIG = `${K3S_ETC}/k3s.yaml`;
45
- const CONTAINERD = "/var/lib/rancher/k3s/agent/etc/containerd";
46
- /** runsc's options, which the containerd template names where systemd runs the machine. */
47
- export const RUNSC_TOML = `${CONTAINERD}/runsc.toml`;
48
67
  /** The systemd service k3s's install script makes. */
49
68
  export const SERVICE = "k3s";
50
69
  const SERVICE_FILE = `/etc/systemd/system/${SERVICE}.service`;
@@ -55,28 +74,37 @@ const UNINSTALL = `${BIN}/k3s-uninstall.sh`;
55
74
  /** The networks of the cluster's pods and Services, as k3s is set with them: k3s's own. */
56
75
  const CLUSTER_CIDR = "10.42.0.0/16";
57
76
  const SERVICE_CIDR = "10.43.0.0/16";
58
- /** What a firewall must let in to the machine from the cluster: its pods and its Services, as k3s's requirements say. */
77
+ /**
78
+ * What a firewall must let in to the machine from the cluster: its pods and its Services,
79
+ * as k3s's requirements say; and nothing more. The webhook intake's port is no rule of a
80
+ * firewall's: what reaches a pod's host port kube-router's NetworkPolicy chain accepts in
81
+ * FORWARD ahead of ufw's or firewalld's rules, which never see it, so the intake's
82
+ * NetworkPolicy, admitting webhook.sources alone, is what guards it
83
+ * (cli/src/manifests/network-policies.ts).
84
+ */
59
85
  export const CLUSTER_NETWORKS = [CLUSTER_CIDR, SERVICE_CIDR];
60
86
  /** The directories JuiceFS's CSI driver keeps on the node, its mounts in them, which nothing of k3s's removes. */
61
87
  const JUICEFS = ["/var/lib/juicefs", "/run/juicefs-csi"];
62
- /** What alasio installs of gVisor's release, in BIN: runsc and its shim, and the binaries runsc runs beside it. */
88
+ /** What alasio installs of a gVisor release, in the release's directory: runsc and its shim, and the binaries runsc runs beside it. */
63
89
  const GVISOR = ["runsc", "containerd-shim-runsc-v1", "gvisor-bin"];
64
- /** The containerd template, cluster/node's, as this package has it. */
65
- const TEMPLATE_SOURCE = new URL("../../../cluster/node/config-v3.toml.tmpl", import.meta.url);
66
- /** How a node is made: a server, its volumes in `storagePath`, pulling through `registries`. */
90
+ /**
91
+ * How a node is made: a server, its volumes in `storagePath`, pulling through
92
+ * `registries`, its containerd running each of the gVisor releases `gvisor`, the current
93
+ * first.
94
+ */
67
95
  export const NodeConfig = Schema.Struct({
68
96
  role: Schema.Literal("server"),
69
97
  storagePath: Schema.String,
70
98
  registries: Schema.optionalKey(Registries),
99
+ gvisor: Schema.Array(Schema.String),
71
100
  });
72
- /** The containerd template, which registers gVisor as the runtime `runsc`. */
73
- export const containerdTemplate = Effect.flatMap(FileSystem.FileSystem, (fs) => fs.readFileString(fileURLToPath(TEMPLATE_SOURCE)));
74
101
  /**
75
- * The files that make k3s and its containerd a node of `config`, by their paths, with the
76
- * containerd template `template`: k3s's config.yaml, written as JSON, which YAML reads as
77
- * it is, the registries, the template, and runsc's options. Pure, for tests.
102
+ * 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.
78
106
  */
79
- export function nodeFiles(config, template) {
107
+ export function nodeFiles(config) {
80
108
  const k3s = {
81
109
  "disable": ["traefik"],
82
110
  "cluster-cidr": CLUSTER_CIDR,
@@ -87,8 +115,7 @@ export function nodeFiles(config, template) {
87
115
  return new Map([
88
116
  [CONFIG_YAML, `# k3s as alasio's cluster runs it: alasio up writes this file.\n${JSON.stringify(k3s)}\n`],
89
117
  ...(config.registries ? [[REGISTRIES_YAML, `${registriesYaml(config.registries)}\n`]] : []),
90
- [`${CONTAINERD}/config-v3.toml.tmpl`, template],
91
- [RUNSC_TOML, `# runsc's options where systemd runs the machine: its sandboxes' cgroups placed through systemd.\n[runsc_config]\n systemd-cgroup = "true"\n`],
118
+ ...gvisorRuntimeFiles(config.gvisor, { systemd: true }),
92
119
  ]);
93
120
  }
94
121
  /** A digest of `files` that two sets of files share only when they are the same. */
@@ -97,13 +124,13 @@ export const filesDigest = (files) => createHash("sha256").update(JSON.stringify
97
124
  export const Firewall = Schema.Literals(["ufw", "firewalld"]);
98
125
  /**
99
126
  * What alasio installed on this machine, as STAMP records it: k3s's version, gVisor's
100
- * release, the digest of the files that configure the node, and the firewall it opened
127
+ * releases, the digest of the files that configure the node, and the firewall it opened
101
128
  * the cluster's networks in, with those it added a rule for itself, which are all it
102
129
  * removes.
103
130
  */
104
131
  export const NodeStamp = Schema.Struct({
105
132
  k3s: Schema.optionalKey(Schema.String),
106
- gvisor: Schema.optionalKey(Schema.String),
133
+ gvisor: Schema.optionalKey(Schema.Array(Schema.String)),
107
134
  config: Schema.optionalKey(Schema.String),
108
135
  firewall: Schema.optionalKey(Schema.Struct({ tool: Firewall, networks: Schema.Array(Schema.String), added: Schema.Array(Schema.String) })),
109
136
  });
@@ -165,8 +192,10 @@ const writeFile = Effect.fnUntraced(function* (path, content, mode) {
165
192
  export const OpenFirewall = Schema.TaggedStruct("OpenFirewall", { firewall: Firewall, networks: Schema.Array(Schema.String) });
166
193
  /** The step that writes the files that configure k3s and its containerd as a node of `config`. */
167
194
  export const ConfigureNode = Schema.TaggedStruct("ConfigureNode", { config: NodeConfig });
168
- /** The step that installs gVisor's release, from its archive, in place of `previous`. */
169
- export const InstallGvisor = Schema.TaggedStruct("InstallGvisor", { release: Schema.String, previous: Schema.optionalKey(Schema.String), archive: Artifact });
195
+ /** The step that installs a gVisor release, from its archive, in a directory of its own. */
196
+ export const InstallGvisor = Schema.TaggedStruct("InstallGvisor", { release: Schema.String, archive: Artifact });
197
+ /** The step that stops a gVisor release's sandboxes, and removes it. */
198
+ export const RemoveGvisor = Schema.TaggedStruct("RemoveGvisor", { release: Schema.String });
170
199
  /** The step that installs k3s's binary, with its install script, which makes its service, enables it, and starts it anew. */
171
200
  export const InstallK3s = Schema.TaggedStruct("InstallK3s", {
172
201
  version: Schema.String,
@@ -179,13 +208,13 @@ export const InstallK3s = Schema.TaggedStruct("InstallK3s", {
179
208
  export const StartK3s = Schema.TaggedStruct("StartK3s", { restart: Schema.Boolean });
180
209
  /** The step that stops k3s's service, disabling it, and stops its pods. */
181
210
  export const StopK3s = Schema.TaggedStruct("StopK3s", {});
182
- /** The step that removes k3s, with its uninstall script, gVisor, and the firewall's rules for the cluster's networks alasio added, by STAMP's `firewall`. */
211
+ /** The step that removes k3s, with its uninstall script, gVisor's releases, and the firewall's rules for the cluster's networks alasio added, by STAMP's `firewall`. */
183
212
  export const RemoveNode = Schema.TaggedStruct("RemoveNode", { firewall: Schema.optionalKey(Schema.Struct({ tool: Firewall, added: Schema.Array(Schema.String) })) });
184
213
  /** The step that removes the directory of the node's volumes. */
185
214
  export const RemoveStorage = Schema.TaggedStruct("RemoveStorage", { path: Schema.String });
186
215
  /** The step that reads k3s's kubeconfig, after restarting k3s, which renews its certificates, when `renew`. */
187
216
  export const ReadKubeconfig = Schema.TaggedStruct("ReadKubeconfig", { renew: Schema.Boolean });
188
- export const NodeStep = Schema.Union([OpenFirewall, ConfigureNode, InstallGvisor, InstallK3s, StartK3s, StopK3s, RemoveNode, RemoveStorage, ReadKubeconfig]);
217
+ export const NodeStep = Schema.Union([OpenFirewall, ConfigureNode, InstallGvisor, RemoveGvisor, InstallK3s, StartK3s, StopK3s, RemoveNode, RemoveStorage, ReadKubeconfig]);
189
218
  /** What `step` does, as alasio says it will. */
190
219
  export function describeNodeStep(step) {
191
220
  const replacing = (previous) => (previous ? `, in place of ${previous},` : "");
@@ -193,10 +222,14 @@ export function describeNodeStep(step) {
193
222
  case "OpenFirewall":
194
223
  return `let the cluster's pods and Services, ${step.networks.join(" and ")}, in to this machine through ${step.firewall}, as k3s needs; ` +
195
224
  "nothing else is opened, k3s's API server's port 6443 staying closed to the rest";
196
- case "ConfigureNode":
197
- return `write k3s's configuration in ${K3S_ETC}, and its containerd's, with gVisor as the runtime runsc, in ${CONTAINERD}`;
225
+ case "ConfigureNode": {
226
+ 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}`;
228
+ }
198
229
  case "InstallGvisor":
199
- return `install gVisor ${step.release}${replacing(step.previous)} in ${BIN}: ${GVISOR.join(", ")}`;
230
+ return `install gVisor ${step.release} in ${gvisorDirectory(step.release)}: ${GVISOR.join(", ")}`;
231
+ case "RemoveGvisor":
232
+ return `stop the sandboxes of gVisor ${step.release}, which alasio no longer keeps, and remove ${gvisorDirectory(step.release)}`;
200
233
  case "InstallK3s":
201
234
  return `install k3s ${step.version}${replacing(step.previous)} in ${BIN}, with its own install script, as the systemd service ${SERVICE}, enabled and started anew`;
202
235
  case "StartK3s":
@@ -207,7 +240,7 @@ export function describeNodeStep(step) {
207
240
  return `stop the cluster's gVisor pods, ` +
208
241
  (step.firewall && step.firewall.added.length > 0 ? `remove the rules alasio added to ${step.firewall.tool} for ${step.firewall.added.join(" and ")}, ` : "") +
209
242
  `uninstall k3s with k3s-uninstall.sh, which removes its service, ${K3S_ETC} and its data, ` +
210
- `and remove what it leaves, its node's password in ${NODE_PASSWORD}, gVisor from ${BIN}, and JuiceFS's mounts and directories, ` +
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, ` +
211
244
  JUICEFS.join(" and ");
212
245
  case "RemoveStorage":
213
246
  return `remove ${step.path}, the cluster's volumes`;
@@ -215,17 +248,23 @@ export function describeNodeStep(step) {
215
248
  return `${step.renew ? `restart the service ${SERVICE}, which renews its certificates, and ` : ""}read its kubeconfig, ${K3S_KUBECONFIG}, for alasio to reach it`;
216
249
  }
217
250
  }
218
- /** gVisor's executables, as this machine names them, which its processes run. */
219
- const gvisorExecutables = Effect.gen(function* () {
251
+ /** The names in the directory `path` of this machine; none when it is not there. */
252
+ const namesIn = Effect.fnUntraced(function* (path) {
220
253
  const fs = yield* FileSystem.FileSystem;
221
254
  const { root } = yield* Machine;
222
- const bin = under(root, `${BIN}/gvisor-bin`);
223
- const beside = (yield* fs.exists(bin)) ? (yield* fs.readDirectory(bin)).map((name) => `${BIN}/gvisor-bin/${name}`) : [];
224
- return [`${BIN}/runsc`, `${BIN}/containerd-shim-runsc-v1`, ...beside];
255
+ return (yield* fs.exists(under(root, path))) ? yield* fs.readDirectory(under(root, path)) : [];
225
256
  });
226
- /** Kills gVisor's processes, the cluster's sandboxes and their shims, which k3s's own scripts do not stop. */
227
- const killGvisor = Effect.gen(function* () {
228
- const killed = yield* (yield* RootSystem).kill(yield* gvisorExecutables);
257
+ /** The gVisor releases installed on this machine, by their directories. */
258
+ const installedGvisor = namesIn(GVISOR_RELEASES);
259
+ /** The executables of gVisor's `release`, as this machine names them, which its processes run. */
260
+ const gvisorExecutables = Effect.fnUntraced(function* (release) {
261
+ const directory = gvisorDirectory(release);
262
+ const beside = (yield* namesIn(`${directory}/gvisor-bin`)).map((name) => `${directory}/gvisor-bin/${name}`);
263
+ return [`${directory}/runsc`, `${directory}/containerd-shim-runsc-v1`, ...beside];
264
+ });
265
+ /** Kills the processes of gVisor's `releases`, their sandboxes and shims, which k3s's own scripts do not stop. */
266
+ const killGvisor = Effect.fnUntraced(function* (releases) {
267
+ const killed = yield* (yield* RootSystem).kill((yield* Effect.forEach(releases, gvisorExecutables)).flat());
229
268
  if (killed > 0)
230
269
  yield* Effect.logInfo(`stopped ${killed} of gVisor's processes`);
231
270
  });
@@ -309,26 +348,38 @@ export const performNodeStep = (step) => Effect.gen(function* () {
309
348
  return yield* Effect.logInfo(`${step.firewall} lets ${step.networks.join(" and ")} in`);
310
349
  }
311
350
  case "ConfigureNode": {
312
- const files = nodeFiles(step.config, yield* containerdTemplate);
351
+ const files = nodeFiles(step.config);
313
352
  for (const [path, content] of files)
314
353
  yield* writeFile(under(root, path), content, path.startsWith(K3S_ETC) ? 0o600 : 0o644);
315
354
  if (!files.has(REGISTRIES_YAML))
316
355
  yield* fs.remove(under(root, REGISTRIES_YAML), { force: true });
356
+ // runsc's options for the releases containerd no longer runs; containerd's own config.toml, k3s's, stays.
357
+ for (const name of yield* namesIn(CONTAINERD)) {
358
+ const path = `${CONTAINERD}/${name}`;
359
+ if (name.startsWith("runsc") && name.endsWith(".toml") && !files.has(path))
360
+ yield* fs.remove(under(root, path));
361
+ }
317
362
  yield* recordStamp({ config: filesDigest(files) });
318
363
  return yield* Effect.logInfo(`wrote ${[...files.keys()].join(", ")}`);
319
364
  }
320
365
  case "InstallGvisor": {
321
366
  const entries = tarEntries(Buffer.from(zstdDecompressSync(yield* verified(step.archive))));
322
367
  for (const entry of entries.filter(({ name }) => GVISOR.some((installed) => name === installed || name.startsWith(`${installed}/`)))) {
323
- const path = under(root, `${BIN}/${entry.name.replace(/\/$/u, "")}`);
368
+ const path = under(root, `${gvisorDirectory(step.release)}/${entry.name.replace(/\/$/u, "")}`);
324
369
  if (entry.type === "directory")
325
370
  yield* fs.makeDirectory(path, { recursive: true, mode: entry.mode });
326
371
  else
327
372
  yield* writeFile(path, entry.content, entry.mode);
328
373
  }
329
- yield* recordStamp({ gvisor: step.release });
374
+ yield* recordStamp({ gvisor: [...((yield* readStamp)?.gvisor ?? []).filter((release) => release !== step.release), step.release] });
330
375
  return yield* Effect.logInfo(`installed gVisor ${step.release}`);
331
376
  }
377
+ case "RemoveGvisor": {
378
+ yield* killGvisor([step.release]);
379
+ yield* fs.remove(under(root, gvisorDirectory(step.release)), { recursive: true, force: true });
380
+ yield* recordStamp({ gvisor: ((yield* readStamp)?.gvisor ?? []).filter((release) => release !== step.release) });
381
+ return yield* Effect.logInfo(`removed gVisor ${step.release}`);
382
+ }
332
383
  case "InstallK3s": {
333
384
  yield* writeFile(under(root, `${BIN}/k3s`), yield* verified(step.binary), 0o755);
334
385
  const script = yield* verified(step.script);
@@ -351,7 +402,7 @@ export const performNodeStep = (step) => Effect.gen(function* () {
351
402
  return yield* (step.restart ? systemctl("restart", SERVICE) : systemctl("enable", "--now", SERVICE));
352
403
  case "StopK3s": {
353
404
  yield* systemctl("disable", "--now", SERVICE);
354
- yield* killGvisor;
405
+ yield* killGvisor(yield* installedGvisor);
355
406
  if (yield* fs.exists(under(root, KILLALL)))
356
407
  yield* system.run(KILLALL, []);
357
408
  return;
@@ -360,18 +411,18 @@ export const performNodeStep = (step) => Effect.gen(function* () {
360
411
  // k3s first, which would start the pods gVisor's end again.
361
412
  if (yield* serviceInstalled)
362
413
  yield* systemctl("stop", SERVICE);
363
- yield* killGvisor;
414
+ yield* killGvisor(yield* installedGvisor);
364
415
  if (step.firewall)
365
416
  yield* closeFirewall(step.firewall);
366
417
  if (yield* fs.exists(under(root, UNINSTALL)))
367
418
  yield* system.run(UNINSTALL, []);
368
419
  yield* removeJuicefs;
369
420
  // alasio's own, and the node's password, which k3s keeps and its uninstall script leaves.
370
- for (const path of [...GVISOR.map((name) => `${BIN}/${name}`), CONFIG_YAML, REGISTRIES_YAML, STAMP, CONTAINERD, NODE_PASSWORD]) {
421
+ for (const path of [GVISOR_RELEASES, CONFIG_YAML, REGISTRIES_YAML, STAMP, CONTAINERD, NODE_PASSWORD]) {
371
422
  yield* fs.remove(under(root, path), { recursive: true, force: true });
372
423
  }
373
- // What k3s's uninstall script leaves of the directories it made, when it is empty.
374
- for (const path of [K3S_ETC, "/etc/rancher", "/var/lib/rancher/k3s", "/var/lib/rancher"]) {
424
+ // What k3s's uninstall script leaves of the directories it made, and of alasio's, when it is empty.
425
+ for (const path of [K3S_ETC, "/etc/rancher", "/var/lib/rancher/k3s", "/var/lib/rancher", dirname(GVISOR_RELEASES)]) {
375
426
  const at = under(root, path);
376
427
  if ((yield* fs.exists(at)) && (yield* fs.readDirectory(at)).length === 0)
377
428
  yield* fs.remove(at, { recursive: true });
@@ -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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"}
@@ -1,5 +1,8 @@
1
- /** The entries of a tar archive, as Docker's archive endpoint and gVisor's release send them. */
1
+ /** Tar archives: read, as Docker's archive endpoint and gVisor's release send them, and written, as Docker's archive endpoint takes them. */
2
2
  const BLOCK = 512;
3
+ /** The most a header's name, and its prefix, hold. */
4
+ const NAME_SIZE = 100;
5
+ const PREFIX_SIZE = 155;
3
6
  /** A NUL-terminated field of a header, as text. */
4
7
  const field = (header, start, end) => header.toString("latin1", start, end).replace(/\0.*$/su, "");
5
8
  /**
@@ -29,4 +32,43 @@ export function tarEntries(tar) {
29
32
  }
30
33
  return entries;
31
34
  }
35
+ /** `value` in octal, as a header's numeric field of `width` bytes holds it: zero-padded, then NUL. */
36
+ const octal = (value, width) => `${value.toString(8).padStart(width - 1, "0")}\0`;
37
+ /**
38
+ * `name` as a POSIX header holds it: its prefix, and the rest, split at a slash when it is
39
+ * longer than a header's name; a directory's own trailing slash stays with the rest.
40
+ */
41
+ function splitName(name) {
42
+ if (name.length <= NAME_SIZE)
43
+ return { prefix: "", rest: name };
44
+ const at = name.slice(0, -1).indexOf("/", name.length - NAME_SIZE - 1);
45
+ if (at <= 0 || at > PREFIX_SIZE)
46
+ throw new Error(`${name} is too long a name for a tar archive's header`);
47
+ return { prefix: name.slice(0, at), rest: name.slice(at + 1) };
48
+ }
49
+ /** The POSIX header of `entry`, owned by root, from the epoch. */
50
+ function header({ name, type, mode, content }) {
51
+ const block = Buffer.alloc(BLOCK);
52
+ const { prefix, rest } = splitName(name);
53
+ block.write(rest, 0, NAME_SIZE, "latin1");
54
+ block.write(octal(mode, 8), 100, "latin1");
55
+ block.write(octal(0, 8), 108, "latin1");
56
+ block.write(octal(0, 8), 116, "latin1");
57
+ block.write(octal(content.length, 12), 124, "latin1");
58
+ block.write(octal(0, 12), 136, "latin1");
59
+ block.write(type === "file" ? "0" : "5", 156, "latin1");
60
+ block.write("ustar\u000000", 257, "latin1");
61
+ block.write(prefix, 345, PREFIX_SIZE, "latin1");
62
+ // The checksum is the sum of the header's bytes with its own field as spaces, its last one kept.
63
+ block.write(" ".repeat(8), 148, "latin1");
64
+ block.write(octal(block.reduce((sum, byte) => sum + byte, 0), 7), 148, "latin1");
65
+ return block;
66
+ }
67
+ /** The POSIX tar archive of `entries`, in order: each one's header, then its content, padded to a block. */
68
+ export function tarArchive(entries) {
69
+ return Buffer.concat([
70
+ ...entries.flatMap((entry) => [header(entry), entry.content, Buffer.alloc((BLOCK - (entry.content.length % BLOCK)) % BLOCK)]),
71
+ Buffer.alloc(2 * BLOCK),
72
+ ]);
73
+ }
32
74
  //# sourceMappingURL=tar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tar.js","sourceRoot":"","sources":["../../../../src/cluster/tar.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAUjG,MAAM,KAAK,GAAG,GAAG,CAAC;AAElB,mDAAmD;AACnD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAEnI;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QACpD,kCAAkC;QAClC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;YAAE,MAAM;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,8FAA8F;QAC9F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QAC7B,8CAA8C;QAC9C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACxH,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"tar.js","sourceRoot":"","sources":["../../../../src/cluster/tar.ts"],"names":[],"mappings":"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"}
@@ -82,11 +82,13 @@ const list = Command.make("list", {}, () => onCluster(() => Effect.gen(function*
82
82
  const now = Date.now();
83
83
  for (const branch of branches) {
84
84
  const old = branch.createdAt === null ? "of no age known" : `${age(new Date(branch.createdAt), now)} old`;
85
+ const made = branch.version === null ? "" : `, made by alasio ${branch.version}`;
85
86
  const alasio = branch.ready === null ? "no alasio" : branch.ready ? "its alasio ready" : "its alasio not ready";
86
87
  const memory = `${memoryText(branch.requested)} requested${branch.used === null ? "" : `, ${memoryText(branch.used)} used`}`;
87
- yield* Console.log(`${branch.name}: a branch of ${branch.parent ?? "nothing Neon has"}, ${old}, ${alasio}, ${memory}${branch.neon && branch.neon !== "ready" ? `, Neon's branch ${branch.neon}` : ""}`);
88
+ yield* Console.log(`${branch.name}: a branch of ${branch.parent ?? "nothing Neon has"}, ${old}${made}, ${alasio}, ${memory}${branch.neon && branch.neon !== "ready" ? `, Neon's branch ${branch.neon}` : ""}`);
88
89
  }
89
- }))).pipe(Command.withShortDescription("List the branch environments"), Command.withDescription("Says each branch environment's name, what it is a branch of, its age, whether its alasio runs, and the memory its alasio, compute and lake request and use."));
90
+ }))).pipe(Command.withShortDescription("List the branch environments"), Command.withDescription("Says each branch environment's name, what it is a branch of, its age, the release of alasio that made it, " +
91
+ "whether its alasio runs, and the memory its alasio, compute and lake request and use."));
90
92
  const remove = Command.make("delete", {
91
93
  name,
92
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")),
@@ -111,5 +113,7 @@ export const branch = Command.make("branch").pipe(Command.withSubcommands([creat
111
113
  "cannot be narrowed: its lake has main's object store identity, as it reads main's files where they are and SeaweedFS's " +
112
114
  "write permission deletes too; and its compute has Neon's storage token, the tenant's, as Neon's storage has no " +
113
115
  "narrower one. A branch's pods reach main's storage services and nothing else of main's. A branch takes about the " +
114
- "memory main's alasio, compute and lake take. Branches live until deleted."));
116
+ "memory main's alasio, compute and lake take. Branches live until deleted, each on the release of alasio that made it: " +
117
+ "alasio upgrade upgrades main alone, and refuses while a branch another release made exists, which would not run on what " +
118
+ "it changes; deleted first, a branch is made again on the upgraded release."));
115
119
  //# sourceMappingURL=branch.js.map
@@ -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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"}