@usine/executor 0.4.1-next.245.g4f37e20 → 0.4.1-next.246.gd1fd769

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 (46) hide show
  1. package/README.md +3 -1
  2. package/dist/remote/commands.d.ts.map +1 -1
  3. package/dist/remote/commands.js +7 -1
  4. package/dist/remote/commands.js.map +1 -1
  5. package/dist/remote/container.d.ts +1 -0
  6. package/dist/remote/container.d.ts.map +1 -1
  7. package/dist/remote/container.js +4 -0
  8. package/dist/remote/container.js.map +1 -1
  9. package/dist/ssh/container.d.ts.map +1 -1
  10. package/dist/ssh/container.js +15 -1
  11. package/dist/ssh/container.js.map +1 -1
  12. package/dist/ssh/gateway/attachments.d.ts.map +1 -1
  13. package/dist/ssh/gateway/attachments.js +1 -0
  14. package/dist/ssh/gateway/attachments.js.map +1 -1
  15. package/dist/ssh/gateway/environment.d.ts +2 -1
  16. package/dist/ssh/gateway/environment.d.ts.map +1 -1
  17. package/dist/ssh/gateway/environment.js +1 -1
  18. package/dist/ssh/gateway/environment.js.map +1 -1
  19. package/dist/ssh/gateway/preflight.js +2 -1
  20. package/dist/ssh/gateway/preflight.js.map +1 -1
  21. package/dist/ssh/model.d.ts +15 -3
  22. package/dist/ssh/model.d.ts.map +1 -1
  23. package/dist/ssh/model.js +5 -1
  24. package/dist/ssh/model.js.map +1 -1
  25. package/dist/ssh/provisioner/boat.d.ts +2 -2
  26. package/dist/ssh/provisioner/boat.d.ts.map +1 -1
  27. package/dist/ssh/provisioner/boat.js +20 -2
  28. package/dist/ssh/provisioner/boat.js.map +1 -1
  29. package/dist/ssh/provisioner/machines.d.ts.map +1 -1
  30. package/dist/ssh/provisioner/machines.js +9 -6
  31. package/dist/ssh/provisioner/machines.js.map +1 -1
  32. package/dist/ssh/provisioner/tailnet/bootstrap.d.ts +12 -0
  33. package/dist/ssh/provisioner/tailnet/bootstrap.d.ts.map +1 -0
  34. package/dist/ssh/provisioner/tailnet/bootstrap.js +121 -0
  35. package/dist/ssh/provisioner/tailnet/bootstrap.js.map +1 -0
  36. package/dist/ssh/provisioner/tailnet/client.d.ts +9 -0
  37. package/dist/ssh/provisioner/tailnet/client.d.ts.map +1 -0
  38. package/dist/ssh/provisioner/tailnet/client.js +78 -0
  39. package/dist/ssh/provisioner/tailnet/client.js.map +1 -0
  40. package/dist/ssh/ssh.d.ts +1 -1
  41. package/dist/ssh/ssh.d.ts.map +1 -1
  42. package/dist/ssh/ssh.js.map +1 -1
  43. package/dist/ssh/workers.d.ts.map +1 -1
  44. package/dist/ssh/workers.js +6 -2
  45. package/dist/ssh/workers.js.map +1 -1
  46. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"boat.d.ts","sourceRoot":"","sources":["../../../src/ssh/provisioner/boat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAY,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACL,uBAAuB,EAEvB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,WAAW,EAChB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,yBAAyB;AACzB,eAAO,MAAM,QAAQ,4BAA4B,CAAC;AA+FlD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,WAChB,UAAU,YACR,eAAe,aACd,MAAM,SACX,MAAM;;;;;;;;;;;;;;;;;sDAsPV,CAAC"}
1
+ {"version":3,"file":"boat.d.ts","sourceRoot":"","sources":["../../../src/ssh/provisioner/boat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAY,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAC1D,OAAO,EACL,uBAAuB,EAEvB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,WAAW,EAChB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,yBAAyB;AACzB,eAAO,MAAM,QAAQ,4BAA4B,CAAC;AAsGlD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,WAChB,UAAU,YACR,eAAe,aACd,MAAM,SACX,MAAM;;;;;;;;;;;;;;;;;sDAqQV,CAAC"}
@@ -14,6 +14,12 @@ const Sandbox = Schema.Struct({
14
14
  error: Schema.optionalKey(Schema.NullOr(Schema.String)),
15
15
  createdAt: Schema.optionalKey(Schema.NullOr(Schema.String)),
16
16
  });
17
+ const SavedSnapshot = Schema.Struct({
18
+ snapshot: Schema.Struct({
19
+ name: Schema.String,
20
+ status: Schema.Literals(["saving", "ready", "failed"]),
21
+ }),
22
+ });
17
23
  const OneSandbox = Schema.Struct({ sandbox: Sandbox });
18
24
  const SandboxList = Schema.Struct({
19
25
  sandboxes: Schema.Array(Sandbox),
@@ -85,7 +91,7 @@ const destinationOf = (answer) => {
85
91
  * Returns the Boat driver for `worker`'s sandboxes (#550). Each sandbox is created with none of
86
92
  * the account's secrets (`noEnv`), no snapshots, which Boat can store outside the EU, no command
87
93
  * monitoring, and no automatic stop, and the executor deletes it. Its name carries the instance,
88
- * Worker, Run, creating process, and Attempt, because Boat has no labels. `publicKey` is the
94
+ * Worker, Run, creating process, and Attempt, for recovery by earlier releases. `publicKey` is the
89
95
  * OpenSSH public key each sandbox authorizes.
90
96
  */
91
97
  export const boatDriverFor = (worker, settings, publicKey, base = BOAT_API) => Effect.gen(function* () {
@@ -101,6 +107,13 @@ export const boatDriverFor = (worker, settings, publicKey, base = BOAT_API) => E
101
107
  const verify = Effect.fn("BoatDriver.verify")(function* (_worker, maxConcurrentAttempts) {
102
108
  yield* Effect.annotateCurrentSpan({ worker, maxConcurrentAttempts });
103
109
  yield* api.send("GET", "/me");
110
+ if (Option.isSome(settings.snapshot)) {
111
+ const { snapshot } = yield* api
112
+ .send("GET", `/saved-snapshots/${settings.snapshot.value}`)
113
+ .pipe(Effect.flatMap(api.decode(SavedSnapshot, "read the saved snapshot")));
114
+ if (snapshot.status !== "ready")
115
+ return yield* providerGap(`Boat snapshot "${settings.snapshot.value}" is ${snapshot.status}; wait for it to be ready or rebuild it.`, new Error(`snapshot ${snapshot.status}`));
116
+ }
104
117
  const limits = yield* api
105
118
  .send("GET", "/limits")
106
119
  .pipe(Effect.flatMap(api.decode(Limits, "read the limits")));
@@ -137,11 +150,16 @@ export const boatDriverFor = (worker, settings, publicKey, base = BOAT_API) => E
137
150
  ? `Boat refused the API key of worker "${worker}". Create one with boat api-key create, and set it in provisioner.token_env.`
138
151
  : `Boat refused a preflight request of worker "${worker}": ${failureText(failure)}`, failure)),
139
152
  })));
140
- const create = Effect.fn("BoatDriver.create")(function* (_name, tags) {
153
+ const create = Effect.fn("BoatDriver.create")(function* (name, tags) {
141
154
  yield* Effect.annotateCurrentSpan({ worker, run: tags.run });
142
155
  const response = yield* api.send("POST", "/sandboxes", {
156
+ headers: { "Idempotency-Key": name },
143
157
  body: {
144
158
  type: settings.size,
159
+ ...Option.match(settings.snapshot, {
160
+ onNone: () => ({}),
161
+ onSome: (from) => ({ from }),
162
+ }),
145
163
  name: nameOf(tags),
146
164
  ttlSeconds: null,
147
165
  noEnv: true,
@@ -1 +1 @@
1
- {"version":3,"file":"boat.js","sourceRoot":"","sources":["../../../src/ssh/provisioner/boat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boat.js","sourceRoot":"","sources":["../../../src/ssh/provisioner/boat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/ssh/provisioner/machines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAEV,SAAS,EAET,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAKL,MAAM,EAEN,UAAU,EACV,MAAM,EACN,IAAI,EAIL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,KAAK,aAAa,EAClB,sBAAsB,EAEtB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,KAAK,eAAe,EACpB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAClG,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,YAAY,CAAC;AA+FpB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,aAAa,KACnB,UAAU,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,CACtB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,qBAAqB,EAAE,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CACrB,kBAAkB,EAClB,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,qBAAqB,CAC5F,CAAC;CACH;AAqBD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;8BA+vBA,UAAU,aAAa,SAAS;;;;;;;;yBAuErC,UAAU;gKAuBtC,CAAC"}
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/ssh/provisioner/machines.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAEV,SAAS,EAET,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAKL,MAAM,EAEN,UAAU,EACV,MAAM,EACN,IAAI,EAIL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,KAAK,aAAa,EAClB,sBAAsB,EAEtB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,KAAK,eAAe,EACpB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAClG,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,YAAY,CAAC;AA2FpB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,aAAa,KACnB,UAAU,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,CACtB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,qBAAqB,EAAE,MAAM,KAC1B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CACrB,kBAAkB,EAClB,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,qBAAqB,CAC5F,CAAC;CACH;AAqBD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;8BAqwBA,UAAU,aAAa,SAAS;;;;;;;;yBAwErC,UAAU;gKAuBtC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { boatTailnetsFor } from "./tailnet/bootstrap.js";
1
2
  import { HarnessUnavailableError } from "@usine/core/agent/capability";
2
3
  import { RemoteShell, SSH_FAILURE } from "@usine/agents/child-host";
3
4
  import { Array as Arr, Cache, DateTime, Duration, Effect, Exit, FileSystem, Option, Path, Random, Ref, Result, } from "effect";
@@ -29,11 +30,9 @@ fi
29
30
  * created for one Attempt, which keeps no login: one whose provider credential is neither at
30
31
  * the Gateway nor in the provisioner's `api_keys`.
31
32
  */
32
- const harnessCredentialGap = (entry, provisioner, brains) => {
33
+ const harnessCredentialGap = (entry, brains) => {
33
34
  const worker = entry.address.name;
34
- const noGateway = provisioner.provider === "boat"
35
- ? "A subscription login needs a gateway, which a Boat worker can't have."
36
- : "A subscription login needs a gateway, which this worker doesn't have.";
35
+ const noGateway = "A subscription login needs a gateway, which this worker doesn't have.";
37
36
  const missing = (label, provider, login) => {
38
37
  const head = `${label} on provisioned worker "${worker}" has no credential, because a machine created for one attempt keeps no login.`;
39
38
  return Option.isSome(entry.gateway)
@@ -77,6 +76,7 @@ const operationError = (operation) => (error) => new ExecutorOperationError({ op
77
76
  */
78
77
  export const provisionedMachinesFor = Effect.fn("SshExecutor.provisionedMachinesFor")(function* (options) {
79
78
  const { instance, commands, settings } = options;
79
+ const tailnets = yield* boatTailnetsFor(commands);
80
80
  const fs = yield* FileSystem.FileSystem;
81
81
  const path = yield* Path.Path;
82
82
  const held = yield* Ref.make(new Map());
@@ -204,6 +204,8 @@ export const provisionedMachinesFor = Effect.fn("SshExecutor.provisionedMachines
204
204
  yield* unregister(hold);
205
205
  return yield* Effect.logDebug("The machine doesn't exist at the provider; nothing to delete", fields);
206
206
  }
207
+ if (Option.isSome(found.machine))
208
+ yield* tailnets.leave(found.machine.value);
207
209
  const deleted = yield* destroy(driver.value, found.worker, id.value).pipe(Effect.as(true), Effect.tapError((error) => Effect.logWarning("Could not delete the machine; the next sweep tries again", {
208
210
  ...fields,
209
211
  machine: id.value,
@@ -365,7 +367,7 @@ export const provisionedMachinesFor = Effect.fn("SshExecutor.provisionedMachines
365
367
  provider: driver.provider,
366
368
  reason: "unreachable",
367
369
  message: error.message,
368
- }))))), Effect.timeoutOrElse({
370
+ }))))), Effect.tap((machine) => update(hold, (current) => ({ ...current, machine: Option.some(machine) }))), Effect.tap(tailnets.join), Effect.timeoutOrElse({
369
371
  duration: readyTimeout,
370
372
  orElse: () => Effect.fail(timedOut(worker, driver.provider)),
371
373
  }));
@@ -650,7 +652,8 @@ export const provisionedMachinesFor = Effect.fn("SshExecutor.provisionedMachines
650
652
  yield* Effect.forEach(report.warnings, (warning) => Effect.logWarning(warning, { worker, provider: driver.provider }), { discard: true });
651
653
  if (Option.isSome(entry.gateway))
652
654
  yield* options.verifyGatewayAdmin(worker, entry.gateway.value);
653
- const gap = harnessCredentialGap(entry, provisioner.value, brains);
655
+ yield* tailnets.verify(entry.address);
656
+ const gap = harnessCredentialGap(entry, brains);
654
657
  if (Option.isSome(gap))
655
658
  return yield* gap.value;
656
659
  yield* Effect.logInfo("Provisioned SSH Worker preflight verified; its first machine each day checks the harnesses", {
@@ -1 +1 @@
1
- {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../../src/ssh/provisioner/machines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../../src/ssh/provisioner/machines.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect";
2
+ import { HttpClient } from "effect/http";
3
+ import { WorkerCapabilityError } from "../../../executor.ts";
4
+ import type { RemoteCommands } from "../../../remote/commands.ts";
5
+ import { type SshMachine, type SshWorkerAddress } from "../../model.ts";
6
+ /** Configures Boat machines before checkout and removes their ephemeral nodes at cleanup. */
7
+ export declare const boatTailnetsFor: (commands: RemoteCommands) => Effect.Effect<{
8
+ verify: (address: SshWorkerAddress) => Effect.Effect<void, WorkerCapabilityError, never>;
9
+ join: (machine: SshMachine) => Effect.Effect<void, WorkerCapabilityError, never>;
10
+ leave: (machine: SshMachine) => Effect.Effect<void, never, never>;
11
+ }, never, HttpClient.HttpClient>;
12
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/ssh/provisioner/tailnet/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAuCvF,6FAA6F;AAC7F,eAAO,MAAM,eAAe;;;;gCA8G1B,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { Effect, Option } from "effect";
2
+ import { HttpClient } from "effect/http";
3
+ import { WorkerCapabilityError } from "../../../executor.js";
4
+ import { boatTailnetOf } from "../../model.js";
5
+ import { GATEWAY_SENT_VARIABLES } from "../../gateway/environment.js";
6
+ import { tailscaleClientFor } from "./client.js";
7
+ const CONFIGURE = String.raw `
8
+ set -eu
9
+ address=$1
10
+ domain=$2
11
+ variables=$3
12
+ work=$(mktemp)
13
+ trap 'rm -f "$work"' EXIT
14
+ grep -v '# usine-tailnet$' /etc/hosts > "$work" || true
15
+ printf '%s git.%s llm.%s # usine-tailnet\n' "$address" "$domain" "$domain" >> "$work"
16
+ cat "$work" > /etc/hosts
17
+ mkdir -p /etc/ssh/sshd_config.d
18
+ printf 'AcceptEnv %s\n' "$variables" > /etc/ssh/sshd_config.d/40-usine-gateway.conf
19
+ sshd -t
20
+ systemctl reload ssh
21
+ cat > /etc/systemd/system/usine-gateway-http.socket <<UNIT
22
+ [Socket]
23
+ ListenStream=/run/usine-gateway/http.sock
24
+ SocketMode=0666
25
+ DirectoryMode=0755
26
+ [Install]
27
+ WantedBy=sockets.target
28
+ UNIT
29
+ cat > /etc/systemd/system/usine-gateway-http.service <<UNIT
30
+ [Unit]
31
+ Requires=usine-gateway-http.socket
32
+ After=usine-gateway-http.socket
33
+ [Service]
34
+ ExecStart=/usr/lib/systemd/systemd-socket-proxyd $address:80
35
+ DynamicUser=yes
36
+ PrivateTmp=yes
37
+ UNIT
38
+ systemctl daemon-reload
39
+ systemctl enable --now usine-gateway-http.socket
40
+ `.trim();
41
+ /** Configures Boat machines before checkout and removes their ephemeral nodes at cleanup. */
42
+ export const boatTailnetsFor = Effect.fn("SshExecutor.boatTailnetsFor")(function* (commands) {
43
+ const http = yield* HttpClient.HttpClient;
44
+ const clientFor = (address) => Effect.transposeOption(Option.map(boatTailnetOf(address), (settings) => tailscaleClientFor(address.name, settings).pipe(Effect.provideService(HttpClient.HttpClient, http))));
45
+ const verify = Effect.fn("SshExecutor.verifyBoatTailnet")(function* (address) {
46
+ yield* Effect.annotateCurrentSpan({ worker: address.name });
47
+ const client = yield* clientFor(address);
48
+ if (Option.isNone(client) || Option.isNone(address.gateway))
49
+ return;
50
+ yield* client.value.withKey(() => Effect.void);
51
+ yield* client.value.verifyGateway(address.gateway.value.domain);
52
+ });
53
+ const leave = Effect.fn("SshExecutor.leaveBoatTailnet")(function* (machine) {
54
+ if (Option.isNone(boatTailnetOf(machine.address)))
55
+ return;
56
+ const worker = machine.address.name;
57
+ yield* Effect.annotateCurrentSpan({ worker, host: machine.shell.destination });
58
+ yield* commands.run("cleanup", machine.shell, "sudo", ["tailscale", "logout"]).pipe(Effect.timeout("15 seconds"), Effect.tap(() => Effect.logInfo("Removed the sandbox's ephemeral tailnet node", { worker })), Effect.tapError(() => Effect.logWarning("Could not log the sandbox out of Tailscale; its ephemeral node expires after sandbox deletion", { worker })), Effect.ignore);
59
+ });
60
+ const join = Effect.fn("SshExecutor.joinBoatTailnet")(function* (machine) {
61
+ const settings = boatTailnetOf(machine.address);
62
+ if (Option.isNone(settings) || Option.isNone(machine.gateway))
63
+ return;
64
+ const worker = machine.address.name;
65
+ const domain = machine.gateway.value.settings.domain;
66
+ yield* Effect.annotateCurrentSpan({ worker, host: machine.shell.destination });
67
+ const client = yield* tailscaleClientFor(worker, settings.value).pipe(Effect.provideService(HttpClient.HttpClient, http));
68
+ yield* Effect.gen(function* () {
69
+ yield* commands.run("prepare", machine.shell, "sudo", ["systemctl", "start", "tailscaled"]);
70
+ yield* client.withKey((key) => commands.runWithInput("prepare", machine.shell, "sudo", [
71
+ "tailscale",
72
+ "up",
73
+ "--auth-key=file:/dev/stdin",
74
+ "--accept-dns=false",
75
+ "--accept-routes=false",
76
+ "--advertise-tags=tag:usine-attempt",
77
+ "--timeout=60s",
78
+ ], key));
79
+ yield* commands.run("prepare", machine.shell, "sudo", [
80
+ "sh",
81
+ "-c",
82
+ CONFIGURE,
83
+ "sh",
84
+ settings.value.gatewayAddress,
85
+ domain,
86
+ GATEWAY_SENT_VARIABLES.join(" "),
87
+ ]);
88
+ const response = yield* commands.run("prepare", machine.shell, "curl", [
89
+ "--silent",
90
+ "--show-error",
91
+ "--noproxy",
92
+ "*",
93
+ "--max-time",
94
+ "15",
95
+ "-o",
96
+ "/dev/null",
97
+ "-D",
98
+ "-",
99
+ `http://git.${domain}/`,
100
+ ]);
101
+ if (!/^x-usine-gateway-refusal:\s*missing-caller-token\s*$/imu.test(response))
102
+ return yield* new WorkerCapabilityError({
103
+ worker,
104
+ capability: "gateway",
105
+ message: `Boat worker "${worker}" cannot reach the gateway over the tailnet`,
106
+ cause: new Error("missing gateway response"),
107
+ });
108
+ yield* Effect.logInfo("Joined the sandbox to the tailnet and configured gateway access", {
109
+ worker,
110
+ address: settings.value.gatewayAddress,
111
+ });
112
+ }).pipe(Effect.catchTag("ExecutorOperationError", () => Effect.fail(new WorkerCapabilityError({
113
+ worker,
114
+ capability: "gateway",
115
+ message: `Boat worker "${worker}" could not join the tailnet or configure the gateway. Check the snapshot's Tailscale service and tailnet policy.`,
116
+ cause: new Error("tailnet bootstrap failed"),
117
+ }))));
118
+ });
119
+ return { verify, join, leave };
120
+ });
121
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/ssh/provisioner/tailnet/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Effect, Redacted } from "effect";
2
+ import { HttpClient } from "effect/http";
3
+ import { WorkerCapabilityError } from "../../../executor.ts";
4
+ import type { BoatTailnet } from "../../model.ts";
5
+ export declare const tailscaleClientFor: (worker: string & import("effect/Brand").Brand<"WorkerName">, settings: BoatTailnet) => Effect.Effect<{
6
+ withKey: <A, E, R>(use: (key: Redacted.Redacted<string>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E | WorkerCapabilityError, R>;
7
+ verifyGateway: (domain: string & import("effect/Brand").Brand<"GatewayDomain">) => Effect.Effect<undefined, WorkerCapabilityError, never>;
8
+ }, never, HttpClient.HttpClient>;
9
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ssh/provisioner/tailnet/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAU,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,UAAU,EAAyC,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,eAAO,MAAM,kBAAkB;cAqFZ,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;gCAqCzF,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { Effect, Redacted, Schema } from "effect";
2
+ import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/http";
3
+ import { WorkerCapabilityError } from "../../../executor.js";
4
+ const API = "https://api.tailscale.com/api/v2";
5
+ const AccessToken = Schema.Struct({
6
+ access_token: Schema.RedactedFromValue(Schema.NonEmptyString),
7
+ });
8
+ const AuthKey = Schema.Struct({
9
+ id: Schema.NonEmptyString,
10
+ key: Schema.RedactedFromValue(Schema.NonEmptyString),
11
+ });
12
+ export const tailscaleClientFor = Effect.fn("Tailscale.clientFor")(function* (worker, settings) {
13
+ yield* Effect.annotateCurrentSpan({ worker });
14
+ const http = yield* HttpClient.HttpClient;
15
+ const gap = (operation, detail) => new WorkerCapabilityError({
16
+ worker,
17
+ capability: "gateway",
18
+ message: `Tailscale couldn't ${operation} for worker "${worker}": ${detail}`,
19
+ cause: new Error(detail),
20
+ });
21
+ const send = Effect.fn("Tailscale.request")(function* (operation, request) {
22
+ yield* Effect.annotateCurrentSpan({ worker, operation });
23
+ return yield* http.execute(request).pipe(Effect.timeout("20 seconds"), Effect.mapError(() => gap(operation, "request failed or timed out")));
24
+ });
25
+ const decode = (schema, operation) => (response) => {
26
+ if (response.status >= 400)
27
+ return Effect.fail(gap(operation, `HTTP ${response.status}`));
28
+ return HttpClientResponse.schemaBodyJson(schema)(response).pipe(Effect.timeout("20 seconds"), Effect.mapError(() => gap(operation, "unexpected response body")));
29
+ };
30
+ const acquire = Effect.fn("Tailscale.createAuthKey")(function* () {
31
+ yield* Effect.annotateCurrentSpan({ worker });
32
+ const { access_token: token } = yield* send("authorize the OAuth client", HttpClientRequest.post(`${API}/oauth/token`).pipe(HttpClientRequest.bodyUrlParams({
33
+ grant_type: "client_credentials",
34
+ client_id: Redacted.value(settings.clientId),
35
+ client_secret: Redacted.value(settings.clientSecret),
36
+ scope: "auth_keys",
37
+ }))).pipe(Effect.flatMap(decode(AccessToken, "authorize the OAuth client")));
38
+ const key = yield* send("create an auth key for tag:usine-attempt", HttpClientRequest.post(`${API}/tailnet/-/keys`).pipe(HttpClientRequest.bearerToken(token), HttpClientRequest.bodyJsonUnsafe({
39
+ capabilities: {
40
+ devices: {
41
+ create: {
42
+ reusable: false,
43
+ ephemeral: true,
44
+ preauthorized: true,
45
+ tags: ["tag:usine-attempt"],
46
+ },
47
+ },
48
+ },
49
+ expirySeconds: 600,
50
+ description: `usine worker ${worker}`,
51
+ }))).pipe(Effect.flatMap(decode(AuthKey, "create an auth key for tag:usine-attempt")));
52
+ yield* Effect.logInfo("Created a single-use ephemeral Tailscale auth key", { worker });
53
+ return { ...key, token };
54
+ });
55
+ const release = Effect.fn("Tailscale.revokeAuthKey")(function* (key) {
56
+ yield* Effect.annotateCurrentSpan({ worker });
57
+ const response = yield* send("revoke the auth key", HttpClientRequest.make("DELETE")(`${API}/tailnet/-/keys/${encodeURIComponent(key.id)}`).pipe(HttpClientRequest.bearerToken(key.token)));
58
+ if (response.status >= 400 && response.status !== 404)
59
+ return yield* gap("revoke the auth key", `HTTP ${response.status}`);
60
+ yield* Effect.logInfo("Revoked the Tailscale auth key", { worker });
61
+ });
62
+ const withKey = (use) => Effect.acquireUseRelease(acquire(), ({ key }) => use(key), (key) => release(key).pipe(Effect.tapError((error) => Effect.logWarning(error.message, { worker })), Effect.ignore, Effect.ensuring(Effect.sync(() => {
63
+ Redacted.wipeUnsafe(key.key);
64
+ Redacted.wipeUnsafe(key.token);
65
+ }))));
66
+ const verifyGateway = Effect.fn("Tailscale.verifyGateway")(function* (domain) {
67
+ yield* Effect.annotateCurrentSpan({ worker, address: settings.gatewayAddress });
68
+ const response = yield* send("connect to the gateway's tailnet address", HttpClientRequest.get(`http://${settings.gatewayAddress}/`).pipe(HttpClientRequest.setHeader("host", `git.${domain}`)));
69
+ if (response.headers["x-usine-gateway-refusal"] !== "missing-caller-token")
70
+ return yield* gap("connect to the gateway's tailnet address", "the gateway did not refuse a missing caller token");
71
+ yield* Effect.logInfo("Gateway answered on its tailnet address", {
72
+ worker,
73
+ address: settings.gatewayAddress,
74
+ });
75
+ });
76
+ return { withKey, verifyGateway };
77
+ });
78
+ //# sourceMappingURL=client.js.map