alasio 7.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 +65 -29
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +8 -1
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +8 -1
- package/dist/cli/src/cluster/node.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 +40 -8
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
- package/dist/cli/src/commands/status.js +156 -12
- package/dist/cli/src/commands/status.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/install.js +69 -15
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kept-releases.js.map +1 -1
- 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 +58 -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 +43 -4
- package/dist/cli/src/manifests/admission.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +68 -15
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/collector.js +227 -128
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/config.js +196 -15
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/index.js +8 -4
- 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 +336 -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 +125 -46
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +130 -33
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +14 -5
- package/dist/cli/src/manifests/node-agent.js.map +1 -1
- package/dist/cli/src/manifests/scalers.js.map +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 +5 -0
- package/dist/neon/control/branches.js +120 -15
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +9 -0
- package/dist/neon/control/endpoints.js.map +1 -1
- package/dist/neon/control/jwt.js +16 -3
- package/dist/neon/control/jwt.js.map +1 -1
- package/dist/neon/control/secrets.js +39 -6
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/kube/config.js +3 -1
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +12 -2
- package/dist/src/kube/sandbox-shape.js.map +1 -1
- package/dist/src/node-agent/names.js +67 -1
- package/dist/src/node-agent/names.js.map +1 -1
- package/dist/src/telegram/deliveries.js +40 -0
- package/dist/src/telegram/deliveries.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { COMPUTE_PORT } from "../../../neon/control/branches.js";
|
|
1
|
+
import { COMPUTE_CTL_PORT, COMPUTE_PORT } from "../../../neon/control/branches.js";
|
|
2
2
|
import { BRANCH_FORK_PORT } from "../../../src/branch/names.js";
|
|
3
3
|
import { NODE_AGENT_PORT } from "../../../src/node-agent/names.js";
|
|
4
4
|
import { forksForBranches, sessionsNamespace } from "./alasio.js";
|
|
5
|
-
import {
|
|
5
|
+
import { GATEWAY_COMPONENT, SCRAPER_COMPONENT } from "./collector.js";
|
|
6
|
+
import { BRANCH_LABEL, COLLECTOR_PORT, collectorRuns, componentName, given, grafanaRuns, labels, lakeRuns, MAIN_ENVIRONMENT, NAMESPACE, nodeAgentRuns, RELEASE, selectorLabels, } from "./common.js";
|
|
6
7
|
import { replicated } from "./disruption.js";
|
|
7
8
|
import { GOSSIP_PORT } from "./grafana.js";
|
|
8
|
-
import { LAKE_QUERY_PORT } from "./lake.js";
|
|
9
|
+
import { INTAKE_COMPONENT, LAKE_QUERY_PORT, LOADER_COMPONENT, QUERY_COMPONENT, RECONCILE_COMPONENT } from "./lake.js";
|
|
10
|
+
import { LOG, LOG_COMPONENT, LOG_CONTROLLER_PORT, LOG_METRICS_PORT, LOG_PORT } from "./log.js";
|
|
11
|
+
import { WEBHOOK, WEBHOOK_COMPONENT, WEBHOOK_HEALTH_PORT } from "./webhook.js";
|
|
9
12
|
import { BACKUP_COMPONENT, COMPONENTS, FILER, FILER_STORE, GATEWAY, LIFECYCLE_COMPONENT, MASTER, METRICS_PORT, RESTORE_COMPONENTS, RESTORE_SOURCE, VOLUME_SERVER, } from "./object-store.js";
|
|
10
13
|
import { PROXY_PORT } from "./neon.js";
|
|
11
14
|
import { CONTROLLER_POD_LABELS, JOB_POD_SELECTOR, MOUNT_POD_LABELS, NODE_POD_LABELS } from "./juicefs-csi.js";
|
|
@@ -65,30 +68,37 @@ function sessionPolicies(config, environment) {
|
|
|
65
68
|
const PARTS = [COMPONENTS.gateway, COMPONENTS.master, COMPONENTS.volumeServer, COMPONENTS.filer];
|
|
66
69
|
/** A component of main's, as a peer from any namespace. */
|
|
67
70
|
const ofMain = (component) => ({ namespaceSelector: namespaceNamed(NAMESPACE), podSelector: { matchLabels: selectorLabels(component) } });
|
|
71
|
+
/** The computes' components: a primary's, and its read replica's. */
|
|
72
|
+
const COMPUTES = ["neon-compute", "neon-compute-ro"];
|
|
73
|
+
/** The stack's pods that what talks to each of them alone reaches: the object store's parts, and the log. */
|
|
74
|
+
const APART = [...PARTS, LOG_COMPONENT];
|
|
68
75
|
/**
|
|
69
|
-
* Neon's services, the lake and their jobs reach each other, but the
|
|
70
|
-
*
|
|
71
|
-
* through, neon-control's, which wakes
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
76
|
+
* Neon's services, the lake and their jobs reach each other, but the computes, primary
|
|
77
|
+
* and read replica, which take their clients' sessions from main's Neon proxy alone,
|
|
78
|
+
* which every client connects through, and neon-control's, which wakes them and counts
|
|
79
|
+
* their sessions, and on compute_ctl's port neon-control's, which gives them their specs
|
|
80
|
+
* anew, and the collector's scraper's scrapes of its metrics. In a branch environment, its
|
|
81
|
+
* lake and computes likewise, but for the scrapes, as the scraper scrapes main's computes
|
|
82
|
+
* alone. The object store's parts and the log, of the stack too, are reached as
|
|
83
|
+
* partPolicies, gatewayPolicy and logPolicy say alone.
|
|
75
84
|
*/
|
|
76
85
|
function neonPolicies({ namespace }) {
|
|
77
86
|
return [
|
|
78
87
|
policy(componentName("neon"), namespace, "neon", {
|
|
79
|
-
podSelector: { matchLabels: STACK, matchExpressions: [{ key: "app.kubernetes.io/component", operator: "NotIn", values: [...
|
|
88
|
+
podSelector: { matchLabels: STACK, matchExpressions: [{ key: "app.kubernetes.io/component", operator: "NotIn", values: [...APART, ...COMPUTES] }] },
|
|
80
89
|
policyTypes: ["Ingress"],
|
|
81
90
|
ingress: [{ from: [{ podSelector: { matchLabels: STACK } }] }],
|
|
82
91
|
}),
|
|
83
|
-
policy(componentName(
|
|
84
|
-
podSelector: { matchLabels: selectorLabels(
|
|
92
|
+
...COMPUTES.map((component) => policy(componentName(component), namespace, "neon", {
|
|
93
|
+
podSelector: { matchLabels: selectorLabels(component) },
|
|
85
94
|
policyTypes: ["Ingress"],
|
|
86
95
|
ingress: [
|
|
87
96
|
{ from: [ofMain("neon-proxy"), ofMain("neon-control")], ports: [{ protocol: "TCP", port: COMPUTE_PORT }] },
|
|
88
|
-
|
|
89
|
-
|
|
97
|
+
{ from: [ofMain("neon-control")], ports: [{ protocol: "TCP", port: COMPUTE_CTL_PORT }] },
|
|
98
|
+
// The collector's scraper scrapes main's computes' compute_ctl alone (collector.ts).
|
|
99
|
+
...(namespace === NAMESPACE ? [{ from: [ofMain(SCRAPER_COMPONENT)], ports: [{ protocol: "TCP", port: COMPUTE_CTL_PORT }] }] : []),
|
|
90
100
|
],
|
|
91
|
-
}),
|
|
101
|
+
})),
|
|
92
102
|
];
|
|
93
103
|
}
|
|
94
104
|
/**
|
|
@@ -130,7 +140,7 @@ function branchStoragePolicy(config) {
|
|
|
130
140
|
* Workspace storage's metadata and data are reached by JuiceFS's own pods alone (its
|
|
131
141
|
* controller, its node service, the mount pods it runs and the Jobs that delete volumes'
|
|
132
142
|
* directories, in the driver's namespace) and alasio's JuiceFS admin pods: Valkey takes no
|
|
133
|
-
* other connection but the
|
|
143
|
+
* other connection but the collector's scraper's, which reads its metrics, and the bundled
|
|
134
144
|
* object store takes theirs on its S3 port beside the stack's own, and Valkey's, whose pod
|
|
135
145
|
* formats the file system. The driver's Jobs are told by no label of their own, so any
|
|
136
146
|
* Job's pod in its namespace is admitted, which the credentials of each still guard.
|
|
@@ -150,7 +160,7 @@ function workspaceStoragePolicies(config) {
|
|
|
150
160
|
policyTypes: ["Ingress"],
|
|
151
161
|
ingress: [
|
|
152
162
|
{ from: juicefs, ports: [{ protocol: "TCP", port: VALKEY_PORT }] },
|
|
153
|
-
{ from: [{ podSelector: { matchLabels: selectorLabels(
|
|
163
|
+
{ from: [{ podSelector: { matchLabels: selectorLabels(SCRAPER_COMPONENT) } }], ports: [{ protocol: "TCP", port: VALKEY_PORT }] },
|
|
154
164
|
],
|
|
155
165
|
}),
|
|
156
166
|
...(config.objectStore.bundled.enabled
|
|
@@ -165,7 +175,7 @@ function workspaceStoragePolicies(config) {
|
|
|
165
175
|
/**
|
|
166
176
|
* The bundled object store's parts behind its gateways, each reached by what talks to it
|
|
167
177
|
* alone, on its HTTP and gRPC ports (SeaweedFS's gRPC port is the HTTP port's plus 10000),
|
|
168
|
-
* and by the collector on its metrics port:
|
|
178
|
+
* and by the collector's scraper on its metrics port:
|
|
169
179
|
*
|
|
170
180
|
* - the masters, by each other, in Raft, and by every part that asks them where volumes
|
|
171
181
|
* are, or registers: the volume servers, the filers, the gateways (whose sidecar makes
|
|
@@ -176,17 +186,25 @@ function workspaceStoragePolicies(config) {
|
|
|
176
186
|
* - the filers, by each other, which follow each other's changes, the gateways, and the
|
|
177
187
|
* lifecycle pass, which replays their log.
|
|
178
188
|
*
|
|
179
|
-
*
|
|
189
|
+
* And each environment's lake's reconciliation, main's and branch environments', reaches the
|
|
190
|
+
* filers, masters and volume servers on their HTTP ports alone, which it asks whether a file
|
|
191
|
+
* the store fails a read of has its data still (neon/lake/src/reconcile.ts's gone). The
|
|
192
|
+
* stack's other pods, which reach the store through its gateways, reach none of them.
|
|
180
193
|
*/
|
|
181
194
|
function partPolicies() {
|
|
182
195
|
const of = (component) => ({ podSelector: { matchLabels: selectorLabels(component) } });
|
|
183
196
|
const ports = (http) => [http, http + 10_000].map((port) => ({ protocol: "TCP", port }));
|
|
197
|
+
const reconciliations = [
|
|
198
|
+
ofMain(RECONCILE_COMPONENT),
|
|
199
|
+
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels(RECONCILE_COMPONENT) } },
|
|
200
|
+
];
|
|
184
201
|
const part = (name, component, http, from) => policy(name, NAMESPACE, component, {
|
|
185
202
|
podSelector: { matchLabels: selectorLabels(component) },
|
|
186
203
|
policyTypes: ["Ingress"],
|
|
187
204
|
ingress: [
|
|
188
205
|
{ from: from.map(of), ports: ports(http) },
|
|
189
|
-
{ from:
|
|
206
|
+
{ from: reconciliations, ports: [{ protocol: "TCP", port: http }] },
|
|
207
|
+
{ from: [of(SCRAPER_COMPONENT)], ports: [{ protocol: "TCP", port: METRICS_PORT }] },
|
|
190
208
|
],
|
|
191
209
|
});
|
|
192
210
|
const { gateway, master, volumeServer, filer } = COMPONENTS;
|
|
@@ -200,7 +218,7 @@ function partPolicies() {
|
|
|
200
218
|
* The bundled object store's gateways take the stack's pods on their S3 port, the
|
|
201
219
|
* store's endpoint (and branch environments' and workspace storage's, as their own
|
|
202
220
|
* policies say); the lifecycle pass alone on their gRPC port, through which it deletes;
|
|
203
|
-
* and the collector alone on their metrics port.
|
|
221
|
+
* and the collector's scraper alone on their metrics port.
|
|
204
222
|
*/
|
|
205
223
|
function gatewayPolicy() {
|
|
206
224
|
return policy(GATEWAY, NAMESPACE, COMPONENTS.gateway, {
|
|
@@ -209,13 +227,13 @@ function gatewayPolicy() {
|
|
|
209
227
|
ingress: [
|
|
210
228
|
{ from: [{ podSelector: { matchLabels: STACK } }], ports: [{ protocol: "TCP", port: 8333 }] },
|
|
211
229
|
{ from: [{ podSelector: { matchLabels: selectorLabels(LIFECYCLE_COMPONENT) } }], ports: [{ protocol: "TCP", port: 18_333 }] },
|
|
212
|
-
{ from: [{ podSelector: { matchLabels: selectorLabels(
|
|
230
|
+
{ from: [{ podSelector: { matchLabels: selectorLabels(SCRAPER_COMPONENT) } }], ports: [{ protocol: "TCP", port: METRICS_PORT }] },
|
|
213
231
|
],
|
|
214
232
|
});
|
|
215
233
|
}
|
|
216
234
|
/**
|
|
217
235
|
* The bundled object store's filer store takes no connection but its filers', the
|
|
218
|
-
* collector's, which reads its metrics, and its backups': it is not of the data stack,
|
|
236
|
+
* collector's scraper's, which reads its metrics, and its backups': it is not of the data stack,
|
|
219
237
|
* whose pods reach each other. As `alasio restore-filer-store` puts a backup back, the
|
|
220
238
|
* Valkey that serves it is reached by the Job that loads it alone.
|
|
221
239
|
*/
|
|
@@ -227,20 +245,88 @@ function filerStorePolicies() {
|
|
|
227
245
|
ingress: [{ from: from.map(of), ports: [{ protocol: "TCP", port: VALKEY_PORT }] }],
|
|
228
246
|
});
|
|
229
247
|
return [
|
|
230
|
-
valkey(FILER_STORE, COMPONENTS.filerStore, [COMPONENTS.filer,
|
|
248
|
+
valkey(FILER_STORE, COMPONENTS.filerStore, [COMPONENTS.filer, SCRAPER_COMPONENT, BACKUP_COMPONENT]),
|
|
231
249
|
valkey(RESTORE_SOURCE, RESTORE_COMPONENTS.source, [RESTORE_COMPONENTS.restore]),
|
|
232
250
|
];
|
|
233
251
|
}
|
|
234
252
|
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
|
|
253
|
+
* KEDA's operator, which reads what it scales on: alasio's, or, where the cluster's own KEDA
|
|
254
|
+
* scales alasio (autoscaling.keda.enabled false), the operator its release manifest
|
|
255
|
+
* labels, in any namespace.
|
|
256
|
+
*/
|
|
257
|
+
const kedaOperator = (config) => config.autoscaling.keda.enabled
|
|
258
|
+
? { podSelector: { matchLabels: selectorLabels("keda-operator") } }
|
|
259
|
+
: { namespaceSelector: {}, podSelector: { matchLabels: { "app.kubernetes.io/name": "keda-operator" } } };
|
|
260
|
+
/**
|
|
261
|
+
* The log takes its clients on their port from the collector's gateway and the webhook
|
|
262
|
+
* intake, which write to it, and the lake's intake, KEDA's operator (kedaOperator), and
|
|
263
|
+
* each environment's alasio and lake loader, main's and branch environments', which read
|
|
264
|
+
* it, alone; its controllers' port, and its clients' as its brokers reach each other,
|
|
265
|
+
* from its own nodes; and its metrics port from the collector's scraper.
|
|
266
|
+
*/
|
|
267
|
+
function logPolicy(config) {
|
|
268
|
+
const of = (component) => ({ podSelector: { matchLabels: selectorLabels(component) } });
|
|
269
|
+
const operator = kedaOperator(config);
|
|
270
|
+
return policy(LOG, NAMESPACE, LOG_COMPONENT, {
|
|
271
|
+
podSelector: { matchLabels: selectorLabels(LOG_COMPONENT) },
|
|
272
|
+
policyTypes: ["Ingress"],
|
|
273
|
+
ingress: [
|
|
274
|
+
{ from: [of(LOG_COMPONENT)], ports: [LOG_PORT, LOG_CONTROLLER_PORT].map((port) => ({ protocol: "TCP", port })) },
|
|
275
|
+
{
|
|
276
|
+
from: [
|
|
277
|
+
of(GATEWAY_COMPONENT),
|
|
278
|
+
of(WEBHOOK_COMPONENT),
|
|
279
|
+
of(INTAKE_COMPONENT),
|
|
280
|
+
operator,
|
|
281
|
+
of("alasio"),
|
|
282
|
+
of(LOADER_COMPONENT),
|
|
283
|
+
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels("alasio") } },
|
|
284
|
+
{ namespaceSelector: BRANCH_NAMESPACES, podSelector: { matchLabels: selectorLabels(LOADER_COMPONENT) } },
|
|
285
|
+
],
|
|
286
|
+
ports: [{ protocol: "TCP", port: LOG_PORT }],
|
|
287
|
+
},
|
|
288
|
+
{ from: [of(SCRAPER_COMPONENT)], ports: [{ protocol: "TCP", port: LOG_METRICS_PORT }] },
|
|
289
|
+
],
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* The webhook intake takes its port from webhook.sources alone, Telegram's ranges, where it
|
|
294
|
+
* is on this machine's public address, and from anywhere else: a LoadBalancer Service takes
|
|
295
|
+
* those alone, and the cluster in Docker is reached from this machine. On the machine, the
|
|
296
|
+
* policy is what guards the port: what is forwarded to a pod, the policy's controller
|
|
297
|
+
* accepts ahead of the machine's firewall, which never sees it (cli/src/cluster/node.ts);
|
|
298
|
+
* the machine itself is admitted to its own pods all the same. It takes its health's port
|
|
299
|
+
* from the collector's scraper; it reaches the cluster's DNS and the log's brokers alone,
|
|
300
|
+
* so nothing it is sent can make it reach anything else.
|
|
301
|
+
*/
|
|
302
|
+
function webhookPolicy(config) {
|
|
303
|
+
const sources = config.webhook.exposure === "hostAddress" ? config.webhook.sources : ["0.0.0.0/0"];
|
|
304
|
+
return policy(WEBHOOK, NAMESPACE, WEBHOOK_COMPONENT, {
|
|
305
|
+
podSelector: { matchLabels: selectorLabels(WEBHOOK_COMPONENT) },
|
|
306
|
+
policyTypes: ["Ingress", "Egress"],
|
|
307
|
+
ingress: [
|
|
308
|
+
{ from: sources.map((cidr) => ({ ipBlock: { cidr } })), ports: [{ protocol: "TCP", port: config.webhook.port }] },
|
|
309
|
+
{ from: [{ podSelector: { matchLabels: selectorLabels(SCRAPER_COMPONENT) } }], ports: [{ protocol: "TCP", port: WEBHOOK_HEALTH_PORT }] },
|
|
310
|
+
],
|
|
311
|
+
egress: [
|
|
312
|
+
{
|
|
313
|
+
to: [{ namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": "kube-system" } }, podSelector: { matchLabels: { "k8s-app": "kube-dns" } } }],
|
|
314
|
+
ports: [{ protocol: "UDP", port: 53 }, { protocol: "TCP", port: 53 }],
|
|
315
|
+
},
|
|
316
|
+
{ to: [{ podSelector: { matchLabels: selectorLabels(LOG_COMPONENT) } }], ports: [{ protocol: "TCP", port: LOG_PORT }] },
|
|
317
|
+
],
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* The telemetry collector's gateway takes OTLP from alasio, the node agents and folder
|
|
322
|
+
* workspaces' bayma, beside the stack's own pods (neonPolicies), its scraper among them,
|
|
323
|
+
* and from branch environments' alasio, compute and lake, and from nothing else: sessions'
|
|
324
|
+
* telemetry reaches it through their alasio's receiver alone.
|
|
239
325
|
*/
|
|
240
326
|
function collectorPolicy(config) {
|
|
241
327
|
const { host } = config;
|
|
242
|
-
return policy(componentName("collector"), NAMESPACE,
|
|
243
|
-
podSelector: { matchLabels: selectorLabels(
|
|
328
|
+
return policy(componentName("collector"), NAMESPACE, GATEWAY_COMPONENT, {
|
|
329
|
+
podSelector: { matchLabels: selectorLabels(GATEWAY_COMPONENT) },
|
|
244
330
|
policyTypes: ["Ingress"],
|
|
245
331
|
ingress: [{
|
|
246
332
|
from: [
|
|
@@ -279,15 +365,23 @@ function grafanaPolicies({ sessions, grafana: { scaling } }) {
|
|
|
279
365
|
...(gossip.length > 0 ? [{ to: [grafana], ports: gossip }] : []),
|
|
280
366
|
CLUSTER_DNS,
|
|
281
367
|
{ to: [{ podSelector: { matchLabels: selectorLabels("neon-proxy") } }], ports: [{ protocol: "TCP", port: PROXY_PORT }] },
|
|
282
|
-
{ to: [{ podSelector: { matchLabels: selectorLabels(
|
|
368
|
+
{ to: [{ podSelector: { matchLabels: selectorLabels(QUERY_COMPONENT) } }], ports: [{ protocol: "TCP", port: LAKE_QUERY_PORT }] },
|
|
283
369
|
// The addresses sessions with internet may not reach, the cluster's and its network's, are Grafana's too.
|
|
284
370
|
{ to: [{ ipBlock: { cidr: "0.0.0.0/0", except: [...sessions.blockedCidrs] } }], ports: [{ protocol: "TCP", port: 443 }] },
|
|
285
371
|
],
|
|
286
372
|
}),
|
|
287
373
|
admitted("neon-proxy", PROXY_PORT),
|
|
288
|
-
admitted(
|
|
374
|
+
admitted(QUERY_COMPONENT, LAKE_QUERY_PORT),
|
|
289
375
|
];
|
|
290
376
|
}
|
|
377
|
+
/** The lake's readers take KEDA's operator on their query port, which asks any of them how many queries the pool has not answered (their /pool). */
|
|
378
|
+
function lakeQueryPolicy(config) {
|
|
379
|
+
return policy(componentName(`${QUERY_COMPONENT}-from-autoscaler`), NAMESPACE, QUERY_COMPONENT, {
|
|
380
|
+
podSelector: { matchLabels: selectorLabels(QUERY_COMPONENT) },
|
|
381
|
+
policyTypes: ["Ingress"],
|
|
382
|
+
ingress: [{ from: [kedaOperator(config)], ports: [{ protocol: "TCP", port: LAKE_QUERY_PORT }] }],
|
|
383
|
+
});
|
|
384
|
+
}
|
|
291
385
|
/**
|
|
292
386
|
* The node agents take alasio's calls, on their API's port, and nothing else; they reach
|
|
293
387
|
* the cluster's DNS, the object store's S3 port, the bundled one's or the operator's at
|
|
@@ -368,9 +462,12 @@ export function networkPolicyObjects(config, environment = MAIN_ENVIRONMENT) {
|
|
|
368
462
|
: []),
|
|
369
463
|
alasioPolicy(config, environment),
|
|
370
464
|
...(config.neon.enabled ? [...neonPolicies(environment), proxyPolicy(), branchStoragePolicy(config)] : []),
|
|
371
|
-
...(config.
|
|
465
|
+
...(config.objectStore.bundled.enabled ? [gatewayPolicy(), ...partPolicies(), ...filerStorePolicies()] : []),
|
|
466
|
+
logPolicy(config),
|
|
467
|
+
webhookPolicy(config),
|
|
372
468
|
...(collectorRuns(config) ? [collectorPolicy(config)] : []),
|
|
373
469
|
...(grafanaRuns(config) ? grafanaPolicies(config) : []),
|
|
470
|
+
...(lakeRuns(config) ? [lakeQueryPolicy(config)] : []),
|
|
374
471
|
...(config.workspaceStorage.enabled ? workspaceStoragePolicies(config) : []),
|
|
375
472
|
...(nodeAgentRuns(config) ? nodeAgentPolicies(config) : []),
|
|
376
473
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-policies.js","sourceRoot":"","sources":["../../../../src/manifests/network-policies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network-policies.js","sourceRoot":"","sources":["../../../../src/manifests/network-policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { CONTAINERD, CPU_FEATURES_CONTAINER, GVISOR_RELEASES, NODE_AGENT_PORT, NODE_AGENT_TOKEN_VARIABLE,
|
|
2
|
-
import {
|
|
1
|
+
import { BACKGROUND_READ_SECONDS_VARIABLE, backgroundReadSeconds, CONTAINERD, CPU_FEATURES_CONTAINER, GVISOR_RELEASES, NODE_AGENT_PORT, NODE_AGENT_TOKEN_VARIABLE, nodeAgentStopSeconds, POD_IP_VARIABLE, RESTORES_FROM_BUCKET_SINCE_VARIABLE, SNAPSHOT_CACHE_BYTES_VARIABLE, SNAPSHOT_CACHE_DIR, } from "../../../src/node-agent/names.js";
|
|
2
|
+
import { memoryBytes } from "../capacity.js";
|
|
3
|
+
import { currentGvisorRelease, NODE_PINS } from "../cluster/node.js";
|
|
3
4
|
import { imageReference } from "../images.js";
|
|
4
5
|
import { componentName, given, imagePullSecrets, labels, NAMESPACE, nodeAgentRuns, otelEnv, selectorLabels } from "./common.js";
|
|
5
6
|
import { priority } from "./priorities.js";
|
|
@@ -27,6 +28,8 @@ function sizeBytes(size) {
|
|
|
27
28
|
/** The node agents' DaemonSet. */
|
|
28
29
|
function daemonSet(config) {
|
|
29
30
|
const { sessions } = config;
|
|
31
|
+
// The largest sandbox of the node's: a session's, at its memory limit.
|
|
32
|
+
const sandboxBytes = memoryBytes(sessions.resources.limits["memory"] ?? "0");
|
|
30
33
|
const volumes = HOST_PATHS.map(({ name, path, type }) => ({ name, hostPath: { path, type } }));
|
|
31
34
|
const volumeMounts = HOST_PATHS.map(({ name, path, readOnly }) => ({
|
|
32
35
|
name,
|
|
@@ -49,9 +52,11 @@ function daemonSet(config) {
|
|
|
49
52
|
spec: {
|
|
50
53
|
// A restore waits on it, as a turn does.
|
|
51
54
|
...priority("floor"),
|
|
52
|
-
// Stopped, it lets the
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
+
// Stopped, it lets the restores that read the bucket through it read all they need
|
|
56
|
+
// (src/node-agent/store-proxy.ts), then the checkpoints and prepares it runs end,
|
|
57
|
+
// rather than leave a resumed sandbox without the rest of its pages, end one
|
|
58
|
+
// unsaved, or leave its cache half written (src/node-agent/operations.ts).
|
|
59
|
+
terminationGracePeriodSeconds: nodeAgentStopSeconds(sandboxBytes),
|
|
55
60
|
hostPID: true,
|
|
56
61
|
// It speaks to nothing of the cluster's but alasio, which calls it.
|
|
57
62
|
automountServiceAccountToken: false,
|
|
@@ -77,8 +82,12 @@ function daemonSet(config) {
|
|
|
77
82
|
command: ["node", "/opt/alasio/src/node-agent/main.ts"],
|
|
78
83
|
env: [
|
|
79
84
|
{ name: "NODE_NAME", valueFrom: { fieldRef: { fieldPath: "spec.nodeName" } } },
|
|
85
|
+
// Its pod's address, which it serves the bucket to its node's restores on (src/node-agent/store-proxy.ts).
|
|
86
|
+
{ name: POD_IP_VARIABLE, valueFrom: { fieldRef: { fieldPath: "status.podIP" } } },
|
|
80
87
|
{ name: NODE_AGENT_TOKEN_VARIABLE, valueFrom: { secretKeyRef: { name: NODE_AGENT_SECRET, key: "token" } } },
|
|
81
88
|
{ name: SNAPSHOT_CACHE_BYTES_VARIABLE, value: String(sizeBytes(sessions.snapshots.nodeCache)) },
|
|
89
|
+
{ name: RESTORES_FROM_BUCKET_SINCE_VARIABLE, value: NODE_PINS.gvisor.restoresFromBucketSince },
|
|
90
|
+
{ name: BACKGROUND_READ_SECONDS_VARIABLE, value: String(backgroundReadSeconds(sandboxBytes)) },
|
|
82
91
|
...(otelEnv(config).length > 0 ? [{ name: "OTEL_SERVICE_NAME", value: "alasio-node-agent" }, ...otelEnv(config)] : []),
|
|
83
92
|
],
|
|
84
93
|
envFrom: [{ secretRef: { name: SNAPSHOTS_SECRET } }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-agent.js","sourceRoot":"","sources":["../../../../src/manifests/node-agent.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"node-agent.js","sourceRoot":"","sources":["../../../../src/manifests/node-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalers.js","sourceRoot":"","sources":["../../../../src/manifests/scalers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"scalers.js","sourceRoot":"","sources":["../../../../src/manifests/scalers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA+BrC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAE/I,wGAAwG;AACxG,MAAM,UAAU,YAAY,CAAC,QAAsC,EAAE,KAAY,EAAE,QAA4B;IAC7G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC3E,OAAO,CAAC;YACN,UAAU,EAAE,kBAAkB;YAC9B,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE;YACrC,IAAI,EAAE;gBACJ,cAAc,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC9E,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,eAAe,EAAE,KAAK,CAAC,GAAG;gBAC1B,QAAQ;aACT;SACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { imageReference } from "../images.js";
|
|
2
|
+
import { LOG_BROKERS, logPrincipalSecret } from "./log.js";
|
|
3
|
+
import { componentName, imagePullSecrets, labels, NAMESPACE, replicasOf, restrictedContainer, restrictedPod, selectorLabels } from "./common.js";
|
|
4
|
+
import { priority } from "./priorities.js";
|
|
5
|
+
import { verticalPodAutoscaler } from "./sizing.js";
|
|
6
|
+
/** Its name, its pods' component, and its Service's. */
|
|
7
|
+
export const WEBHOOK = componentName("webhook");
|
|
8
|
+
export const WEBHOOK_COMPONENT = "webhook";
|
|
9
|
+
/** The Secret of its routes, which alasio's command line writes, a key an environment. */
|
|
10
|
+
export const ROUTES_SECRET = componentName("webhook-routes");
|
|
11
|
+
/** The Secret of its certificate and key, which the stack's setup writes. */
|
|
12
|
+
export const TLS_SECRET = componentName("webhook-tls");
|
|
13
|
+
/** The port its health, its environments and its metrics are served on, inside the cluster. */
|
|
14
|
+
export const WEBHOOK_HEALTH_PORT = 8080;
|
|
15
|
+
/** The intake's user, distroless's nonroot. */
|
|
16
|
+
const NONROOT = 65532;
|
|
17
|
+
/** The intake's objects. */
|
|
18
|
+
export function webhookObjects(config) {
|
|
19
|
+
const { webhook } = config;
|
|
20
|
+
const metadata = { name: WEBHOOK, namespace: NAMESPACE, labels: labels(WEBHOOK_COMPONENT) };
|
|
21
|
+
const https = {
|
|
22
|
+
name: "https",
|
|
23
|
+
containerPort: webhook.port,
|
|
24
|
+
...(webhook.exposure === "hostAddress" ? { hostPort: webhook.port, hostIP: webhook.publicAddress } : {}),
|
|
25
|
+
...(webhook.exposure === "node" ? { hostPort: webhook.port } : {}),
|
|
26
|
+
};
|
|
27
|
+
const deployment = {
|
|
28
|
+
apiVersion: "apps/v1",
|
|
29
|
+
kind: "Deployment",
|
|
30
|
+
metadata,
|
|
31
|
+
spec: {
|
|
32
|
+
...replicasOf(webhook.scaling),
|
|
33
|
+
// A host port is held by one pod at a time: the old one goes before the new one starts.
|
|
34
|
+
...(webhook.exposure === "loadBalancer" ? {} : { strategy: { type: "Recreate" } }),
|
|
35
|
+
selector: { matchLabels: selectorLabels(WEBHOOK_COMPONENT) },
|
|
36
|
+
template: {
|
|
37
|
+
metadata: { labels: labels(WEBHOOK_COMPONENT) },
|
|
38
|
+
spec: {
|
|
39
|
+
...priority("floor"),
|
|
40
|
+
automountServiceAccountToken: false,
|
|
41
|
+
...imagePullSecrets(config),
|
|
42
|
+
securityContext: {
|
|
43
|
+
...restrictedPod(NONROOT, NONROOT),
|
|
44
|
+
// Its own port, which may be under 1024, bound as its user.
|
|
45
|
+
sysctls: [{ name: "net.ipv4.ip_unprivileged_port_start", value: "0" }],
|
|
46
|
+
},
|
|
47
|
+
...(Object.keys(config.neon.nodeSelector).length > 0 ? { nodeSelector: { ...config.neon.nodeSelector } } : {}),
|
|
48
|
+
...(config.neon.tolerations.length > 0 ? { tolerations: [...config.neon.tolerations] } : {}),
|
|
49
|
+
terminationGracePeriodSeconds: 30,
|
|
50
|
+
containers: [{
|
|
51
|
+
name: "webhook",
|
|
52
|
+
image: imageReference(config.images.webhook),
|
|
53
|
+
imagePullPolicy: config.images.pullPolicy,
|
|
54
|
+
env: [
|
|
55
|
+
{ name: "WEBHOOK_PORT", value: String(webhook.port) },
|
|
56
|
+
{ name: "HEALTH_PORT", value: String(WEBHOOK_HEALTH_PORT) },
|
|
57
|
+
{ name: "WEBHOOK_TLS", value: "/etc/webhook/tls" },
|
|
58
|
+
{ name: "WEBHOOK_ROUTES", value: "/etc/webhook/routes" },
|
|
59
|
+
{ name: "LOG_BROKERS", value: LOG_BROKERS },
|
|
60
|
+
{ name: "LOG_USERNAME", valueFrom: { secretKeyRef: { name: logPrincipalSecret("webhook"), key: "username" } } },
|
|
61
|
+
{ name: "LOG_PASSWORD", valueFrom: { secretKeyRef: { name: logPrincipalSecret("webhook"), key: "password" } } },
|
|
62
|
+
],
|
|
63
|
+
ports: [https, { name: "health", containerPort: WEBHOOK_HEALTH_PORT }],
|
|
64
|
+
readinessProbe: { httpGet: { path: "/readyz", port: "health" }, periodSeconds: 5 },
|
|
65
|
+
livenessProbe: { httpGet: { path: "/healthz", port: "health" }, periodSeconds: 20, failureThreshold: 3 },
|
|
66
|
+
securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true },
|
|
67
|
+
resources: webhook.resources,
|
|
68
|
+
volumeMounts: [{ name: "tls", mountPath: "/etc/webhook/tls", readOnly: true }, { name: "routes", mountPath: "/etc/webhook/routes", readOnly: true }],
|
|
69
|
+
}],
|
|
70
|
+
volumes: [
|
|
71
|
+
{ name: "tls", secret: { secretName: TLS_SECRET } },
|
|
72
|
+
// None until alasio's command line registers a bot: the intake serves no route until then.
|
|
73
|
+
{ name: "routes", secret: { secretName: ROUTES_SECRET, optional: true } },
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
const service = {
|
|
80
|
+
apiVersion: "v1",
|
|
81
|
+
kind: "Service",
|
|
82
|
+
metadata,
|
|
83
|
+
spec: { selector: selectorLabels(WEBHOOK_COMPONENT), ports: [{ name: "health", port: WEBHOOK_HEALTH_PORT, targetPort: "health" }] },
|
|
84
|
+
};
|
|
85
|
+
const exposed = webhook.exposure === "loadBalancer"
|
|
86
|
+
? [{
|
|
87
|
+
apiVersion: "v1",
|
|
88
|
+
kind: "Service",
|
|
89
|
+
metadata: { ...metadata, name: componentName("webhook-public") },
|
|
90
|
+
spec: {
|
|
91
|
+
type: "LoadBalancer",
|
|
92
|
+
selector: selectorLabels(WEBHOOK_COMPONENT),
|
|
93
|
+
ports: [{ name: "https", port: webhook.port, targetPort: "https" }],
|
|
94
|
+
loadBalancerSourceRanges: [...webhook.sources],
|
|
95
|
+
// The source addresses kept to the pod, so the ranges hold at the node too.
|
|
96
|
+
externalTrafficPolicy: "Local",
|
|
97
|
+
},
|
|
98
|
+
}]
|
|
99
|
+
: [];
|
|
100
|
+
return [service, ...exposed, deployment, verticalPodAutoscaler(deployment, "InPlace")];
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/manifests/webhook.ts"],"names":[],"mappings":"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"}
|