alasio 6.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/cli/src/branches.js +106 -31
  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 +104 -5
  10. package/dist/cli/src/cluster/k3s.js.map +1 -1
  11. package/dist/cli/src/cluster/node.js +102 -51
  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/init.js +54 -4
  18. package/dist/cli/src/commands/init.js.map +1 -1
  19. package/dist/cli/src/commands/lake.js +40 -6
  20. package/dist/cli/src/commands/lake.js.map +1 -1
  21. package/dist/cli/src/commands/restore-filer-store.js +56 -13
  22. package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
  23. package/dist/cli/src/commands/status.js +182 -10
  24. package/dist/cli/src/commands/status.js.map +1 -1
  25. package/dist/cli/src/commands/up.js +40 -3
  26. package/dist/cli/src/commands/up.js.map +1 -1
  27. package/dist/cli/src/commands/upgrade.js +22 -6
  28. package/dist/cli/src/commands/upgrade.js.map +1 -1
  29. package/dist/cli/src/config.js +20 -8
  30. package/dist/cli/src/config.js.map +1 -1
  31. package/dist/cli/src/cpu-baseline.js +97 -0
  32. package/dist/cli/src/cpu-baseline.js.map +1 -0
  33. package/dist/cli/src/install.js +94 -13
  34. package/dist/cli/src/install.js.map +1 -1
  35. package/dist/cli/src/kept-releases.js +59 -0
  36. package/dist/cli/src/kept-releases.js.map +1 -0
  37. package/dist/cli/src/kube/api.js +9 -2
  38. package/dist/cli/src/kube/api.js.map +1 -1
  39. package/dist/cli/src/kube/apply.js +1 -1
  40. package/dist/cli/src/kube/apply.js.map +1 -1
  41. package/dist/cli/src/kube/rollout.js +79 -12
  42. package/dist/cli/src/kube/rollout.js.map +1 -1
  43. package/dist/cli/src/lake.js +124 -0
  44. package/dist/cli/src/lake.js.map +1 -0
  45. package/dist/cli/src/manifests/admission.js +183 -24
  46. package/dist/cli/src/manifests/admission.js.map +1 -1
  47. package/dist/cli/src/manifests/alasio.js +198 -27
  48. package/dist/cli/src/manifests/alasio.js.map +1 -1
  49. package/dist/cli/src/manifests/branch.js +2 -1
  50. package/dist/cli/src/manifests/branch.js.map +1 -1
  51. package/dist/cli/src/manifests/collector.js +229 -122
  52. package/dist/cli/src/manifests/collector.js.map +1 -1
  53. package/dist/cli/src/manifests/common.js +23 -8
  54. package/dist/cli/src/manifests/common.js.map +1 -1
  55. package/dist/cli/src/manifests/config.js +254 -21
  56. package/dist/cli/src/manifests/config.js.map +1 -1
  57. package/dist/cli/src/manifests/grafana.js +18 -6
  58. package/dist/cli/src/manifests/grafana.js.map +1 -1
  59. package/dist/cli/src/manifests/index.js +15 -6
  60. package/dist/cli/src/manifests/index.js.map +1 -1
  61. package/dist/cli/src/manifests/juicefs-csi.js +7 -6
  62. package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
  63. package/dist/cli/src/manifests/keda.js +2 -1
  64. package/dist/cli/src/manifests/keda.js.map +1 -1
  65. package/dist/cli/src/manifests/lake.js +340 -73
  66. package/dist/cli/src/manifests/lake.js.map +1 -1
  67. package/dist/cli/src/manifests/log.js +298 -0
  68. package/dist/cli/src/manifests/log.js.map +1 -0
  69. package/dist/cli/src/manifests/neon.js +282 -66
  70. package/dist/cli/src/manifests/neon.js.map +1 -1
  71. package/dist/cli/src/manifests/network-policies.js +211 -45
  72. package/dist/cli/src/manifests/network-policies.js.map +1 -1
  73. package/dist/cli/src/manifests/node-agent.js +116 -0
  74. package/dist/cli/src/manifests/node-agent.js.map +1 -0
  75. package/dist/cli/src/manifests/object-store.js +42 -10
  76. package/dist/cli/src/manifests/object-store.js.map +1 -1
  77. package/dist/cli/src/manifests/priorities.js +1 -0
  78. package/dist/cli/src/manifests/priorities.js.map +1 -1
  79. package/dist/cli/src/manifests/scalers.js.map +1 -1
  80. package/dist/cli/src/manifests/valkey.js +1 -1
  81. package/dist/cli/src/manifests/webhook.js +102 -0
  82. package/dist/cli/src/manifests/webhook.js.map +1 -0
  83. package/dist/cli/src/neon-storage.js +115 -0
  84. package/dist/cli/src/neon-storage.js.map +1 -0
  85. package/dist/cli/src/release.js +9 -6
  86. package/dist/cli/src/release.js.map +1 -1
  87. package/dist/cli/src/secrets.js +45 -4
  88. package/dist/cli/src/secrets.js.map +1 -1
  89. package/dist/cli/src/target.js +1 -1
  90. package/dist/cli/src/target.js.map +1 -1
  91. package/dist/cli/src/telegram.js +56 -10
  92. package/dist/cli/src/telegram.js.map +1 -1
  93. package/dist/cli/src/webhook.js +182 -0
  94. package/dist/cli/src/webhook.js.map +1 -0
  95. package/dist/cluster/node/pins.json +11 -2
  96. package/dist/neon/control/branches.js +146 -22
  97. package/dist/neon/control/branches.js.map +1 -1
  98. package/dist/neon/control/endpoints.js +117 -0
  99. package/dist/neon/control/endpoints.js.map +1 -0
  100. package/dist/neon/control/jwt.js +16 -3
  101. package/dist/neon/control/jwt.js.map +1 -1
  102. package/dist/neon/control/scram.js +13 -1
  103. package/dist/neon/control/scram.js.map +1 -1
  104. package/dist/neon/control/secrets.js +88 -14
  105. package/dist/neon/control/secrets.js.map +1 -1
  106. package/dist/src/kube/config.js +27 -3
  107. package/dist/src/kube/config.js.map +1 -1
  108. package/dist/src/kube/sandbox-shape.js +49 -3
  109. package/dist/src/kube/sandbox-shape.js.map +1 -1
  110. package/dist/src/node-agent/names.js +140 -0
  111. package/dist/src/node-agent/names.js.map +1 -0
  112. package/dist/src/telegram/deliveries.js +40 -0
  113. package/dist/src/telegram/deliveries.js.map +1 -0
  114. package/package.json +2 -2
  115. package/dist/cluster/node/config-v3.toml.tmpl +0 -12
@@ -0,0 +1,116 @@
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";
4
+ import { imageReference } from "../images.js";
5
+ import { componentName, given, imagePullSecrets, labels, NAMESPACE, nodeAgentRuns, otelEnv, selectorLabels } from "./common.js";
6
+ import { priority } from "./priorities.js";
7
+ import { verticalPodAutoscaler } from "./sizing.js";
8
+ /** The Secret of the snapshots bucket, its endpoint, region and name and the agents' keys to it. */
9
+ const SNAPSHOTS_SECRET = componentName("snapshots");
10
+ /** The Secret of the token alasio presents to the node agents, under `token`. */
11
+ const NODE_AGENT_SECRET = componentName("node-agent");
12
+ /** The node's paths the agent has at the same paths: each one's volume, what must be there, and whether the agent only reads it. */
13
+ const HOST_PATHS = [
14
+ // The shims' runsc root (/run/containerd/runsc) and, where systemd runs the node, its bus.
15
+ { name: "run", path: "/run", type: "Directory" },
16
+ { name: "gvisor", path: GVISOR_RELEASES, type: "DirectoryOrCreate", readOnly: true },
17
+ { name: "containerd", path: CONTAINERD, type: "DirectoryOrCreate", readOnly: true },
18
+ { name: "snapshots", path: SNAPSHOT_CACHE_DIR, type: "DirectoryOrCreate" },
19
+ ];
20
+ /** What each suffix of a size multiplies it by, as Kubernetes counts a quantity. */
21
+ const SIZE_UNITS = { Ki: 2 ** 10, Mi: 2 ** 20, Gi: 2 ** 30, Ti: 2 ** 40, Pi: 2 ** 50, k: 1e3, M: 1e6, G: 1e9, T: 1e12, P: 1e15 };
22
+ /** The bytes of a size as the configuration takes one (5Gi, 1.5G, 500000). */
23
+ function sizeBytes(size) {
24
+ // A size, as the configuration checks it (config.ts Size).
25
+ const [, amount = "0", unit = ""] = /^([0-9.]+)([A-Za-z]*)$/u.exec(size) ?? [];
26
+ return Math.floor(Number(amount) * (SIZE_UNITS[unit] ?? 1));
27
+ }
28
+ /** The node agents' DaemonSet. */
29
+ function daemonSet(config) {
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");
33
+ const volumes = HOST_PATHS.map(({ name, path, type }) => ({ name, hostPath: { path, type } }));
34
+ const volumeMounts = HOST_PATHS.map(({ name, path, readOnly }) => ({
35
+ name,
36
+ mountPath: path,
37
+ ...(readOnly ? { readOnly } : {}),
38
+ // What is mounted under the node's /run after the agent starts is the agent's too.
39
+ ...(name === "run" ? { mountPropagation: "HostToContainer" } : {}),
40
+ }));
41
+ return {
42
+ apiVersion: "apps/v1",
43
+ kind: "DaemonSet",
44
+ metadata: { name: componentName("node-agent"), namespace: NAMESPACE, labels: labels("node-agent") },
45
+ spec: {
46
+ selector: { matchLabels: selectorLabels("node-agent") },
47
+ // A node's agent replaced once the old one is gone, as two would act on one cache, and
48
+ // one node's at a time, each as long as the old one's operations take to end (below).
49
+ updateStrategy: { type: "RollingUpdate", rollingUpdate: { maxUnavailable: 1, maxSurge: 0 } },
50
+ template: {
51
+ metadata: { labels: labels("node-agent") },
52
+ spec: {
53
+ // A restore waits on it, as a turn does.
54
+ ...priority("floor"),
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),
60
+ hostPID: true,
61
+ // It speaks to nothing of the cluster's but alasio, which calls it.
62
+ automountServiceAccountToken: false,
63
+ enableServiceLinks: false,
64
+ ...imagePullSecrets(config),
65
+ ...given("nodeSelector", { ...sessions.nodeSelector }),
66
+ ...given("tolerations", [...sessions.tolerations]),
67
+ // What the node's CPU has under the current release, said in the pod's status
68
+ // before the agent starts, for alasio up to hold sessions to (../cpu-baseline.ts).
69
+ initContainers: [{
70
+ name: CPU_FEATURES_CONTAINER,
71
+ image: imageReference(config.images.alasio),
72
+ imagePullPolicy: config.images.pullPolicy,
73
+ command: ["node", "/opt/alasio/src/node-agent/cpu-features.ts", currentGvisorRelease()],
74
+ securityContext: { privileged: true, runAsUser: 0 },
75
+ resources: sessions.snapshots.nodeAgent.resources,
76
+ volumeMounts: volumeMounts.filter(({ name }) => name !== "snapshots"),
77
+ }],
78
+ containers: [{
79
+ name: "node-agent",
80
+ image: imageReference(config.images.alasio),
81
+ imagePullPolicy: config.images.pullPolicy,
82
+ command: ["node", "/opt/alasio/src/node-agent/main.ts"],
83
+ env: [
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" } } },
87
+ { name: NODE_AGENT_TOKEN_VARIABLE, valueFrom: { secretKeyRef: { name: NODE_AGENT_SECRET, key: "token" } } },
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)) },
91
+ ...(otelEnv(config).length > 0 ? [{ name: "OTEL_SERVICE_NAME", value: "alasio-node-agent" }, ...otelEnv(config)] : []),
92
+ ],
93
+ envFrom: [{ secretRef: { name: SNAPSHOTS_SECRET } }],
94
+ ports: [{ name: "api", containerPort: NODE_AGENT_PORT }],
95
+ readinessProbe: { httpGet: { path: "/healthz", port: "api" }, periodSeconds: 10 },
96
+ securityContext: { privileged: true, runAsUser: 0 },
97
+ resources: sessions.snapshots.nodeAgent.resources,
98
+ volumeMounts,
99
+ }],
100
+ volumes,
101
+ },
102
+ },
103
+ },
104
+ };
105
+ }
106
+ /**
107
+ * The node agents, where they run, and their sizing: recommended, not applied in place, as
108
+ * a resize would restart an agent in the middle of a snapshot's upload.
109
+ */
110
+ export function nodeAgentObjects(config) {
111
+ if (!nodeAgentRuns(config))
112
+ return [];
113
+ const agents = daemonSet(config);
114
+ return [agents, verticalPodAutoscaler(agents, "Recommended")];
115
+ }
116
+ //# sourceMappingURL=node-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-agent.js","sourceRoot":"","sources":["../../../../src/manifests/node-agent.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,gCAAgC,EAChC,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,mCAAmC,EACnC,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhI,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,oGAAoG;AACpG,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AACpD,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAEtD,oIAAoI;AACpI,MAAM,UAAU,GAAiH;IAC/H,2FAA2F;IAC3F,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnF,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,EAAE;CAC3E,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,GAAqC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;AAEnK,8EAA8E;AAC9E,SAAS,SAAS,CAAC,IAAY;IAC7B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,kCAAkC;AAClC,SAAS,SAAS,CAAC,MAAqB;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,uEAAuE;IACvE,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAe,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAoB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,mFAAmF;QACnF,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACnG,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE;YACvD,uFAAuF;YACvF,sFAAsF;YACtF,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC5F,QAAQ,EAAE;gBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;gBAC1C,IAAI,EAAE;oBACJ,yCAAyC;oBACzC,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACpB,mFAAmF;oBACnF,kFAAkF;oBAClF,6EAA6E;oBAC7E,2EAA2E;oBAC3E,6BAA6B,EAAE,oBAAoB,CAAC,YAAY,CAAC;oBACjE,OAAO,EAAE,IAAI;oBACb,oEAAoE;oBACpE,4BAA4B,EAAE,KAAK;oBACnC,kBAAkB,EAAE,KAAK;oBACzB,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC3B,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACtD,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAClD,8EAA8E;oBAC9E,mFAAmF;oBACnF,cAAc,EAAE,CAAC;4BACf,IAAI,EAAE,sBAAsB;4BAC5B,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;4BACzC,OAAO,EAAE,CAAC,MAAM,EAAE,4CAA4C,EAAE,oBAAoB,EAAE,CAAC;4BACvF,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACnD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS;4BACjD,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC;yBACtE,CAAC;oBACF,UAAU,EAAE,CAAC;4BACX,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;4BACzC,OAAO,EAAE,CAAC,MAAM,EAAE,oCAAoC,CAAC;4BACvD,GAAG,EAAE;gCACH,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE;gCAC9E,2GAA2G;gCAC3G,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;gCACjF,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;gCAC3G,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;gCAC/F,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAAE;gCAC9F,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EAAE;gCAC9F,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;6BACvH;4BACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC;4BACpD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;4BACxD,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;4BACjF,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;4BACnD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS;4BACjD,YAAY;yBACb,CAAC;oBACF,OAAO;iBACR;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { HISTORY_DAYS } from "../../../neon/control/branches.js";
2
2
  import { imageReference } from "../images.js";
3
- import { claimSpec, componentName, labels, NAMESPACE, neonName, replicasOf, restrictedContainer, scaled, script, selectorLabels, stackLabels, stackPodSpec } from "./common.js";
3
+ import { claimSpec, componentName, labels, NAMESPACE, neonName, replicasOf, restrictedContainer, sandboxSnapshots, scaled, script, selectorLabels, stackLabels, stackPodSpec } from "./common.js";
4
4
  import { filerStoreMaxmemoryBytes } from "./config.js";
5
5
  import { replicaBudget, spread } from "./disruption.js";
6
6
  import { priority } from "./priorities.js";
@@ -75,7 +75,7 @@ const WAL_SEGMENT_BYTES = 16 * 1024 * 1024;
75
75
  * An operator's store (objectStore.external) is given none of this: its operator gives
76
76
  * Neon's bucket these rules.
77
77
  */
78
- const LIFECYCLE = {
78
+ const NEON_LIFECYCLE = {
79
79
  Rules: [
80
80
  {
81
81
  ID: "expire-noncurrent",
@@ -99,6 +99,16 @@ const LIFECYCLE = {
99
99
  },
100
100
  ],
101
101
  };
102
+ /**
103
+ * The lifecycle rule of the snapshots bucket. A node agent puts a file larger than a
104
+ * part in parts (src/node-agent/s3.ts), and aborts an upload that fails; one it could not
105
+ * abort, ended mid-upload, leaves the parts it had sent, which this aborts after a day,
106
+ * the least S3 allows. An external store is given no rule by alasio: its operator gives
107
+ * the bucket this one.
108
+ */
109
+ const SNAPSHOTS_LIFECYCLE = {
110
+ Rules: [{ ID: "abort-incomplete-uploads", Status: "Enabled", Filter: { Prefix: "" }, AbortIncompleteMultipartUpload: { DaysAfterInitiation: 1 } }],
111
+ };
102
112
  /** The address of the pod `ordinal` of the StatefulSet `name`, by its headless Service `service`, at `port`. */
103
113
  const podAddress = (name, service, ordinal, port) => `${name}-${ordinal}.${service}.${NAMESPACE}.svc.cluster.local:${port}`;
104
114
  /** The addresses of the `count` pods of the StatefulSet `name`, by `service`, at `port`, as SeaweedFS takes a list of them. */
@@ -121,7 +131,7 @@ function headless(name, component, ports) {
121
131
  spec: { clusterIP: "None", publishNotReadyAddresses: true, selector: selectorLabels(component), ports: [...ports, { name: "metrics", port: METRICS_PORT }] },
122
132
  };
123
133
  }
124
- /** The StatefulSet `name` of `component`, of `scale`, running `containers`, as every part of the store's is: on the floor, as the data stack's user. */
134
+ /** The StatefulSet `name` of `component`, of `scale`, running `containers`, as every part of the store's is: on the floor, above it where its claims hold it to a node, as the data stack's user. */
125
135
  function partStatefulSet(config, name, component, scale, pod, storage, { service = name, ordered = false, strictly = false } = {}) {
126
136
  return {
127
137
  apiVersion: "apps/v1",
@@ -135,7 +145,7 @@ function partStatefulSet(config, name, component, scale, pod, storage, { service
135
145
  template: {
136
146
  metadata: { labels: stackLabels(component) },
137
147
  spec: {
138
- ...priority("floor"),
148
+ ...priority(storage ? "bound" : "floor"),
139
149
  ...stackPodSpec(config),
140
150
  ...spread(component, scale, strictly),
141
151
  terminationGracePeriodSeconds: 30,
@@ -294,13 +304,20 @@ function filerStoreObjects(config) {
294
304
  });
295
305
  }
296
306
  /**
297
- * The S3 gateways, on the filers, each making the buckets and Neon's lifecycle rules as
307
+ * The S3 gateways, on the filers, each making the buckets and their lifecycle rules as
298
308
  * it starts, in sidecars, and ready only once they are made.
299
309
  */
300
310
  function gatewayObjects(config) {
301
311
  const { bundled, buckets } = config.objectStore;
302
312
  const { scaling } = bundled.gateways;
303
- const made = [buckets.neon, buckets.lake, buckets.backups, ...(config.workspaceStorage.enabled ? [buckets.workspaces] : [])];
313
+ const snapshots = sandboxSnapshots(config);
314
+ const made = [buckets.neon, buckets.lake, buckets.backups, ...(config.workspaceStorage.enabled ? [buckets.workspaces] : []), ...(snapshots ? [buckets.snapshots] : [])];
315
+ // Each bucket's rules given as its admin: Neon's as the admin's, the snapshots' as their own
316
+ // identity's, as nothing else may write that bucket (neon/control/secrets.ts s3Identities).
317
+ const lifecycles = [
318
+ { bucket: buckets.neon, rules: NEON_LIFECYCLE, as: "ADMIN" },
319
+ ...(snapshots ? [{ bucket: buckets.snapshots, rules: SNAPSHOTS_LIFECYCLE, as: "SNAPSHOTS" }] : []),
320
+ ];
304
321
  const image = imageReference(bundled.image);
305
322
  const ready = { exec: { command: ["test", "-f", "/tmp/ready"] }, periodSeconds: 5 };
306
323
  const service = {
@@ -366,7 +383,7 @@ function gatewayObjects(config) {
366
383
  resources: { requests: { cpu: "10m", memory: "32Mi" }, limits: { memory: "256Mi" } },
367
384
  volumeMounts: [{ name: "shell-tmp", mountPath: "/tmp" }],
368
385
  },
369
- // Gives Neon's bucket its lifecycle rules once it exists.
386
+ // Gives each bucket with lifecycle rules its rules once it exists.
370
387
  {
371
388
  name: "lifecycle",
372
389
  image: imageReference(config.neon.image),
@@ -374,10 +391,25 @@ function gatewayObjects(config) {
374
391
  command: [
375
392
  "/bin/sh",
376
393
  "-c",
377
- script("set -e", `until aws s3api --endpoint-url http://127.0.0.1:8333 head-bucket --bucket ${buckets.neon} 2>/dev/null; do sleep 2; done`, `aws s3api --endpoint-url http://127.0.0.1:8333 put-bucket-lifecycle-configuration --bucket ${buckets.neon} --lifecycle-configuration '${JSON.stringify(LIFECYCLE)}'`, "touch /tmp/ready", "exec sleep infinity"),
394
+ script("set -e", ...lifecycles.flatMap(({ bucket, rules, as }) => {
395
+ const aws = `AWS_ACCESS_KEY_ID="$${as}_KEY_ID" AWS_SECRET_ACCESS_KEY="$${as}_SECRET" aws s3api --endpoint-url http://127.0.0.1:8333`;
396
+ return [
397
+ `until ${aws} head-bucket --bucket ${bucket} 2>/dev/null; do sleep 2; done`,
398
+ `${aws} put-bucket-lifecycle-configuration --bucket ${bucket} --lifecycle-configuration '${JSON.stringify(rules)}'`,
399
+ ];
400
+ }), "touch /tmp/ready", "exec sleep infinity"),
401
+ ],
402
+ env: [
403
+ { name: "AWS_DEFAULT_REGION", value: "us-east-1" },
404
+ { name: "HOME", value: "/tmp" },
405
+ ...lifecycles.flatMap(({ as }) => {
406
+ const secret = as === "ADMIN" ? neonName("s3-admin") : componentName("snapshots");
407
+ return [
408
+ { name: `${as}_KEY_ID`, valueFrom: { secretKeyRef: { name: secret, key: "AWS_ACCESS_KEY_ID" } } },
409
+ { name: `${as}_SECRET`, valueFrom: { secretKeyRef: { name: secret, key: "AWS_SECRET_ACCESS_KEY" } } },
410
+ ];
411
+ }),
378
412
  ],
379
- env: [{ name: "AWS_DEFAULT_REGION", value: "us-east-1" }, { name: "HOME", value: "/tmp" }],
380
- envFrom: [{ secretRef: { name: neonName("s3-admin") } }],
381
413
  readinessProbe: ready,
382
414
  securityContext: restrictedContainer(),
383
415
  resources: { requests: { cpu: "10m", memory: "64Mi" }, limits: { memory: "256Mi" } },
@@ -1 +1 @@
1
- {"version":3,"file":"object-store.js","sourceRoot":"","sources":["../../../../src/manifests/object-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-store.js","sourceRoot":"","sources":["../../../../src/manifests/object-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { labels, RELEASE } from "./common.js";
2
2
  /** Each tier's class's value, highest first, and what its pods are. */
3
3
  const TIERS = {
4
+ bound: { value: 100_001, description: "alasio's floor that its volumes hold to a node: given up last, taking the place of what may run elsewhere" },
4
5
  floor: { value: 100_000, description: "alasio's floor: what never sleeps, given up last" },
5
6
  turn: { value: 100_000, description: "alasio's pods that run turns: its own, sessions' and folder workspaces' bayma, given up last" },
6
7
  component: { value: 10_000, description: "alasio's components that sleep or run once" },
@@ -1 +1 @@
1
- {"version":3,"file":"priorities.js","sourceRoot":"","sources":["../../../../src/manifests/priorities.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM9C,uEAAuE;AACvE,MAAM,KAAK,GAAqF;IAC9F,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kDAAkD,EAAE;IAC1F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,8FAA8F,EAAE;IACrI,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,4CAA4C,EAAE;IACvF,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,kEAAkE,EAAE;CACzG,CAAC;AAEF,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACjF,KAAK;QACL,aAAa,EAAE,KAAK;QACpB,iEAAiE;QACjE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO;QACzG,WAAW;KACZ,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"priorities.js","sourceRoot":"","sources":["../../../../src/manifests/priorities.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM9C,uEAAuE;AACvE,MAAM,KAAK,GAAqF;IAC9F,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,2GAA2G,EAAE;IACnJ,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kDAAkD,EAAE;IAC1F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,8FAA8F,EAAE;IACrI,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,4CAA4C,EAAE;IACvF,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,kEAAkE,EAAE;CACzG,CAAC;AAEF,uDAAuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;QACjF,KAAK;QACL,aAAa,EAAE,KAAK;QACpB,iEAAiE;QACjE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO;QACzG,WAAW;KACZ,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scalers.js","sourceRoot":"","sources":["../../../../src/manifests/scalers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAoBrC;;;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"}
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"}
@@ -83,7 +83,7 @@ export function valkeyObjects(config, instance, sidecars = []) {
83
83
  template: {
84
84
  metadata: { labels: labels(component), annotations: { "checksum/config": sha256(conf) } },
85
85
  spec: {
86
- ...priority("floor"),
86
+ ...priority("bound"),
87
87
  ...valkeyPod(config),
88
88
  // Long enough for its last snapshot and fsync as it stops.
89
89
  terminationGracePeriodSeconds: 60,
@@ -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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"}