alasio 5.1.0 → 7.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 +53 -22
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/capacity.js +46 -0
- package/dist/cli/src/capacity.js.map +1 -0
- 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 +109 -9
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +94 -50
- 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 +9 -4
- package/dist/cli/src/commands/branch.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +247 -0
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -0
- package/dist/cli/src/commands/status.js +141 -12
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/uninstall.js +1 -1
- package/dist/cli/src/commands/uninstall.js.map +1 -1
- package/dist/cli/src/commands/up.js +42 -4
- 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/commands.js +2 -1
- package/dist/cli/src/commands.js.map +1 -1
- package/dist/cli/src/config.js +13 -4
- 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 +44 -11
- 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 +13 -5
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +116 -13
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/autoscalers.js +48 -0
- package/dist/cli/src/kube/autoscalers.js.map +1 -0
- package/dist/cli/src/kube/object-store-scale.js +116 -0
- package/dist/cli/src/kube/object-store-scale.js.map +1 -0
- package/dist/cli/src/kube/rollout.js +23 -0
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +416 -0
- package/dist/cli/src/manifests/admission.js.map +1 -0
- package/dist/cli/src/manifests/agent-sandbox.js +6 -3
- package/dist/cli/src/manifests/agent-sandbox.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +165 -25
- 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/cloudeventsources.eventing.keda.sh.json +219 -0
- package/dist/cli/src/manifests/clustercloudeventsources.eventing.keda.sh.json +218 -0
- package/dist/cli/src/manifests/clustertriggerauthentications.keda.sh.json +997 -0
- package/dist/cli/src/manifests/collector.js +92 -45
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +34 -8
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +273 -35
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/controllers.js +39 -0
- package/dist/cli/src/manifests/controllers.js.map +1 -0
- package/dist/cli/src/manifests/disruption.js +47 -0
- package/dist/cli/src/manifests/disruption.js.map +1 -0
- package/dist/cli/src/manifests/grafana.js +66 -10
- package/dist/cli/src/manifests/grafana.js.map +1 -1
- package/dist/cli/src/manifests/headroom.js +40 -0
- package/dist/cli/src/manifests/headroom.js.map +1 -0
- package/dist/cli/src/manifests/index.js +20 -6
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/juicefs-csi.js +9 -6
- package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +271 -0
- package/dist/cli/src/manifests/keda.js.map +1 -0
- package/dist/cli/src/manifests/lake.js +13 -5
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +196 -51
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +177 -28
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +107 -0
- package/dist/cli/src/manifests/node-agent.js.map +1 -0
- package/dist/cli/src/manifests/object-store.js +543 -82
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/priorities.js +31 -0
- package/dist/cli/src/manifests/priorities.js.map +1 -0
- package/dist/cli/src/manifests/scaledjobs.keda.sh.json +7507 -0
- package/dist/cli/src/manifests/scaledobjects.keda.sh.json +564 -0
- package/dist/cli/src/manifests/scalers.js +24 -0
- package/dist/cli/src/manifests/scalers.js.map +1 -0
- package/dist/cli/src/manifests/sizing.js +40 -0
- package/dist/cli/src/manifests/sizing.js.map +1 -0
- package/dist/cli/src/manifests/triggerauthentications.keda.sh.json +992 -0
- package/dist/cli/src/manifests/valkey.js +63 -35
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/verticalpodautoscalercheckpoints.autoscaling.k8s.io.json +250 -0
- package/dist/cli/src/manifests/verticalpodautoscalers.autoscaling.k8s.io.json +837 -0
- package/dist/cli/src/manifests/vpa.js +220 -0
- package/dist/cli/src/manifests/vpa.js.map +1 -0
- package/dist/cli/src/manifests/workspace-storage.js +12 -2
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/object-store.js +57 -0
- package/dist/cli/src/object-store.js.map +1 -0
- package/dist/cli/src/release.js +6 -6
- package/dist/cli/src/target.js +1 -1
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cluster/node/pins.json +6 -2
- package/dist/neon/control/branches.js +31 -12
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +108 -0
- package/dist/neon/control/endpoints.js.map +1 -0
- package/dist/neon/control/scram.js +13 -1
- package/dist/neon/control/scram.js.map +1 -1
- package/dist/neon/control/secrets.js +52 -8
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/kube/busy-label.js +13 -0
- package/dist/src/kube/busy-label.js.map +1 -0
- package/dist/src/kube/config.js +30 -4
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +98 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -0
- package/dist/src/node-agent/names.js +74 -0
- package/dist/src/node-agent/names.js.map +1 -0
- package/dist/src/sandbox/names.js +44 -0
- package/dist/src/sandbox/names.js.map +1 -0
- package/package.json +2 -2
- package/dist/cluster/node/config-v3.toml.tmpl +0 -12
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { isIPv4 } from "node:net";
|
|
11
11
|
import { Effect, Predicate, Result, Schema, SchemaGetter, SchemaIssue } from "effect";
|
|
12
|
+
import { memoryBytes, memoryText } from "../capacity.js";
|
|
13
|
+
import { NODE_AGENT_MEMORY_FLOOR } from "../../../src/node-agent/names.js";
|
|
12
14
|
import { IMAGES } from "../release.js";
|
|
13
15
|
/** The install configuration is not what alasio installs from; the message says which key and why. */
|
|
14
16
|
export class InstallConfigError extends Schema.TaggedError()("InstallConfigError", {
|
|
@@ -52,6 +54,32 @@ const quantities = (defaults) => defaulted(Quantities.pipe(Schema.decodeTo(Schem
|
|
|
52
54
|
})), {});
|
|
53
55
|
/** A container's resources, its requests and limits over `defaults`. */
|
|
54
56
|
const Resources = (defaults) => defaulted(Schema.Struct({ requests: quantities(defaults.requests), limits: quantities(defaults.limits) }), {});
|
|
57
|
+
const Count = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0, { message: "must be a number of replicas, 0 or more" }));
|
|
58
|
+
/** What is wrong with `scale`, given `limits`: the key, and why; none when nothing is. */
|
|
59
|
+
function scaleProblem({ min, max }, { floor, scaled, most }) {
|
|
60
|
+
if (min > max)
|
|
61
|
+
return { path: ["max"], issue: "must be at least min" };
|
|
62
|
+
if (floor && min === 0)
|
|
63
|
+
return { path: ["min"], issue: "must be at least 1: it never sleeps" };
|
|
64
|
+
if (!scaled && min !== max)
|
|
65
|
+
return { path: ["max"], issue: "must equal min: nothing scales it between them" };
|
|
66
|
+
if (most !== undefined && max > most)
|
|
67
|
+
return { path: ["max"], issue: `must be at most ${most}` };
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A component's scale, `scaling`, as every component declares it: `{ min, max }`, how
|
|
72
|
+
* many replicas it runs. Equal, they fix the count; apart, the component's scaler moves
|
|
73
|
+
* it between them; a `min` of 0 lets it sleep. One left out is its default, moved as far
|
|
74
|
+
* as the other given needs: `{ min: 2 }` of a scale of 1 is 2 to 2.
|
|
75
|
+
*/
|
|
76
|
+
const Scaling = (defaults, limits) => defaulted(Schema.Struct({ min: Schema.optionalKey(Count), max: Schema.optionalKey(Count) }).pipe(Schema.decodeTo(Schema.Struct({ min: Count, max: Count }).check(Schema.makeFilter((scale) => scaleProblem(scale, limits))), {
|
|
77
|
+
decode: SchemaGetter.transform(({ min, max }) => ({
|
|
78
|
+
min: min ?? Math.min(defaults.min, max ?? defaults.min),
|
|
79
|
+
max: max ?? Math.max(defaults.max, min ?? defaults.max),
|
|
80
|
+
})),
|
|
81
|
+
encode: SchemaGetter.transform((scale) => scale),
|
|
82
|
+
})), {});
|
|
55
83
|
/** A volume: its size, and its StorageClass, the cluster's default when empty. */
|
|
56
84
|
const Storage = (size) => defaulted(Schema.Struct({ size: defaulted(Size, size), storageClassName: defaulted(Schema.String, "") }), {});
|
|
57
85
|
const Env = defaulted(Schema.Record(Schema.String, Schema.String), {});
|
|
@@ -78,7 +106,7 @@ const Alasio = Schema.Struct({
|
|
|
78
106
|
claude: defaulted(Schema.Struct({ existingSecret: defaulted(OptionalSecretName, ""), key: defaulted(NonEmpty, "token") }), {}),
|
|
79
107
|
env: Env,
|
|
80
108
|
envFrom: defaulted(Schema.Array(object()), []),
|
|
81
|
-
resources: Resources({ requests: { cpu: "
|
|
109
|
+
resources: Resources({ requests: { cpu: "250m", memory: "768Mi" }, limits: { memory: "8Gi" } }),
|
|
82
110
|
/** Whom alasio runs as, unless the host profile says. */
|
|
83
111
|
runAsUser: defaulted(Id, 1000),
|
|
84
112
|
runAsGroup: defaulted(Id, 1000),
|
|
@@ -114,6 +142,24 @@ const Telemetry = Schema.Struct({
|
|
|
114
142
|
resources: Resources({ requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } }),
|
|
115
143
|
}), {}),
|
|
116
144
|
});
|
|
145
|
+
/**
|
|
146
|
+
* Sessions' whole-sandbox snapshots, taken where they run under gVisor
|
|
147
|
+
* (sessions.runtimeClassName), by the node agent on each node sessions run on.
|
|
148
|
+
*/
|
|
149
|
+
const Snapshots = Schema.Struct({
|
|
150
|
+
/** How long a session's bayma runs no exec before its sandbox is snapshotted and its pod let go: a duration such as 5m. */
|
|
151
|
+
releaseAfter: defaulted(Schema.String.check(Schema.makeFilter((duration) => (durationSeconds(duration) ?? 0) > 0 || "must be a duration such as 5m")), "5m"),
|
|
152
|
+
/** The most of snapshots each node keeps on its disk, for restores there. */
|
|
153
|
+
nodeCache: defaulted(Size, "5Gi"),
|
|
154
|
+
/**
|
|
155
|
+
* The node agent, which takes snapshots on its node and prepares them there. Its memory
|
|
156
|
+
* request is its own, as measured (NODE_AGENT_OWN_BYTES, src/node-agent/names.ts); its
|
|
157
|
+
* limit is at least that and its budget of what it holds written and not yet on the disk
|
|
158
|
+
* (NODE_AGENT_MEMORY_FLOOR, 192 MiB), and leaves room over both for the page cache it
|
|
159
|
+
* reads through, which the kernel reclaims under it.
|
|
160
|
+
*/
|
|
161
|
+
nodeAgent: defaulted(Schema.Struct({ resources: Resources({ requests: { cpu: "20m", memory: "160Mi" }, limits: { memory: "512Mi" } }) }), {}),
|
|
162
|
+
});
|
|
117
163
|
const Sessions = Schema.Struct({
|
|
118
164
|
enabled: defaulted(Schema.Boolean, true),
|
|
119
165
|
namespace: defaulted(Namespace, "alasio-sessions"),
|
|
@@ -131,6 +177,7 @@ const Sessions = Schema.Struct({
|
|
|
131
177
|
blockedCidrs: defaulted(Schema.Array(matching(/^[0-9.]+\/[0-9]{1,2}$/u, "must be an IPv4 CIDR")), ["0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.168.0.0/16", "224.0.0.0/4", "240.0.0.0/4"]),
|
|
132
178
|
nodeSelector: NodeSelector,
|
|
133
179
|
tolerations: Tolerations,
|
|
180
|
+
snapshots: defaulted(Snapshots, {}),
|
|
134
181
|
});
|
|
135
182
|
const Host = Schema.Struct({
|
|
136
183
|
/** The host profile: folder workspaces on the machine's own files. Privileged, for a single-node cluster the operator owns. */
|
|
@@ -139,8 +186,8 @@ const Host = Schema.Struct({
|
|
|
139
186
|
createNamespace: defaulted(Schema.Boolean, true),
|
|
140
187
|
baymaImage: Image({
|
|
141
188
|
repository: "ghcr.io/eaucoin/bayma",
|
|
142
|
-
tag: "0.
|
|
143
|
-
digest: "sha256:
|
|
189
|
+
tag: "0.13.0",
|
|
190
|
+
digest: "sha256:840bfbbb660c5a0fefb562448db2ee93ceef3715142e538c7717ef9c34f3acc1",
|
|
144
191
|
}),
|
|
145
192
|
/** The operator's user and home, which alasio and each folder's bayma run as and in. */
|
|
146
193
|
uid: defaulted(Id, 1000),
|
|
@@ -155,7 +202,7 @@ const Host = Schema.Struct({
|
|
|
155
202
|
/** Whether alasio's home is the operator's rather than its volume. */
|
|
156
203
|
alasioHome: defaulted(Schema.Boolean, true),
|
|
157
204
|
env: Env,
|
|
158
|
-
resources: Resources({ requests: { cpu: "100m", memory: "
|
|
205
|
+
resources: Resources({ requests: { cpu: "100m", memory: "512Mi" }, limits: { memory: "8Gi" } }),
|
|
159
206
|
});
|
|
160
207
|
/** A service of Neon's with a volume. */
|
|
161
208
|
const NeonStored = (size, resources) => defaulted(Schema.Struct({ storage: Storage(size), resources: Resources(resources) }), {});
|
|
@@ -163,7 +210,7 @@ const NeonStored = (size, resources) => defaulted(Schema.Struct({ storage: Stora
|
|
|
163
210
|
const NeonService = (resources) => defaulted(Schema.Struct({ resources: Resources(resources) }), {});
|
|
164
211
|
const Neon = Schema.Struct({
|
|
165
212
|
enabled: defaulted(Schema.Boolean, true),
|
|
166
|
-
/** Without Neon, alasio's database: a Secret with `url` and `lake-password
|
|
213
|
+
/** Without Neon, alasio's database: a Secret with `url` and `lake-verifier`, the SCRAM verifier of the lake role's password. */
|
|
167
214
|
external: defaulted(Schema.Struct({ existingSecret: defaulted(OptionalSecretName, "") }), {}),
|
|
168
215
|
image: Image({
|
|
169
216
|
repository: "neondatabase/neon",
|
|
@@ -184,17 +231,30 @@ const Neon = Schema.Struct({
|
|
|
184
231
|
runAsUser: defaulted(Id, 1000),
|
|
185
232
|
runAsGroup: defaulted(Id, 1000),
|
|
186
233
|
safekeepers: defaulted(Schema.Struct({
|
|
187
|
-
/** How many safekeepers hold each timeline's WAL. */
|
|
188
|
-
|
|
234
|
+
/** How many safekeepers hold each timeline's WAL: a count, which neon-control registers them by. */
|
|
235
|
+
scaling: Scaling({ min: 3, max: 3 }, { floor: true, scaled: false, most: 7 }),
|
|
189
236
|
storage: Storage("20Gi"),
|
|
190
|
-
resources: Resources({ requests: { cpu: "
|
|
237
|
+
resources: Resources({ requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "1Gi" } }),
|
|
238
|
+
}), {}),
|
|
239
|
+
pageserver: NeonStored("50Gi", { requests: { cpu: "100m", memory: "256Mi" }, limits: { memory: "4Gi" } }),
|
|
240
|
+
storageController: NeonService({ requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
241
|
+
storageBroker: NeonService({ requests: { cpu: "20m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
242
|
+
controllerDb: NeonStored("2Gi", { requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
243
|
+
/** neon-control, alasio's stand-in for Neon's control plane: a count, its replicas sharing its record of the branches. */
|
|
244
|
+
control: defaulted(Schema.Struct({
|
|
245
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
246
|
+
resources: Resources({ requests: { cpu: "20m", memory: "96Mi" }, limits: { memory: "256Mi" } }),
|
|
247
|
+
}), {}),
|
|
248
|
+
/** Neon's proxy, which every client of the computes connects through, and which wakes them: a count. */
|
|
249
|
+
proxy: defaulted(Schema.Struct({
|
|
250
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
251
|
+
resources: Resources({ requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
|
|
252
|
+
}), {}),
|
|
253
|
+
compute: defaulted(Schema.Struct({
|
|
254
|
+
/** How long the compute may have no client session before it sleeps, until the next connection wakes it: a duration of 1m or more. */
|
|
255
|
+
suspendAfter: defaulted(Schema.String.check(Schema.makeFilter((duration) => (durationSeconds(duration) ?? 0) >= 60 || "must be a duration of 1m or more, such as 5m")), "5m"),
|
|
256
|
+
resources: Resources({ requests: { cpu: "250m", memory: "384Mi" }, limits: { memory: "4Gi" } }),
|
|
191
257
|
}), {}),
|
|
192
|
-
pageserver: NeonStored("50Gi", { requests: { cpu: "250m", memory: "512Mi" }, limits: { memory: "4Gi" } }),
|
|
193
|
-
storageController: NeonService({ requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } }),
|
|
194
|
-
storageBroker: NeonService({ requests: { cpu: "50m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
|
|
195
|
-
controllerDb: NeonStored("2Gi", { requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } }),
|
|
196
|
-
control: NeonStored("100Mi", { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "256Mi" } }),
|
|
197
|
-
compute: NeonService({ requests: { cpu: "500m", memory: "1Gi" }, limits: { memory: "4Gi" } }),
|
|
198
258
|
/**
|
|
199
259
|
* A daily logical dump of alasio's database to the object store, and a copy of
|
|
200
260
|
* JuiceFS's newest dump of workspace storage's metadata beside it; of each, the last
|
|
@@ -208,27 +268,118 @@ const Neon = Schema.Struct({
|
|
|
208
268
|
nodeSelector: NodeSelector,
|
|
209
269
|
tolerations: Tolerations,
|
|
210
270
|
});
|
|
271
|
+
/** The Valkey of workspace storage's metadata and of the object store's filers. */
|
|
272
|
+
const VALKEY_IMAGE = { repository: "valkey/valkey", tag: "9.1.2-alpine", digest: "sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11" };
|
|
273
|
+
/** What an entry of the filer store, an object or a directory, takes in its Valkey: 1,339 bytes as measured, rounded up. */
|
|
274
|
+
const FILER_STORE_ENTRY_BYTES = 1400;
|
|
275
|
+
/** The filer store's `maxmemory` for `entries`: what they take and a quarter more, in whole 64 MiB. */
|
|
276
|
+
export function filerStoreMaxmemoryBytes(entries) {
|
|
277
|
+
const unit = 64 * 2 ** 20;
|
|
278
|
+
return Math.ceil((entries * FILER_STORE_ENTRY_BYTES * 1.25) / unit) * unit;
|
|
279
|
+
}
|
|
211
280
|
const ObjectStore = Schema.Struct({
|
|
212
|
-
/**
|
|
281
|
+
/**
|
|
282
|
+
* SeaweedFS, run beside Neon, as its parts: masters, which place objects on volume
|
|
283
|
+
* servers, which keep them; filers, which keep the store's namespace in a Valkey of its
|
|
284
|
+
* own, the filer store, so every filer sees what any has written; and S3 gateways, on the
|
|
285
|
+
* filers. Each takes its scale; the gateways', apart, scale on their CPU.
|
|
286
|
+
*/
|
|
213
287
|
bundled: defaulted(Schema.Struct({
|
|
214
288
|
enabled: defaulted(Schema.Boolean, true),
|
|
215
289
|
image: Image({
|
|
216
290
|
repository: "chrislusf/seaweedfs",
|
|
217
|
-
tag: "4.
|
|
218
|
-
digest: "sha256:
|
|
291
|
+
tag: "4.48",
|
|
292
|
+
digest: "sha256:4e61d15fd35994cb1e43e1e553dff106794841fd9a99ade2fc8c8bfce4d7872d",
|
|
219
293
|
}),
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
294
|
+
/**
|
|
295
|
+
* How many copies of each object are kept, as SeaweedFS's replication says it: 000,
|
|
296
|
+
* one; 00N, N more, each on another volume server, so N + 1 of them at least. A copy
|
|
297
|
+
* outlives a disk's loss only on another disk: volume servers whose volumes are on one
|
|
298
|
+
* disk, as local-path's are on one node's, lose every copy with it, and need room
|
|
299
|
+
* there for all of them. Where copies are kept, each volume server is on a node of
|
|
300
|
+
* its own while there are as many, one left unplaced rather than beside another, and
|
|
301
|
+
* what a lost server held is copied again, each hour, onto the others. Changed, it
|
|
302
|
+
* holds for what is written from then on at once, and for what was written before
|
|
303
|
+
* from the next hour's lifecycle pass, which sets each volume's own to it and copies
|
|
304
|
+
* each that lacks copies; until then, those are kept as they were.
|
|
305
|
+
*/
|
|
306
|
+
replication: defaulted(matching(/^00[0-9]$/u, "must be 000, or 00N for N more copies, each on another volume server"), "000"),
|
|
307
|
+
/**
|
|
308
|
+
* The masters, 1, or 3 in Raft, each with a volume of its state; their count is set
|
|
309
|
+
* as the store is made, and never changed after: fewer would lose what their Raft
|
|
310
|
+
* keeps, and one master's state, made without peers, is no Raft's that more could join.
|
|
311
|
+
*/
|
|
312
|
+
masters: defaulted(Schema.Struct({
|
|
313
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false, most: 3 }),
|
|
314
|
+
storage: Storage("1Gi"),
|
|
315
|
+
resources: Resources({ requests: { cpu: "10m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
316
|
+
}), {}),
|
|
317
|
+
/**
|
|
318
|
+
* The volume servers, each keeping objects on a volume of its own. Their count is
|
|
319
|
+
* lowered only once those it would remove hold no volumes, moved to the others first.
|
|
320
|
+
*/
|
|
321
|
+
volumeServers: defaulted(Schema.Struct({
|
|
322
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
323
|
+
storage: Storage("100Gi"),
|
|
324
|
+
/** The most volumes each keeps, each up to 1GiB. */
|
|
325
|
+
volumes: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(30, { message: "must be at least 30" })), 100),
|
|
326
|
+
/**
|
|
327
|
+
* The disk each leaves free. Once its disk has less free, a volume server takes no
|
|
328
|
+
* more writes; once none takes any, nor does the store, as each of its filers'
|
|
329
|
+
* writes is logged to a volume: `alasio status`, the Stack health dashboard and an
|
|
330
|
+
* alert say how near each is.
|
|
331
|
+
*/
|
|
332
|
+
minFreeSpace: defaulted(matching(/^[0-9]+(KiB|MiB|GiB|TiB)$/u, "must be a size in KiB, MiB, GiB or TiB"), "5GiB"),
|
|
333
|
+
resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "2Gi" } }),
|
|
334
|
+
}), {}),
|
|
335
|
+
/** The filers, started one after another. */
|
|
336
|
+
filers: defaulted(Schema.Struct({
|
|
337
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: false }),
|
|
338
|
+
resources: Resources({ requests: { cpu: "20m", memory: "128Mi" }, limits: { memory: "1Gi" } }),
|
|
339
|
+
}), {}),
|
|
340
|
+
/** The S3 gateways, the store's endpoint. */
|
|
341
|
+
gateways: defaulted(Schema.Struct({
|
|
342
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: true }),
|
|
343
|
+
resources: Resources({ requests: { cpu: "20m", memory: "96Mi" }, limits: { memory: "1Gi" } }),
|
|
344
|
+
}), {}),
|
|
345
|
+
/**
|
|
346
|
+
* The filers' store: a Valkey of its own, its memory sized for `entries`, the store's
|
|
347
|
+
* objects and directories, as about 1.4 KB each, with a quarter more. Full, it
|
|
348
|
+
* refuses writes, and the store with it: an alert says when it nears that.
|
|
349
|
+
*/
|
|
350
|
+
filerStore: defaulted(Schema.Struct({
|
|
351
|
+
image: Image(VALKEY_IMAGE),
|
|
352
|
+
storage: Storage("2Gi"),
|
|
353
|
+
entries: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(10_000, { message: "must be at least 10000" })), 150_000),
|
|
354
|
+
resources: Resources({ requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "512Mi" } }),
|
|
355
|
+
/**
|
|
356
|
+
* A snapshot of the filer store on `schedule`, hourly, onto a volume of its own,
|
|
357
|
+
* the last `keep` kept. One put back rolls the store's namespace back to when it
|
|
358
|
+
* was taken, so what was written since is lost, as an hour's at most. On a
|
|
359
|
+
* cluster of several nodes the volume is made on another node than the filer
|
|
360
|
+
* store's where one can take it, so a node's loss takes one of the two alone; on
|
|
361
|
+
* a single node, its disk's loss takes both.
|
|
362
|
+
*/
|
|
363
|
+
backups: defaulted(Schema.Struct({
|
|
364
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
365
|
+
schedule: defaulted(Schema.String.check(Schema.isMinLength(9, { message: "must be a cron schedule" })), "23 * * * *"),
|
|
366
|
+
keep: defaulted(Schema.Int.check(Schema.isGreaterThanOrEqualTo(1, { message: "must be at least 1" })), 48),
|
|
367
|
+
storage: Storage("10Gi"),
|
|
368
|
+
}), {}),
|
|
369
|
+
}), {}),
|
|
226
370
|
}), {}),
|
|
227
|
-
/**
|
|
371
|
+
/**
|
|
372
|
+
* Or an S3-compatible store of the operator's: its endpoint, region, and a Secret with
|
|
373
|
+
* `accessKey` and `secretKey`; and, where sessions are snapshotted, a Secret of the same
|
|
374
|
+
* keys for a key of the store's that reaches the snapshots bucket alone, which only the
|
|
375
|
+
* node agents hold, as what writes that bucket writes what they restore as root: the
|
|
376
|
+
* first key may not write it, and Neon's setup, which tries, refuses one that can.
|
|
377
|
+
*/
|
|
228
378
|
external: defaulted(Schema.Struct({
|
|
229
379
|
endpoint: defaulted(OptionalUrl, ""),
|
|
230
380
|
region: defaulted(NonEmpty, "us-east-1"),
|
|
231
381
|
existingSecret: defaulted(OptionalSecretName, ""),
|
|
382
|
+
snapshotsSecret: defaulted(OptionalSecretName, ""),
|
|
232
383
|
}), {}),
|
|
233
384
|
buckets: defaulted(Schema.Struct({
|
|
234
385
|
neon: defaulted(Bucket, "neon"),
|
|
@@ -236,10 +387,12 @@ const ObjectStore = Schema.Struct({
|
|
|
236
387
|
backups: defaulted(Bucket, "backups"),
|
|
237
388
|
/** Workspace storage's data; an external store must have it already, as it must the others. */
|
|
238
389
|
workspaces: defaulted(Bucket, "workspaces"),
|
|
390
|
+
/** Session sandboxes' snapshots, when sessions run under gVisor (sessions.runtimeClassName); an external store must have it then, as it must the others. */
|
|
391
|
+
snapshots: defaulted(Bucket, "snapshots"),
|
|
239
392
|
}), {}),
|
|
240
393
|
});
|
|
241
|
-
/** The seconds of a duration as JuiceFS
|
|
242
|
-
function durationSeconds(duration) {
|
|
394
|
+
/** The seconds of a duration, as alasio's settings and JuiceFS take one (1h, 1h30m, 90s), or null when it is none. */
|
|
395
|
+
export function durationSeconds(duration) {
|
|
243
396
|
const match = /^(?:([0-9]+)h)?(?:([0-9]+)m)?(?:([0-9]+)s)?$/u.exec(duration);
|
|
244
397
|
if (!match || duration === "")
|
|
245
398
|
return null;
|
|
@@ -291,11 +444,7 @@ const Csi = Schema.Struct({
|
|
|
291
444
|
});
|
|
292
445
|
/** Valkey, the file system's metadata engine. */
|
|
293
446
|
const Valkey = Schema.Struct({
|
|
294
|
-
image: Image(
|
|
295
|
-
repository: "valkey/valkey",
|
|
296
|
-
tag: "9.1.2-alpine",
|
|
297
|
-
digest: "sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11",
|
|
298
|
-
}),
|
|
447
|
+
image: Image(VALKEY_IMAGE),
|
|
299
448
|
/** Its snapshots and append-only file. */
|
|
300
449
|
storage: Storage("2Gi"),
|
|
301
450
|
/** What it may hold, half its memory limit, leaving room for the fork that writes its snapshots; about a million files at 384mb. */
|
|
@@ -333,11 +482,65 @@ const AgentSandbox = Schema.Struct({
|
|
|
333
482
|
digest: defaulted(Digest, "sha256:28a9cbdbfd6ac0a4e5c7e9261ace1aa30ee2da681cb640dccdfed98e8dd9d98b"),
|
|
334
483
|
pullPolicy: defaulted(PullPolicy, "IfNotPresent"),
|
|
335
484
|
}), {}),
|
|
336
|
-
resources: Resources({ requests: { cpu: "
|
|
485
|
+
resources: Resources({ requests: { cpu: "20m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
337
486
|
nodeSelector: NodeSelector,
|
|
338
487
|
tolerations: Tolerations,
|
|
339
488
|
affinity: Affinity,
|
|
340
489
|
});
|
|
490
|
+
/** A container of a controller alasio installs: its pinned image and its resources. */
|
|
491
|
+
const ControllerContainer = (image, resources) => defaulted(Schema.Struct({ image: Image(image), resources: Resources(resources) }), {});
|
|
492
|
+
/**
|
|
493
|
+
* How alasio's components scale: KEDA, which moves a component's replicas between its
|
|
494
|
+
* scale's min and max on what its ScaledObject names; VPA, which sizes every workload's
|
|
495
|
+
* requests from what it uses; each installed once per cluster, and off where the cluster
|
|
496
|
+
* has its own already, which alasio then uses; and headroom for a node autoscaler.
|
|
497
|
+
*/
|
|
498
|
+
const Autoscaling = Schema.Struct({
|
|
499
|
+
/**
|
|
500
|
+
* KEDA (kedacore/keda v2.21.0), as its release's manifest installs it, but that it reads
|
|
501
|
+
* Secrets in its own namespace alone, and of what ScaledObjects scale, Deployments and
|
|
502
|
+
* StatefulSets, and runs no ScaledJob's Jobs (./keda.ts): a cluster whose ScaledObjects
|
|
503
|
+
* scale custom resources, or authenticate through TriggerAuthentications in their own
|
|
504
|
+
* namespaces, or whose ScaledJobs run, brings a KEDA of its own, which enabled false uses.
|
|
505
|
+
*/
|
|
506
|
+
keda: defaulted(Schema.Struct({
|
|
507
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
508
|
+
operator: ControllerContainer({ repository: "ghcr.io/kedacore/keda", tag: "2.21.0", digest: "sha256:81fe6547ce8d1cc29273f887b76507e9b853e5bc1f875ec23fe60061a38ed809" }, { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
509
|
+
metricsApiServer: ControllerContainer({ repository: "ghcr.io/kedacore/keda-metrics-apiserver", tag: "2.21.0", digest: "sha256:255375037fe592732eeb554743aae360c2da88cf0b9b1258d0a987ef885f0881" }, { requests: { cpu: "10m", memory: "48Mi" }, limits: { memory: "256Mi" } }),
|
|
510
|
+
admissionWebhooks: ControllerContainer({ repository: "ghcr.io/kedacore/keda-admission-webhooks", tag: "2.21.0", digest: "sha256:e1969628cca6123e32eea13c47c75817091af2657fa68d9d0d58a8620d1b75b1" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
511
|
+
}), {}),
|
|
512
|
+
/** VPA (kubernetes/autoscaler vertical-pod-autoscaler-1.8.0), as its deploy/ installs it, with its chart's certificate Job. */
|
|
513
|
+
vpa: defaulted(Schema.Struct({
|
|
514
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
515
|
+
recommender: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-recommender", tag: "1.8.0", digest: "sha256:e743e3a7e58a614f850063dba5df88eec5a19cf4cc43edb2050248df2d7dd8d3" }, { requests: { cpu: "20m", memory: "64Mi" }, limits: { memory: "512Mi" } }),
|
|
516
|
+
updater: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-updater", tag: "1.8.0", digest: "sha256:1d0229e52f90f645f1ee2e86ddfac8f451d166777c2aab066b9c5ab5e8bc5d5c" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
517
|
+
admissionController: ControllerContainer({ repository: "registry.k8s.io/autoscaling/vpa-admission-controller", tag: "1.8.0", digest: "sha256:3d94f53e4c5a6891b8b32af545dda975e45842486432b69475afaf8df278d23d" }, { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } }),
|
|
518
|
+
/** What makes the admission controller's certificate, and gives its webhook the CA. */
|
|
519
|
+
certgenImage: Image({
|
|
520
|
+
repository: "registry.k8s.io/ingress-nginx/kube-webhook-certgen",
|
|
521
|
+
tag: "v1.6.9",
|
|
522
|
+
digest: "sha256:01038e7de14b78d702d2849c3aad72fd25903c4765af63cf16aa3398f5d5f2dd",
|
|
523
|
+
}),
|
|
524
|
+
}), {}),
|
|
525
|
+
/**
|
|
526
|
+
* Whether alasio's pods take the places of pods of lower priority to be scheduled where
|
|
527
|
+
* there is no room for them (./priorities.ts): alasio's own, and, on a cluster it shares,
|
|
528
|
+
* the cluster's others, of priority 0 unless their class says; or wait for room. So true
|
|
529
|
+
* on a cluster alasio makes, and false on one a kubeconfig reaches, unless said
|
|
530
|
+
* (installConfigOf in ../config.ts).
|
|
531
|
+
*/
|
|
532
|
+
preemption: defaulted(Schema.Boolean, true),
|
|
533
|
+
/**
|
|
534
|
+
* Placeholder pods, each requesting `resources`, which any pod takes the place of: room a
|
|
535
|
+
* node autoscaler keeps ready, of use only where one runs, and where pods preempt. None
|
|
536
|
+
* unless a fixed count is given.
|
|
537
|
+
*/
|
|
538
|
+
headroom: defaulted(Schema.Struct({
|
|
539
|
+
scaling: Scaling({ min: 0, max: 0 }, { floor: false, scaled: false }),
|
|
540
|
+
image: Image({ repository: "registry.k8s.io/pause", tag: "3.10.1", digest: "sha256:278fb9dbcca9518083ad1e11276933a2e96f23de604a3a08cc3c80002767d24c" }),
|
|
541
|
+
resources: Resources({ requests: { cpu: "500m", memory: "512Mi" }, limits: {} }),
|
|
542
|
+
}), {}),
|
|
543
|
+
});
|
|
341
544
|
/** What a configuration must also hold, given what it turns off: the issue of the first it lacks. */
|
|
342
545
|
function completeness(config) {
|
|
343
546
|
if (!config.neon.enabled && !config.neon.external.existingSecret) {
|
|
@@ -348,6 +551,9 @@ function completeness(config) {
|
|
|
348
551
|
return { path: ["objectStore", "external", "endpoint"], issue: "is required when objectStore.bundled.enabled is false" };
|
|
349
552
|
if (!config.objectStore.external.existingSecret)
|
|
350
553
|
return { path: ["objectStore", "external", "existingSecret"], issue: "is required with an external object store" };
|
|
554
|
+
if (config.sessions.enabled && config.sessions.runtimeClassName !== "" && !config.objectStore.external.snapshotsSecret) {
|
|
555
|
+
return { path: ["objectStore", "external", "snapshotsSecret"], issue: "is required with an external object store where sessions are snapshotted: a key that reaches the snapshots bucket alone" };
|
|
556
|
+
}
|
|
351
557
|
}
|
|
352
558
|
if (config.workspaceStorage.enabled && !config.sessions.enabled) {
|
|
353
559
|
return { path: ["workspaceStorage", "enabled"], issue: "must be false when sessions.enabled is false, as its volumes are sessions' workspaces" };
|
|
@@ -355,6 +561,29 @@ function completeness(config) {
|
|
|
355
561
|
if (config.workspaceStorage.enabled && !config.neon.enabled) {
|
|
356
562
|
return { path: ["workspaceStorage", "enabled"], issue: "must be false when neon.enabled is false, as its data is in the object store that runs with Neon" };
|
|
357
563
|
}
|
|
564
|
+
const { bundled } = config.objectStore;
|
|
565
|
+
if (bundled.masters.scaling.min === 2)
|
|
566
|
+
return { path: ["objectStore", "bundled", "masters", "scaling"], issue: "must be 1 or 3: two masters elect no leader once one is gone" };
|
|
567
|
+
const copies = Number(bundled.replication.slice(2)) + 1;
|
|
568
|
+
if (bundled.volumeServers.scaling.min < copies) {
|
|
569
|
+
return { path: ["objectStore", "bundled", "volumeServers", "scaling"], issue: `must be at least ${copies}, one for each copy objectStore.bundled.replication keeps` };
|
|
570
|
+
}
|
|
571
|
+
if (memoryBytes(bundled.filerStore.resources.limits["memory"] ?? "0") < 2 * filerStoreMaxmemoryBytes(bundled.filerStore.entries)) {
|
|
572
|
+
return {
|
|
573
|
+
path: ["objectStore", "bundled", "filerStore", "resources", "limits", "memory"],
|
|
574
|
+
issue: `must be at least ${memoryText(2 * filerStoreMaxmemoryBytes(bundled.filerStore.entries))}, twice what its entries take, for the fork that writes its snapshots`,
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
const { nodeAgent } = config.sessions.snapshots;
|
|
578
|
+
if (config.sessions.enabled && config.sessions.runtimeClassName !== "" && memoryBytes(nodeAgent.resources.limits["memory"] ?? "0") < NODE_AGENT_MEMORY_FLOOR) {
|
|
579
|
+
return {
|
|
580
|
+
path: ["sessions", "snapshots", "nodeAgent", "resources", "limits", "memory"],
|
|
581
|
+
issue: `must be at least ${memoryText(NODE_AGENT_MEMORY_FLOOR)}: the node agent's own memory, and what a restore holds written and not yet on the disk`,
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
if (config.autoscaling.headroom.scaling.min > 0 && !config.autoscaling.preemption) {
|
|
585
|
+
return { path: ["autoscaling", "headroom", "scaling"], issue: "must be 0 when autoscaling.preemption is false, as no pod takes a placeholder's place then" };
|
|
586
|
+
}
|
|
358
587
|
return undefined;
|
|
359
588
|
}
|
|
360
589
|
const InstallStruct = Schema.Struct({
|
|
@@ -379,13 +608,22 @@ const InstallStruct = Schema.Struct({
|
|
|
379
608
|
lake: defaulted(Schema.Struct({
|
|
380
609
|
enabled: defaulted(Schema.Boolean, true),
|
|
381
610
|
resources: Resources({ requests: { cpu: "100m", memory: "512Mi" }, limits: { memory: "1536Mi" } }),
|
|
382
|
-
query: defaulted(Schema.Struct({ resources: Resources({ requests: { cpu: "50m", memory: "
|
|
611
|
+
query: defaulted(Schema.Struct({ resources: Resources({ requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "1Gi" } }) }), {}),
|
|
612
|
+
}), {}),
|
|
613
|
+
/**
|
|
614
|
+
* Grafana, with the lake: dashboards and alerts on it, alerting through the Telegram bot;
|
|
615
|
+
* alasio grafana reaches it. Two replicas or more are its high availability, which sends
|
|
616
|
+
* each alert once; min and max apart scale it on its CPU.
|
|
617
|
+
*/
|
|
618
|
+
grafana: defaulted(Schema.Struct({
|
|
619
|
+
enabled: defaulted(Schema.Boolean, true),
|
|
620
|
+
scaling: Scaling({ min: 1, max: 1 }, { floor: true, scaled: true }),
|
|
621
|
+
resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "768Mi" } }),
|
|
383
622
|
}), {}),
|
|
384
|
-
/** Grafana, with the lake: dashboards and alerts on it, alerting through the Telegram bot; alasio grafana reaches it. */
|
|
385
|
-
grafana: defaulted(Schema.Struct({ enabled: defaulted(Schema.Boolean, true), resources: Resources({ requests: { cpu: "50m", memory: "256Mi" }, limits: { memory: "768Mi" } }) }), {}),
|
|
386
623
|
/** NetworkPolicies confining sessions, folder workspaces' bayma and Neon. */
|
|
387
624
|
networkPolicies: defaulted(Schema.Struct({ enabled: defaulted(Schema.Boolean, true) }), {}),
|
|
388
625
|
agentSandbox: defaulted(AgentSandbox, {}),
|
|
626
|
+
autoscaling: defaulted(Autoscaling, {}),
|
|
389
627
|
});
|
|
390
628
|
/** The install configuration: what the config file holds, every key left out its default. */
|
|
391
629
|
export const InstallConfig = InstallStruct.check(Schema.makeFilter(completeness));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/manifests/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/manifests/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { componentName, imagePullSecrets, labels, NAMESPACE, ONE, replicasOf, restrictedContainer, restrictedPod, selectorLabels } from "./common.js";
|
|
2
|
+
import { priority } from "./priorities.js";
|
|
3
|
+
import { verticalPodAutoscaler } from "./sizing.js";
|
|
4
|
+
/** The user of KEDA's and VPA's distroless images. */
|
|
5
|
+
const NONROOT = 65532;
|
|
6
|
+
/** The Deployment of the controller `component`: `container`, as `serviceAccountName`, with `volumes`. */
|
|
7
|
+
function controllerDeployment(config, component, serviceAccountName, container, volumes = []) {
|
|
8
|
+
return {
|
|
9
|
+
apiVersion: "apps/v1",
|
|
10
|
+
kind: "Deployment",
|
|
11
|
+
metadata: { name: componentName(component), namespace: NAMESPACE, labels: labels(component) },
|
|
12
|
+
spec: {
|
|
13
|
+
...replicasOf(ONE),
|
|
14
|
+
selector: { matchLabels: selectorLabels(component) },
|
|
15
|
+
template: {
|
|
16
|
+
metadata: { labels: labels(component) },
|
|
17
|
+
spec: {
|
|
18
|
+
serviceAccountName,
|
|
19
|
+
...priority("floor"),
|
|
20
|
+
securityContext: restrictedPod(NONROOT, NONROOT),
|
|
21
|
+
...imagePullSecrets(config),
|
|
22
|
+
terminationGracePeriodSeconds: 10,
|
|
23
|
+
...(volumes.length > 0 ? { volumes } : {}),
|
|
24
|
+
containers: [{ ...container, imagePullPolicy: "IfNotPresent", securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true } }],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** The controller `component`'s Deployment (controllerDeployment) and its VerticalPodAutoscaler, which resizes it in place. */
|
|
31
|
+
export function sizedController(...args) {
|
|
32
|
+
const deployment = controllerDeployment(...args);
|
|
33
|
+
return [deployment, verticalPodAutoscaler(deployment, "InPlace")];
|
|
34
|
+
}
|
|
35
|
+
/** A rule granting `verbs` on `resources` of `apiGroups`, of those named `resourceNames` alone when given. */
|
|
36
|
+
export function rule(apiGroups, resources, verbs, resourceNames) {
|
|
37
|
+
return { apiGroups, resources, verbs, ...(resourceNames ? { resourceNames } : {}) };
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=controllers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../../../src/manifests/controllers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtJ,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,sDAAsD;AACtD,MAAM,OAAO,GAAG,KAAK,CAAC;AAEtB,0GAA0G;AAC1G,SAAS,oBAAoB,CAAC,MAAqB,EAAE,SAAiB,EAAE,kBAA0B,EAAE,SAAsB,EAAE,OAAO,GAAe,EAAE;IAClJ,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;QAC7F,IAAI,EAAE;YACJ,GAAG,UAAU,CAAC,GAAG,CAAC;YAClB,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE;YACpD,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;gBACvC,IAAI,EAAE;oBACJ,kBAAkB;oBAClB,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACpB,eAAe,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;oBAChD,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC3B,6BAA6B,EAAE,EAAE;oBACjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,GAAG,mBAAmB,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,CAAC;iBAC7I;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,+HAA+H;AAC/H,MAAM,UAAU,eAAe,CAAC,GAAG,IAA6C;IAC9E,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,IAAI,CAAC,SAAmB,EAAE,SAAmB,EAAE,KAAe,EAAE,aAAwB;IACtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC"}
|