alasio 6.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/branches.js +106 -31
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/cluster/docker-engine.js +6 -4
- package/dist/cli/src/cluster/docker-engine.js.map +1 -1
- package/dist/cli/src/cluster/docker.js +49 -10
- package/dist/cli/src/cluster/docker.js.map +1 -1
- package/dist/cli/src/cluster/host.js +45 -19
- package/dist/cli/src/cluster/host.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +104 -5
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +102 -51
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/cluster/tar.js +43 -1
- package/dist/cli/src/cluster/tar.js.map +1 -1
- package/dist/cli/src/commands/branch.js +7 -3
- package/dist/cli/src/commands/branch.js.map +1 -1
- package/dist/cli/src/commands/init.js +54 -4
- package/dist/cli/src/commands/init.js.map +1 -1
- package/dist/cli/src/commands/lake.js +40 -6
- package/dist/cli/src/commands/lake.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +56 -13
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
- package/dist/cli/src/commands/status.js +182 -10
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/up.js +40 -3
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands/upgrade.js +22 -6
- package/dist/cli/src/commands/upgrade.js.map +1 -1
- package/dist/cli/src/config.js +20 -8
- package/dist/cli/src/config.js.map +1 -1
- package/dist/cli/src/cpu-baseline.js +97 -0
- package/dist/cli/src/cpu-baseline.js.map +1 -0
- package/dist/cli/src/install.js +94 -13
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kept-releases.js +59 -0
- package/dist/cli/src/kept-releases.js.map +1 -0
- package/dist/cli/src/kube/api.js +9 -2
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +1 -1
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/rollout.js +79 -12
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/lake.js +124 -0
- package/dist/cli/src/lake.js.map +1 -0
- package/dist/cli/src/manifests/admission.js +183 -24
- package/dist/cli/src/manifests/admission.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +198 -27
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/branch.js +2 -1
- package/dist/cli/src/manifests/branch.js.map +1 -1
- package/dist/cli/src/manifests/collector.js +229 -122
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +23 -8
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +254 -21
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/grafana.js +18 -6
- package/dist/cli/src/manifests/grafana.js.map +1 -1
- package/dist/cli/src/manifests/index.js +15 -6
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/juicefs-csi.js +7 -6
- package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +2 -1
- package/dist/cli/src/manifests/keda.js.map +1 -1
- package/dist/cli/src/manifests/lake.js +340 -73
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/log.js +298 -0
- package/dist/cli/src/manifests/log.js.map +1 -0
- package/dist/cli/src/manifests/neon.js +282 -66
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +211 -45
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +116 -0
- package/dist/cli/src/manifests/node-agent.js.map +1 -0
- package/dist/cli/src/manifests/object-store.js +42 -10
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/priorities.js +1 -0
- package/dist/cli/src/manifests/priorities.js.map +1 -1
- package/dist/cli/src/manifests/scalers.js.map +1 -1
- package/dist/cli/src/manifests/valkey.js +1 -1
- package/dist/cli/src/manifests/webhook.js +102 -0
- package/dist/cli/src/manifests/webhook.js.map +1 -0
- package/dist/cli/src/neon-storage.js +115 -0
- package/dist/cli/src/neon-storage.js.map +1 -0
- package/dist/cli/src/release.js +9 -6
- package/dist/cli/src/release.js.map +1 -1
- package/dist/cli/src/secrets.js +45 -4
- package/dist/cli/src/secrets.js.map +1 -1
- package/dist/cli/src/target.js +1 -1
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cli/src/telegram.js +56 -10
- package/dist/cli/src/telegram.js.map +1 -1
- package/dist/cli/src/webhook.js +182 -0
- package/dist/cli/src/webhook.js.map +1 -0
- package/dist/cluster/node/pins.json +11 -2
- package/dist/neon/control/branches.js +146 -22
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +117 -0
- package/dist/neon/control/endpoints.js.map +1 -0
- package/dist/neon/control/jwt.js +16 -3
- package/dist/neon/control/jwt.js.map +1 -1
- package/dist/neon/control/scram.js +13 -1
- package/dist/neon/control/scram.js.map +1 -1
- package/dist/neon/control/secrets.js +88 -14
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/kube/config.js +27 -3
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +49 -3
- package/dist/src/kube/sandbox-shape.js.map +1 -1
- package/dist/src/node-agent/names.js +140 -0
- package/dist/src/node-agent/names.js.map +1 -0
- package/dist/src/telegram/deliveries.js +40 -0
- package/dist/src/telegram/deliveries.js.map +1 -0
- package/package.json +2 -2
- package/dist/cluster/node/config-v3.toml.tmpl +0 -12
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
* ServiceAccount's token among them;
|
|
16
16
|
* - a pod alasio patches changes its busy label and annotations alone (src/kube/busy.ts),
|
|
17
17
|
* and in alasio's own namespace is alasio's own: RBAC lets it patch its namespaces'
|
|
18
|
-
* pods whole, their images among it
|
|
18
|
+
* pods whole, their images among it;
|
|
19
|
+
* - a compute's Deployment neon-control patches changes its pod template's restartedAt
|
|
20
|
+
* annotation alone, which restarts it (neon/control/computes.ts): RBAC lets it patch the
|
|
21
|
+
* Deployment whole, its image and command among it.
|
|
19
22
|
*
|
|
20
23
|
* Where a policy holds an object to a rendered one, `pinned` makes the CEL that says so:
|
|
21
24
|
* the object's fields are the rendered ones', key for key and item for item, but for what
|
|
@@ -25,8 +28,8 @@ import { posix } from "node:path";
|
|
|
25
28
|
import { branchNamespace } from "../../../src/branch/names.js";
|
|
26
29
|
import { BUSY_ANNOTATIONS, BUSY_LABEL } from "../../../src/kube/busy-label.js";
|
|
27
30
|
import { CLONE_VARIABLES } from "../../../src/kube/config.js";
|
|
28
|
-
import { BAYMA_CONTAINER, DEFAULT_FULL_MODE_NAMESERVERS, EGRESS_GATE, EGRESS_GATE_SCRIPT, HARNESS_LABEL, MANAGED_BY, NET_MODE_LABEL, SANDBOX_LABEL, STATE_DIR_ARG,
|
|
29
|
-
import { componentName, labels, NAMESPACE, RELEASE } from "./common.js";
|
|
31
|
+
import { BAYMA_CONTAINER, DEFAULT_FULL_MODE_NAMESERVERS, EGRESS_GATE, EGRESS_GATE_SCRIPT, HARNESS_LABEL, MANAGED_BY, NET_MODE_LABEL, RESTORE_ANNOTATION, RESTORE_PAUSED_ANNOTATION, RESUMED_CONDITION, SANDBOX_LABEL, SESSION_TEMPLATE_ANNOTATION, SNAPSHOT_CACHE_DIR, SNAPSHOT_ID, STATE_DIR_ARG, TELEMETRY_TOKEN_FILE_ARGS, TOKEN_DIR, TOKEN_FILE_ARGS, TOKEN_KEY, TOKEN_MODE, TOKEN_VOLUME, tokenSecretName, WORKLOAD_LABEL, } from "../../../src/kube/sandbox-shape.js";
|
|
32
|
+
import { componentName, labels, NAMESPACE, neonName, RELEASE } from "./common.js";
|
|
30
33
|
/** A field's test, beyond its being a rendered value: given the field's CEL expression and how deep it is, the CEL that holds where it passes. */
|
|
31
34
|
class Check {
|
|
32
35
|
cel;
|
|
@@ -124,14 +127,15 @@ function admissionPolicy(name, rules, by, validations, variables) {
|
|
|
124
127
|
const binding = { apiVersion: "admissionregistration.k8s.io/v1", kind: "ValidatingAdmissionPolicyBinding", metadata, spec: { policyName: name, validationActions: ["Deny"] } };
|
|
125
128
|
return [policy, binding];
|
|
126
129
|
}
|
|
130
|
+
/** CEL that holds where the maps `variables.old<field>` and `variables.new<field>` differ in `keys` alone. */
|
|
131
|
+
const unchanged = (field, keys) => `variables.new${field}.all(key, key in ${JSON.stringify(keys)} || (key in variables.old${field} && variables.old${field}[key] == variables.new${field}[key])) && ` +
|
|
132
|
+
`variables.old${field}.all(key, key in ${JSON.stringify(keys)} || key in variables.new${field})`;
|
|
127
133
|
/**
|
|
128
134
|
* What alasio may change of a pod: its busy label and the annotations that go with it
|
|
129
135
|
* (src/kube/busy.ts), and nothing else; and in its own namespace, of its own pod alone,
|
|
130
136
|
* not the floor's beside it. Main's alasio's and each branch environment's.
|
|
131
137
|
*/
|
|
132
138
|
export function busyLabelPolicy() {
|
|
133
|
-
const unchanged = (field, keys) => `variables.new${field}.all(key, key in ${JSON.stringify(keys)} || (key in variables.old${field} && variables.old${field}[key] == variables.new${field}[key])) && ` +
|
|
134
|
-
`variables.old${field}.all(key, key in ${JSON.stringify(keys)} || key in variables.new${field})`;
|
|
135
139
|
const component = "app.kubernetes.io/component";
|
|
136
140
|
return admissionPolicy(componentName("busy-label"), [{ apiGroups: [""], resources: ["pods"], operations: ["UPDATE"] }], BY_ANY_ALASIO, [
|
|
137
141
|
{ expression: "object.spec == oldObject.spec", message: "alasio changes no pod's spec" },
|
|
@@ -154,6 +158,41 @@ export function busyLabelPolicy() {
|
|
|
154
158
|
{ name: "newAnnotations", expression: "object.metadata.?annotations.orValue({})" },
|
|
155
159
|
]);
|
|
156
160
|
}
|
|
161
|
+
/** The annotation of a pod template whose change restarts its pods, as `kubectl rollout restart` sets it. */
|
|
162
|
+
const RESTARTED_AT = "kubectl.kubernetes.io/restartedAt";
|
|
163
|
+
/** The fields of a Deployment's spec but its pod template. */
|
|
164
|
+
const DEPLOYMENT_FIELDS = ["replicas", "selector", "strategy", "minReadySeconds", "revisionHistoryLimit", "paused", "progressDeadlineSeconds"];
|
|
165
|
+
/**
|
|
166
|
+
* What neon-control may change of a Deployment, which RBAC lets it patch whole, of the
|
|
167
|
+
* computes alone (./neon.ts's computeScaling): its pod template's RESTARTED_AT, which
|
|
168
|
+
* restarts it (neon/control/computes.ts), and nothing else. Its scale it changes through
|
|
169
|
+
* the scale subresource, which this does not match.
|
|
170
|
+
*/
|
|
171
|
+
export function computeRestartPolicy() {
|
|
172
|
+
const same = (field) => `has(object.spec.${field}) == has(oldObject.spec.${field}) && (!has(object.spec.${field}) || object.spec.${field} == oldObject.spec.${field})`;
|
|
173
|
+
const account = `system:serviceaccount:${NAMESPACE}:${neonName("control")}`;
|
|
174
|
+
return admissionPolicy(componentName("compute-restarts"), [{ apiGroups: ["apps"], resources: ["deployments"], operations: ["UPDATE"] }], `request.userInfo.username == "${account}"`, [
|
|
175
|
+
{ expression: "object.spec.template.spec == oldObject.spec.template.spec", message: "neon-control changes no compute's pod spec" },
|
|
176
|
+
{ expression: DEPLOYMENT_FIELDS.map(same).join(" && "), message: "neon-control changes nothing of a compute's Deployment's spec but its pod template's annotation" },
|
|
177
|
+
{
|
|
178
|
+
expression: "object.metadata.?labels.orValue({}) == oldObject.metadata.?labels.orValue({}) && " +
|
|
179
|
+
"object.metadata.?annotations.orValue({}) == oldObject.metadata.?annotations.orValue({}) && " +
|
|
180
|
+
"object.metadata.?finalizers.orValue([]) == oldObject.metadata.?finalizers.orValue([]) && " +
|
|
181
|
+
"object.metadata.?ownerReferences.orValue([]) == oldObject.metadata.?ownerReferences.orValue([])",
|
|
182
|
+
message: "neon-control changes no compute Deployment's labels, annotations, finalizers or owners",
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
expression: Object.entries({ labels: "{}", finalizers: "[]", ownerReferences: "[]", name: '""', generateName: '""' })
|
|
186
|
+
.map(([field, none]) => `object.spec.template.metadata.?${field}.orValue(${none}) == oldObject.spec.template.metadata.?${field}.orValue(${none})`)
|
|
187
|
+
.join(" && "),
|
|
188
|
+
message: "neon-control changes no label, finalizer, owner or name of a compute's pod template",
|
|
189
|
+
},
|
|
190
|
+
{ expression: unchanged("Annotations", [RESTARTED_AT]), message: `neon-control changes no annotation of a compute's pod template but ${RESTARTED_AT}` },
|
|
191
|
+
], [
|
|
192
|
+
{ name: "oldAnnotations", expression: "oldObject.spec.template.metadata.?annotations.orValue({})" },
|
|
193
|
+
{ name: "newAnnotations", expression: "object.spec.template.metadata.?annotations.orValue({})" },
|
|
194
|
+
]);
|
|
195
|
+
}
|
|
157
196
|
/**
|
|
158
197
|
* What the API server gives a Job, its template, and the template's pod and containers,
|
|
159
198
|
* when its maker does not: a pinned Job may have them so. Its selector and its template's
|
|
@@ -209,27 +248,49 @@ const PATH_TOKEN = "[A-Za-z0-9_][A-Za-z0-9_.-]*";
|
|
|
209
248
|
const literally = (text) => text.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
210
249
|
/** A variable of the environment, set to a string. */
|
|
211
250
|
const SET = { name: ANY_STRING, value: ANY_STRING };
|
|
251
|
+
/** A node's name: a DNS subdomain. */
|
|
252
|
+
const NODE_NAME = "[a-z0-9]([-a-z0-9.]{0,251}[a-z0-9])?";
|
|
253
|
+
/** A pod template's hash, as podTemplateHash makes one (src/kube/sandboxes.ts). */
|
|
254
|
+
const TEMPLATE_HASH = "[0-9a-f]{64}";
|
|
255
|
+
/**
|
|
256
|
+
* Where a node agent prepares a snapshot of the Sandbox asked about, of the sessions of
|
|
257
|
+
* `namespace`, for its pod to be restored from: under the snapshot cache, in its
|
|
258
|
+
* environment's directory, in its workspace's, the Sandbox's own, a snapshot's.
|
|
259
|
+
*/
|
|
260
|
+
const restoredFrom = (namespace) => new Check((expression) => {
|
|
261
|
+
const own = `${JSON.stringify(`${SNAPSHOT_CACHE_DIR}/${namespace}/`)} + object.metadata.name + "/"`;
|
|
262
|
+
return `type(${expression}) == string && ${expression}.startsWith(${own}) && ${expression}.substring(size(${own})).matches(${JSON.stringify(`^${SNAPSHOT_ID}$`)})`;
|
|
263
|
+
});
|
|
212
264
|
/**
|
|
213
265
|
* The Sandbox of a workspace alasio makes from `template`: a session's (`session`, with
|
|
214
|
-
* the session's profile
|
|
215
|
-
*
|
|
266
|
+
* the session's profile, and `current`, the profile its snapshots are restored by) or a
|
|
267
|
+
* folder's bayma's (`folder`, with its state root), as sandboxManifest and
|
|
268
|
+
* sessionSandboxManifest or hostBaymaManifest make it.
|
|
269
|
+
*
|
|
270
|
+
* Of a session's, what its snapshots add (src/sandbox/snapshots.ts): the hash of the
|
|
271
|
+
* template its pod is made from, which they record; and, restored from one, the image of the Sandbox's own that its
|
|
272
|
+
* node prepared, left paused until it is resumed, under a release `current` keeps, on
|
|
273
|
+
* that node, and ready once resumed.
|
|
216
274
|
*/
|
|
217
275
|
function sandboxOf(template, workspace) {
|
|
218
276
|
const podTemplate = template.podTemplate;
|
|
219
277
|
const spec = podTemplate.spec ?? { containers: [] };
|
|
220
278
|
const session = "session" in workspace ? workspace.session : null;
|
|
279
|
+
const snapshots = "current" in workspace ? (workspace.current.snapshots ?? null) : null;
|
|
221
280
|
const bayma = spec.containers.find(({ name }) => name === BAYMA_CONTAINER);
|
|
222
281
|
const tokenMount = { name: TOKEN_VOLUME, mountPath: TOKEN_DIR, readOnly: true };
|
|
223
|
-
const variables = session
|
|
224
|
-
? oneOf(SET, { name: TOKEN_ENV, valueFrom: { secretKeyRef: { name: OWN_TOKEN, key: TOKEN_KEY } } })
|
|
225
|
-
: SET;
|
|
226
282
|
// Under the state root as hostBaymaStateDir joins it: normalized, its one slash after it.
|
|
227
283
|
const stateDir = "folder" in workspace ? [STATE_DIR_ARG, matching(`${literally(posix.join(workspace.folder.stateRoot, "/"))}${PATH_TOKEN}/${PATH_TOKEN}`)] : [];
|
|
284
|
+
// A session's bayma that exports telemetry reads the token it exports with from its token's file too.
|
|
285
|
+
const args = (each) => {
|
|
286
|
+
const own = [...(each.args ?? []), ...TOKEN_FILE_ARGS, ...stateDir];
|
|
287
|
+
return session ? oneOf(own, [...own, ...TELEMETRY_TOKEN_FILE_ARGS]) : own;
|
|
288
|
+
};
|
|
228
289
|
const container = (each) => stored((each.name !== BAYMA_CONTAINER ? each : {
|
|
229
290
|
...each,
|
|
230
|
-
args:
|
|
291
|
+
args: args(each),
|
|
231
292
|
volumeMounts: [...(each.volumeMounts ?? []), tokenMount],
|
|
232
|
-
env: optional(startingWith((each.env ?? []),
|
|
293
|
+
env: optional(startingWith((each.env ?? []), SET)),
|
|
233
294
|
}));
|
|
234
295
|
const gate = session && session.egressGate !== false
|
|
235
296
|
? [{
|
|
@@ -247,6 +308,34 @@ function sandboxOf(template, workspace) {
|
|
|
247
308
|
[SANDBOX_LABEL]: sameAs("object.metadata.name"),
|
|
248
309
|
...(session ? { [WORKLOAD_LABEL]: "session", [NET_MODE_LABEL]: oneOf("none", "full") } : { [WORKLOAD_LABEL]: "folder", [HARNESS_LABEL]: matching(PATH_TOKEN) }),
|
|
249
310
|
};
|
|
311
|
+
const annotations = (podTemplate.metadata?.annotations ?? {});
|
|
312
|
+
const added = session
|
|
313
|
+
? {
|
|
314
|
+
[SESSION_TEMPLATE_ANNOTATION]: optional(matching(TEMPLATE_HASH)),
|
|
315
|
+
...(snapshots && session
|
|
316
|
+
? {
|
|
317
|
+
[RESTORE_ANNOTATION]: optional(restoredFrom(session.namespace)),
|
|
318
|
+
[RESTORE_PAUSED_ANNOTATION]: optional("true"),
|
|
319
|
+
}
|
|
320
|
+
: {}),
|
|
321
|
+
}
|
|
322
|
+
: {};
|
|
323
|
+
// The template's annotations, and those added where they may be; a template of none has a map of them only where some are added.
|
|
324
|
+
const metadataAnnotations = Object.keys(added).length === 0 ? {} : { annotations: Object.keys(annotations).length > 0 ? { ...annotations, ...added } : optional({ ...added }) };
|
|
325
|
+
const restoredOn = {
|
|
326
|
+
...(spec.affinity ?? {}),
|
|
327
|
+
nodeAffinity: {
|
|
328
|
+
requiredDuringSchedulingIgnoredDuringExecution: { nodeSelectorTerms: [{ matchFields: [{ key: "metadata.name", operator: "In", values: [matching(NODE_NAME)] }] }] },
|
|
329
|
+
},
|
|
330
|
+
};
|
|
331
|
+
const readinessGates = (spec.readinessGates ?? []);
|
|
332
|
+
const restorable = snapshots
|
|
333
|
+
? {
|
|
334
|
+
runtimeClassName: oneOf(...new Set([spec.runtimeClassName ?? "", ...snapshots.releases.map(({ runtimeClassName }) => runtimeClassName)].filter((each) => each !== ""))),
|
|
335
|
+
readinessGates: spec.readinessGates ? oneOf(readinessGates, [...readinessGates, { conditionType: RESUMED_CONDITION }]) : optional([{ conditionType: RESUMED_CONDITION }]),
|
|
336
|
+
affinity: spec.affinity ? oneOf(spec.affinity, restoredOn) : optional(restoredOn),
|
|
337
|
+
}
|
|
338
|
+
: {};
|
|
250
339
|
const nameservers = session ? [...(session.fullModeNameservers ?? DEFAULT_FULL_MODE_NAMESERVERS)] : [];
|
|
251
340
|
const podSpec = {
|
|
252
341
|
...spec,
|
|
@@ -257,33 +346,103 @@ function sandboxOf(template, workspace) {
|
|
|
257
346
|
...(session
|
|
258
347
|
? { automountServiceAccountToken: false, enableServiceLinks: false, dnsPolicy: "None", dnsConfig: { nameservers: oneOf(nameservers, ["127.0.0.1"]) } }
|
|
259
348
|
: {}),
|
|
349
|
+
...restorable,
|
|
260
350
|
};
|
|
351
|
+
// A Sandbox restored onto the template before the current one keeps the claims it was made with, of either.
|
|
352
|
+
const claims = [...new Set([session, "current" in workspace ? workspace.current : null].map((each) => JSON.stringify(each?.volumeClaimTemplates ?? [])))]
|
|
353
|
+
.map((each) => JSON.parse(each))
|
|
354
|
+
.filter((each) => each.length > 0);
|
|
261
355
|
// Its CRD defaults what is done with it at its shutdown time, which alasio gives none.
|
|
262
356
|
return defaulted({
|
|
263
357
|
operatingMode: oneOf("Running", "Suspended"),
|
|
264
358
|
service: true,
|
|
265
|
-
podTemplate: { ...podTemplate, metadata: { ...podTemplate.metadata, labels: { ...podTemplate.metadata?.labels, ...own } }, spec: podSpec },
|
|
266
|
-
...(
|
|
359
|
+
podTemplate: { ...podTemplate, metadata: { ...podTemplate.metadata, labels: { ...podTemplate.metadata?.labels, ...own }, ...metadataAnnotations }, spec: podSpec },
|
|
360
|
+
...(claims.length > 0 ? { volumeClaimTemplates: claims.length === 1 ? claims[0] : oneOf(...claims) } : {}),
|
|
267
361
|
}, { shutdownPolicy: "Retain" });
|
|
268
362
|
}
|
|
269
363
|
/** The name of the Sandbox policy of the alasio of the namespace `namespace`. */
|
|
270
364
|
export const sandboxPolicyName = (namespace) => `${namespace}-sandboxes`;
|
|
271
365
|
/**
|
|
272
366
|
* What alasio may make as a Sandbox, by `account`, the ServiceAccount of the alasio of
|
|
273
|
-
* `name`: a session's from `sessions`,
|
|
274
|
-
*
|
|
275
|
-
*
|
|
367
|
+
* `name`: a session's from `sessions`, or from `previousSessions`, the sessions' template
|
|
368
|
+
* before it, which `alasio up` carries forward until the template changes again, so a
|
|
369
|
+
* snapshot taken on it restores onto it whole (src/sandbox/snapshots.ts), in any namespace
|
|
370
|
+
* but `host`'s; and a folder's bayma's from `host`, in its namespace. A Sandbox moved onto
|
|
371
|
+
* no other pod template, as alasio suspends and resumes it, is left as it was made. Each
|
|
372
|
+
* template is a variable of its own, as each is checked whole.
|
|
276
373
|
*/
|
|
277
374
|
export function sandboxPolicy(name, account, templates) {
|
|
278
|
-
const { sessions, host } = templates;
|
|
279
|
-
const ofSessions = sessions
|
|
280
|
-
|
|
375
|
+
const { sessions, previousSessions, host } = templates;
|
|
376
|
+
const ofSessions = sessions
|
|
377
|
+
? [
|
|
378
|
+
{ name: "sessions", expression: pinned("object.spec", sandboxOf(sessions, { session: sessions, current: sessions })) },
|
|
379
|
+
...(previousSessions ? [{ name: "previousSessions", expression: pinned("object.spec", sandboxOf(previousSessions, { session: previousSessions, current: sessions })) }] : []),
|
|
380
|
+
]
|
|
381
|
+
: [];
|
|
382
|
+
const ofHost = host ? [{ name: "host", expression: pinned("object.spec", sandboxOf(host, { folder: host })) }] : [];
|
|
383
|
+
const session = ofSessions.length > 0 ? `(${ofSessions.map((each) => `variables.${each.name}`).join(" || ")})` : "false";
|
|
384
|
+
const made = host ? `(request.namespace == ${JSON.stringify(host.namespace)} ? variables.host : ${session})` : session;
|
|
281
385
|
const unmoved = "request.operation == \"UPDATE\" && object.spec.podTemplate == oldObject.spec.podTemplate && " +
|
|
282
386
|
"object.spec.?volumeClaimTemplates.orValue([]) == oldObject.spec.?volumeClaimTemplates.orValue([])";
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
387
|
+
// A restore's pod is left paused, and ready only once resumed; no other pod is paused.
|
|
388
|
+
const annotations = "object.spec.podTemplate.?metadata.?annotations.orValue({})";
|
|
389
|
+
const restoring = `(${JSON.stringify(RESTORE_ANNOTATION)} in ${annotations})`;
|
|
390
|
+
const gated = `object.spec.podTemplate.?spec.?readinessGates.orValue([]).exists(gate, gate.conditionType == ${JSON.stringify(RESUMED_CONDITION)})`;
|
|
391
|
+
return admissionPolicy(name, [{ apiGroups: ["agents.x-k8s.io"], resources: ["sandboxes"], operations: ["CREATE", "UPDATE"] }], `request.userInfo.username == "${account}"`, [
|
|
392
|
+
{ expression: `${unmoved} || ${made}`, message: "alasio makes no Sandbox but from its workspaces' templates, as alasio up renders them" },
|
|
393
|
+
{
|
|
394
|
+
expression: `${restoring} == (${JSON.stringify(RESTORE_PAUSED_ANNOTATION)} in ${annotations}) && (!${restoring} || ${gated})`,
|
|
395
|
+
message: "alasio restores a Sandbox from a snapshot only paused, its pod ready once resumed, and pauses none it does not restore",
|
|
396
|
+
},
|
|
397
|
+
], [...ofSessions, ...ofHost]);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* The fields of a pod's status but its conditions that every Kubernetes alasio runs on
|
|
401
|
+
* has (1.28 on), as CEL refuses a field its schema lacks: its addresses, its node's, and
|
|
402
|
+
* its containers' and its own state.
|
|
403
|
+
*/
|
|
404
|
+
const POD_STATUS_FIELDS = [
|
|
405
|
+
"containerStatuses",
|
|
406
|
+
"ephemeralContainerStatuses",
|
|
407
|
+
"hostIP",
|
|
408
|
+
"hostIPs",
|
|
409
|
+
"initContainerStatuses",
|
|
410
|
+
"message",
|
|
411
|
+
"nominatedNodeName",
|
|
412
|
+
"phase",
|
|
413
|
+
"podIP",
|
|
414
|
+
"podIPs",
|
|
415
|
+
"qosClass",
|
|
416
|
+
"reason",
|
|
417
|
+
"startTime",
|
|
418
|
+
];
|
|
419
|
+
/**
|
|
420
|
+
* What the alasio of `account` may change of a pod's status, as it lets a restored session's
|
|
421
|
+
* pod be ready once its node's agent resumed its sandbox (src/sandbox/snapshots.ts): the
|
|
422
|
+
* RESUMED_CONDITION of a session's pod in `namespace` that is gated on it, set true, and
|
|
423
|
+
* nothing else, its addresses above all, which network policies are programmed from.
|
|
424
|
+
*/
|
|
425
|
+
export function resumedConditionPolicy(name, account, namespace) {
|
|
426
|
+
const resumed = JSON.stringify(RESUMED_CONDITION);
|
|
427
|
+
const others = (object) => `${object}.status.?conditions.orValue([]).filter(condition, condition.type != ${resumed})`;
|
|
428
|
+
return admissionPolicy(name, [{ apiGroups: [""], resources: ["pods/status"], operations: ["UPDATE"] }], `request.userInfo.username == "${account}"`, [
|
|
429
|
+
{
|
|
430
|
+
expression: `request.namespace == ${JSON.stringify(namespace)} && ${JSON.stringify(WORKLOAD_LABEL)} in object.metadata.?labels.orValue({}) && ` +
|
|
431
|
+
`object.metadata.labels[${JSON.stringify(WORKLOAD_LABEL)}] == "session" && ` +
|
|
432
|
+
`object.spec.?readinessGates.orValue([]).exists(gate, gate.conditionType == ${resumed})`,
|
|
433
|
+
message: "alasio sets the status of no pod but a restored session's",
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
expression: `${others("object")} == ${others("oldObject")} && ` +
|
|
437
|
+
`object.status.?conditions.orValue([]).all(condition, condition.type != ${resumed} || condition.status == "True")`,
|
|
438
|
+
message: `alasio sets no condition of a pod's but ${RESUMED_CONDITION}, and that true`,
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
expression: POD_STATUS_FIELDS.map((field) => `(has(object.status.${field}) ? has(oldObject.status.${field}) && object.status.${field} == oldObject.status.${field} : !has(oldObject.status.${field}))`).join(" && ") +
|
|
442
|
+
" && object.metadata.?labels.orValue({}) == oldObject.metadata.?labels.orValue({}) && object.metadata.?annotations.orValue({}) == oldObject.metadata.?annotations.orValue({})",
|
|
443
|
+
message: "alasio changes nothing of a pod's status but its conditions, nor its labels or annotations",
|
|
444
|
+
},
|
|
445
|
+
]);
|
|
287
446
|
}
|
|
288
447
|
/** What alasio may make as a Secret: a Sandbox's token, of its one key, as tokenSecretManifest makes it. Main's alasio's and each branch environment's. */
|
|
289
448
|
export function secretPolicy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../../src/manifests/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAA0C,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,SAAS,EACT,eAAe,EACf,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExE,kJAAkJ;AAClJ,MAAM,KAAK;IACA,GAAG,CAAgD;IAC5D,YAAY,GAAkD;QAC5D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAKD,gBAAgB;AAChB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACpC,kBAAkB;AAClB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC;AAC9E,gEAAgE;AAChE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,QAAQ,CAAC,CAAC;AACpE,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,kBAAkB,UAAU,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/J,0DAA0D;AAC1D,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,OAAO,KAAK,EAAE,CAAC,CAAC;AACzF,6BAA6B;AAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,YAAsB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/J,+DAA+D;AAC/D,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,IAAY,EAAE,EAAE,CAC9D,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;IAC9B,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,CAAC;IAC5B,OAAO;QACL,QAAQ,UAAU,QAAQ,KAAK,CAAC,MAAM,EAAE;QACxC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjF,GAAG,UAAU,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;KAC5G,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AACL,qEAAqE;AACrE,MAAM,QAAS,SAAQ,KAAK;IACjB,KAAK,CAAS;IACvB,YAAY,KAAa;QACvB,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AACD,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAKlE,wJAAwJ;AACxJ,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAE,QAA0C,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpK;;;;GAIG;AACH,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAK,GAAG,CAAC;IACpE,IAAI,QAAQ,YAAY,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,UAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,UAAU,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9J,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,EAAE,QAAqB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,sGAAsG;AACtG,SAAS,SAAS,CAAC,UAAkB,EAAE,QAAmB,EAAE,QAA0C,EAAE,KAAa;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;IACpE,OAAO;QACL,GAAG,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG;QACvE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,YAAY,QAAQ;gBAAE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/H,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAe,EAAE,KAAK,CAAC,EAAE,CAAC;QACjG,CAAC,CAAC;QACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAW,EAAE,KAAK,CAAC,GAAG,CAAC;KAC5H,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,yBAAyB,SAAS,IAAI,OAAO,EAAE,CAAC;AAEpG,iFAAiF;AACjF,MAAM,aAAa,GAAG,8DAA8D,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC,eAAe,OAAO,KAAK,CAAC;AAEhJ,mJAAmJ;AACnJ,SAAS,eAAe,CACtB,IAAY,EACZ,KAA+G,EAC/G,EAAU,EACV,WAAiF,EACjF,SAA6E;IAE7E,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,iCAAiC;QAC7C,IAAI,EAAE,2BAA2B;QACjC,QAAQ;QACR,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM;YACrB,gBAAgB,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;YAC3F,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,WAAW;SACZ;KACF,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,iCAAiC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/K,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAuB,EAAE,EAAE,CAC3D,gBAAgB,KAAK,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,KAAK,oBAAoB,KAAK,yBAAyB,KAAK,aAAa;QAClK,gBAAgB,KAAK,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,KAAK,GAAG,CAAC;IACnG,MAAM,SAAS,GAAG,6BAA6B,CAAC;IAChD,OAAO,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE;QACrI,EAAE,UAAU,EAAE,+BAA+B,EAAE,OAAO,EAAE,8BAA8B,EAAE;QACxF;YACE,UAAU,EAAE,2FAA2F;gBACrG,iGAAiG;YACnG,OAAO,EAAE,8CAA8C;SACxD;QACD;YACE,UAAU,EAAE,iFAAiF,OAAO,OAAO;gBACzG,KAAK,SAAS,oDAAoD,SAAS,iBAAiB;YAC9F,OAAO,EAAE,uDAAuD;SACjE;QACD,EAAE,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,0CAA0C,UAAU,EAAE,EAAE;QAClH,EAAE,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,+CAA+C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;KAC/K,EAAE;QACD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,wCAAwC,EAAE;QAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,qCAAqC,EAAE;QACxE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,6CAA6C,EAAE;QACrF,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE;KACnF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC9J,QAAQ,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE;IACpC,MAAM,EAAE;QACN,oCAAoC,EAAE,UAAU;QAChD,gBAAgB,EAAE,UAAU;QAC5B,8BAA8B,EAAE,MAAM,CAAC,sBAAsB,CAAC;QAC9D,UAAU,EAAE,MAAM,CAAC,sBAAsB,CAAC;KAC3C;IACD,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,6BAA6B,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE;IACvG,SAAS,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,wBAAwB,EAAE,GAAG,EAAE;CACzB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAiG;IAC9H,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA2F,CAAC;IAClH,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3D,SAAS,CAAC,EAAE,GAAI,SAAkC,EAAE,GAAG,EAAE,CAAC,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAyB,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,CACnJ,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC;QACzB,GAAI,IAA6B;QACjC,QAAQ,EAAE;YACR,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC;YAC/I,IAAI,EAAE,SAAS,CAAC,EAAE,GAAI,GAA4B,EAAE,UAAU,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC;SACpF;KACF,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,iCAAiC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACnM,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC3C,OAAO,EAAE,iFAAiF;SAC3F,CAAC,CAAC,CAAC;AACN,CAAC;AAED,mGAAmG;AACnG,MAAM,MAAM,GAAG,CAAC,SAAoB,EAAa,EAAE;IACjD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1I,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE1F,qDAAqD;AACrD,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,kDAAkD;AAClD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAEjF,sDAAsD;AACtD,MAAM,GAAG,GAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAE5D;;;;GAIG;AACH,SAAS,SAAS,CAAC,QAAuC,EAAE,SAAmF;IAC7I,MAAM,WAAW,GAAsB,QAAQ,CAAC,WAAgC,CAAC;IACjF,MAAM,IAAI,GAAc,WAAW,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChF,MAAM,SAAS,GAAW,OAAO;QAC/B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACnG,CAAC,CAAC,GAAG,CAAC;IACR,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChK,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAU,EAAE,CAC9C,MAAM,CACJ,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,GAAG,IAAI;QACP,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,QAAQ,CAAC;QAC7D,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC;QACxD,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAwB,EAAE,SAAS,CAAC,CAAC;KAChF,CAAyB,CAC3B,CAAC;IACJ,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK;QAClD,CAAC,CAAC,CAAC;gBACD,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7D,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC;gBAC3C,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC3F,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAI,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzG,MAAM,OAAO,GAAa,CAAC,GAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAuC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/K,MAAM,GAAG,GAAG;QACV,GAAG,UAAU;QACb,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;KAChK,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,MAAM,OAAO,GAAG;QACd,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;QAC1C,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO;QACP,4FAA4F;QAC5F,GAAG,CAAC,OAAO;YACT,CAAC,CAAC,EAAE,4BAA4B,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;YACtJ,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,uFAAuF;IACvF,OAAO,SAAS,CAAC;QACf,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC;QAC5C,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1I,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,GAAG,SAAS,YAAY,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAAe,EACf,SAA2F;IAE3F,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1G,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAC1K,MAAM,OAAO,GAAG,8FAA8F;QAC5G,mGAAmG,CAAC;IACtG,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,iCAAiC,OAAO,GAAG,EAAE,CAAC;YAC3K,UAAU,EAAE,GAAG,OAAO,OAAO,IAAI,EAAE;YACnC,OAAO,EAAE,uFAAuF;SACjG,CAAC,CAAC,CAAC;AACN,CAAC;AAED,2JAA2J;AAC3J,MAAM,UAAU,YAAY;IAC1B,OAAO,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;YAChJ,UAAU,EAAE,+EAA+E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO;gBACnI,4CAA4C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG;YAC1E,OAAO,EAAE,8CAA8C;SACxD,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../../src/manifests/admission.ts"],"names":[],"mappings":"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"}
|