alasio 9.0.0 → 10.0.1
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.
- package/dist/cli/src/bound-harnesses.js +98 -0
- package/dist/cli/src/bound-harnesses.js.map +1 -0
- package/dist/cli/src/branches.js +30 -14
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/cluster/docker.js +21 -11
- package/dist/cli/src/cluster/docker.js.map +1 -1
- package/dist/cli/src/cluster/host.js +5 -1
- package/dist/cli/src/cluster/host.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +68 -3
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +47 -13
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/cluster/stargz.js +40 -3
- package/dist/cli/src/cluster/stargz.js.map +1 -1
- package/dist/cli/src/commands/common.js +2 -2
- package/dist/cli/src/commands/common.js.map +1 -1
- package/dist/cli/src/commands/lake.js +1 -1
- package/dist/cli/src/commands/lake.js.map +1 -1
- package/dist/cli/src/commands/login-relay.js +91 -0
- package/dist/cli/src/commands/login-relay.js.map +1 -0
- package/dist/cli/src/commands/login.js +11 -10
- package/dist/cli/src/commands/login.js.map +1 -1
- package/dist/cli/src/commands/logs.js +89 -6
- package/dist/cli/src/commands/logs.js.map +1 -1
- package/dist/cli/src/commands/restart.js +10 -4
- package/dist/cli/src/commands/restart.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +27 -10
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
- package/dist/cli/src/commands/status.js +59 -12
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/up.js +9 -6
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands/upgrade.js +14 -5
- package/dist/cli/src/commands/upgrade.js.map +1 -1
- package/dist/cli/src/folders.js +9 -13
- package/dist/cli/src/folders.js.map +1 -1
- package/dist/cli/src/gateway-calls.js +14 -8
- package/dist/cli/src/gateway-calls.js.map +1 -1
- package/dist/cli/src/install.js +7 -41
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kube/api.js +59 -12
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +107 -9
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/object-store-scale.js +10 -7
- package/dist/cli/src/kube/object-store-scale.js.map +1 -1
- package/dist/cli/src/kube/rollout.js +16 -6
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/main.js +2 -1
- package/dist/cli/src/main.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +228 -11
- package/dist/cli/src/manifests/admission.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +151 -63
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/branch.js +6 -1
- package/dist/cli/src/manifests/branch.js.map +1 -1
- package/dist/cli/src/manifests/codex-login.js +101 -0
- package/dist/cli/src/manifests/codex-login.js.map +1 -0
- package/dist/cli/src/manifests/collector.js +26 -21
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +50 -23
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +79 -30
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/disruption.js +8 -3
- package/dist/cli/src/manifests/disruption.js.map +1 -1
- package/dist/cli/src/manifests/folders.js +8 -5
- package/dist/cli/src/manifests/folders.js.map +1 -1
- package/dist/cli/src/manifests/harness-pools.js +236 -0
- package/dist/cli/src/manifests/harness-pools.js.map +1 -0
- package/dist/cli/src/manifests/image-holder.js +61 -0
- package/dist/cli/src/manifests/image-holder.js.map +1 -0
- package/dist/cli/src/manifests/index.js +6 -2
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +4 -2
- package/dist/cli/src/manifests/keda.js.map +1 -1
- package/dist/cli/src/manifests/lake.js +1 -17
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/log.js +63 -16
- package/dist/cli/src/manifests/log.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +57 -77
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +111 -39
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +39 -19
- package/dist/cli/src/manifests/node-agent.js.map +1 -1
- package/dist/cli/src/manifests/object-store.js +98 -24
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/sandbox-gateway.js +147 -46
- package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -1
- package/dist/cli/src/manifests/scalers.js +5 -4
- package/dist/cli/src/manifests/scalers.js.map +1 -1
- package/dist/cli/src/manifests/sizing.js +1 -1
- package/dist/cli/src/manifests/sizing.js.map +1 -1
- package/dist/cli/src/manifests/valkey.js +19 -5
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/volume-lock.js +43 -0
- package/dist/cli/src/manifests/volume-lock.js.map +1 -0
- package/dist/cli/src/manifests/vpa.js +12 -1
- package/dist/cli/src/manifests/vpa.js.map +1 -1
- package/dist/cli/src/manifests/workspace-storage.js +19 -16
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/neon-storage.js +0 -2
- package/dist/cli/src/neon-storage.js.map +1 -1
- package/dist/cli/src/release.js +9 -9
- package/dist/cli/src/release.js.map +1 -1
- package/dist/cli/src/target.js +2 -2
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cli/src/telegram.js +13 -4
- package/dist/cli/src/telegram.js.map +1 -1
- package/dist/cli/src/wakes.js +68 -0
- package/dist/cli/src/wakes.js.map +1 -0
- package/dist/cli/src/webhook.js +5 -2
- package/dist/cli/src/webhook.js.map +1 -1
- package/dist/cluster/node/pins.json +6 -5
- package/dist/neon/control/branches.js +11 -4
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +81 -10
- package/dist/neon/control/endpoints.js.map +1 -1
- package/dist/neon/control/secrets.js +11 -6
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/binder/bindings.js +195 -0
- package/dist/src/binder/bindings.js.map +1 -0
- package/dist/src/binder/names.js +30 -0
- package/dist/src/binder/names.js.map +1 -1
- package/dist/src/binder/tokens.js +17 -4
- package/dist/src/binder/tokens.js.map +1 -1
- package/dist/src/branch/names.js +10 -6
- package/dist/src/branch/names.js.map +1 -1
- package/dist/src/events/names.js +24 -3
- package/dist/src/events/names.js.map +1 -1
- package/dist/src/gateway/names.js +44 -5
- package/dist/src/gateway/names.js.map +1 -1
- package/dist/src/harness/names.js +18 -0
- package/dist/src/harness/names.js.map +1 -1
- package/dist/src/kube/client.js +212 -0
- package/dist/src/kube/client.js.map +1 -0
- package/dist/src/kube/sandbox-shape.js +6 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -1
- package/dist/src/kube/started-map.js +12 -0
- package/dist/src/kube/started-map.js.map +1 -0
- package/dist/src/node-agent/names.js +16 -8
- package/dist/src/node-agent/names.js.map +1 -1
- package/dist/src/telegram/bot-commands.js +17 -0
- package/dist/src/telegram/bot-commands.js.map +1 -0
- package/dist/src/telegram/stop.js +12 -0
- package/dist/src/telegram/stop.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/commands/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAqB,IAAI,EAAE,OAAO,EAAyC,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/commands/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* catalog set right with the object store.
|
|
5
5
|
*/
|
|
6
6
|
import { PassThrough } from "node:stream";
|
|
7
|
-
import
|
|
7
|
+
import * as NodeStream from "@effect/platform-node/NodeStream";
|
|
8
8
|
import { Console, Effect, Option, Schema, Stdio, Stream } from "effect";
|
|
9
9
|
import { Argument, Command, Flag } from "effect/cli";
|
|
10
10
|
import { branchNamespaces } from "../branches.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lake.js","sourceRoot":"","sources":["../../../../src/commands/lake.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"lake.js","sourceRoot":"","sources":["../../../../src/commands/lake.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the command line reaches an environment's Codex login in its store, its own Codex home
|
|
3
|
+
* among it, whether or not the environment's alasio runs: in a pod of the environment's Codex
|
|
4
|
+
* login relay (../manifests/codex-login.ts), which reaches the store as a role of its own, the
|
|
5
|
+
* login's tables alone. The relay's own pod where one runs and the command may run there;
|
|
6
|
+
* otherwise, as KEDA keeps the relay at none while no Codex harness is bound, or scales it in
|
|
7
|
+
* under a command that takes a while, a pod of its own, of the relay's Deployment's spec, held for
|
|
8
|
+
* what is run in it and deleted after:
|
|
9
|
+
*
|
|
10
|
+
* - one that serves nothing, never ready, so its Service sends it none of the pools' requests;
|
|
11
|
+
* labelled as held (HELD_LABEL), so no listing of the relay's pods finds it, and by no
|
|
12
|
+
* ReplicaSet's hash, so no Deployment adopts it;
|
|
13
|
+
* - of none of the key alasio signs the turns' tokens for the relay with, which it checks none of;
|
|
14
|
+
* - of alasio's components' priority, below the turns', so it takes no running pod's place;
|
|
15
|
+
* - ended within HELD_SECONDS, as one whose command line went is; and, ended so, deleted as the
|
|
16
|
+
* next is made, while one held for another command at once is left to it.
|
|
17
|
+
*/
|
|
18
|
+
import { randomUUID } from "node:crypto";
|
|
19
|
+
import { Duration, Effect, Schedule, Schema } from "effect";
|
|
20
|
+
import { kind, KubeApi } from "../kube/api.js";
|
|
21
|
+
import { HELD_LABEL, selectorOf } from "../kube/rollout.js";
|
|
22
|
+
import { CODEX_LOGIN, CODEX_LOGIN_COMPONENT } from "../manifests/codex-login.js";
|
|
23
|
+
import { priority } from "../manifests/priorities.js";
|
|
24
|
+
import { CODEX_LOGIN_KEY_VARIABLE } from "../../../src/harness/names.js";
|
|
25
|
+
import { runningPodIn } from "./common.js";
|
|
26
|
+
/** How long a held pod lasts at most, as one its command line left, killed say, is ended by then. */
|
|
27
|
+
const HELD_SECONDS = 30 * 60;
|
|
28
|
+
/** How long a held pod is waited for to run, its image pulled first where its node has none. */
|
|
29
|
+
const HELD_START = Duration.minutes(5);
|
|
30
|
+
/** The environment of `namespace` has no Codex login relay to reach its login through. */
|
|
31
|
+
export class NoLoginRelay extends Schema.TaggedError()("NoLoginRelay", {
|
|
32
|
+
namespace: Schema.String,
|
|
33
|
+
why: Schema.String,
|
|
34
|
+
}) {
|
|
35
|
+
get message() {
|
|
36
|
+
return `the Codex login of ${this.namespace} cannot be reached: ${this.why}`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** A pod named `name` of the relay `relay`'s spec, held, as the module says. */
|
|
40
|
+
export function heldPod(relay, namespace, name) {
|
|
41
|
+
const template = relay.spec?.template;
|
|
42
|
+
const container = template?.spec?.containers.find(({ name: each }) => each === CODEX_LOGIN_COMPONENT);
|
|
43
|
+
if (!template?.spec || !container)
|
|
44
|
+
throw new Error(`${relay.metadata?.namespace}/${relay.metadata?.name} has no ${CODEX_LOGIN_COMPONENT} container to hold a pod of`);
|
|
45
|
+
const { ports: _ports, readinessProbe: _readiness, livenessProbe: _liveness, startupProbe: _startup, env = [], ...held } = container;
|
|
46
|
+
return {
|
|
47
|
+
apiVersion: "v1",
|
|
48
|
+
kind: "Pod",
|
|
49
|
+
metadata: { name, namespace, labels: { ...template.metadata?.labels, [HELD_LABEL]: "true" } },
|
|
50
|
+
spec: {
|
|
51
|
+
...template.spec,
|
|
52
|
+
...priority("component"),
|
|
53
|
+
restartPolicy: "Never",
|
|
54
|
+
activeDeadlineSeconds: HELD_SECONDS,
|
|
55
|
+
containers: [{
|
|
56
|
+
...held,
|
|
57
|
+
env: env.filter(({ name: variable }) => variable !== CODEX_LOGIN_KEY_VARIABLE),
|
|
58
|
+
command: ["node", "-e", `setTimeout(() => {}, ${HELD_SECONDS * 1000})`],
|
|
59
|
+
// Never ready, so the relay's Service sends it nothing.
|
|
60
|
+
readinessProbe: { exec: { command: ["node", "-e", "process.exit(1)"] }, periodSeconds: 3600 },
|
|
61
|
+
}],
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* `use` run on the relay's container of `namespace`'s Codex login relay, as the module says: in
|
|
67
|
+
* a held pod alone where `held` is "always", as for a command a scale-in of the relay must not
|
|
68
|
+
* cut, a device login waiting on its operator.
|
|
69
|
+
*/
|
|
70
|
+
export const inLoginRelay = (namespace, use, { held: holding = "unless-running" } = {}) => holding === "always" ? held(namespace, use) : runningPodIn(namespace, CODEX_LOGIN_COMPONENT).pipe(Effect.map((pod) => ({ namespace, pod, container: CODEX_LOGIN_COMPONENT })), Effect.catchTag("NoRunningPod", () => Effect.succeed(null)), Effect.flatMap((running) => (running ? use(running) : held(namespace, use))));
|
|
71
|
+
/** `use` run on a held pod of the relay's in `namespace`, deleted after. */
|
|
72
|
+
const held = (namespace, use) => Effect.gen(function* () {
|
|
73
|
+
const kube = yield* KubeApi;
|
|
74
|
+
const relay = yield* kube.get({ ...kind("Deployment"), namespace, name: CODEX_LOGIN });
|
|
75
|
+
if (!relay)
|
|
76
|
+
return yield* new NoLoginRelay({ namespace, why: `it has no ${CODEX_LOGIN} Deployment; alasio up makes it` });
|
|
77
|
+
// Those held before that have ended, as one whose command line went ends by its deadline, deleted.
|
|
78
|
+
const before = yield* kube.list(kind("Pod"), { namespace, labelSelector: selectorOf({ ...relay.spec?.template.metadata?.labels, [HELD_LABEL]: "true" }) });
|
|
79
|
+
yield* Effect.forEach(before.filter(({ status }) => status?.phase === "Succeeded" || status?.phase === "Failed"), ({ metadata }) => kube.remove({ ...kind("Pod"), namespace, name: metadata?.name ?? "" }).pipe(Effect.ignore), { discard: true });
|
|
80
|
+
const name = `${CODEX_LOGIN}-held-${randomUUID().slice(0, 8)}`;
|
|
81
|
+
const ref = { ...kind("Pod"), namespace, name };
|
|
82
|
+
return yield* Effect.acquireUseRelease(kube.apply(heldPod(relay, namespace, name)), () => kube.get(ref).pipe(Effect.flatMap((pod) => {
|
|
83
|
+
const phase = pod?.status?.phase;
|
|
84
|
+
if (phase === "Running")
|
|
85
|
+
return Effect.succeed(true);
|
|
86
|
+
if (phase === "Failed" || phase === "Succeeded")
|
|
87
|
+
return Effect.fail(new NoLoginRelay({ namespace, why: `its held pod ${name} ended before it ran` }));
|
|
88
|
+
return Effect.succeed(false);
|
|
89
|
+
}), Effect.repeat({ until: (running) => running, schedule: Schedule.spaced("1 second") }), Effect.timeoutOrElse({ duration: HELD_START, orElse: () => Effect.fail(new NoLoginRelay({ namespace, why: `its held pod ${name} did not run within ${Duration.format(HELD_START)}` })) }), Effect.andThen(use({ namespace, pod: name, container: CODEX_LOGIN_COMPONENT }))), () => kube.remove(ref).pipe(Effect.ignore));
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=login-relay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-relay.js","sourceRoot":"","sources":["../../../../src/commands/login-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
/** `alasio login codex`: Codex's device login, run in
|
|
1
|
+
/** `alasio login codex`: Codex's device login, run in a pod of the Codex login relay's, at this terminal, whether or not alasio runs. */
|
|
2
2
|
import { PassThrough } from "node:stream";
|
|
3
3
|
import { Effect, Option } from "effect";
|
|
4
4
|
import { Command, Flag } from "effect/cli";
|
|
5
5
|
import { branchNamespace } from "../../../src/branch/names.js";
|
|
6
6
|
import { KubeApi } from "../kube/api.js";
|
|
7
|
-
import { NAMESPACE
|
|
8
|
-
import { CommandFailed, onCluster
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
import { NAMESPACE } from "../manifests/common.js";
|
|
8
|
+
import { CommandFailed, onCluster } from "./common.js";
|
|
9
|
+
import { inLoginRelay } from "./login-relay.js";
|
|
10
|
+
/** Codex's login by a code entered on another device, kept in the store where the relay's home is its own (src/codex/login-device.ts). */
|
|
11
|
+
export const DEVICE_LOGIN = ["node", "/opt/alasio/src/codex/login-device.ts"];
|
|
11
12
|
/**
|
|
12
13
|
* What is typed at this process's terminal, while `use` runs with it: raw, so it reaches
|
|
13
14
|
* the command in the pod as typed, and let go of after, as it was, so this process can
|
|
@@ -31,13 +32,13 @@ const codex = Command.make("codex", {
|
|
|
31
32
|
}, ({ branch }) => onCluster(() => Effect.gen(function* () {
|
|
32
33
|
const kube = yield* KubeApi;
|
|
33
34
|
const namespace = Option.match(branch, { onNone: () => NAMESPACE, onSome: branchNamespace });
|
|
34
|
-
const pod = Option.isSome(branch) ? yield* runningPodIn(namespace, RELEASE) : yield* runningPod(RELEASE);
|
|
35
35
|
// The terminal itself, not alasio's output: what Codex asks and is answered is the operator's.
|
|
36
|
-
const exitCode = yield* terminalInput((stdin) => kube.exec(
|
|
36
|
+
const exitCode = yield* inLoginRelay(namespace, (target) => terminalInput((stdin) => kube.exec(target, DEVICE_LOGIN, { stdin, stdout: process.stdout, stderr: process.stderr, tty: process.stdout.isTTY })), { held: "always" });
|
|
37
37
|
if (exitCode !== 0)
|
|
38
38
|
return yield* new CommandFailed({ command: "codex login", exitCode });
|
|
39
|
-
}))).pipe(Command.withShortDescription("Log Codex in"), Command.withDescription("Runs Codex's device login in
|
|
40
|
-
"
|
|
39
|
+
}))).pipe(Command.withShortDescription("Log Codex in"), Command.withDescription("Runs Codex's device login at this terminal, in a short-lived pod of the environment's Codex login relay's, whether or not alasio or the relay runs: " +
|
|
40
|
+
"Codex shows a code to enter on a page it names, and the login is kept in alasio's Neon (under the host profile, in the " +
|
|
41
|
+
"operator's own Codex home), so it is done once. " +
|
|
41
42
|
"A branch environment has a login of its own, which --branch logs in."));
|
|
42
|
-
export const login = Command.make("login").pipe(Command.withSubcommands([codex]), Command.withShortDescription("Log a harness in"), Command.withDescription("Logs a harness in, in alasio's
|
|
43
|
+
export const login = Command.make("login").pipe(Command.withSubcommands([codex]), Command.withShortDescription("Log a harness in"), Command.withDescription("Logs a harness in, in alasio's cluster. Claude Code needs none: alasio init gives it a token."));
|
|
43
44
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/login.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,88 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `alasio logs [component]`: what alasio, or one of its components, logs: its pods' logs, as
|
|
3
|
+
* they keep them; or, of one that runs no pod, as KEDA lets alasio sleep at none, why, and what
|
|
4
|
+
* the lake kept of its last run's (its telemetry's logs, otel.logs), where it keeps any.
|
|
5
|
+
*/
|
|
6
|
+
import { PassThrough } from "node:stream";
|
|
7
|
+
import { Console, Duration, Effect, Option, Stdio, Stream } from "effect";
|
|
3
8
|
import { Argument, Command, Flag } from "effect/cli";
|
|
4
|
-
import { KubeApi } from "../kube/api.js";
|
|
5
|
-
import { NAMESPACE } from "../manifests/common.js";
|
|
6
|
-
import {
|
|
9
|
+
import { hasStatus, kind, KubeApi } from "../kube/api.js";
|
|
10
|
+
import { NAMESPACE, RELEASE } from "../manifests/common.js";
|
|
11
|
+
import { describeAsleep, wakesOf } from "../wakes.js";
|
|
12
|
+
import { component, onCluster, podsOf, runningPod, sinceFlag } from "./common.js";
|
|
13
|
+
/** The lake's query, as its image has it (neon/lake). */
|
|
14
|
+
const QUERY = ["node", "/opt/lake/src/query.ts"];
|
|
15
|
+
/** The most of a component's last run's lines the lake is asked for: its newest. */
|
|
16
|
+
const LAKE_LINES = 1000;
|
|
17
|
+
/**
|
|
18
|
+
* How long after alasio's last run ended the lake may not have loaded its logs yet: its intake
|
|
19
|
+
* writes a minute's at a time (neon/lake/src/intake.ts BATCH), and as long again goes to the
|
|
20
|
+
* collector's sending them on and the intake's waking for them.
|
|
21
|
+
*/
|
|
22
|
+
export const LAKE_CATCH_UP = Duration.minutes(2);
|
|
23
|
+
/** How far back a component's logs are asked of the lake where neither its last start nor --since says. */
|
|
24
|
+
const LAKE_BACK = Duration.hours(1);
|
|
25
|
+
/** The service a component's telemetry names, as its pods' first container is told (OTEL_SERVICE_NAME), alasio's own its name. */
|
|
26
|
+
function serviceOf(found) {
|
|
27
|
+
const container = (found.workload.spec?.template?.spec?.containers ?? [])[0];
|
|
28
|
+
return container?.env?.find(({ name }) => name === "OTEL_SERVICE_NAME")?.value ?? (found.name === RELEASE ? "alasio" : null);
|
|
29
|
+
}
|
|
30
|
+
/** `text` quoted as a literal of SQL's. */
|
|
31
|
+
const literal = (text) => `'${text.split("'").join("''")}'`;
|
|
32
|
+
/**
|
|
33
|
+
* What the lake kept of the logs `service` sent from `from` on, main's, its newest LAKE_LINES,
|
|
34
|
+
* each a line `<when> <what>`, oldest first; or why it holds none, or was not read.
|
|
35
|
+
*/
|
|
36
|
+
const lakeLines = (service, from) => Effect.gen(function* () {
|
|
37
|
+
const kube = yield* KubeApi;
|
|
38
|
+
const pod = yield* runningPod("lake-query");
|
|
39
|
+
const sql = `SELECT Timestamp, Body FROM otel.logs WHERE ServiceName = ${literal(service)} AND coalesce(ResourceAttributes['alasio.branch'], '') = '' ` +
|
|
40
|
+
`AND Timestamp >= TIMESTAMP ${literal(from.toISOString().replace("T", " ").replace("Z", ""))} ORDER BY Timestamp DESC LIMIT ${LAKE_LINES}`;
|
|
41
|
+
let printed = "";
|
|
42
|
+
const stdout = new PassThrough().on("data", (chunk) => void (printed += chunk.toString("utf8")));
|
|
43
|
+
const stderr = new PassThrough();
|
|
44
|
+
let failed = "";
|
|
45
|
+
stderr.on("data", (chunk) => void (failed += chunk.toString("utf8")));
|
|
46
|
+
const exitCode = yield* kube.exec({ namespace: NAMESPACE, pod, container: "query" }, [...QUERY, "--format", "json", sql], { stdin: null, stdout, stderr, tty: false });
|
|
47
|
+
if (exitCode !== 0)
|
|
48
|
+
return { unread: `the lake's query failed: ${failed.trim() || `exit ${exitCode}`}` };
|
|
49
|
+
const rows = printed.split("\n").filter(Boolean).map((line) => JSON.parse(line));
|
|
50
|
+
return { lines: rows.reverse().map(({ Timestamp, Body }) => `${String(Timestamp)} ${String(Body)}`) };
|
|
51
|
+
}).pipe(Effect.catch((error) => Effect.succeed({ unread: error.message })));
|
|
52
|
+
/**
|
|
53
|
+
* Of `found`, which runs no pod, why, as KEDA's ScaledObject of it says, and what the lake kept
|
|
54
|
+
* of its last run's logs: from its last start, alasio's as it keeps it, or `since` back, or
|
|
55
|
+
* LAKE_BACK.
|
|
56
|
+
*/
|
|
57
|
+
const noPod = (found, since) => Effect.gen(function* () {
|
|
58
|
+
const kube = yield* KubeApi;
|
|
59
|
+
const replicas = found.workload.spec?.replicas;
|
|
60
|
+
const scaler = yield* kube.get({ ...kind("ScaledObject"), namespace: NAMESPACE, name: found.workload.metadata?.name ?? "" }).pipe(Effect.catchIf((error) => hasStatus(403)(error) || hasStatus(404)(error), () => Effect.succeed(null)), Effect.orElseSucceed(() => null));
|
|
61
|
+
const wakes = scaler ? yield* wakesOf(scaler) : null;
|
|
62
|
+
yield* Console.log(replicas === 0
|
|
63
|
+
? `${found.name} runs no pod: ${scaler && wakes ? describeAsleep(scaler, wakes) : "it is at no replica"}.`
|
|
64
|
+
: `${found.name} runs no pod yet: its pods are being made.`);
|
|
65
|
+
const service = serviceOf(found);
|
|
66
|
+
if (!service)
|
|
67
|
+
return yield* Console.log(`Its pods' logs went with them, and its telemetry sends none the lake keeps.`);
|
|
68
|
+
const started = found.name === RELEASE && wakes?.started ? new Date(wakes.started) : null;
|
|
69
|
+
const from = Option.match(since, { onNone: () => started ?? new Date(Date.now() - Duration.toMillis(LAKE_BACK)), onSome: (back) => new Date(Date.now() - Duration.toMillis(back)) });
|
|
70
|
+
const kept = yield* lakeLines(service, from);
|
|
71
|
+
if ("unread" in kept)
|
|
72
|
+
return yield* Console.log(`Its last run's logs, which the lake keeps, were not read: ${kept.unread}.`);
|
|
73
|
+
const of = started && Option.isNone(since) ? `of its last run, since it started at ${started.toISOString()}` : `since ${from.toISOString()}`;
|
|
74
|
+
if (kept.lines.length === 0) {
|
|
75
|
+
// Its last run ended so lately that the lake may not have them yet.
|
|
76
|
+
const ended = wakes?.slept ?? null;
|
|
77
|
+
const loading = ended !== null && Date.now() - Date.parse(ended) < Duration.toMillis(LAKE_CATCH_UP);
|
|
78
|
+
return yield* Console.log(loading
|
|
79
|
+
? `The lake keeps none yet of its logs ${of}; they may still be loading, as its last run ended at ${ended}, within the ${Duration.toMinutes(LAKE_CATCH_UP)} minutes the lake may take to load what is logged.`
|
|
80
|
+
: `The lake keeps none of its logs ${of}.`);
|
|
81
|
+
}
|
|
82
|
+
yield* Console.log(`Its logs ${of}, as the lake keeps them${kept.lines.length === LAKE_LINES ? `, the newest ${LAKE_LINES}` : ""}:`);
|
|
83
|
+
for (const line of kept.lines)
|
|
84
|
+
yield* Console.log(line);
|
|
85
|
+
});
|
|
7
86
|
export const logs = Command.make("logs", {
|
|
8
87
|
component: Argument.String("component").pipe(Argument.withDefault("alasio"), Argument.withDescription("The component: alasio (the default), or another, such as lake or neon-compute; alasio status lists them")),
|
|
9
88
|
follow: Flag.Boolean("follow").pipe(Flag.withAlias("f"), Flag.withDefault(false), Flag.withDescription("Keep following what it logs")),
|
|
@@ -13,6 +92,8 @@ export const logs = Command.make("logs", {
|
|
|
13
92
|
const stdio = yield* Stdio.Stdio;
|
|
14
93
|
const found = yield* component(name);
|
|
15
94
|
const pods = yield* podsOf(found);
|
|
95
|
+
if (pods.length === 0)
|
|
96
|
+
return yield* noPod(found, since);
|
|
16
97
|
const containers = (found.workload.spec?.template?.spec?.containers ?? [{ name }]).map((container) => container.name);
|
|
17
98
|
const sinceSeconds = Option.map(since, (duration) => Math.ceil(Duration.toSeconds(duration)));
|
|
18
99
|
// A component of several pods (the safekeepers, say) has each line said with its pod's
|
|
@@ -29,5 +110,7 @@ export const logs = Command.make("logs", {
|
|
|
29
110
|
}))).pipe(Command.withShortDescription("Show what alasio, or one of its components, logs"), Command.withDescription("Shows what alasio's pod logs, or a component's pods, each of their containers: each line of a component of several pods " +
|
|
30
111
|
"begins with its pod's name, and of several containers, as the lake's pod has its query endpoint beside it, with its " +
|
|
31
112
|
"container's. " +
|
|
32
|
-
"With --follow it keeps following until interrupted; with --since, only what was logged since then."
|
|
113
|
+
"With --follow it keeps following until interrupted; with --since, only what was logged since then. " +
|
|
114
|
+
"Of one that runs no pod, as KEDA lets alasio sleep at none while nothing waits for it, it says so, since when and what " +
|
|
115
|
+
"wakes it, and prints what the lake keeps of its logs: of its last run, since it last started, or since --since."));
|
|
33
116
|
//# sourceMappingURL=logs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/commands/logs.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/commands/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** `alasio restart`: a rollout restart of alasio's Deployment, waited for. */
|
|
2
1
|
import { Console, Effect } from "effect";
|
|
3
2
|
import { Command } from "effect/cli";
|
|
4
3
|
import { kind, KubeApi } from "../kube/api.js";
|
|
@@ -17,7 +16,14 @@ export const restart = Command.make("restart", { timeout: timeoutFlag }, ({ time
|
|
|
17
16
|
yield* kube.patch(DEPLOYMENT, { spec: { template: { metadata: { annotations: { "kubectl.kubernetes.io/restartedAt": new Date().toISOString() } } } } }, RESTART_MANAGER);
|
|
18
17
|
yield* Effect.logInfo("restarting alasio");
|
|
19
18
|
yield* awaitReady([DEPLOYMENT], waitOptions(timeout));
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
// Of one unless said, as Kubernetes makes a Deployment.
|
|
20
|
+
const replicas = (yield* kube.get(DEPLOYMENT))?.spec?.replicas ?? 1;
|
|
21
|
+
yield* Console.log(replicas === 0
|
|
22
|
+
? "alasio runs no pod, asleep as KEDA lets it while nothing waits for it: the one it starts next runs anew."
|
|
23
|
+
: replicas === 1
|
|
24
|
+
? "alasio restarted; a turn it was running continues."
|
|
25
|
+
: `alasio's ${replicas} pods restarted, each beside the one replacing it; a turn one was running continues.`);
|
|
26
|
+
}))).pipe(Command.withShortDescription("Restart alasio"), Command.withDescription("Restarts alasio's pods, as a rollout restart of its Deployment does, each replaced in turn, and waits until they run again; " +
|
|
27
|
+
"where KEDA has let alasio sleep, at none, there is none to restart, and the one it starts next runs anew. " +
|
|
28
|
+
"Conversations survive it: a turn one was running continues once alasio is back, and workspaces keep running through it."));
|
|
23
29
|
//# sourceMappingURL=restart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../../src/commands/restart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../../src/commands/restart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE,2BAA2B;AAC3B,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAElF;;;GAGG;AACH,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACvF,SAAS,CAAC,GAAG,EAAE,CACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,mCAAmC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IACzK,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3C,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,wDAAwD;IACxD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAe,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;IAClF,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAChB,QAAQ,KAAK,CAAC;QACZ,CAAC,CAAC,0GAA0G;QAC5G,CAAC,CAAC,QAAQ,KAAK,CAAC;YAChB,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,YAAY,QAAQ,sFAAsF,CAC/G,CAAC;AACJ,CAAC,CAAC,CACH,CAAC,CAAC,IAAI,CACL,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAC9C,OAAO,CAAC,eAAe,CACrB,8HAA8H;IAC5H,4GAA4G;IAC5G,yHAAyH,CAC5H,CACF,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { awaitEnded, awaitGone, awaitReady, awaitScheduled, selectorOf } from ".
|
|
|
8
8
|
import { reconcileLake } from "../lake.js";
|
|
9
9
|
import { branchEnvironment } from "../manifests/branch.js";
|
|
10
10
|
import { lakeRuns, MAIN_ENVIRONMENT, NAMESPACE, RELEASE } from "../manifests/common.js";
|
|
11
|
+
import { INTAKE_COMPONENT, LOADER_COMPONENT, QUERY_COMPONENT } from "../manifests/lake.js";
|
|
11
12
|
import { LOG_COMPONENT } from "../manifests/log.js";
|
|
12
13
|
import { BACKUPS_LISTING, backupsListing, COMPONENTS, FILER_STORE, filerStoreRestore, RESTORE, RESTORED, } from "../manifests/object-store.js";
|
|
13
14
|
import { onCluster, runIn, timeoutFlag, waitOptions } from "./common.js";
|
|
@@ -73,6 +74,15 @@ const backups = Effect.fnUntraced(function* (config, options) {
|
|
|
73
74
|
yield* removed([refOf(job)], options);
|
|
74
75
|
return files.flatMap((file) => BACKUP_FILE.exec(file)?.slice(1, 2) ?? []).toSorted().toReversed();
|
|
75
76
|
});
|
|
77
|
+
/** `workload`'s component, as its label names it. */
|
|
78
|
+
const component = (workload) => workload.metadata?.labels?.["app.kubernetes.io/component"] ?? "";
|
|
79
|
+
/**
|
|
80
|
+
* The lake's workloads, every environment's: each reads the lake's files, so one of a catalog
|
|
81
|
+
* that names files the store lost fails its reads, and is not ready, until its catalog is set
|
|
82
|
+
* right (reconciledLakes).
|
|
83
|
+
*/
|
|
84
|
+
const LAKE_COMPONENTS = new Set([LOADER_COMPONENT, QUERY_COMPONENT, INTAKE_COMPONENT]);
|
|
85
|
+
const ofLake = (workload) => LAKE_COMPONENTS.has(component(workload));
|
|
76
86
|
/**
|
|
77
87
|
* The workloads that write to the store, through it: alasio and the data stack, main's and
|
|
78
88
|
* each branch environment's, but the log, whose segments are on its own volumes, so it
|
|
@@ -81,7 +91,6 @@ const backups = Effect.fnUntraced(function* (config, options) {
|
|
|
81
91
|
* filers and gateways, which write to the filer store.
|
|
82
92
|
*/
|
|
83
93
|
const writers = Effect.map(listed(WORKLOADS), (workloads) => {
|
|
84
|
-
const component = (workload) => workload.metadata?.labels?.["app.kubernetes.io/component"] ?? "";
|
|
85
94
|
const store = new Set([...Object.values(COMPONENTS), LOG_COMPONENT]);
|
|
86
95
|
const front = new Set([COMPONENTS.gateway, COMPONENTS.filer]);
|
|
87
96
|
return {
|
|
@@ -115,12 +124,12 @@ const stop = Effect.fnUntraced(function* (workloads, options) {
|
|
|
115
124
|
/** Whether `workload`'s pods are held to a node by their volumes: a StatefulSet's claims, which a local disk binds to its node. */
|
|
116
125
|
const held = (workload) => workload.kind === "StatefulSet" && (workload.spec?.volumeClaimTemplates?.length ?? 0) > 0;
|
|
117
126
|
/**
|
|
118
|
-
* Starts again what of `workloads` was stopped, as its mark says, and their ScaledObjects
|
|
119
|
-
*
|
|
120
|
-
* scheduled before the rest start: the rest, which run on any node, would otherwise
|
|
121
|
-
* the room on theirs, where nothing else would do.
|
|
127
|
+
* Starts again what of `workloads` was stopped, as its mark says, and their ScaledObjects:
|
|
128
|
+
* what was, for the caller to wait for. Those whose volumes hold them to a node start first,
|
|
129
|
+
* and are scheduled before the rest start: the rest, which run on any node, would otherwise
|
|
130
|
+
* take the room on theirs, where nothing else would do.
|
|
122
131
|
*/
|
|
123
|
-
const
|
|
132
|
+
const started = Effect.fnUntraced(function* (workloads, options) {
|
|
124
133
|
const kube = yield* KubeApi;
|
|
125
134
|
const stopped = workloads.filter((workload) => markOf(workload) !== null);
|
|
126
135
|
const scaled = (each) => Effect.forEach(each, (workload) => {
|
|
@@ -134,7 +143,11 @@ const start = Effect.fnUntraced(function* (workloads, options) {
|
|
|
134
143
|
for (const scaler of (yield* scalersOf(stopped)).filter((each) => markOf(each) !== null)) {
|
|
135
144
|
yield* kube.patch(refOf(scaler), { metadata: { annotations: { ...markOf(scaler), [MARK]: null } } }, MANAGER);
|
|
136
145
|
}
|
|
137
|
-
|
|
146
|
+
return stopped;
|
|
147
|
+
});
|
|
148
|
+
/** Starts again what of `workloads` was stopped (started), and waits until it runs. */
|
|
149
|
+
const start = Effect.fnUntraced(function* (workloads, options) {
|
|
150
|
+
yield* awaitReady((yield* started(workloads, options)).map(refOf), options);
|
|
138
151
|
});
|
|
139
152
|
/** Suspends the installation's CronJobs, each marked with whether it was before, and waits until the Jobs of any running end. */
|
|
140
153
|
const suspendCronJobs = Effect.fnUntraced(function* (options) {
|
|
@@ -188,7 +201,7 @@ const filerStoreState = Effect.gen(function* () {
|
|
|
188
201
|
* Puts the backup `stamp` back: stops what writes to the store, alasio and Neon first,
|
|
189
202
|
* while the store takes what they write as they stop, then its filers, and the filer
|
|
190
203
|
* store; loads the backup onto its volume; starts the filer store and checks it; and
|
|
191
|
-
* starts the rest again.
|
|
204
|
+
* starts the rest again, waiting for the lake's own once its catalog is set right.
|
|
192
205
|
*/
|
|
193
206
|
const restore = Effect.fnUntraced(function* (settings, stamp, options) {
|
|
194
207
|
const kube = yield* KubeApi;
|
|
@@ -222,9 +235,13 @@ const restore = Effect.fnUntraced(function* (settings, stamp, options) {
|
|
|
222
235
|
yield* Effect.logInfo("starting the object store's filers and gateways, then alasio, Neon and the lake, and the CronJobs");
|
|
223
236
|
const again = yield* writers;
|
|
224
237
|
yield* start(again.front, options);
|
|
225
|
-
|
|
238
|
+
// The lake's own started with the rest, its intake to read again what its telemetry lost as
|
|
239
|
+
// the reconciliation asks it, but waited for once its catalog is set right, which they wait on.
|
|
240
|
+
const running = yield* started(again.clients, options);
|
|
241
|
+
yield* awaitReady(running.filter((workload) => !ofLake(workload)).map(refOf), options);
|
|
226
242
|
yield* Effect.logInfo("setting each lake's catalog right with the store, and loading again what its transcripts lost");
|
|
227
243
|
const lost = yield* reconciledLakes(settings, options);
|
|
244
|
+
yield* awaitReady(running.filter(ofLake).map(refOf), options);
|
|
228
245
|
yield* resumeCronJobs;
|
|
229
246
|
yield* Console.log([`The filer store is as it was at ${when(stamp)}, with its ${restored} keys, and alasio runs on it again.`, ...lost.map((line) => ` ${line}`)].join("\n"));
|
|
230
247
|
});
|
|
@@ -242,7 +259,7 @@ export const restoreFilerStore = Command.make("restore-filer-store", {
|
|
|
242
259
|
}, ({ backup, yes, timeout }) => onCluster(() => Effect.gen(function* () {
|
|
243
260
|
const settings = yield* installConfig(yield* loadConfig);
|
|
244
261
|
const { bundled } = settings.objectStore;
|
|
245
|
-
if (!
|
|
262
|
+
if (!bundled.enabled)
|
|
246
263
|
return yield* new RestoreRefused({ message: "alasio runs no bundled object store, whose filer store this restores" });
|
|
247
264
|
if (!bundled.filerStore.backups.enabled)
|
|
248
265
|
return yield* new RestoreRefused({ message: "the filer store's backups are off (objectStore.bundled.filerStore.backups.enabled), so there is none to restore" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore-filer-store.js","sourceRoot":"","sources":["../../../../src/commands/restore-filer-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restore-filer-store.js","sourceRoot":"","sources":["../../../../src/commands/restore-filer-store.ts"],"names":[],"mappings":"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"}
|