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,11 +1,12 @@
|
|
|
1
1
|
import { COMPUTE_CTL_PORT, COMPUTE_PORT } from "../../../neon/control/branches.js";
|
|
2
|
-
import { BRANCH_FORK_PORT } from "../../../src/branch/names.js";
|
|
3
2
|
import { POOL_LABEL } from "../../../src/binder/names.js";
|
|
4
3
|
import { NET_MODE_LABEL } from "../../../src/kube/sandbox-shape.js";
|
|
5
4
|
import { NODE_AGENT_PORT } from "../../../src/node-agent/names.js";
|
|
6
|
-
import {
|
|
5
|
+
import { CODEX_LOGIN_PORT } from "../../../src/harness/names.js";
|
|
6
|
+
import { CODEX_LOGIN, CODEX_LOGIN_COMPONENT } from "./codex-login.js";
|
|
7
|
+
import { sessionsNamespace } from "./alasio.js";
|
|
7
8
|
import { GATEWAY_COMPONENT, SCRAPER_COMPONENT } from "./collector.js";
|
|
8
|
-
import { BRANCH_LABEL, COLLECTOR_PORT, collectorRuns, componentName,
|
|
9
|
+
import { BRANCH_LABEL, COLLECTOR_PORT, collectorRuns, componentName, grafanaRuns, labels, lakeRuns, MAIN_ENVIRONMENT, NAMESPACE, RELEASE, selectorLabels, } from "./common.js";
|
|
9
10
|
import { replicated } from "./disruption.js";
|
|
10
11
|
import { GOSSIP_PORT } from "./grafana.js";
|
|
11
12
|
import { INTAKE_COMPONENT, LAKE_QUERY_PORT, LOADER_COMPONENT, QUERY_COMPONENT, RECONCILE_COMPONENT } from "./lake.js";
|
|
@@ -15,8 +16,9 @@ import { BACKUP_COMPONENT, COMPONENTS, FILER, FILER_STORE, GATEWAY, LIFECYCLE_CO
|
|
|
15
16
|
import { PROXY_PORT } from "./neon.js";
|
|
16
17
|
import { VALKEY_PORT } from "./valkey.js";
|
|
17
18
|
import { FOLDER_PORT, foldersRun } from "./folders.js";
|
|
19
|
+
import { HARNESS_COMPONENT, HARNESS_POD_PORT, HARNESS_POOLS } from "./harness-pools.js";
|
|
18
20
|
import { JUICEFS_ADMIN } from "./workspace-storage.js";
|
|
19
|
-
import { GATEWAY as SANDBOX_GATEWAY_NAME, GATEWAY_COMPONENT as SANDBOX_GATEWAY_COMPONENT, GATEWAY_PORT as SANDBOX_GATEWAY_PORT, POOL_POD_PORT, RECEIVER, RECEIVER_COMPONENT,
|
|
21
|
+
import { GATEWAY as SANDBOX_GATEWAY_NAME, GATEWAY_COMPONENT as SANDBOX_GATEWAY_COMPONENT, GATEWAY_PORT as SANDBOX_GATEWAY_PORT, POOL_POD_PORT, RECEIVER, RECEIVER_COMPONENT, } from "./sandbox-gateway.js";
|
|
20
22
|
/** The namespace `name`, as a peer's selector. */
|
|
21
23
|
const namespaceNamed = (name) => ({ matchLabels: { "kubernetes.io/metadata.name": name } });
|
|
22
24
|
/** Every branch environment's namespace, as a peer's selector, by the label each has. */
|
|
@@ -91,6 +93,11 @@ function proxyPolicy() {
|
|
|
91
93
|
from: [
|
|
92
94
|
{ podSelector: { matchLabels: selectorLabels("alasio") } },
|
|
93
95
|
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } },
|
|
96
|
+
// Each environment's relay of its Codex login, as alasio's role, whose state keeps the login.
|
|
97
|
+
{ podSelector: { matchLabels: selectorLabels(CODEX_LOGIN_COMPONENT) } },
|
|
98
|
+
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels(CODEX_LOGIN_COMPONENT) } },
|
|
99
|
+
// Its harness pools' hosts, as the harness host's role, main's and branch environments'.
|
|
100
|
+
...HARNESS_PEERS,
|
|
94
101
|
],
|
|
95
102
|
ports: [{ protocol: "TCP", port: PROXY_PORT }],
|
|
96
103
|
}],
|
|
@@ -123,7 +130,7 @@ function branchStoragePolicy(config) {
|
|
|
123
130
|
function workspaceStoragePolicies(config) {
|
|
124
131
|
const juicefs = [{ podSelector: { matchLabels: JUICEFS_ADMIN } }];
|
|
125
132
|
// The node agents, which set workspaces' quotas on the metadata engine, and reach no object store of it.
|
|
126
|
-
const quotas =
|
|
133
|
+
const quotas = [NODE_AGENT];
|
|
127
134
|
return [
|
|
128
135
|
policy(componentName("valkey"), NAMESPACE, "valkey", {
|
|
129
136
|
podSelector: { matchLabels: selectorLabels("valkey") },
|
|
@@ -246,7 +253,7 @@ function logPolicy(config) {
|
|
|
246
253
|
from: [
|
|
247
254
|
of(GATEWAY_COMPONENT),
|
|
248
255
|
of(WEBHOOK_COMPONENT),
|
|
249
|
-
|
|
256
|
+
of(SANDBOX_GATEWAY_COMPONENT),
|
|
250
257
|
of(INTAKE_COMPONENT),
|
|
251
258
|
operator,
|
|
252
259
|
of("alasio"),
|
|
@@ -295,15 +302,17 @@ function webhookPolicy(config) {
|
|
|
295
302
|
* sessions' and folder instances' telemetry reaches it through a receiver alone, their
|
|
296
303
|
* alasio's or the sandbox service's.
|
|
297
304
|
*/
|
|
298
|
-
function collectorPolicy(
|
|
305
|
+
function collectorPolicy() {
|
|
299
306
|
return policy(componentName("collector"), NAMESPACE, GATEWAY_COMPONENT, {
|
|
300
307
|
podSelector: { matchLabels: selectorLabels(GATEWAY_COMPONENT) },
|
|
301
308
|
policyTypes: ["Ingress"],
|
|
302
309
|
ingress: [{
|
|
303
310
|
from: [
|
|
304
311
|
{ podSelector: { matchLabels: selectorLabels("alasio") } },
|
|
305
|
-
|
|
306
|
-
|
|
312
|
+
NODE_AGENT,
|
|
313
|
+
SANDBOX_GATEWAY,
|
|
314
|
+
SANDBOX_RECEIVER,
|
|
315
|
+
...HARNESS_PEERS,
|
|
307
316
|
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } },
|
|
308
317
|
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: STACK } },
|
|
309
318
|
],
|
|
@@ -358,10 +367,11 @@ function lakeQueryPolicy(config) {
|
|
|
358
367
|
* and saves and restores sandboxes through them, on their API's port, and nothing else, the
|
|
359
368
|
* gateway alone holding the token they take (./node-agent.ts); they reach the cluster's
|
|
360
369
|
* DNS, the object store's S3 port, the bundled one's or the operator's at any address,
|
|
361
|
-
* workspace storage's metadata engine, which they set workspaces' quotas on,
|
|
362
|
-
*
|
|
370
|
+
* workspace storage's metadata engine, which they set workspaces' quotas on, the API server,
|
|
371
|
+
* which they watch the pods they attach into on, where `apiServer` says, and nowhere where up
|
|
372
|
+
* could not read it, as they run privileged, and the collector where it runs, and nothing else. The bundled object store, and the metadata engine, admit them.
|
|
363
373
|
*/
|
|
364
|
-
function nodeAgentPolicies(config) {
|
|
374
|
+
function nodeAgentPolicies(config, apiServer) {
|
|
365
375
|
const { bundled, external } = config.objectStore;
|
|
366
376
|
const seaweedfs = { podSelector: { matchLabels: selectorLabels("seaweedfs") } };
|
|
367
377
|
const endpoint = bundled.enabled ? null : new URL(external.endpoint);
|
|
@@ -372,11 +382,13 @@ function nodeAgentPolicies(config) {
|
|
|
372
382
|
policy(componentName("node-agent"), NAMESPACE, "node-agent", {
|
|
373
383
|
...NODE_AGENT,
|
|
374
384
|
policyTypes: ["Ingress", "Egress"],
|
|
375
|
-
ingress:
|
|
385
|
+
ingress: [{ from: [SANDBOX_GATEWAY], ports: [{ protocol: "TCP", port: NODE_AGENT_PORT }] }],
|
|
376
386
|
egress: [
|
|
377
387
|
CLUSTER_DNS,
|
|
378
388
|
objectStore,
|
|
379
|
-
|
|
389
|
+
{ to: [{ podSelector: { matchLabels: selectorLabels("valkey") } }], ports: [{ protocol: "TCP", port: VALKEY_PORT }] },
|
|
390
|
+
// Where up read it alone: a privileged pod is never let reach anywhere for it, its sweep not run instead.
|
|
391
|
+
...(apiServer ? [apiServerRule(apiServer)] : []),
|
|
380
392
|
...(collectorRuns(config) ? [{ to: [{ podSelector: { matchLabels: selectorLabels("collector") } }], ports: [{ protocol: "TCP", port: COLLECTOR_PORT }] }] : []),
|
|
381
393
|
],
|
|
382
394
|
}),
|
|
@@ -389,6 +401,46 @@ function nodeAgentPolicies(config) {
|
|
|
389
401
|
: []),
|
|
390
402
|
];
|
|
391
403
|
}
|
|
404
|
+
/** Every environment's harness pools' pods (./harness-pools.ts), main's and branch environments', as peers. */
|
|
405
|
+
const HARNESS_PEERS = [
|
|
406
|
+
{ namespaceSelector: namespaceNamed(NAMESPACE), podSelector: { matchLabels: selectorLabels(HARNESS_COMPONENT) } },
|
|
407
|
+
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels(HARNESS_COMPONENT) } },
|
|
408
|
+
];
|
|
409
|
+
/**
|
|
410
|
+
* The harness pools' pods of `environment` (./harness-pools.ts), free or bound: they take main's
|
|
411
|
+
* sandbox gateway alone, on their host's port, which it reaches them through. A session
|
|
412
|
+
* conversation's reaches the cluster's DNS, the gateway (its bayma and its files through it, and
|
|
413
|
+
* its events, which the gateway writes), Neon's proxy (its database, as the harness host's role),
|
|
414
|
+
* its environment's relay of its Codex login, the collector where it runs, and the internet's HTTPS
|
|
415
|
+
* port, its harness's model's API, none of the cluster's or its network's private addresses, as a
|
|
416
|
+
* session with internet; nothing else, the log not among it.
|
|
417
|
+
* A folder conversation's, main's, reaches what alasio's own pod reaches, as the operator's agents do.
|
|
418
|
+
*/
|
|
419
|
+
function harnessPolicies(config, environment) {
|
|
420
|
+
const harnesses = { podSelector: { matchLabels: selectorLabels(HARNESS_COMPONENT) } };
|
|
421
|
+
const sessionPools = { matchLabels: selectorLabels(HARNESS_COMPONENT), matchExpressions: [{ key: POOL_LABEL, operator: "In", values: Object.values(HARNESS_POOLS) }] };
|
|
422
|
+
const ofMainNamespace = (component) => ({ namespaceSelector: namespaceNamed(NAMESPACE), podSelector: { matchLabels: selectorLabels(component) } });
|
|
423
|
+
return [
|
|
424
|
+
policy(componentName("harnesses"), environment.namespace, HARNESS_COMPONENT, {
|
|
425
|
+
...harnesses,
|
|
426
|
+
policyTypes: ["Ingress"],
|
|
427
|
+
ingress: [{ from: [{ namespaceSelector: namespaceNamed(NAMESPACE), ...SANDBOX_GATEWAY }], ports: [{ protocol: "TCP", port: HARNESS_POD_PORT }] }],
|
|
428
|
+
}),
|
|
429
|
+
policy(componentName("harnesses-of-sessions"), environment.namespace, HARNESS_COMPONENT, {
|
|
430
|
+
podSelector: sessionPools,
|
|
431
|
+
policyTypes: ["Egress"],
|
|
432
|
+
egress: [
|
|
433
|
+
CLUSTER_DNS,
|
|
434
|
+
{ to: [{ namespaceSelector: namespaceNamed(NAMESPACE), ...SANDBOX_GATEWAY }], ports: [{ protocol: "TCP", port: SANDBOX_GATEWAY_PORT }] },
|
|
435
|
+
{ to: [ofMainNamespace("neon-proxy")], ports: [{ protocol: "TCP", port: PROXY_PORT }] },
|
|
436
|
+
// Its environment's relay of its Codex login.
|
|
437
|
+
{ to: [{ podSelector: { matchLabels: selectorLabels(CODEX_LOGIN_COMPONENT) } }], ports: [{ protocol: "TCP", port: CODEX_LOGIN_PORT }] },
|
|
438
|
+
...(collectorRuns(config) ? [{ to: [ofMainNamespace(GATEWAY_COMPONENT)], ports: [{ protocol: "TCP", port: COLLECTOR_PORT }] }] : []),
|
|
439
|
+
{ to: [{ ipBlock: { cidr: "0.0.0.0/0", except: [...config.sessions.blockedCidrs] } }], ports: [{ protocol: "TCP", port: 443 }] },
|
|
440
|
+
],
|
|
441
|
+
}),
|
|
442
|
+
];
|
|
443
|
+
}
|
|
392
444
|
/** The pods of the sandbox service's pools (./sandbox-gateway.ts), free or bound, as a selector: by the label each has of its pool. */
|
|
393
445
|
const POOLED = { matchExpressions: [{ key: POOL_LABEL, operator: "Exists" }] };
|
|
394
446
|
/** The sandbox service's gateway's pods, as a peer. */
|
|
@@ -431,9 +483,10 @@ function poolPolicies(config, environment) {
|
|
|
431
483
|
* what they need of the cluster alone:
|
|
432
484
|
*
|
|
433
485
|
* - the gateway takes main's alasio and each branch environment's, which bind through it, its own replicas, which pass each
|
|
434
|
-
* other what is bound on the pods each holds,
|
|
435
|
-
* it how many binds wait for a pool,
|
|
436
|
-
*
|
|
486
|
+
* other what is bound on the pods each holds, KEDA's operator (kedaOperator), which asks
|
|
487
|
+
* it how many binds wait for a pool, and the harness pools' hosts, which reach their turns'
|
|
488
|
+
* bayma and files through it, on its port alone; it reaches the cluster's DNS, the
|
|
489
|
+
* pools' pods of every environment on bayma's port, the harness pools' on their host's, the node agents, its replicas, the
|
|
437
490
|
* log, which it writes each environment's events to, the collector where it runs, and the
|
|
438
491
|
* API server;
|
|
439
492
|
* - the receiver takes the pools' pods alone, of main's sessions and of branch environments',
|
|
@@ -457,12 +510,14 @@ function sandboxServicePolicies(config, apiServer) {
|
|
|
457
510
|
...SANDBOX_GATEWAY,
|
|
458
511
|
policyTypes: ["Ingress", "Egress"],
|
|
459
512
|
ingress: [{
|
|
460
|
-
from: [{ podSelector: { matchLabels: selectorLabels("alasio") } }, { namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } }, SANDBOX_GATEWAY, kedaOperator(config)],
|
|
513
|
+
from: [{ podSelector: { matchLabels: selectorLabels("alasio") } }, { namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } }, SANDBOX_GATEWAY, kedaOperator(config), ...HARNESS_PEERS],
|
|
461
514
|
ports: [{ protocol: "TCP", port: SANDBOX_GATEWAY_PORT }],
|
|
462
515
|
}],
|
|
463
516
|
egress: [
|
|
464
517
|
CLUSTER_DNS,
|
|
465
518
|
{ to: [...pools, ...folders], ports: [{ protocol: "TCP", port: POOL_POD_PORT }] },
|
|
519
|
+
// Each environment's harness pools' hosts, which it binds and passes conversations' calls on to.
|
|
520
|
+
{ to: HARNESS_PEERS, ports: [{ protocol: "TCP", port: HARNESS_POD_PORT }] },
|
|
466
521
|
{ to: [NODE_AGENT], ports: [{ protocol: "TCP", port: NODE_AGENT_PORT }] },
|
|
467
522
|
{ to: [SANDBOX_GATEWAY], ports: [{ protocol: "TCP", port: SANDBOX_GATEWAY_PORT }] },
|
|
468
523
|
// The log, its events written to it.
|
|
@@ -480,20 +535,30 @@ function sandboxServicePolicies(config, apiServer) {
|
|
|
480
535
|
];
|
|
481
536
|
}
|
|
482
537
|
/**
|
|
483
|
-
* alasio takes no connections
|
|
484
|
-
*
|
|
538
|
+
* alasio takes no connections: a branch environment's asks main to fork the sessions it
|
|
539
|
+
* inherited on the log (src/branch/fork.ts), and its harness pools' pods reach the relay of
|
|
540
|
+
* its Codex login, a component of its own.
|
|
485
541
|
*/
|
|
486
|
-
function alasioPolicy(
|
|
487
|
-
const forks = environment.branch === null && forksForBranches(config);
|
|
488
|
-
const ingress = [
|
|
489
|
-
...(forks
|
|
490
|
-
? [{ from: [{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } }], ports: [{ protocol: "TCP", port: BRANCH_FORK_PORT }] }]
|
|
491
|
-
: []),
|
|
492
|
-
];
|
|
542
|
+
function alasioPolicy(environment) {
|
|
493
543
|
return policy(componentName("alasio"), environment.namespace, "alasio", {
|
|
494
544
|
podSelector: { matchLabels: selectorLabels("alasio") },
|
|
495
545
|
policyTypes: ["Ingress"],
|
|
496
|
-
|
|
546
|
+
ingress: [],
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* The relay of an environment's Codex login (./codex-login.ts) takes its own harness pools'
|
|
551
|
+
* pods, which call the model through it, and its alasio, which asks whether it answers before a
|
|
552
|
+
* Codex turn starts: none of another environment's.
|
|
553
|
+
*/
|
|
554
|
+
function codexLoginPolicy(environment) {
|
|
555
|
+
return policy(CODEX_LOGIN, environment.namespace, CODEX_LOGIN_COMPONENT, {
|
|
556
|
+
podSelector: { matchLabels: selectorLabels(CODEX_LOGIN_COMPONENT) },
|
|
557
|
+
policyTypes: ["Ingress"],
|
|
558
|
+
ingress: [{
|
|
559
|
+
from: [{ podSelector: { matchLabels: selectorLabels(HARNESS_COMPONENT) } }, { podSelector: { matchLabels: selectorLabels("alasio") } }],
|
|
560
|
+
ports: [{ protocol: "TCP", port: CODEX_LOGIN_PORT }],
|
|
561
|
+
}],
|
|
497
562
|
});
|
|
498
563
|
}
|
|
499
564
|
/**
|
|
@@ -505,17 +570,19 @@ function alasioPolicy(config, environment) {
|
|
|
505
570
|
export function networkPolicyObjects(config, environment = MAIN_ENVIRONMENT, apiServer = null) {
|
|
506
571
|
if (!config.networkPolicies.enabled)
|
|
507
572
|
return [];
|
|
508
|
-
const {
|
|
573
|
+
const { host } = config;
|
|
509
574
|
if (environment.branch !== null) {
|
|
510
575
|
return [
|
|
511
|
-
...
|
|
512
|
-
...
|
|
513
|
-
|
|
576
|
+
...sessionPolicies(config, environment),
|
|
577
|
+
...poolPolicies(config, environment),
|
|
578
|
+
...harnessPolicies(config, environment),
|
|
579
|
+
alasioPolicy(environment),
|
|
580
|
+
codexLoginPolicy(environment),
|
|
514
581
|
...neonPolicies(environment),
|
|
515
582
|
];
|
|
516
583
|
}
|
|
517
584
|
return [
|
|
518
|
-
...
|
|
585
|
+
...sessionPolicies(config, environment),
|
|
519
586
|
// Folder conversations' instances are reached by the sandbox gateway alone, which binds them; what they reach is the machine's.
|
|
520
587
|
...(foldersRun(config)
|
|
521
588
|
? [policy("folders-from-gateway", host.namespace, "folder-bayma", {
|
|
@@ -525,17 +592,22 @@ export function networkPolicyObjects(config, environment = MAIN_ENVIRONMENT, api
|
|
|
525
592
|
ingress: [{ from: [{ namespaceSelector: namespaceNamed(NAMESPACE), ...SANDBOX_GATEWAY }], ports: [{ protocol: "TCP", port: FOLDER_PORT }] }],
|
|
526
593
|
})]
|
|
527
594
|
: []),
|
|
528
|
-
alasioPolicy(
|
|
529
|
-
|
|
595
|
+
alasioPolicy(environment),
|
|
596
|
+
codexLoginPolicy(environment),
|
|
597
|
+
...harnessPolicies(config, environment),
|
|
598
|
+
...neonPolicies(environment),
|
|
599
|
+
proxyPolicy(),
|
|
600
|
+
branchStoragePolicy(config),
|
|
530
601
|
...(config.objectStore.bundled.enabled ? [gatewayPolicy(), ...partPolicies(), ...filerStorePolicies()] : []),
|
|
531
602
|
logPolicy(config),
|
|
532
603
|
webhookPolicy(config),
|
|
533
|
-
...(collectorRuns(config) ? [collectorPolicy(
|
|
604
|
+
...(collectorRuns(config) ? [collectorPolicy()] : []),
|
|
534
605
|
...(grafanaRuns(config) ? grafanaPolicies(config) : []),
|
|
535
606
|
...(lakeRuns(config) ? [lakeQueryPolicy(config)] : []),
|
|
536
|
-
...
|
|
537
|
-
...
|
|
538
|
-
...
|
|
607
|
+
...workspaceStoragePolicies(config),
|
|
608
|
+
...nodeAgentPolicies(config, apiServer),
|
|
609
|
+
...poolPolicies(config, environment),
|
|
610
|
+
...sandboxServicePolicies(config, apiServer),
|
|
539
611
|
];
|
|
540
612
|
}
|
|
541
613
|
//# sourceMappingURL=network-policies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-policies.js","sourceRoot":"","sources":["../../../../src/manifests/network-policies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network-policies.js","sourceRoot":"","sources":["../../../../src/manifests/network-policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BACKGROUND_READ_SECONDS_VARIABLE, backgroundReadSeconds, CONTAINERD, CPU_FEATURES_CONTAINER, GVISOR_RELEASES, META_URL_VARIABLE, NODE_AGENT_PORT, NODE_AGENT_TOKEN_VARIABLE, NODE_DIRECTORY, nodeAgentStopSeconds, POD_IP_VARIABLE, RESTORES_FROM_BUCKET_SINCE_VARIABLE, SNAPSHOT_CACHE_BYTES_VARIABLE, } from "../../../src/node-agent/names.js";
|
|
2
2
|
import { memoryBytes } from "../capacity.js";
|
|
3
3
|
import { currentGvisorRelease, NODE_PINS } from "../cluster/node.js";
|
|
4
4
|
import { imageReference } from "../images.js";
|
|
5
|
-
import {
|
|
5
|
+
import { sessionsNamespace } from "./alasio.js";
|
|
6
|
+
import { componentName, given, imagePullSecrets, labels, MAIN_ENVIRONMENT, NAMESPACE, otelEnv, selectorLabels, TINI_SUBREAPER } from "./common.js";
|
|
6
7
|
import { priority } from "./priorities.js";
|
|
7
8
|
import { verticalPodAutoscaler } from "./sizing.js";
|
|
8
9
|
import { WORKSPACE_QUOTAS } from "./workspace-storage.js";
|
|
@@ -10,17 +11,20 @@ import { WORKSPACE_QUOTAS } from "./workspace-storage.js";
|
|
|
10
11
|
const SNAPSHOTS_SECRET = componentName("snapshots");
|
|
11
12
|
/** The Secret of the token the sandbox gateway presents to the node agents, under `token`. */
|
|
12
13
|
const NODE_AGENT_SECRET = componentName("node-agent");
|
|
14
|
+
/** The node agents' ServiceAccount, and the Role of each namespace it reads the pods of, and its binding. */
|
|
15
|
+
const NODE_AGENT_ACCOUNT = componentName("node-agent");
|
|
13
16
|
/** The node's paths the agent has at the same paths: each one's volume, what must be there, and whether the agent only reads it. */
|
|
14
17
|
const HOST_PATHS = [
|
|
15
18
|
// The shims' runsc root (/run/containerd/runsc) and, where systemd runs the node, its bus.
|
|
16
19
|
{ name: "run", path: "/run", type: "Directory" },
|
|
17
20
|
{ name: "gvisor", path: GVISOR_RELEASES, type: "DirectoryOrCreate", readOnly: true },
|
|
18
21
|
{ name: "containerd", path: CONTAINERD, type: "DirectoryOrCreate", readOnly: true },
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
// alasio's directory of the node's: workspace storage, as the node's mount of it holds it,
|
|
23
|
+
// the pool pods' directories, which it attaches workspaces into and writes their tokens
|
|
24
|
+
// beside, and the snapshots' cache. The directory, not the mount point: a bind of the mount
|
|
25
|
+
// point is of the mount it finds there, and the node's mount made there anew, as it is once
|
|
26
|
+
// its juicefs is gone, would never be the agent's.
|
|
27
|
+
{ name: "alasio", path: NODE_DIRECTORY, type: "DirectoryOrCreate" },
|
|
24
28
|
];
|
|
25
29
|
/** What each suffix of a size multiplies it by, as Kubernetes counts a quantity. */
|
|
26
30
|
const SIZE_UNITS = { Ki: 2 ** 10, Mi: 2 ** 20, Gi: 2 ** 30, Ti: 2 ** 40, Pi: 2 ** 50, k: 1e3, M: 1e6, G: 1e9, T: 1e12, P: 1e15 };
|
|
@@ -40,8 +44,8 @@ function daemonSet(config) {
|
|
|
40
44
|
name,
|
|
41
45
|
mountPath: path,
|
|
42
46
|
...(readOnly ? { readOnly } : {}),
|
|
43
|
-
// What is mounted under the node's /run, and its mount of workspace storage, after the agent starts are the agent's too.
|
|
44
|
-
...(name === "run" || name === "
|
|
47
|
+
// What is mounted under the node's /run, and in alasio's directory, its mount of workspace storage among it, after the agent starts are the agent's too.
|
|
48
|
+
...(name === "run" || name === "alasio" ? { mountPropagation: "HostToContainer" } : {}),
|
|
45
49
|
}));
|
|
46
50
|
return {
|
|
47
51
|
apiVersion: "apps/v1",
|
|
@@ -63,8 +67,9 @@ function daemonSet(config) {
|
|
|
63
67
|
// unsaved, or leave its cache half written (src/node-agent/operations.ts).
|
|
64
68
|
terminationGracePeriodSeconds: nodeAgentStopSeconds(sandboxBytes),
|
|
65
69
|
hostPID: true,
|
|
66
|
-
//
|
|
67
|
-
|
|
70
|
+
// Of the cluster's API, it reads the pods alone (nodeAgentObjects).
|
|
71
|
+
serviceAccountName: NODE_AGENT_ACCOUNT,
|
|
72
|
+
automountServiceAccountToken: true,
|
|
68
73
|
enableServiceLinks: false,
|
|
69
74
|
...imagePullSecrets(config),
|
|
70
75
|
...given("nodeSelector", { ...sessions.nodeSelector }),
|
|
@@ -75,17 +80,19 @@ function daemonSet(config) {
|
|
|
75
80
|
name: CPU_FEATURES_CONTAINER,
|
|
76
81
|
image: imageReference(config.images.alasio),
|
|
77
82
|
imagePullPolicy: config.images.pullPolicy,
|
|
78
|
-
|
|
83
|
+
args: ["node", "/opt/alasio/src/node-agent/cpu-features.ts", currentGvisorRelease()],
|
|
84
|
+
env: [TINI_SUBREAPER],
|
|
79
85
|
securityContext: { privileged: true, runAsUser: 0 },
|
|
80
86
|
resources: sessions.snapshots.nodeAgent.resources,
|
|
81
|
-
volumeMounts
|
|
87
|
+
volumeMounts,
|
|
82
88
|
}],
|
|
83
89
|
containers: [{
|
|
84
90
|
name: "node-agent",
|
|
85
91
|
image: imageReference(config.images.alasio),
|
|
86
92
|
imagePullPolicy: config.images.pullPolicy,
|
|
87
|
-
|
|
93
|
+
args: ["node", "/opt/alasio/src/node-agent/main.ts"],
|
|
88
94
|
env: [
|
|
95
|
+
TINI_SUBREAPER,
|
|
89
96
|
{ name: "NODE_NAME", valueFrom: { fieldRef: { fieldPath: "spec.nodeName" } } },
|
|
90
97
|
// Its pod's address, which it serves the bucket to its node's restores on (src/node-agent/store-proxy.ts).
|
|
91
98
|
{ name: POD_IP_VARIABLE, valueFrom: { fieldRef: { fieldPath: "status.podIP" } } },
|
|
@@ -94,7 +101,7 @@ function daemonSet(config) {
|
|
|
94
101
|
{ name: RESTORES_FROM_BUCKET_SINCE_VARIABLE, value: NODE_PINS.gvisor.restoresFromBucketSince },
|
|
95
102
|
{ name: BACKGROUND_READ_SECONDS_VARIABLE, value: String(backgroundReadSeconds(sandboxBytes)) },
|
|
96
103
|
// Workspace storage's metadata engine, which it sets workspaces' quotas on alone, as a user of its own there: no key of its object store.
|
|
97
|
-
|
|
104
|
+
{ name: META_URL_VARIABLE, valueFrom: { secretKeyRef: { name: WORKSPACE_QUOTAS, key: "metaurl" } } },
|
|
98
105
|
...(otelEnv(config).length > 0 ? [{ name: "OTEL_SERVICE_NAME", value: "alasio-node-agent" }, ...otelEnv(config)] : []),
|
|
99
106
|
],
|
|
100
107
|
envFrom: [{ secretRef: { name: SNAPSHOTS_SECRET } }],
|
|
@@ -111,13 +118,26 @@ function daemonSet(config) {
|
|
|
111
118
|
};
|
|
112
119
|
}
|
|
113
120
|
/**
|
|
114
|
-
* The node agents,
|
|
121
|
+
* The node agents, and their sizing: recommended, not applied in place, as
|
|
115
122
|
* a resize would restart an agent in the middle of a snapshot's upload.
|
|
116
123
|
*/
|
|
117
124
|
export function nodeAgentObjects(config) {
|
|
118
|
-
if (!nodeAgentRuns(config))
|
|
119
|
-
return [];
|
|
120
125
|
const agents = daemonSet(config);
|
|
121
|
-
|
|
126
|
+
// Who the agents are, and that they may read the pods of main's namespaces they attach into.
|
|
127
|
+
const serviceAccount = { apiVersion: "v1", kind: "ServiceAccount", metadata: { name: NODE_AGENT_ACCOUNT, namespace: NAMESPACE, labels: labels("node-agent") } };
|
|
128
|
+
return [serviceAccount, ...[NAMESPACE, sessionsNamespace(config, MAIN_ENVIRONMENT)].flatMap(nodeAgentPodReaders), agents, verticalPodAutoscaler(agents, "Recommended")];
|
|
129
|
+
}
|
|
130
|
+
/** That the node agents may read the pods of `namespace`, as they watch those of a namespace they attach into: its Role, and its binding. */
|
|
131
|
+
export function nodeAgentPodReaders(namespace) {
|
|
132
|
+
const metadata = { name: NODE_AGENT_ACCOUNT, namespace, labels: labels("node-agent") };
|
|
133
|
+
const role = { apiVersion: "rbac.authorization.k8s.io/v1", kind: "Role", metadata, rules: [{ apiGroups: [""], resources: ["pods"], verbs: ["get", "list", "watch"] }] };
|
|
134
|
+
const binding = {
|
|
135
|
+
apiVersion: "rbac.authorization.k8s.io/v1",
|
|
136
|
+
kind: "RoleBinding",
|
|
137
|
+
metadata,
|
|
138
|
+
subjects: [{ kind: "ServiceAccount", name: NODE_AGENT_ACCOUNT, namespace: NAMESPACE }],
|
|
139
|
+
roleRef: { apiGroup: "rbac.authorization.k8s.io", kind: "Role", name: NODE_AGENT_ACCOUNT },
|
|
140
|
+
};
|
|
141
|
+
return [role, binding];
|
|
122
142
|
}
|
|
123
143
|
//# sourceMappingURL=node-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-agent.js","sourceRoot":"","sources":["../../../../src/manifests/node-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-agent.js","sourceRoot":"","sources":["../../../../src/manifests/node-agent.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,gCAAgC,EAChC,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnJ,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,oGAAoG;AACpG,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AACpD,8FAA8F;AAC9F,MAAM,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AACtD,6GAA6G;AAC7G,MAAM,kBAAkB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAEvD,oIAAoI;AACpI,MAAM,UAAU,GAAiH;IAC/H,2FAA2F;IAC3F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnF,2FAA2F;IAC3F,wFAAwF;IACxF,4FAA4F;IAC5F,4FAA4F;IAC5F,mDAAmD;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE;CACpE,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,GAAqC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;AAEnK,8EAA8E;AAC9E,SAAS,SAAS,CAAC,IAAY;IAC7B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,kCAAkC;AAClC,SAAS,SAAS,CAAC,MAAqB;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,uEAAuE;IACvE,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAe,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAoB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,yJAAyJ;QACzJ,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxF,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACnG,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE;YACvD,uFAAuF;YACvF,sFAAsF;YACtF,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC5F,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;gBAC1C,IAAI,EAAE;oBACJ,yCAAyC;oBACzC,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACpB,mFAAmF;oBACnF,kFAAkF;oBAClF,6EAA6E;oBAC7E,2EAA2E;oBAC3E,6BAA6B,EAAE,oBAAoB,CAAC,YAAY,CAAC;oBACjE,OAAO,EAAE,IAAI;oBACb,oEAAoE;oBACpE,kBAAkB,EAAE,kBAAkB;oBACtC,4BAA4B,EAAE,IAAI;oBAClC,kBAAkB,EAAE,KAAK;oBACzB,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC3B,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACtD,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAClD,8EAA8E;oBAC9E,mFAAmF;oBACnF,cAAc,EAAE,CAAC;4BACf,IAAI,EAAE,sBAAsB;4BAC5B,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;4BACzC,IAAI,EAAE,CAAC,MAAM,EAAE,4CAA4C,EAAE,oBAAoB,EAAE,CAAC;4BACpF,GAAG,EAAE,CAAC,cAAc,CAAC;4BACrB,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACnD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS;4BACjD,YAAY;yBACb,CAAC;oBACF,UAAU,EAAE,CAAC;4BACX,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;4BACzC,IAAI,EAAE,CAAC,MAAM,EAAE,oCAAoC,CAAC;4BACpD,GAAG,EAAE;gCACH,cAAc;gCACd,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE;gCAC9E,2GAA2G;gCAC3G,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;gCACjF,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;gCAC3G,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;gCAC/F,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAAE;gCAC9F,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EAAE;gCAC9F,0IAA0I;gCAC1I,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;gCACpG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;6BACvH;4BACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC;4BACpD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;4BACxD,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;4BACjF,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACnD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS;4BACjD,YAAY;yBACb,CAAC;oBACF,OAAO;iBACR;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,6FAA6F;IAC7F,MAAM,cAAc,GAAqB,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IAClL,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAC1K,CAAC;AAED,6IAA6I;AAC7I,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IACvF,MAAM,IAAI,GAAW,EAAE,UAAU,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IAChL,MAAM,OAAO,GAAkB;QAC7B,UAAU,EAAE,8BAA8B;QAC1C,IAAI,EAAE,aAAa;QACnB,QAAQ;QACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACtF,OAAO,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE;KAC3F,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC"}
|