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
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { computeId, MAIN } from "../../../neon/control/branches.js";
|
|
1
|
+
import { COMPUTE_PORT, computeId, MAIN } from "../../../neon/control/branches.js";
|
|
2
|
+
import { SUSPEND_AFTER } from "../../../neon/control/endpoints.js";
|
|
3
|
+
import { DATABASE, ROLE } from "../../../neon/control/secrets.js";
|
|
2
4
|
import { imageReference } from "../images.js";
|
|
3
|
-
import { claimSpec, collectorRuns, databaseSecret, given, helperResources, imagePullSecrets, MAIN_ENVIRONMENT, NAMESPACE, neonName, otelEnv, RELEASE, restrictedContainer, s3Endpoint, script, selectorLabels, stackLabels, stackPodSpec, waitFor, waitForObjectStore, } from "./common.js";
|
|
5
|
+
import { claimSpec, collectorRuns, databaseSecret, given, helperResources, imagePullSecrets, MAIN_ENVIRONMENT, NAMESPACE, neonName, ONE, otelEnv, RELEASE, replicasOf, restrictedContainer, s3Endpoint, sandboxSnapshots, script, selectorLabels, stackLabels, stackPodSpec, waitFor, waitForObjectStore, } from "./common.js";
|
|
6
|
+
import { durationSeconds } from "./config.js";
|
|
7
|
+
import { replicaBudget, spread } from "./disruption.js";
|
|
4
8
|
import { VOLUME_DRIVER } from "./juicefs-csi.js";
|
|
9
|
+
import { priority } from "./priorities.js";
|
|
10
|
+
import { verticalPodAutoscaler } from "./sizing.js";
|
|
5
11
|
import { VALKEY_ADDRESS, workspacesBucketUrl } from "./workspace-storage.js";
|
|
6
12
|
/** A Service of the stack's: its name and component, selecting the component's pods, on `ports`, main's unless of `environment`. */
|
|
7
13
|
function service(name, component, ports, environment = MAIN_ENVIRONMENT) {
|
|
@@ -18,7 +24,8 @@ function secretVariable(secret, key) {
|
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* The stack's secrets, made once and kept, and each service's rendered from them, workspace
|
|
21
|
-
* storage's among them when it is on,
|
|
27
|
+
* storage's among them when it is on, and the snapshots bucket's and the node agents'
|
|
28
|
+
* when sandboxes are snapshotted, by neon/control/kube-setup.ts: a Job, which applying alasio runs to completion before
|
|
22
29
|
* anything else of alasio starts (../kube/apply.ts).
|
|
23
30
|
*/
|
|
24
31
|
function setup(config) {
|
|
@@ -51,6 +58,7 @@ function setup(config) {
|
|
|
51
58
|
spec: {
|
|
52
59
|
serviceAccountName: name,
|
|
53
60
|
restartPolicy: "Never",
|
|
61
|
+
...priority("component"),
|
|
54
62
|
...stackPodSpec(config),
|
|
55
63
|
containers: [{
|
|
56
64
|
name: "setup",
|
|
@@ -63,12 +71,13 @@ function setup(config) {
|
|
|
63
71
|
{ name: "NEON_BROKER_URL", value: `http://${neonName("storage-broker")}:50051` },
|
|
64
72
|
{ name: "NEON_CONTROLLER_URL", value: `http://${neonName("storage-controller")}:1234` },
|
|
65
73
|
{ name: "NEON_PAGESERVER_HOST", value: neonName("pageserver") },
|
|
66
|
-
{ name: "
|
|
74
|
+
{ name: "NEON_PROXY_HOST", value: PROXY_HOST },
|
|
67
75
|
{ name: "NEON_CONTROLLER_DB_HOST", value: neonName("controller-db") },
|
|
68
76
|
{ name: "S3_ENDPOINT", value: s3Endpoint(config) },
|
|
69
77
|
{ name: "S3_REGION", value: objectStore.external.region },
|
|
70
78
|
{ name: "S3_BUCKET_NEON", value: objectStore.buckets.neon },
|
|
71
79
|
{ name: "S3_BUCKET_LAKE", value: objectStore.buckets.lake },
|
|
80
|
+
{ name: "S3_BUCKET_BACKUPS", value: objectStore.buckets.backups },
|
|
72
81
|
...(workspaceStorage.enabled
|
|
73
82
|
? [
|
|
74
83
|
{ name: "WORKSPACES_NAME", value: workspaceStorage.name },
|
|
@@ -79,10 +88,17 @@ function setup(config) {
|
|
|
79
88
|
{ name: "WORKSPACES_SECRET_LABELS", value: JSON.stringify(VOLUME_DRIVER) },
|
|
80
89
|
]
|
|
81
90
|
: []),
|
|
91
|
+
...(sandboxSnapshots(config) ? [{ name: "SNAPSHOTS_BUCKET", value: objectStore.buckets.snapshots }] : []),
|
|
82
92
|
...(objectStore.bundled.enabled ? [] : [
|
|
83
93
|
{ name: "S3_EXTERNAL", value: "1" },
|
|
84
94
|
{ name: "S3_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.existingSecret, key: "accessKey" } } },
|
|
85
95
|
{ name: "S3_SECRET_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.existingSecret, key: "secretKey" } } },
|
|
96
|
+
...(sandboxSnapshots(config)
|
|
97
|
+
? [
|
|
98
|
+
{ name: "S3_SNAPSHOTS_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "accessKey" } } },
|
|
99
|
+
{ name: "S3_SNAPSHOTS_SECRET_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.snapshotsSecret, key: "secretKey" } } },
|
|
100
|
+
]
|
|
101
|
+
: []),
|
|
86
102
|
]),
|
|
87
103
|
],
|
|
88
104
|
securityContext: restrictedContainer(),
|
|
@@ -104,11 +120,12 @@ function controllerDb(config) {
|
|
|
104
120
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
105
121
|
spec: {
|
|
106
122
|
serviceName: name,
|
|
107
|
-
|
|
123
|
+
...replicasOf(ONE),
|
|
108
124
|
selector: { matchLabels: selectorLabels(component) },
|
|
109
125
|
template: {
|
|
110
126
|
metadata: { labels: stackLabels(component) },
|
|
111
127
|
spec: {
|
|
128
|
+
...priority("bound"),
|
|
112
129
|
...stackPodSpec(config),
|
|
113
130
|
containers: [{
|
|
114
131
|
name: "postgres",
|
|
@@ -132,7 +149,7 @@ function controllerDb(config) {
|
|
|
132
149
|
volumeClaimTemplates: [{ metadata: { name: "data" }, spec: claimSpec(config.neon.controllerDb.storage) }],
|
|
133
150
|
},
|
|
134
151
|
};
|
|
135
|
-
return [service(name, component, [{ name: "postgres", port: 5432 }]), statefulSet];
|
|
152
|
+
return [service(name, component, [{ name: "postgres", port: 5432 }]), statefulSet, verticalPodAutoscaler(statefulSet, "Recommended")];
|
|
136
153
|
}
|
|
137
154
|
/** The storage broker, through which safekeepers and the pageserver learn of each other's progress. */
|
|
138
155
|
function storageBroker(config) {
|
|
@@ -143,11 +160,12 @@ function storageBroker(config) {
|
|
|
143
160
|
kind: "Deployment",
|
|
144
161
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
145
162
|
spec: {
|
|
146
|
-
|
|
163
|
+
...replicasOf(ONE),
|
|
147
164
|
selector: { matchLabels: selectorLabels(component) },
|
|
148
165
|
template: {
|
|
149
166
|
metadata: { labels: stackLabels(component) },
|
|
150
167
|
spec: {
|
|
168
|
+
...priority("floor"),
|
|
151
169
|
...stackPodSpec(config),
|
|
152
170
|
containers: [{
|
|
153
171
|
name: "storage-broker",
|
|
@@ -163,7 +181,7 @@ function storageBroker(config) {
|
|
|
163
181
|
},
|
|
164
182
|
},
|
|
165
183
|
};
|
|
166
|
-
return [service(name, component, [{ name: "grpc", port: 50051 }]), deployment];
|
|
184
|
+
return [service(name, component, [{ name: "grpc", port: 50051 }]), deployment, verticalPodAutoscaler(deployment, "InPlace")];
|
|
167
185
|
}
|
|
168
186
|
/** The storage controller: one at a time, as it leads the storage it controls; strict, every timeline on every safekeeper. */
|
|
169
187
|
function storageController(config) {
|
|
@@ -174,12 +192,13 @@ function storageController(config) {
|
|
|
174
192
|
kind: "Deployment",
|
|
175
193
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
176
194
|
spec: {
|
|
177
|
-
|
|
195
|
+
...replicasOf(ONE),
|
|
178
196
|
strategy: { type: "Recreate" },
|
|
179
197
|
selector: { matchLabels: selectorLabels(component) },
|
|
180
198
|
template: {
|
|
181
199
|
metadata: { labels: stackLabels(component) },
|
|
182
200
|
spec: {
|
|
201
|
+
...priority("floor"),
|
|
183
202
|
...stackPodSpec(config),
|
|
184
203
|
initContainers: [{
|
|
185
204
|
name: "wait-for-controller-db",
|
|
@@ -202,7 +221,7 @@ function storageController(config) {
|
|
|
202
221
|
"--listen 0.0.0.0:1234",
|
|
203
222
|
`--control-plane-url http://${neonName("control")}:8080`,
|
|
204
223
|
"--timelines-onto-safekeepers",
|
|
205
|
-
`--timeline-safekeeper-count ${config.neon.safekeepers.
|
|
224
|
+
`--timeline-safekeeper-count ${config.neon.safekeepers.scaling.min}`,
|
|
206
225
|
].join(" "),
|
|
207
226
|
],
|
|
208
227
|
envFrom: [{ secretRef: { name } }],
|
|
@@ -217,22 +236,17 @@ function storageController(config) {
|
|
|
217
236
|
},
|
|
218
237
|
},
|
|
219
238
|
};
|
|
220
|
-
return [service(name, component, [{ name: "http", port: 1234 }]), deployment];
|
|
239
|
+
return [service(name, component, [{ name: "http", port: 1234 }]), deployment, verticalPodAutoscaler(deployment, "Recommended")];
|
|
221
240
|
}
|
|
222
241
|
/**
|
|
223
242
|
* The safekeepers: a timeline's WAL, each on its own volume, at stable names neon-control
|
|
224
243
|
* registers them by, which resolve before they are ready, as the controller needs. They
|
|
225
|
-
* spread across nodes and zones where the cluster has them, so a quorum survives one
|
|
244
|
+
* spread across nodes and zones where the cluster has them, so a quorum survives one, and
|
|
245
|
+
* a drain stops one of them at a time.
|
|
226
246
|
*/
|
|
227
247
|
function safekeepers(config) {
|
|
228
248
|
const name = neonName("safekeeper");
|
|
229
249
|
const component = "neon-safekeeper";
|
|
230
|
-
const spread = (topologyKey) => ({
|
|
231
|
-
maxSkew: 1,
|
|
232
|
-
topologyKey,
|
|
233
|
-
whenUnsatisfiable: "ScheduleAnyway",
|
|
234
|
-
labelSelector: { matchLabels: selectorLabels(component) },
|
|
235
|
-
});
|
|
236
250
|
const headless = {
|
|
237
251
|
apiVersion: "v1",
|
|
238
252
|
kind: "Service",
|
|
@@ -245,16 +259,17 @@ function safekeepers(config) {
|
|
|
245
259
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
246
260
|
spec: {
|
|
247
261
|
serviceName: name,
|
|
248
|
-
|
|
262
|
+
...replicasOf(config.neon.safekeepers.scaling),
|
|
249
263
|
podManagementPolicy: "Parallel",
|
|
250
264
|
selector: { matchLabels: selectorLabels(component) },
|
|
251
265
|
template: {
|
|
252
266
|
metadata: { labels: stackLabels(component) },
|
|
253
267
|
spec: {
|
|
268
|
+
...priority("bound"),
|
|
254
269
|
...stackPodSpec(config),
|
|
255
270
|
terminationGracePeriodSeconds: 30,
|
|
256
271
|
...given("initContainers", waitForObjectStore(config)),
|
|
257
|
-
|
|
272
|
+
...spread(component, config.neon.safekeepers.scaling),
|
|
258
273
|
containers: [{
|
|
259
274
|
name: "safekeeper",
|
|
260
275
|
image: imageReference(config.neon.image),
|
|
@@ -310,7 +325,7 @@ function safekeepers(config) {
|
|
|
310
325
|
volumeClaimTemplates: [{ metadata: { name: "data" }, spec: claimSpec(config.neon.safekeepers.storage) }],
|
|
311
326
|
},
|
|
312
327
|
};
|
|
313
|
-
return [headless, statefulSet];
|
|
328
|
+
return [headless, statefulSet, ...replicaBudget(component, NAMESPACE, config.neon.safekeepers.scaling), verticalPodAutoscaler(statefulSet, "Recommended")];
|
|
314
329
|
}
|
|
315
330
|
/**
|
|
316
331
|
* The pageserver: pages served from layers it keeps in the object store, its volume a
|
|
@@ -326,11 +341,12 @@ function pageserver(config) {
|
|
|
326
341
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
327
342
|
spec: {
|
|
328
343
|
serviceName: name,
|
|
329
|
-
|
|
344
|
+
...replicasOf(ONE),
|
|
330
345
|
selector: { matchLabels: selectorLabels(component) },
|
|
331
346
|
template: {
|
|
332
347
|
metadata: { labels: stackLabels(component) },
|
|
333
348
|
spec: {
|
|
349
|
+
...priority("bound"),
|
|
334
350
|
...stackPodSpec(config),
|
|
335
351
|
terminationGracePeriodSeconds: 30,
|
|
336
352
|
initContainers: [
|
|
@@ -371,37 +387,69 @@ function pageserver(config) {
|
|
|
371
387
|
volumeClaimTemplates: [{ metadata: { name: "data" }, spec: claimSpec(config.neon.pageserver.storage) }],
|
|
372
388
|
},
|
|
373
389
|
};
|
|
374
|
-
return [service(name, component, [{ name: "pg", port: 6400 }, { name: "http", port: 9898 }]), statefulSet];
|
|
390
|
+
return [service(name, component, [{ name: "pg", port: 6400 }, { name: "http", port: 9898 }]), statefulSet, verticalPodAutoscaler(statefulSet, "Recommended")];
|
|
391
|
+
}
|
|
392
|
+
/** Where every client reaches Neon's proxy, from main's namespace or a branch environment's. */
|
|
393
|
+
export const PROXY_HOST = `${neonName("proxy")}.${NAMESPACE}.svc`;
|
|
394
|
+
/** The port the proxy takes clients on, Postgres's own. */
|
|
395
|
+
export const PROXY_PORT = 5432;
|
|
396
|
+
/**
|
|
397
|
+
* What neon-control may do to the compute of `namespace`, main's or a branch
|
|
398
|
+
* environment's: read its Deployment, and scale it, waking it and putting it to sleep, and
|
|
399
|
+
* list its pods, to see one put to sleep gone before it wakes it; a Role there, bound to
|
|
400
|
+
* neon-control's ServiceAccount in main's.
|
|
401
|
+
*/
|
|
402
|
+
export function computeScaling(namespace) {
|
|
403
|
+
const name = neonName("control");
|
|
404
|
+
const metadata = { name, namespace, labels: stackLabels("neon-control") };
|
|
405
|
+
const role = {
|
|
406
|
+
apiVersion: "rbac.authorization.k8s.io/v1",
|
|
407
|
+
kind: "Role",
|
|
408
|
+
metadata,
|
|
409
|
+
rules: [
|
|
410
|
+
{ apiGroups: ["apps"], resources: ["deployments"], resourceNames: [neonName("compute")], verbs: ["get"] },
|
|
411
|
+
{ apiGroups: ["apps"], resources: ["deployments/scale"], resourceNames: [neonName("compute")], verbs: ["patch"] },
|
|
412
|
+
// A list is of a namespace's pods, as no name narrows it.
|
|
413
|
+
{ apiGroups: [""], resources: ["pods"], verbs: ["list"] },
|
|
414
|
+
],
|
|
415
|
+
};
|
|
416
|
+
const binding = {
|
|
417
|
+
apiVersion: "rbac.authorization.k8s.io/v1",
|
|
418
|
+
kind: "RoleBinding",
|
|
419
|
+
metadata,
|
|
420
|
+
subjects: [{ kind: "ServiceAccount", name, namespace: NAMESPACE }],
|
|
421
|
+
roleRef: { apiGroup: "rbac.authorization.k8s.io", kind: "Role", name },
|
|
422
|
+
};
|
|
423
|
+
return [role, binding];
|
|
375
424
|
}
|
|
376
425
|
/**
|
|
377
426
|
* neon-control: it bootstraps the tenant and main's timeline, makes and deletes branches,
|
|
378
|
-
* serves each branch's compute its spec, answers the storage controller's hooks
|
|
379
|
-
*
|
|
380
|
-
* its
|
|
427
|
+
* serves each branch's compute its spec, answers the storage controller's hooks and Neon's
|
|
428
|
+
* proxy, wakes computes and puts them to sleep, and repairs a safekeeper that lost its
|
|
429
|
+
* disk. Its record of the branches is in the storage controller's Postgres, so any of its
|
|
430
|
+
* replicas serves.
|
|
381
431
|
*/
|
|
382
432
|
function control(config) {
|
|
383
433
|
const name = neonName("control");
|
|
384
434
|
const component = "neon-control";
|
|
435
|
+
const { scaling, resources } = config.neon.control;
|
|
385
436
|
const safekeeper = neonName("safekeeper");
|
|
386
|
-
const safekeeperHosts = Array.from({ length: config.neon.safekeepers.
|
|
387
|
-
const
|
|
388
|
-
apiVersion: "v1",
|
|
389
|
-
kind: "PersistentVolumeClaim",
|
|
390
|
-
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
391
|
-
spec: claimSpec(config.neon.control.storage),
|
|
392
|
-
};
|
|
437
|
+
const safekeeperHosts = Array.from({ length: config.neon.safekeepers.scaling.min }, (_, index) => `${safekeeper}-${index}.${safekeeper}.${NAMESPACE}.svc.cluster.local`);
|
|
438
|
+
const serviceAccount = { apiVersion: "v1", kind: "ServiceAccount", metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) } };
|
|
393
439
|
const deployment = {
|
|
394
440
|
apiVersion: "apps/v1",
|
|
395
441
|
kind: "Deployment",
|
|
396
442
|
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
397
443
|
spec: {
|
|
398
|
-
|
|
399
|
-
strategy: { type: "Recreate" },
|
|
444
|
+
...replicasOf(scaling),
|
|
400
445
|
selector: { matchLabels: selectorLabels(component) },
|
|
401
446
|
template: {
|
|
402
447
|
metadata: { labels: stackLabels(component) },
|
|
403
448
|
spec: {
|
|
449
|
+
serviceAccountName: name,
|
|
450
|
+
...priority("floor"),
|
|
404
451
|
...stackPodSpec(config),
|
|
452
|
+
...spread(component, scaling),
|
|
405
453
|
containers: [{
|
|
406
454
|
name: "neon-control",
|
|
407
455
|
image: imageReference(config.images.alasio),
|
|
@@ -412,19 +460,20 @@ function control(config) {
|
|
|
412
460
|
{ name: "NEON_SAFEKEEPER_HOSTS", value: safekeeperHosts.join(",") },
|
|
413
461
|
// As every compute reaches it, a branch environment's in its own namespace too.
|
|
414
462
|
{ name: "NEON_PAGESERVER_HOST", value: `${neonName("pageserver")}.${NAMESPACE}.svc` },
|
|
463
|
+
{ name: "NEON_CONTROLLER_DB_HOST", value: neonName("controller-db") },
|
|
464
|
+
{ name: "NAMESPACE", valueFrom: { fieldRef: { fieldPath: "metadata.namespace" } } },
|
|
465
|
+
{ name: "NEON_COMPUTE_NAME", value: neonName("compute") },
|
|
415
466
|
],
|
|
416
467
|
ports: [{ name: "http", containerPort: 8080 }],
|
|
417
468
|
readinessProbe: { httpGet: { path: "/healthz", port: "http" }, periodSeconds: 3 },
|
|
418
469
|
securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true },
|
|
419
|
-
resources
|
|
470
|
+
resources,
|
|
420
471
|
volumeMounts: [
|
|
421
|
-
{ name: "state", mountPath: "/state" },
|
|
422
472
|
{ name: "root", mountPath: "/secrets", readOnly: true },
|
|
423
473
|
{ name: "keys", mountPath: "/keys", readOnly: true },
|
|
424
474
|
],
|
|
425
475
|
}],
|
|
426
476
|
volumes: [
|
|
427
|
-
{ name: "state", persistentVolumeClaim: { claimName: name } },
|
|
428
477
|
{
|
|
429
478
|
name: "root",
|
|
430
479
|
secret: {
|
|
@@ -439,7 +488,75 @@ function control(config) {
|
|
|
439
488
|
},
|
|
440
489
|
},
|
|
441
490
|
};
|
|
442
|
-
return [
|
|
491
|
+
return [
|
|
492
|
+
service(name, component, [{ name: "http", port: 8080 }]),
|
|
493
|
+
serviceAccount,
|
|
494
|
+
...computeScaling(NAMESPACE),
|
|
495
|
+
deployment,
|
|
496
|
+
...replicaBudget(component, NAMESPACE, scaling),
|
|
497
|
+
verticalPodAutoscaler(deployment, "Recommended"),
|
|
498
|
+
];
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Neon's proxy, from Neon's image: every client of a compute, main's or a branch
|
|
502
|
+
* environment's, connects to it, naming the compute by `options=endpoint=<id>` (the
|
|
503
|
+
* compute's id, as its spec is served under), without TLS, which would turn that option
|
|
504
|
+
* off. It asks neon-control, its control plane, for the role's verifier, authenticates the
|
|
505
|
+
* client against it, has neon-control wake the compute if it sleeps, and then passes the
|
|
506
|
+
* session through, whole, so session state such as advisory locks holds. It keeps where
|
|
507
|
+
* each compute is for four minutes, and asks again when a connection there fails, as one
|
|
508
|
+
* to a compute that has gone to sleep since does. It cancels no query: that needs a Redis
|
|
509
|
+
* of its own, and alasio cancels none.
|
|
510
|
+
*/
|
|
511
|
+
function proxy(config) {
|
|
512
|
+
const name = neonName("proxy");
|
|
513
|
+
const component = "neon-proxy";
|
|
514
|
+
const { scaling, resources } = config.neon.proxy;
|
|
515
|
+
const deployment = {
|
|
516
|
+
apiVersion: "apps/v1",
|
|
517
|
+
kind: "Deployment",
|
|
518
|
+
metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
|
|
519
|
+
spec: {
|
|
520
|
+
...replicasOf(scaling),
|
|
521
|
+
selector: { matchLabels: selectorLabels(component) },
|
|
522
|
+
template: {
|
|
523
|
+
metadata: { labels: stackLabels(component) },
|
|
524
|
+
spec: {
|
|
525
|
+
...priority("floor"),
|
|
526
|
+
...stackPodSpec(config),
|
|
527
|
+
...spread(component, scaling),
|
|
528
|
+
containers: [{
|
|
529
|
+
name: "proxy",
|
|
530
|
+
image: imageReference(config.neon.image),
|
|
531
|
+
imagePullPolicy: "IfNotPresent",
|
|
532
|
+
command: [
|
|
533
|
+
"proxy",
|
|
534
|
+
"--proxy", `0.0.0.0:${PROXY_PORT}`,
|
|
535
|
+
"--http", "0.0.0.0:7001",
|
|
536
|
+
"--auth-backend", "control-plane",
|
|
537
|
+
"--auth-endpoint", `http://${neonName("control")}:8080`,
|
|
538
|
+
"--wake-compute-cache", "size=4000,ttl=4m",
|
|
539
|
+
// A role's secret is kept ten seconds, not its four minutes: no Redis tells it of a
|
|
540
|
+
// branch deleted and made again under its name, with new passwords.
|
|
541
|
+
"--project-info-cache", "size=10000,ttl=10s,max_roles=10,gc_interval=60m",
|
|
542
|
+
],
|
|
543
|
+
// Its token for neon-control, of the scope that answers it alone.
|
|
544
|
+
env: [secretVariable(name, "NEON_PROXY_TO_CONTROLPLANE_TOKEN")],
|
|
545
|
+
ports: [{ name: "postgres", containerPort: PROXY_PORT }, { name: "http", containerPort: 7001 }],
|
|
546
|
+
readinessProbe: { tcpSocket: { port: "postgres" }, periodSeconds: 5 },
|
|
547
|
+
securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true },
|
|
548
|
+
resources,
|
|
549
|
+
}],
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
},
|
|
553
|
+
};
|
|
554
|
+
return [
|
|
555
|
+
service(name, component, [{ name: "postgres", port: PROXY_PORT }, { name: "http", port: 7001 }]),
|
|
556
|
+
deployment,
|
|
557
|
+
...replicaBudget(component, NAMESPACE, scaling),
|
|
558
|
+
verticalPodAutoscaler(deployment, "InPlace"),
|
|
559
|
+
];
|
|
443
560
|
}
|
|
444
561
|
/**
|
|
445
562
|
* The compute: Postgres on alasio's timeline, one primary (never two on one timeline),
|
|
@@ -448,22 +565,35 @@ function control(config) {
|
|
|
448
565
|
* scrapes, and exports compute_ctl's traces to the collector, when it runs. A branch
|
|
449
566
|
* environment's is on the branch's timeline, in its namespace, reaching the stack's
|
|
450
567
|
* storage and neon-control in main's.
|
|
568
|
+
*
|
|
569
|
+
* neon-control wakes it and puts it to sleep, scaling its Deployment between one replica
|
|
570
|
+
* and none: so applying alasio gives it none, as it would take the count back, and a
|
|
571
|
+
* compute made anew starts at one. Its Service takes connections before its pod is ready,
|
|
572
|
+
* so a wake is answered as soon as Postgres takes them.
|
|
451
573
|
*/
|
|
452
574
|
export function compute(config, environment = MAIN_ENVIRONMENT) {
|
|
453
575
|
const name = neonName("compute");
|
|
454
576
|
const component = "neon-compute";
|
|
455
577
|
const control = `http://${neonName("control")}.${NAMESPACE}.svc:8080`;
|
|
578
|
+
const { suspendAfter, resources } = config.neon.compute;
|
|
456
579
|
const deployment = {
|
|
457
580
|
apiVersion: "apps/v1",
|
|
458
581
|
kind: "Deployment",
|
|
459
|
-
metadata: {
|
|
582
|
+
metadata: {
|
|
583
|
+
name,
|
|
584
|
+
namespace: environment.namespace,
|
|
585
|
+
labels: stackLabels(component),
|
|
586
|
+
// A valid duration, as the configuration checks.
|
|
587
|
+
annotations: { [SUSPEND_AFTER]: String(durationSeconds(suspendAfter)) },
|
|
588
|
+
},
|
|
460
589
|
spec: {
|
|
461
|
-
replicas: 1,
|
|
462
590
|
strategy: { type: "Recreate" },
|
|
463
591
|
selector: { matchLabels: selectorLabels(component) },
|
|
464
592
|
template: {
|
|
465
593
|
metadata: { labels: stackLabels(component) },
|
|
466
594
|
spec: {
|
|
595
|
+
// Main's is alasio's database, which every turn needs; a branch's, a branch environment's.
|
|
596
|
+
...priority(environment.branch === null ? "floor" : "component"),
|
|
467
597
|
...imagePullSecrets(config),
|
|
468
598
|
// The compute image runs as its own postgres user.
|
|
469
599
|
securityContext: { fsGroup: config.neon.runAsGroup, seccompProfile: { type: "RuntimeDefault" } },
|
|
@@ -479,7 +609,7 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
|
|
|
479
609
|
"--pgdata",
|
|
480
610
|
"/var/db/postgres/compute",
|
|
481
611
|
"--connstr",
|
|
482
|
-
|
|
612
|
+
`postgresql://cloud_admin@localhost:${COMPUTE_PORT}/postgres`,
|
|
483
613
|
"--pgbin",
|
|
484
614
|
"/usr/local/bin/postgres",
|
|
485
615
|
"--compute-id",
|
|
@@ -493,10 +623,10 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
|
|
|
493
623
|
? [{ name: "OTEL_SERVICE_NAME", value: "compute_ctl" }, ...otelEnv(config, environment)]
|
|
494
624
|
: [{ name: "OTEL_SDK_DISABLED", value: "true" }]),
|
|
495
625
|
],
|
|
496
|
-
ports: [{ name: "postgres", containerPort:
|
|
497
|
-
readinessProbe: { exec: { command: ["pg_isready", "-h", "127.0.0.1", "-p",
|
|
626
|
+
ports: [{ name: "postgres", containerPort: COMPUTE_PORT }, { name: "http", containerPort: 3080 }],
|
|
627
|
+
readinessProbe: { exec: { command: ["pg_isready", "-h", "127.0.0.1", "-p", String(COMPUTE_PORT), "-U", "cloud_admin", "-d", "postgres"] }, periodSeconds: 5 },
|
|
498
628
|
securityContext: restrictedContainer(),
|
|
499
|
-
resources
|
|
629
|
+
resources,
|
|
500
630
|
volumeMounts: [{ name: "pgdata", mountPath: "/var/db/postgres" }],
|
|
501
631
|
}],
|
|
502
632
|
volumes: [{ name: "pgdata", emptyDir: {} }],
|
|
@@ -504,7 +634,13 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
|
|
|
504
634
|
},
|
|
505
635
|
},
|
|
506
636
|
};
|
|
507
|
-
|
|
637
|
+
const service = {
|
|
638
|
+
apiVersion: "v1",
|
|
639
|
+
kind: "Service",
|
|
640
|
+
metadata: { name, namespace: environment.namespace, labels: stackLabels(component) },
|
|
641
|
+
spec: { selector: selectorLabels(component), publishNotReadyAddresses: true, ports: [{ name: "postgres", port: COMPUTE_PORT }, { name: "http", port: 3080 }] },
|
|
642
|
+
};
|
|
643
|
+
return [service, deployment, verticalPodAutoscaler(deployment, "Recommended")];
|
|
508
644
|
}
|
|
509
645
|
/**
|
|
510
646
|
* A logical dump of alasio's database, restorable into any Postgres whatever becomes of
|
|
@@ -522,12 +658,18 @@ function backup(config) {
|
|
|
522
658
|
command: [
|
|
523
659
|
"/bin/sh",
|
|
524
660
|
"-c",
|
|
525
|
-
// A new pod's NetworkPolicy may apply a moment after it starts, so the
|
|
661
|
+
// A new pod's NetworkPolicy may apply a moment after it starts, so the proxy is
|
|
526
662
|
// waited for rather than given up on at the first refusal.
|
|
527
|
-
|
|
528
|
-
|
|
663
|
+
`until pg_isready --quiet; do sleep 2; done && pg_dump --username=${ROLE} --dbname=${DATABASE} --format=custom --file=/backup/alasio.dump`,
|
|
664
|
+
],
|
|
665
|
+
env: [
|
|
666
|
+
{ name: "PGHOST", value: PROXY_HOST },
|
|
667
|
+
{ name: "PGPORT", value: String(PROXY_PORT) },
|
|
668
|
+
// Main's compute, through the proxy, which wakes it if it sleeps.
|
|
669
|
+
{ name: "PGOPTIONS", value: `endpoint=${computeId(MAIN)}` },
|
|
670
|
+
{ name: "PGCONNECT_TIMEOUT", value: "60" },
|
|
671
|
+
{ name: "PGPASSWORD", valueFrom: { secretKeyRef: { name: databaseSecret(config), key: "password" } } },
|
|
529
672
|
],
|
|
530
|
-
env: [{ name: "PGPASSWORD", valueFrom: { secretKeyRef: { name: databaseSecret(config), key: "password" } } }],
|
|
531
673
|
securityContext: restrictedContainer(),
|
|
532
674
|
resources: { requests: { cpu: "100m", memory: "128Mi" }, limits: { memory: "1Gi" } },
|
|
533
675
|
volumeMounts: [{ name: "backup", mountPath: "/backup" }],
|
|
@@ -561,7 +703,8 @@ function backup(config) {
|
|
|
561
703
|
{ name: "AWS_DEFAULT_REGION", value: objectStore.external.region },
|
|
562
704
|
{ name: "HOME", value: "/tmp" },
|
|
563
705
|
],
|
|
564
|
-
|
|
706
|
+
// Its own identity: it writes the backups' bucket and reads what it backs up, and no more.
|
|
707
|
+
envFrom: [{ secretRef: { name: neonName("s3-backups") } }],
|
|
565
708
|
securityContext: restrictedContainer(),
|
|
566
709
|
resources: { requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } },
|
|
567
710
|
volumeMounts: [{ name: "backup", mountPath: "/backup" }, { name: "tmp", mountPath: "/tmp" }],
|
|
@@ -583,6 +726,7 @@ function backup(config) {
|
|
|
583
726
|
metadata: { labels: stackLabels(component) },
|
|
584
727
|
spec: {
|
|
585
728
|
restartPolicy: "Never",
|
|
729
|
+
...priority("component"),
|
|
586
730
|
...stackPodSpec(config),
|
|
587
731
|
initContainers: [dump],
|
|
588
732
|
containers: [upload],
|
|
@@ -607,6 +751,7 @@ export function neonObjects(config) {
|
|
|
607
751
|
...safekeepers(config),
|
|
608
752
|
...pageserver(config),
|
|
609
753
|
...control(config),
|
|
754
|
+
...proxy(config),
|
|
610
755
|
...compute(config),
|
|
611
756
|
...(neon.backup.enabled ? [backup(config)] : []),
|
|
612
757
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../../src/manifests/neon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../../../src/manifests/neon.ts"],"names":[],"mappings":"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"}
|