alasio 6.0.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.
Files changed (81) hide show
  1. package/dist/cli/src/branches.js +47 -8
  2. package/dist/cli/src/branches.js.map +1 -1
  3. package/dist/cli/src/cluster/docker-engine.js +6 -4
  4. package/dist/cli/src/cluster/docker-engine.js.map +1 -1
  5. package/dist/cli/src/cluster/docker.js +49 -10
  6. package/dist/cli/src/cluster/docker.js.map +1 -1
  7. package/dist/cli/src/cluster/host.js +45 -19
  8. package/dist/cli/src/cluster/host.js.map +1 -1
  9. package/dist/cli/src/cluster/k3s.js +97 -5
  10. package/dist/cli/src/cluster/k3s.js.map +1 -1
  11. package/dist/cli/src/cluster/node.js +94 -50
  12. package/dist/cli/src/cluster/node.js.map +1 -1
  13. package/dist/cli/src/cluster/tar.js +43 -1
  14. package/dist/cli/src/cluster/tar.js.map +1 -1
  15. package/dist/cli/src/commands/branch.js +7 -3
  16. package/dist/cli/src/commands/branch.js.map +1 -1
  17. package/dist/cli/src/commands/restore-filer-store.js +16 -5
  18. package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
  19. package/dist/cli/src/commands/status.js +34 -6
  20. package/dist/cli/src/commands/status.js.map +1 -1
  21. package/dist/cli/src/commands/up.js +40 -3
  22. package/dist/cli/src/commands/up.js.map +1 -1
  23. package/dist/cli/src/commands/upgrade.js +22 -6
  24. package/dist/cli/src/commands/upgrade.js.map +1 -1
  25. package/dist/cli/src/cpu-baseline.js +97 -0
  26. package/dist/cli/src/cpu-baseline.js.map +1 -0
  27. package/dist/cli/src/install.js +36 -9
  28. package/dist/cli/src/install.js.map +1 -1
  29. package/dist/cli/src/kept-releases.js +59 -0
  30. package/dist/cli/src/kept-releases.js.map +1 -0
  31. package/dist/cli/src/kube/api.js +2 -2
  32. package/dist/cli/src/kube/api.js.map +1 -1
  33. package/dist/cli/src/kube/rollout.js +21 -0
  34. package/dist/cli/src/kube/rollout.js.map +1 -1
  35. package/dist/cli/src/manifests/admission.js +140 -20
  36. package/dist/cli/src/manifests/admission.js.map +1 -1
  37. package/dist/cli/src/manifests/alasio.js +138 -20
  38. package/dist/cli/src/manifests/alasio.js.map +1 -1
  39. package/dist/cli/src/manifests/branch.js +2 -1
  40. package/dist/cli/src/manifests/branch.js.map +1 -1
  41. package/dist/cli/src/manifests/collector.js +18 -10
  42. package/dist/cli/src/manifests/collector.js.map +1 -1
  43. package/dist/cli/src/manifests/common.js +23 -8
  44. package/dist/cli/src/manifests/common.js.map +1 -1
  45. package/dist/cli/src/manifests/config.js +58 -6
  46. package/dist/cli/src/manifests/config.js.map +1 -1
  47. package/dist/cli/src/manifests/grafana.js +18 -6
  48. package/dist/cli/src/manifests/grafana.js.map +1 -1
  49. package/dist/cli/src/manifests/index.js +10 -5
  50. package/dist/cli/src/manifests/index.js.map +1 -1
  51. package/dist/cli/src/manifests/lake.js +6 -2
  52. package/dist/cli/src/manifests/lake.js.map +1 -1
  53. package/dist/cli/src/manifests/neon.js +172 -35
  54. package/dist/cli/src/manifests/neon.js.map +1 -1
  55. package/dist/cli/src/manifests/network-policies.js +96 -27
  56. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  57. package/dist/cli/src/manifests/node-agent.js +107 -0
  58. package/dist/cli/src/manifests/node-agent.js.map +1 -0
  59. package/dist/cli/src/manifests/object-store.js +42 -10
  60. package/dist/cli/src/manifests/object-store.js.map +1 -1
  61. package/dist/cli/src/manifests/priorities.js +1 -0
  62. package/dist/cli/src/manifests/priorities.js.map +1 -1
  63. package/dist/cli/src/manifests/valkey.js +1 -1
  64. package/dist/cli/src/release.js +6 -6
  65. package/dist/cluster/node/pins.json +6 -2
  66. package/dist/neon/control/branches.js +31 -12
  67. package/dist/neon/control/branches.js.map +1 -1
  68. package/dist/neon/control/endpoints.js +108 -0
  69. package/dist/neon/control/endpoints.js.map +1 -0
  70. package/dist/neon/control/scram.js +13 -1
  71. package/dist/neon/control/scram.js.map +1 -1
  72. package/dist/neon/control/secrets.js +49 -8
  73. package/dist/neon/control/secrets.js.map +1 -1
  74. package/dist/src/kube/config.js +25 -3
  75. package/dist/src/kube/config.js.map +1 -1
  76. package/dist/src/kube/sandbox-shape.js +39 -3
  77. package/dist/src/kube/sandbox-shape.js.map +1 -1
  78. package/dist/src/node-agent/names.js +74 -0
  79. package/dist/src/node-agent/names.js.map +1 -0
  80. package/package.json +2 -2
  81. package/dist/cluster/node/config-v3.toml.tmpl +0 -12
@@ -1,6 +1,9 @@
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, ONE, otelEnv, RELEASE, replicasOf, 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";
4
7
  import { replicaBudget, spread } from "./disruption.js";
5
8
  import { VOLUME_DRIVER } from "./juicefs-csi.js";
6
9
  import { priority } from "./priorities.js";
@@ -21,7 +24,8 @@ function secretVariable(secret, key) {
21
24
  }
22
25
  /**
23
26
  * The stack's secrets, made once and kept, and each service's rendered from them, workspace
24
- * storage's among them when it is on, by neon/control/kube-setup.ts: a Job, which applying alasio runs to completion before
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
25
29
  * anything else of alasio starts (../kube/apply.ts).
26
30
  */
27
31
  function setup(config) {
@@ -67,12 +71,13 @@ function setup(config) {
67
71
  { name: "NEON_BROKER_URL", value: `http://${neonName("storage-broker")}:50051` },
68
72
  { name: "NEON_CONTROLLER_URL", value: `http://${neonName("storage-controller")}:1234` },
69
73
  { name: "NEON_PAGESERVER_HOST", value: neonName("pageserver") },
70
- { name: "NEON_COMPUTE_HOST", value: neonName("compute") },
74
+ { name: "NEON_PROXY_HOST", value: PROXY_HOST },
71
75
  { name: "NEON_CONTROLLER_DB_HOST", value: neonName("controller-db") },
72
76
  { name: "S3_ENDPOINT", value: s3Endpoint(config) },
73
77
  { name: "S3_REGION", value: objectStore.external.region },
74
78
  { name: "S3_BUCKET_NEON", value: objectStore.buckets.neon },
75
79
  { name: "S3_BUCKET_LAKE", value: objectStore.buckets.lake },
80
+ { name: "S3_BUCKET_BACKUPS", value: objectStore.buckets.backups },
76
81
  ...(workspaceStorage.enabled
77
82
  ? [
78
83
  { name: "WORKSPACES_NAME", value: workspaceStorage.name },
@@ -83,10 +88,17 @@ function setup(config) {
83
88
  { name: "WORKSPACES_SECRET_LABELS", value: JSON.stringify(VOLUME_DRIVER) },
84
89
  ]
85
90
  : []),
91
+ ...(sandboxSnapshots(config) ? [{ name: "SNAPSHOTS_BUCKET", value: objectStore.buckets.snapshots }] : []),
86
92
  ...(objectStore.bundled.enabled ? [] : [
87
93
  { name: "S3_EXTERNAL", value: "1" },
88
94
  { name: "S3_ACCESS_KEY", valueFrom: { secretKeyRef: { name: objectStore.external.existingSecret, key: "accessKey" } } },
89
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
+ : []),
90
102
  ]),
91
103
  ],
92
104
  securityContext: restrictedContainer(),
@@ -113,7 +125,7 @@ function controllerDb(config) {
113
125
  template: {
114
126
  metadata: { labels: stackLabels(component) },
115
127
  spec: {
116
- ...priority("floor"),
128
+ ...priority("bound"),
117
129
  ...stackPodSpec(config),
118
130
  containers: [{
119
131
  name: "postgres",
@@ -253,7 +265,7 @@ function safekeepers(config) {
253
265
  template: {
254
266
  metadata: { labels: stackLabels(component) },
255
267
  spec: {
256
- ...priority("floor"),
268
+ ...priority("bound"),
257
269
  ...stackPodSpec(config),
258
270
  terminationGracePeriodSeconds: 30,
259
271
  ...given("initContainers", waitForObjectStore(config)),
@@ -334,7 +346,7 @@ function pageserver(config) {
334
346
  template: {
335
347
  metadata: { labels: stackLabels(component) },
336
348
  spec: {
337
- ...priority("floor"),
349
+ ...priority("bound"),
338
350
  ...stackPodSpec(config),
339
351
  terminationGracePeriodSeconds: 30,
340
352
  initContainers: [
@@ -377,36 +389,67 @@ function pageserver(config) {
377
389
  };
378
390
  return [service(name, component, [{ name: "pg", port: 6400 }, { name: "http", port: 9898 }]), statefulSet, verticalPodAutoscaler(statefulSet, "Recommended")];
379
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];
424
+ }
380
425
  /**
381
426
  * neon-control: it bootstraps the tenant and main's timeline, makes and deletes branches,
382
- * serves each branch's compute its spec, answers the storage controller's hooks, and
383
- * repairs a safekeeper that lost its disk. Its record of the branches is on a volume of
384
- * its own.
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.
385
431
  */
386
432
  function control(config) {
387
433
  const name = neonName("control");
388
434
  const component = "neon-control";
435
+ const { scaling, resources } = config.neon.control;
389
436
  const safekeeper = neonName("safekeeper");
390
437
  const safekeeperHosts = Array.from({ length: config.neon.safekeepers.scaling.min }, (_, index) => `${safekeeper}-${index}.${safekeeper}.${NAMESPACE}.svc.cluster.local`);
391
- const claim = {
392
- apiVersion: "v1",
393
- kind: "PersistentVolumeClaim",
394
- metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
395
- spec: claimSpec(config.neon.control.storage),
396
- };
438
+ const serviceAccount = { apiVersion: "v1", kind: "ServiceAccount", metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) } };
397
439
  const deployment = {
398
440
  apiVersion: "apps/v1",
399
441
  kind: "Deployment",
400
442
  metadata: { name, namespace: NAMESPACE, labels: stackLabels(component) },
401
443
  spec: {
402
- ...replicasOf(ONE),
403
- strategy: { type: "Recreate" },
444
+ ...replicasOf(scaling),
404
445
  selector: { matchLabels: selectorLabels(component) },
405
446
  template: {
406
447
  metadata: { labels: stackLabels(component) },
407
448
  spec: {
449
+ serviceAccountName: name,
408
450
  ...priority("floor"),
409
451
  ...stackPodSpec(config),
452
+ ...spread(component, scaling),
410
453
  containers: [{
411
454
  name: "neon-control",
412
455
  image: imageReference(config.images.alasio),
@@ -417,19 +460,20 @@ function control(config) {
417
460
  { name: "NEON_SAFEKEEPER_HOSTS", value: safekeeperHosts.join(",") },
418
461
  // As every compute reaches it, a branch environment's in its own namespace too.
419
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") },
420
466
  ],
421
467
  ports: [{ name: "http", containerPort: 8080 }],
422
468
  readinessProbe: { httpGet: { path: "/healthz", port: "http" }, periodSeconds: 3 },
423
469
  securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true },
424
- resources: config.neon.control.resources,
470
+ resources,
425
471
  volumeMounts: [
426
- { name: "state", mountPath: "/state" },
427
472
  { name: "root", mountPath: "/secrets", readOnly: true },
428
473
  { name: "keys", mountPath: "/keys", readOnly: true },
429
474
  ],
430
475
  }],
431
476
  volumes: [
432
- { name: "state", persistentVolumeClaim: { claimName: name } },
433
477
  {
434
478
  name: "root",
435
479
  secret: {
@@ -444,7 +488,75 @@ function control(config) {
444
488
  },
445
489
  },
446
490
  };
447
- return [service(name, component, [{ name: "http", port: 8080 }]), claim, deployment, verticalPodAutoscaler(deployment, "Recommended")];
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
+ ];
448
560
  }
449
561
  /**
450
562
  * The compute: Postgres on alasio's timeline, one primary (never two on one timeline),
@@ -453,23 +565,34 @@ function control(config) {
453
565
  * scrapes, and exports compute_ctl's traces to the collector, when it runs. A branch
454
566
  * environment's is on the branch's timeline, in its namespace, reaching the stack's
455
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.
456
573
  */
457
574
  export function compute(config, environment = MAIN_ENVIRONMENT) {
458
575
  const name = neonName("compute");
459
576
  const component = "neon-compute";
460
577
  const control = `http://${neonName("control")}.${NAMESPACE}.svc:8080`;
578
+ const { suspendAfter, resources } = config.neon.compute;
461
579
  const deployment = {
462
580
  apiVersion: "apps/v1",
463
581
  kind: "Deployment",
464
- metadata: { name, namespace: environment.namespace, labels: stackLabels(component) },
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
+ },
465
589
  spec: {
466
- ...replicasOf(ONE),
467
590
  strategy: { type: "Recreate" },
468
591
  selector: { matchLabels: selectorLabels(component) },
469
592
  template: {
470
593
  metadata: { labels: stackLabels(component) },
471
594
  spec: {
472
- // Main's is alasio's database, which every turn needs; a branch's sleeps.
595
+ // Main's is alasio's database, which every turn needs; a branch's, a branch environment's.
473
596
  ...priority(environment.branch === null ? "floor" : "component"),
474
597
  ...imagePullSecrets(config),
475
598
  // The compute image runs as its own postgres user.
@@ -486,7 +609,7 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
486
609
  "--pgdata",
487
610
  "/var/db/postgres/compute",
488
611
  "--connstr",
489
- "postgresql://cloud_admin@localhost:55433/postgres",
612
+ `postgresql://cloud_admin@localhost:${COMPUTE_PORT}/postgres`,
490
613
  "--pgbin",
491
614
  "/usr/local/bin/postgres",
492
615
  "--compute-id",
@@ -500,10 +623,10 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
500
623
  ? [{ name: "OTEL_SERVICE_NAME", value: "compute_ctl" }, ...otelEnv(config, environment)]
501
624
  : [{ name: "OTEL_SDK_DISABLED", value: "true" }]),
502
625
  ],
503
- ports: [{ name: "postgres", containerPort: 55433 }, { name: "http", containerPort: 3080 }],
504
- readinessProbe: { exec: { command: ["pg_isready", "-h", "127.0.0.1", "-p", "55433", "-U", "cloud_admin", "-d", "postgres"] }, periodSeconds: 5 },
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 },
505
628
  securityContext: restrictedContainer(),
506
- resources: config.neon.compute.resources,
629
+ resources,
507
630
  volumeMounts: [{ name: "pgdata", mountPath: "/var/db/postgres" }],
508
631
  }],
509
632
  volumes: [{ name: "pgdata", emptyDir: {} }],
@@ -511,7 +634,13 @@ export function compute(config, environment = MAIN_ENVIRONMENT) {
511
634
  },
512
635
  },
513
636
  };
514
- return [service(name, component, [{ name: "postgres", port: 55433 }, { name: "http", port: 3080 }], environment), deployment, verticalPodAutoscaler(deployment, "Recommended")];
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")];
515
644
  }
516
645
  /**
517
646
  * A logical dump of alasio's database, restorable into any Postgres whatever becomes of
@@ -529,12 +658,18 @@ function backup(config) {
529
658
  command: [
530
659
  "/bin/sh",
531
660
  "-c",
532
- // A new pod's NetworkPolicy may apply a moment after it starts, so the compute is
661
+ // A new pod's NetworkPolicy may apply a moment after it starts, so the proxy is
533
662
  // waited for rather than given up on at the first refusal.
534
- 'until pg_isready --quiet --host="$0" --port=55433; do sleep 2; done && pg_dump --host="$0" --port=55433 --username=alasio --dbname=alasio --format=custom --file=/backup/alasio.dump',
535
- neonName("compute"),
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" } } },
536
672
  ],
537
- env: [{ name: "PGPASSWORD", valueFrom: { secretKeyRef: { name: databaseSecret(config), key: "password" } } }],
538
673
  securityContext: restrictedContainer(),
539
674
  resources: { requests: { cpu: "100m", memory: "128Mi" }, limits: { memory: "1Gi" } },
540
675
  volumeMounts: [{ name: "backup", mountPath: "/backup" }],
@@ -568,7 +703,8 @@ function backup(config) {
568
703
  { name: "AWS_DEFAULT_REGION", value: objectStore.external.region },
569
704
  { name: "HOME", value: "/tmp" },
570
705
  ],
571
- envFrom: [{ secretRef: { name: neonName("s3-admin") } }],
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") } }],
572
708
  securityContext: restrictedContainer(),
573
709
  resources: { requests: { cpu: "50m", memory: "128Mi" }, limits: { memory: "512Mi" } },
574
710
  volumeMounts: [{ name: "backup", mountPath: "/backup" }, { name: "tmp", mountPath: "/tmp" }],
@@ -615,6 +751,7 @@ export function neonObjects(config) {
615
751
  ...safekeepers(config),
616
752
  ...pageserver(config),
617
753
  ...control(config),
754
+ ...proxy(config),
618
755
  ...compute(config),
619
756
  ...(neon.backup.enabled ? [backup(config)] : []),
620
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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"}