alasio 9.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +62 -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 +21 -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/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 +95 -23
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/sandbox-gateway.js +143 -45
- 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/setup-pod.js +44 -0
- package/dist/cli/src/setup-pod.js.map +1 -0
- 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 +13 -6
- 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,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { forksGroup, forksTopic, MAIN_ENVIRONMENT_NAME } from "../../../src/branch/names.js";
|
|
2
|
+
import { EVENTS_RETENTION_MS, EVENTS_TOPIC_PREFIX, eventsGroup, eventsTopic } from "../../../src/events/names.js";
|
|
2
3
|
import { imageReference } from "../images.js";
|
|
3
4
|
import { claimLabels, claimSpec, componentName, NAMESPACE, replicasOf, restrictedContainer, script, selectorLabels, sha256, stackLabels, stackPodSpec } from "./common.js";
|
|
4
|
-
import { LOG_SEGMENT_BYTES, telemetryRetentionBytes } from "./config.js";
|
|
5
|
+
import { LOG_SEGMENT_BYTES, TELEGRAM_PARTITIONS, telemetryRetentionBytes } from "./config.js";
|
|
5
6
|
import { replicaBudget, spread } from "./disruption.js";
|
|
6
7
|
import { priority } from "./priorities.js";
|
|
7
8
|
import { verticalPodAutoscaler } from "./sizing.js";
|
|
@@ -39,8 +40,8 @@ export const alasioPrincipal = (name) => `alasio-${name}`;
|
|
|
39
40
|
export const alasioGroup = (name) => `alasio.${name}`;
|
|
40
41
|
/** How long an environment's wake records are kept: a day, long past its lake loader's waking at the first. */
|
|
41
42
|
export const WAKE_RETENTION_MS = 86_400_000;
|
|
42
|
-
/** How long
|
|
43
|
-
export const
|
|
43
|
+
/** How long main's forks topic keeps a branch's request: a day, long past the wait for its answer, after which its parent refuses it (src/branch/fork.ts). */
|
|
44
|
+
export const FORKS_RETENTION_MS = 86_400_000;
|
|
44
45
|
/** The topic the environment `name`'s alasio writes as it commits transcripts, which wakes its lake loader. */
|
|
45
46
|
export const lakeWakeTopic = (name) => `lake.${name}`;
|
|
46
47
|
/** The principal the environment `name`'s lake loader reaches the log as. */
|
|
@@ -53,17 +54,26 @@ export const loaderGroup = (name) => `lake-loader.${name}`;
|
|
|
53
54
|
* forgotten with the environment. Its alasio's, `alasio-<name>`, reading its Telegram
|
|
54
55
|
* topic in its group, `alasio.<name>`, and writing its wake topic, `lake.<name>`, as it
|
|
55
56
|
* commits transcripts; its lake loader's, `loader-<name>`, reading the wake topic in its
|
|
56
|
-
* group, `lake-loader.<name>`;
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
57
|
+
* group, `lake-loader.<name>`; the events topic, `events.<name>` (src/events/), which the sandbox
|
|
58
|
+
* gateway writes, of what it binds and of what its harness pools' hosts tell it, which hold no
|
|
59
|
+
* principal of their own, and its alasio reads in its group, `alasio-events.<name>`. Branches ask
|
|
60
|
+
* main to fork the sessions they inherited on main's forks topic, `forks.main`
|
|
61
|
+
* (src/branch/fork.ts), which a branch's alasio writes and main's reads in its group,
|
|
62
|
+
* `alasio-forks.main`, answering on the branches' events topics, which it may write. The Telegram
|
|
63
|
+
* topic is of TELEGRAM_PARTITIONS partitions, as many as the environment's alasios may be, each
|
|
64
|
+
* chat's updates in one, by its key, so in order, each partition read by the one alasio of the
|
|
65
|
+
* group it is given to; the others of one each, read by whichever alasio of its group, or the
|
|
66
|
+
* loader, holds it. Each keeps a segment beside the one it writes at most: a week of a bot's
|
|
67
|
+
* updates, or of events, and a day of wakes or of requests, is kilobytes. Each update, event and request is
|
|
68
|
+
* flushed to the volume as it is written, as what told of it does not tell again; a wake, lost,
|
|
69
|
+
* costs nothing.
|
|
62
70
|
*/
|
|
63
71
|
export function environmentAccess(name) {
|
|
64
72
|
const topic = telegramTopic(name);
|
|
65
73
|
const wake = lakeWakeTopic(name);
|
|
66
74
|
const events = eventsTopic(name);
|
|
75
|
+
const main = name === MAIN_ENVIRONMENT_NAME;
|
|
76
|
+
const forks = forksTopic(MAIN_ENVIRONMENT_NAME);
|
|
67
77
|
return {
|
|
68
78
|
principals: [
|
|
69
79
|
{
|
|
@@ -73,6 +83,15 @@ export function environmentAccess(name) {
|
|
|
73
83
|
{ resource: "group", name: alasioGroup(name), pattern: "literal", operations: ["read"] },
|
|
74
84
|
{ resource: "topic", name: wake, pattern: "literal", operations: ["write", "describe"] },
|
|
75
85
|
{ resource: "topic", name: events, pattern: "literal", operations: ["read", "describe"] },
|
|
86
|
+
{ resource: "group", name: eventsGroup(name), pattern: "literal", operations: ["read"] },
|
|
87
|
+
...(main
|
|
88
|
+
? [
|
|
89
|
+
{ resource: "topic", name: forks, pattern: "literal", operations: ["read", "describe"] },
|
|
90
|
+
{ resource: "group", name: forksGroup(MAIN_ENVIRONMENT_NAME), pattern: "literal", operations: ["read"] },
|
|
91
|
+
// Its answers, on each branch's events topic.
|
|
92
|
+
{ resource: "topic", name: EVENTS_TOPIC_PREFIX, pattern: "prefixed", operations: ["write", "describe"] },
|
|
93
|
+
]
|
|
94
|
+
: [{ resource: "topic", name: forks, pattern: "literal", operations: ["write", "describe"] }]),
|
|
76
95
|
],
|
|
77
96
|
},
|
|
78
97
|
{
|
|
@@ -82,9 +101,10 @@ export function environmentAccess(name) {
|
|
|
82
101
|
],
|
|
83
102
|
topics: [
|
|
84
103
|
// Each update flushed to the volume as it is written: Telegram, answered once the log has it, sends it no more.
|
|
85
|
-
{ name: topic, partitions:
|
|
104
|
+
{ name: topic, partitions: TELEGRAM_PARTITIONS, readInOrderBy: alasioGroup(name), retentionMs: TELEGRAM_RETENTION_MS, retentionBytes: LOG_SEGMENT_BYTES, configs: { "flush.messages": "1" } },
|
|
86
105
|
{ name: wake, partitions: 1, retentionMs: WAKE_RETENTION_MS, retentionBytes: LOG_SEGMENT_BYTES, configs: {} },
|
|
87
106
|
{ name: events, partitions: 1, retentionMs: EVENTS_RETENTION_MS, retentionBytes: LOG_SEGMENT_BYTES, configs: { "flush.messages": "1" } },
|
|
107
|
+
...(main ? [{ name: forks, partitions: 1, retentionMs: FORKS_RETENTION_MS, retentionBytes: LOG_SEGMENT_BYTES, configs: { "flush.messages": "1" } }] : []),
|
|
88
108
|
],
|
|
89
109
|
};
|
|
90
110
|
}
|
|
@@ -102,6 +122,26 @@ export const environmentLogSecret = ({ branch }) => (branch === null ? logPrinci
|
|
|
102
122
|
export const loaderLogSecret = ({ branch }) => (branch === null ? logPrincipalSecret("loader-main") : componentName("log-loader"));
|
|
103
123
|
/** A node's address, by its ordinal: its pod's name in the log's headless Service. */
|
|
104
124
|
const nodeAddress = (ordinal) => `${LOG}-${ordinal}.${LOG}.${NAMESPACE}.svc`;
|
|
125
|
+
/** KEDA's reading of the log as the `scaler` principal, which may describe the groups and topics it scales on and read none, in `namespace`, the Secret's copy there. */
|
|
126
|
+
export function logAuthentication(name, namespace, component) {
|
|
127
|
+
const scaler = logPrincipalSecret("scaler");
|
|
128
|
+
return {
|
|
129
|
+
apiVersion: "keda.sh/v1alpha1",
|
|
130
|
+
kind: "TriggerAuthentication",
|
|
131
|
+
metadata: { name, namespace, labels: stackLabels(component) },
|
|
132
|
+
spec: { secretTargetRef: ["sasl", "username", "password"].map((parameter) => ({ parameter, name: scaler, key: parameter })) },
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A trigger of how far `group` is behind on `topic`, past `threshold` records a partition,
|
|
137
|
+
* authenticated as `authentication` says; of a group that has read none, as far as the topic
|
|
138
|
+
* is long (`earliest`, the default) or not at all (`latest`), as the group reads it.
|
|
139
|
+
*/
|
|
140
|
+
export const lagTrigger = (group, topic, threshold, authentication, untold = "earliest") => ({
|
|
141
|
+
type: "kafka",
|
|
142
|
+
metadata: { bootstrapServers: LOG_BROKERS, consumerGroup: group, topic, lagThreshold: String(threshold), activationLagThreshold: "0", offsetResetPolicy: untold },
|
|
143
|
+
authenticationRef: { name: authentication },
|
|
144
|
+
});
|
|
105
145
|
/** The hours of a retention as log.retention says it. */
|
|
106
146
|
export const retentionMs = (retention) => Number(retention.slice(0, -1)) * 3_600_000;
|
|
107
147
|
/**
|
|
@@ -136,16 +176,20 @@ export function logAccess(config) {
|
|
|
136
176
|
const services = {
|
|
137
177
|
gateway: [{ ...telemetry, operations: ["write", "describe"] }],
|
|
138
178
|
intake: [{ ...telemetry, operations: ["read", "describe"] }, { ...group, operations: ["read"] }],
|
|
139
|
-
// And every environment's wake topic and its loader's group,
|
|
179
|
+
// And every environment's wake topic and its loader's group, and the topics its alasio
|
|
180
|
+
// scales on, its Telegram updates', its events' and main's forks', and its groups on them,
|
|
181
|
+
// which it reads how far behind on too: each name's prefix, as its name of none.
|
|
140
182
|
scaler: [
|
|
141
183
|
{ ...telemetry, operations: ["describe"] },
|
|
142
184
|
{ ...group, operations: ["describe"] },
|
|
143
185
|
{ resource: "topic", name: "lake.", pattern: "prefixed", operations: ["describe"] },
|
|
144
186
|
{ resource: "group", name: "lake-loader.", pattern: "prefixed", operations: ["describe"] },
|
|
187
|
+
...[telegramTopic(""), eventsTopic(""), forksTopic("")].map((name) => ({ resource: "topic", name, pattern: "prefixed", operations: ["describe"] })),
|
|
188
|
+
...[alasioGroup(""), eventsGroup(""), forksGroup("")].map((name) => ({ resource: "group", name, pattern: "prefixed", operations: ["describe"] })),
|
|
145
189
|
],
|
|
146
190
|
webhook: [{ resource: "topic", name: "telegram.", pattern: "prefixed", operations: ["write", "describe"] }],
|
|
147
191
|
// Every environment's events, a branch's among them, and nothing else.
|
|
148
|
-
"sandbox-gateway": [{ resource: "topic", name:
|
|
192
|
+
"sandbox-gateway": [{ resource: "topic", name: EVENTS_TOPIC_PREFIX, pattern: "prefixed", operations: ["write", "describe"] }],
|
|
149
193
|
};
|
|
150
194
|
const retention = { retentionMs: retentionMs(config.log.retention), retentionBytes: telemetryRetentionBytes(config) };
|
|
151
195
|
return {
|
|
@@ -174,7 +218,10 @@ function serverProperties(config) {
|
|
|
174
218
|
const majority = Math.floor(nodes / 2) + 1;
|
|
175
219
|
return script("process.roles=broker,controller", `controller.quorum.voters=${voters.join(",")}`, `listeners=CLIENT://:${LOG_PORT},CONTROLLER://:${LOG_CONTROLLER_PORT}`, "listener.security.protocol.map=CLIENT:SASL_PLAINTEXT,CONTROLLER:PLAINTEXT", "inter.broker.listener.name=CLIENT", "controller.listener.names=CONTROLLER", "sasl.enabled.mechanisms=SCRAM-SHA-512", "sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512", "authorizer.class.name=org.apache.kafka.metadata.authorizer.StandardAuthorizer",
|
|
176
220
|
// ANONYMOUS is what reaches the controllers' listener, unauthenticated: the NetworkPolicy, admitting its port from the log's own pods alone, is its guard.
|
|
177
|
-
"super.users=User:admin;User:ANONYMOUS", "allow.everyone.if.no.acl.found=false", "auto.create.topics.enable=false",
|
|
221
|
+
"super.users=User:admin;User:ANONYMOUS", "allow.everyone.if.no.acl.found=false", "auto.create.topics.enable=false",
|
|
222
|
+
// A group none is a member of joined at once by its first, not three seconds later, the broker's default wait for
|
|
223
|
+
// others to join with it: a woken alasio's first update waits on its group's join.
|
|
224
|
+
"group.initial.rebalance.delay.ms=0", `default.replication.factor=${nodes}`, `offsets.topic.replication.factor=${nodes}`, `transaction.state.log.replication.factor=${nodes}`, `min.insync.replicas=${majority}`, `transaction.state.log.min.isr=${majority}`, "log.dirs=/data/log", `log.retention.ms=${retentionMs(config.log.retention)}`, `log.segment.bytes=${LOG_SEGMENT_BYTES}`, "log.roll.ms=3600000", `message.max.bytes=${LOG_RECORD_BYTES}`, "log.flush.scheduler.interval.ms=1000", "metadata.log.max.snapshot.interval.ms=600000");
|
|
178
225
|
}
|
|
179
226
|
/** Its logging, to its output alone, rather than to files in its /tmp. */
|
|
180
227
|
const LOG4J2 = script("rootLogger.level=INFO", "rootLogger.appenderRef.stdout.ref=STDOUT", "appender.stdout.type=Console", "appender.stdout.name=STDOUT", "appender.stdout.layout.type=PatternLayout", "appender.stdout.layout.pattern=[%d] %p %m (%c)%n");
|
|
@@ -284,7 +331,7 @@ export function logObjects(config) {
|
|
|
284
331
|
name: "access",
|
|
285
332
|
image: imageReference(config.images.alasio),
|
|
286
333
|
imagePullPolicy: config.images.pullPolicy,
|
|
287
|
-
|
|
334
|
+
args: ["node", "/opt/alasio/src/log/access.ts"],
|
|
288
335
|
env: [
|
|
289
336
|
{ name: "LOG_BROKERS", value: `127.0.0.1:${LOG_PORT}` },
|
|
290
337
|
// Every voter's, as KRaft's active controller alone writes a credential.
|
|
@@ -311,6 +358,6 @@ export function logObjects(config) {
|
|
|
311
358
|
volumeClaimTemplates: [{ metadata: { name: "data", labels: claimLabels(stackLabels(LOG_COMPONENT)) }, spec: claimSpec(log.storage) }],
|
|
312
359
|
},
|
|
313
360
|
};
|
|
314
|
-
return [configMap, service, statefulSet, ...replicaBudget(LOG_COMPONENT, NAMESPACE, log.scaling), verticalPodAutoscaler(statefulSet, "
|
|
361
|
+
return [configMap, service, statefulSet, ...replicaBudget(LOG_COMPONENT, NAMESPACE, log.scaling), verticalPodAutoscaler(statefulSet, "AtStart")];
|
|
315
362
|
}
|
|
316
363
|
//# sourceMappingURL=log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/manifests/log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../src/manifests/log.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAoB,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7L,OAAO,EAAsB,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,wEAAwE;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,qFAAqF;AACrF,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAW,CAAC;AAE9G;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,UAAU,CAAC;AAEpD,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAe,EAAU,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC;AAErF,yHAAyH;AACzH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC;AAC1E,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;AAC1E,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;AAEtE,+GAA+G;AAC/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,8JAA8J;AAC9J,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE7C,+GAA+G;AAC/G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AACtE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;AAC1E,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,KAAK,qBAAqB,CAAC;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAChD,OAAO;QACL,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE;oBACJ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBACxF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;oBACxF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;oBACxF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;oBACzF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;oBACxF,GAAG,CAAC,IAAI;wBACN,CAAC,CAAC;4BACA,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;4BACxF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;4BACxG,8CAA8C;4BAC9C,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;yBAChG;wBACV,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAU,CAAC;iBAC1G;aACF;YACD;gBACE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aAC1L;SACF;QACD,MAAM,EAAE;YACN,gHAAgH;YAChH,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE;YAC7L,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7G,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE;YACxI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1J;KACF,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,SAAS,QAAQ,QAAQ,EAAE,CAAC;AAEjE,mGAAmG;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAuB,EAAU,EAAE,CAAC,aAAa,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;AAEzG;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAe,EAAU,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7J,kNAAkN;AAClN,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAe,EAAU,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAGxJ,sFAAsF;AACtF,MAAM,WAAW,GAAG,CAAC,OAAwB,EAAU,EAAE,CAAC,GAAG,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,SAAS,MAAM,CAAC;AAiDtG,yKAAyK;AACzK,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAiB;IAClF,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,UAAU,EAAE,kBAAkB;QAC9B,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE;QAC7D,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;KAC9H,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,SAAiB,EAAE,cAAsB,EAAE,MAAM,GAA0B,UAAU,EAAW,EAAE,CAAC,CAAC;IAC3J,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,sBAAsB,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE;IACjK,iBAAiB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;CAC5C,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAErG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAW,CAAC;IACrF,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAW,CAAC;IACrF,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,QAAQ,GAA+E;QAC3F,OAAO,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAChG,uFAAuF;QACvF,2FAA2F;QAC3F,iFAAiF;QACjF,MAAM,EAAE;YACN,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE;YAC1C,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE;YACtC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE;YACnF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE;YAC1F,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3J,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC1J;QACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QAC3G,uEAAuE;QACvE,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;KAC9H,CAAC;IACF,MAAM,SAAS,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;IACtH,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7K,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;KACtG,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAC1H,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,MAAM,CACX,iCAAiC,EACjC,4BAA4B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC9C,uBAAuB,QAAQ,kBAAkB,mBAAmB,EAAE,EACtE,2EAA2E,EAC3E,mCAAmC,EACnC,sCAAsC,EACtC,uCAAuC,EACvC,oDAAoD,EACpD,+EAA+E;IAC/E,2JAA2J;IAC3J,uCAAuC,EACvC,sCAAsC,EACtC,iCAAiC;IACjC,kHAAkH;IAClH,mFAAmF;IACnF,oCAAoC,EACpC,8BAA8B,KAAK,EAAE,EACrC,oCAAoC,KAAK,EAAE,EAC3C,4CAA4C,KAAK,EAAE,EACnD,uBAAuB,QAAQ,EAAE,EACjC,iCAAiC,QAAQ,EAAE,EAC3C,oBAAoB,EACpB,oBAAoB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EACvD,qBAAqB,iBAAiB,EAAE,EACxC,qBAAqB,EACrB,qBAAqB,gBAAgB,EAAE,EACvC,sCAAsC,EACtC,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,MAAM,GAAG,MAAM,CACnB,uBAAuB,EACvB,0CAA0C,EAC1C,8BAA8B,EAC9B,6BAA6B,EAC7B,2CAA2C,EAC3C,kDAAkD,CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,GAAG,MAAM,CACpB,2BAA2B,EAC3B,qBAAqB,EACrB,0EAA0E,EAC1E,sCAAsC,EACtC,sDAAsD,EACtD,QAAQ,EACR,wGAAwG,EACxG,uCAAuC,EACvC,iBAAiB,EACjB,iDAAiD,EACjD,kFAAkF,EAClF,gCAAgC,EAChC,iBAAiB,EACjB,8CAA8C,EAC9C,wEAAwE,EACxE,qCAAqC,EACrC,iBAAiB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,KAAK,GAAG,MAAM,CAClB,SAAS,EACT,2BAA2B,EAC3B,GAAG,EACH,kCAAkC,EAClC,2BAA2B,EAC3B,mDAAmD,GAAG,IAAI,SAAS,QAAQ,QAAQ,GAAG,EACtF,wLAAwL,EACxL,2BAA2B,EAC3B,cAAc,EACd,oMAAoM,EACpM,8EAA8E,EAC9E,MAAM,CACP,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IACzF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG;QACX,mBAAmB,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC7C,mBAAmB,EAAE,MAAM;QAC3B,cAAc,EAAE,OAAO;QACvB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;KACtD,CAAC;IACF,MAAM,SAAS,GAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvF,qHAAqH;IACrH,MAAM,OAAO,GAAc;QACzB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM;YACjB,wBAAwB,EAAE,IAAI;YAC9B,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE;gBACjD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAC5C;SACF;KACF,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,OAAe,EAA2F,EAAE,CAAC,CAAC;QACxI,IAAI;QACJ,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;QACzC,OAAO,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC;QAClD,eAAe,EAAE,EAAE,GAAG,mBAAmB,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;KAC5E,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACrJ,MAAM,MAAM,GAAe;QACzB,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,oBAAoB,CAAC;QAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;QACvC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,uDAAuD,EAAE;KAC7F,CAAC;IACF,MAAM,WAAW,GAAkB;QACjC,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,aAAa;QACnB,QAAQ;QACR,IAAI,EAAE;YACJ,WAAW,EAAE,GAAG;YAChB,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;YAC1B,0EAA0E;YAC1E,mBAAmB,EAAE,UAAU;YAC/B,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,EAAE;YACxD,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE;gBAClH,IAAI,EAAE;oBACJ,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACpB,GAAG,YAAY,CAAC,MAAM,CAAC;oBACvB,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;oBAC3C,yFAAyF;oBACzF,6BAA6B,EAAE,GAAG;oBAClC,cAAc,EAAE,CAAC;4BACf,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;4BAC3B,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;4BAChE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;4BACrF,YAAY,EAAE,MAAM;yBACrB,CAAC;oBACF,UAAU,EAAE;wBACV;4BACE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;4BACvB,GAAG,EAAE;gCACH,GAAG,MAAM;gCACT,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE;gCACvD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,6DAA6D,gBAAgB,wBAAwB,EAAE;gCACpI,2CAA2C;gCAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;6BACnD;4BACD,KAAK,EAAE;gCACL,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;gCAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE;gCAC1D,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE;6BACrD;4BACD,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;4BACxF,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;4BACpE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE;4BACxF,SAAS,EAAE,GAAG,CAAC,SAAS;4BACxB,YAAY,EAAE,MAAM;yBACrB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;4BACzC,IAAI,EAAE,CAAC,MAAM,EAAE,+BAA+B,CAAC;4BAC/C,GAAG,EAAE;gCACH,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,QAAQ,EAAE,EAAE;gCACvD,yEAAyE;gCACzE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gCACvJ,MAAM,CAAC,oBAAoB,CAAC;gCAC5B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,EAAE;gCACrD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE;gCACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;6BACxD;4BACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;4BACvD,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;4BAClF,eAAe,EAAE,EAAE,GAAG,mBAAmB,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;4BAC3E,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;4BACpF,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yBAClJ;qBACF;oBACD,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;wBAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE;wBAC1E,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;qBAChD;iBACF;aACF;YACD,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;SACtI;KACF,CAAC;IACF,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACnJ,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { COMPUTE_CTL_PORT, COMPUTE_PORT, computeId, MAIN, REPLICA_SUFFIX, replicaId } from "../../../neon/control/branches.js";
|
|
2
|
-
import { SUSPEND_AFTER } from "../../../neon/control/endpoints.js";
|
|
2
|
+
import { SERVING_LABEL, SUSPEND_AFTER } from "../../../neon/control/endpoints.js";
|
|
3
3
|
import { DATABASE, PAGESERVER_ZONE, ROLE } from "../../../neon/control/secrets.js";
|
|
4
4
|
import { imageReference } from "../images.js";
|
|
5
|
-
import { computeRestartPolicy } from "./admission.js";
|
|
6
|
-
import { claimSpec, collectorRuns,
|
|
5
|
+
import { computeRestartPolicy, computeServingPolicy } from "./admission.js";
|
|
6
|
+
import { BACKGROUND_CPU, claimSpec, collectorRuns, DATABASE_SECRET, given, helperResources, imagePullSecrets, lakeRuns, MAIN_ENVIRONMENT, NAMESPACE, neonName, oncePolicyApplies, ONE, otelEnv, RELEASE, replicasOf, restrictedContainer, s3Endpoint, script, selectorLabels, stackLabels, stackPodSpec, waitFor, waitForObjectStore, } from "./common.js";
|
|
7
7
|
import { durationSeconds } from "./config.js";
|
|
8
8
|
import { replicaBudget, spread } from "./disruption.js";
|
|
9
9
|
import { priority } from "./priorities.js";
|
|
10
10
|
import { verticalPodAutoscaler } from "./sizing.js";
|
|
11
|
+
import { oneAtATime } from "./volume-lock.js";
|
|
11
12
|
import { VALKEY_ADDRESS, workspacesBucketUrl } from "./workspace-storage.js";
|
|
12
13
|
/** A Service of the stack's: its name and component, selecting the component's pods, on `ports`, main's unless of `environment`. */
|
|
13
14
|
function service(name, component, ports, environment = MAIN_ENVIRONMENT) {
|
|
@@ -24,11 +25,10 @@ function secretVariable(secret, key) {
|
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* The stack's secrets, made once and kept, and each service's rendered from them, by
|
|
27
|
-
* neon/control/kube-setup.ts: the log's and the webhook intake's
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* Neon or without it.
|
|
28
|
+
* neon/control/kube-setup.ts: the log's and the webhook intake's, Neon's, the object
|
|
29
|
+
* store's, workspace storage's, and the snapshots bucket's and the node agents': a Job,
|
|
30
|
+
* which applying alasio runs to completion before anything else of alasio starts
|
|
31
|
+
* (../kube/apply.ts).
|
|
32
32
|
*/
|
|
33
33
|
function setup(config) {
|
|
34
34
|
const name = neonName("setup");
|
|
@@ -68,44 +68,32 @@ function setup(config) {
|
|
|
68
68
|
name: "setup",
|
|
69
69
|
image: imageReference(config.images.alasio),
|
|
70
70
|
imagePullPolicy: config.images.pullPolicy,
|
|
71
|
-
|
|
71
|
+
args: ["node", "/opt/alasio/neon/control/kube-setup.ts"],
|
|
72
72
|
env: [
|
|
73
73
|
{ name: "NAMESPACE", valueFrom: { fieldRef: { fieldPath: "metadata.namespace" } } },
|
|
74
74
|
{ name: "SECRET_PREFIX", value: RELEASE },
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
{ name: "NEON_PROXY_HOST", value: PROXY_HOST },
|
|
80
|
-
{ name: "NEON_CONTROLLER_DB_HOST", value: neonName("controller-db") },
|
|
81
|
-
]
|
|
82
|
-
: []),
|
|
75
|
+
{ name: "NEON_BROKER_URL", value: `http://${neonName("storage-broker")}:50051` },
|
|
76
|
+
{ name: "NEON_CONTROLLER_URL", value: `http://${neonName("storage-controller")}:1234` },
|
|
77
|
+
{ name: "NEON_PROXY_HOST", value: PROXY_HOST },
|
|
78
|
+
{ name: "NEON_CONTROLLER_DB_HOST", value: neonName("controller-db") },
|
|
83
79
|
{ name: "S3_ENDPOINT", value: s3Endpoint(config) },
|
|
84
80
|
{ name: "S3_REGION", value: objectStore.external.region },
|
|
85
81
|
{ name: "S3_BUCKET_NEON", value: objectStore.buckets.neon },
|
|
86
82
|
{ name: "S3_BUCKET_LAKE", value: objectStore.buckets.lake },
|
|
87
83
|
{ name: "S3_BUCKET_BACKUPS", value: objectStore.buckets.backups },
|
|
88
84
|
{ name: "WEBHOOK_ADDRESS", value: config.webhook.publicAddress },
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
{ name: "VALKEY_ADDRESS", value: VALKEY_ADDRESS },
|
|
96
|
-
]
|
|
97
|
-
: []),
|
|
98
|
-
...(sandboxSnapshots(config) ? [{ name: "SNAPSHOTS_BUCKET", value: objectStore.buckets.snapshots }] : []),
|
|
85
|
+
{ name: "WORKSPACES_NAME", value: workspaceStorage.name },
|
|
86
|
+
{ name: "WORKSPACES_BUCKET", value: objectStore.buckets.workspaces },
|
|
87
|
+
{ name: "WORKSPACES_BUCKET_URL", value: workspacesBucketUrl(config) },
|
|
88
|
+
{ name: "WORKSPACES_TRASH_DAYS", value: String(workspaceStorage.trashDays) },
|
|
89
|
+
{ name: "VALKEY_ADDRESS", value: VALKEY_ADDRESS },
|
|
90
|
+
{ name: "SNAPSHOTS_BUCKET", value: objectStore.buckets.snapshots },
|
|
99
91
|
...(objectStore.bundled.enabled ? [] : [
|
|
100
92
|
{ name: "S3_EXTERNAL", value: "1" },
|
|
101
93
|
{ name: "S3_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.existingSecret, key: "accessKey" } } },
|
|
102
94
|
{ name: "S3_SECRET_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.existingSecret, key: "secretKey" } } },
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
{ name: "S3_SNAPSHOTS_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "accessKey" } } },
|
|
106
|
-
{ name: "S3_SNAPSHOTS_SECRET_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "secretKey" } } },
|
|
107
|
-
]
|
|
108
|
-
: []),
|
|
95
|
+
{ name: "S3_SNAPSHOTS_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "accessKey" } } },
|
|
96
|
+
{ name: "S3_SNAPSHOTS_SECRET_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "secretKey" } } },
|
|
109
97
|
]),
|
|
110
98
|
],
|
|
111
99
|
securityContext: restrictedContainer(),
|
|
@@ -138,6 +126,10 @@ function controllerDb(config) {
|
|
|
138
126
|
name: "postgres",
|
|
139
127
|
image: imageReference(config.neon.controllerDbImage),
|
|
140
128
|
imagePullPolicy: "IfNotPresent",
|
|
129
|
+
// Started as the image starts it, its entrypoint running postgres, once no other
|
|
130
|
+
// Postgres holds the lock of its volume (./volume-lock.ts), a file in the volume's
|
|
131
|
+
// root, outside its data directory.
|
|
132
|
+
command: ["/bin/sh", "-c", oneAtATime("/var/lib/postgresql/data/.alasio-postgres.lock", "Postgres"), "docker-entrypoint.sh", "postgres"],
|
|
141
133
|
env: [
|
|
142
134
|
{ name: "POSTGRES_USER", value: "storage_controller" },
|
|
143
135
|
{ name: "POSTGRES_DB", value: "storage_controller" },
|
|
@@ -446,9 +438,11 @@ export const PROXY_PORT = 5432;
|
|
|
446
438
|
* What neon-control may do to the compute of `namespace`, main's or a branch
|
|
447
439
|
* environment's, and to its read replica: read its Deployment, and restart it, to start on
|
|
448
440
|
* a spec anew, and scale it, waking it and putting it to sleep, and list its pods, to see
|
|
449
|
-
* one put to sleep gone before it wakes it
|
|
450
|
-
*
|
|
451
|
-
*
|
|
441
|
+
* one put to sleep gone before it wakes it, and label them, taking one off its Service as
|
|
442
|
+
* it puts it to sleep, and list the Service's EndpointSlices, to see it taken off; a Role
|
|
443
|
+
* there, bound to neon-control's ServiceAccount in main's. Of a Deployment it patches, it
|
|
444
|
+
* may change the restart's annotation alone (./admission.ts's computeRestartPolicy), and
|
|
445
|
+
* of a pod, a compute's, its serving label alone (computeServingPolicy).
|
|
452
446
|
*/
|
|
453
447
|
export function computeScaling(namespace) {
|
|
454
448
|
const name = neonName("control");
|
|
@@ -460,8 +454,9 @@ export function computeScaling(namespace) {
|
|
|
460
454
|
rules: [
|
|
461
455
|
{ apiGroups: ["apps"], resources: ["deployments"], resourceNames: [neonName("compute"), REPLICA_NAME], verbs: ["get", "patch"] },
|
|
462
456
|
{ apiGroups: ["apps"], resources: ["deployments/scale"], resourceNames: [neonName("compute"), REPLICA_NAME], verbs: ["patch"] },
|
|
463
|
-
//
|
|
464
|
-
{ apiGroups: [""], resources: ["pods"], verbs: ["list"] },
|
|
457
|
+
// Of a namespace's pods, as no name narrows a list, nor names a pod made of a template.
|
|
458
|
+
{ apiGroups: [""], resources: ["pods"], verbs: ["list", "patch"] },
|
|
459
|
+
{ apiGroups: ["discovery.k8s.io"], resources: ["endpointslices"], verbs: ["list"] },
|
|
465
460
|
],
|
|
466
461
|
};
|
|
467
462
|
const binding = {
|
|
@@ -505,7 +500,7 @@ function control(config) {
|
|
|
505
500
|
name: "neon-control",
|
|
506
501
|
image: imageReference(config.images.alasio),
|
|
507
502
|
imagePullPolicy: config.images.pullPolicy,
|
|
508
|
-
|
|
503
|
+
args: ["node", "/opt/alasio/neon/control/service.ts"],
|
|
509
504
|
env: [
|
|
510
505
|
{ name: "CONTROLLER_URL", value: `http://${neonName("storage-controller")}:1234` },
|
|
511
506
|
{ name: "NEON_SAFEKEEPER_HOSTS", value: safekeeperHosts.join(",") },
|
|
@@ -544,6 +539,7 @@ function control(config) {
|
|
|
544
539
|
serviceAccount,
|
|
545
540
|
...computeScaling(NAMESPACE),
|
|
546
541
|
...computeRestartPolicy(),
|
|
542
|
+
...computeServingPolicy(),
|
|
547
543
|
deployment,
|
|
548
544
|
...replicaBudget(component, NAMESPACE, scaling),
|
|
549
545
|
verticalPodAutoscaler(deployment, "Recommended"),
|
|
@@ -557,8 +553,8 @@ function control(config) {
|
|
|
557
553
|
* client against it, has neon-control wake the compute if it sleeps, and then passes the
|
|
558
554
|
* session through, whole, so session state such as advisory locks holds. It keeps where
|
|
559
555
|
* each compute is for four minutes, and asks again when a connection there fails, as one
|
|
560
|
-
* to a compute that has gone to sleep since does
|
|
561
|
-
* of its own, and alasio cancels none.
|
|
556
|
+
* to a compute that has gone to sleep since does, or that a sleep is stopping. It cancels
|
|
557
|
+
* no query: that needs a Redis of its own, and alasio cancels none.
|
|
562
558
|
*/
|
|
563
559
|
function proxy(config) {
|
|
564
560
|
const name = neonName("proxy");
|
|
@@ -621,7 +617,9 @@ function proxy(config) {
|
|
|
621
617
|
* neon-control wakes it and puts it to sleep, scaling its Deployment between one replica
|
|
622
618
|
* and none: so applying alasio gives it none, as it would take the count back, and a
|
|
623
619
|
* compute made anew starts at one. Its Service takes connections before its pod is ready,
|
|
624
|
-
* so a wake is answered as soon as Postgres takes them
|
|
620
|
+
* so a wake is answered as soon as Postgres takes them, and none once a sleep has taken
|
|
621
|
+
* its pod off it, before stopping it, so the proxy asks for a wake rather than reach the
|
|
622
|
+
* pod stopping.
|
|
625
623
|
*
|
|
626
624
|
* Beside it, where the lake runs, its read replica (REPLICA_NAME), which the lake loads
|
|
627
625
|
* from: a compute of its own, on the same timeline, streaming its WAL from the
|
|
@@ -655,7 +653,8 @@ function computeObjects(config, environment, replica) {
|
|
|
655
653
|
strategy: { type: "Recreate" },
|
|
656
654
|
selector: { matchLabels: selectorLabels(component) },
|
|
657
655
|
template: {
|
|
658
|
-
|
|
656
|
+
// Its Service's while no sleep has taken it off it (neon/control/endpoints.ts's SERVING_LABEL).
|
|
657
|
+
metadata: { labels: { ...stackLabels(component), [SERVING_LABEL]: "true" } },
|
|
659
658
|
spec: {
|
|
660
659
|
// Main's primary is alasio's database, which every turn needs; a branch's, and every
|
|
661
660
|
// read replica, serve what may wait.
|
|
@@ -705,7 +704,7 @@ function computeObjects(config, environment, replica) {
|
|
|
705
704
|
apiVersion: "v1",
|
|
706
705
|
kind: "Service",
|
|
707
706
|
metadata: { name, namespace: environment.namespace, labels: stackLabels(component) },
|
|
708
|
-
spec: { selector: selectorLabels(component), publishNotReadyAddresses: true, ports: [{ name: "postgres", port: COMPUTE_PORT }, { name: "http", port: COMPUTE_CTL_PORT }] },
|
|
707
|
+
spec: { selector: { ...selectorLabels(component), [SERVING_LABEL]: "true" }, publishNotReadyAddresses: true, ports: [{ name: "postgres", port: COMPUTE_PORT }, { name: "http", port: COMPUTE_CTL_PORT }] },
|
|
709
708
|
};
|
|
710
709
|
return [service, deployment, verticalPodAutoscaler(deployment, "Recommended")];
|
|
711
710
|
}
|
|
@@ -725,9 +724,7 @@ function backup(config) {
|
|
|
725
724
|
command: [
|
|
726
725
|
"/bin/sh",
|
|
727
726
|
"-c",
|
|
728
|
-
|
|
729
|
-
// waited for rather than given up on at the first refusal.
|
|
730
|
-
`until pg_isready --quiet; do sleep 2; done && pg_dump --username=${ROLE} --dbname=${DATABASE} --format=custom --file=/backup/alasio.dump`,
|
|
727
|
+
`${oncePolicyApplies("pg_isready --quiet")} && pg_dump --username=${ROLE} --dbname=${DATABASE} --format=custom --file=/backup/alasio.dump`,
|
|
731
728
|
],
|
|
732
729
|
env: [
|
|
733
730
|
{ name: "PGHOST", value: PROXY_HOST },
|
|
@@ -735,10 +732,10 @@ function backup(config) {
|
|
|
735
732
|
// Main's compute, through the proxy, which wakes it if it sleeps.
|
|
736
733
|
{ name: "PGOPTIONS", value: `endpoint=${computeId(MAIN)}` },
|
|
737
734
|
{ name: "PGCONNECT_TIMEOUT", value: "60" },
|
|
738
|
-
{ name: "PGPASSWORD", valueFrom: { secretKeyRef: { name:
|
|
735
|
+
{ name: "PGPASSWORD", valueFrom: { secretKeyRef: { name: DATABASE_SECRET, key: "password" } } },
|
|
739
736
|
],
|
|
740
737
|
securityContext: restrictedContainer(),
|
|
741
|
-
resources: { requests: { cpu:
|
|
738
|
+
resources: { requests: { cpu: BACKGROUND_CPU, memory: "128Mi" }, limits: { memory: "1Gi" } },
|
|
742
739
|
volumeMounts: [{ name: "backup", mountPath: "/backup" }],
|
|
743
740
|
};
|
|
744
741
|
const upload = {
|
|
@@ -750,25 +747,12 @@ function backup(config) {
|
|
|
750
747
|
"-c",
|
|
751
748
|
script("set -eu", 's3() { aws s3 --endpoint-url "$S3_ENDPOINT" "$@"; }',
|
|
752
749
|
// Deletes all but the newest KEEP of the backups whose names match $1, which sort by when they were made.
|
|
753
|
-
"prune() { s3 ls \"s3://$BUCKET/\" | awk '{print $4}' | grep \"$1\" | sort -r | tail -n +$((KEEP + 1)) \\", ' | while read -r old; do s3 rm "s3://$BUCKET/$old"; done; }', "stamp=$(date -u +%Y%m%dT%H%M%SZ)", 's3 cp "$BACKUP_DIR/alasio.dump" "s3://$BUCKET/alasio-$stamp.dump"', "prune '^alasio-.*\\.dump$'",
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
// checked as the gzip it is, and read back the same once written. None until a
|
|
760
|
-
// workspace's volume has been mounted for a while.
|
|
761
|
-
'copied="s3://$BUCKET/$WORKSPACES_NAME-$dump"',
|
|
762
|
-
'if [ -n "$dump" ]; then',
|
|
763
|
-
' s3 cp "$meta$dump" "$BACKUP_DIR/workspaces.json.gz"',
|
|
764
|
-
' gzip -t "$BACKUP_DIR/workspaces.json.gz" 2>/dev/null || { echo "$dump is no whole gzip" >&2; exit 1; }',
|
|
765
|
-
' s3 cp "$BACKUP_DIR/workspaces.json.gz" "$copied"',
|
|
766
|
-
' s3 cp "$copied" "$BACKUP_DIR/workspaces.copied"',
|
|
767
|
-
' cmp -s "$BACKUP_DIR/workspaces.json.gz" "$BACKUP_DIR/workspaces.copied" || { echo "the copy of $dump in $BUCKET is not the dump read" >&2; exit 1; }',
|
|
768
|
-
'else echo "JuiceFS has dumped no metadata of $WORKSPACES_NAME yet"; fi',
|
|
769
|
-
'prune "^$WORKSPACES_NAME-dump-.*\\.json\\.gz$"',
|
|
770
|
-
]
|
|
771
|
-
: [])),
|
|
750
|
+
"prune() { s3 ls \"s3://$BUCKET/\" | awk '{print $4}' | grep \"$1\" | sort -r | tail -n +$((KEEP + 1)) \\", ' | while read -r old; do s3 rm "s3://$BUCKET/$old"; done; }', "stamp=$(date -u +%Y%m%dT%H%M%SZ)", 's3 cp "$BACKUP_DIR/alasio.dump" "s3://$BUCKET/alasio-$stamp.dump"', "prune '^alasio-.*\\.dump$'", 'meta="s3://$WORKSPACES_BUCKET/$WORKSPACES_NAME/meta/"', "dump=$(s3 ls \"$meta\" | awk '{print $4}' | grep '^dump-.*\\.json\\.gz$' | sort -r | head -n 1)",
|
|
751
|
+
// Copied by its bytes, read and written as every object is, not by the object store's
|
|
752
|
+
// own copy (CopyObject), which SeaweedFS failed for a dump, all of the job's tries;
|
|
753
|
+
// checked as the gzip it is, and read back the same once written. None until a
|
|
754
|
+
// workspace's volume has been mounted for a while.
|
|
755
|
+
'copied="s3://$BUCKET/$WORKSPACES_NAME-$dump"', 'if [ -n "$dump" ]; then', ' s3 cp "$meta$dump" "$BACKUP_DIR/workspaces.json.gz"', ' gzip -t "$BACKUP_DIR/workspaces.json.gz" 2>/dev/null || { echo "$dump is no whole gzip" >&2; exit 1; }', ' s3 cp "$BACKUP_DIR/workspaces.json.gz" "$copied"', ' s3 cp "$copied" "$BACKUP_DIR/workspaces.copied"', ' cmp -s "$BACKUP_DIR/workspaces.json.gz" "$BACKUP_DIR/workspaces.copied" || { echo "the copy of $dump in $BUCKET is not the dump read" >&2; exit 1; }', 'else echo "JuiceFS has dumped no metadata of $WORKSPACES_NAME yet"; fi', 'prune "^$WORKSPACES_NAME-dump-.*\\.json\\.gz$"'),
|
|
772
756
|
],
|
|
773
757
|
env: [
|
|
774
758
|
{ name: "S3_ENDPOINT", value: s3Endpoint(config) },
|
|
@@ -776,16 +760,15 @@ function backup(config) {
|
|
|
776
760
|
{ name: "KEEP", value: String(config.neon.backup.keep) },
|
|
777
761
|
// Where the database's dump is, which the backup's own reads of JuiceFS's are put beside.
|
|
778
762
|
{ name: "BACKUP_DIR", value: "/backup" },
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
: []),
|
|
763
|
+
{ name: "WORKSPACES_BUCKET", value: objectStore.buckets.workspaces },
|
|
764
|
+
{ name: "WORKSPACES_NAME", value: workspaceStorage.name },
|
|
782
765
|
{ name: "AWS_DEFAULT_REGION", value: objectStore.external.region },
|
|
783
766
|
{ name: "HOME", value: "/tmp" },
|
|
784
767
|
],
|
|
785
768
|
// Its own identity: it writes the backups' bucket and reads what it backs up, and no more.
|
|
786
769
|
envFrom: [{ secretRef: { name: neonName("s3-backups") } }],
|
|
787
770
|
securityContext: restrictedContainer(),
|
|
788
|
-
resources: { requests: { cpu:
|
|
771
|
+
resources: { requests: { cpu: BACKGROUND_CPU, memory: "128Mi" }, limits: { memory: "512Mi" } },
|
|
789
772
|
volumeMounts: [{ name: "backup", mountPath: "/backup" }, { name: "tmp", mountPath: "/tmp" }],
|
|
790
773
|
};
|
|
791
774
|
return {
|
|
@@ -817,11 +800,8 @@ function backup(config) {
|
|
|
817
800
|
},
|
|
818
801
|
};
|
|
819
802
|
}
|
|
820
|
-
/** The stack's setup,
|
|
803
|
+
/** The stack's setup, and Neon's objects. */
|
|
821
804
|
export function neonObjects(config) {
|
|
822
|
-
const { neon } = config;
|
|
823
|
-
if (!neon.enabled)
|
|
824
|
-
return setup(config);
|
|
825
805
|
return [
|
|
826
806
|
...setup(config),
|
|
827
807
|
...controllerDb(config),
|
|
@@ -832,7 +812,7 @@ export function neonObjects(config) {
|
|
|
832
812
|
...control(config),
|
|
833
813
|
...proxy(config),
|
|
834
814
|
...compute(config),
|
|
835
|
-
...(neon.backup.enabled ? [backup(config)] : []),
|
|
815
|
+
...(config.neon.backup.enabled ? [backup(config)] : []),
|
|
836
816
|
];
|
|
837
817
|
}
|
|
838
818
|
//# sourceMappingURL=neon.js.map
|