alasio 5.1.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/branches.js +53 -22
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/capacity.js +46 -0
- package/dist/cli/src/capacity.js.map +1 -0
- package/dist/cli/src/cluster/docker-engine.js +6 -4
- package/dist/cli/src/cluster/docker-engine.js.map +1 -1
- package/dist/cli/src/cluster/docker.js +49 -10
- package/dist/cli/src/cluster/docker.js.map +1 -1
- package/dist/cli/src/cluster/host.js +45 -19
- package/dist/cli/src/cluster/host.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +109 -9
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +94 -50
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/cluster/tar.js +43 -1
- package/dist/cli/src/cluster/tar.js.map +1 -1
- package/dist/cli/src/commands/branch.js +9 -4
- package/dist/cli/src/commands/branch.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +247 -0
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -0
- package/dist/cli/src/commands/status.js +141 -12
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/uninstall.js +1 -1
- package/dist/cli/src/commands/uninstall.js.map +1 -1
- package/dist/cli/src/commands/up.js +42 -4
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands/upgrade.js +22 -6
- package/dist/cli/src/commands/upgrade.js.map +1 -1
- package/dist/cli/src/commands.js +2 -1
- package/dist/cli/src/commands.js.map +1 -1
- package/dist/cli/src/config.js +13 -4
- package/dist/cli/src/config.js.map +1 -1
- package/dist/cli/src/cpu-baseline.js +97 -0
- package/dist/cli/src/cpu-baseline.js.map +1 -0
- package/dist/cli/src/install.js +44 -11
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kept-releases.js +59 -0
- package/dist/cli/src/kept-releases.js.map +1 -0
- package/dist/cli/src/kube/api.js +13 -5
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +116 -13
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/autoscalers.js +48 -0
- package/dist/cli/src/kube/autoscalers.js.map +1 -0
- package/dist/cli/src/kube/object-store-scale.js +116 -0
- package/dist/cli/src/kube/object-store-scale.js.map +1 -0
- package/dist/cli/src/kube/rollout.js +23 -0
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +416 -0
- package/dist/cli/src/manifests/admission.js.map +1 -0
- package/dist/cli/src/manifests/agent-sandbox.js +6 -3
- package/dist/cli/src/manifests/agent-sandbox.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +165 -25
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/branch.js +2 -1
- package/dist/cli/src/manifests/branch.js.map +1 -1
- package/dist/cli/src/manifests/cloudeventsources.eventing.keda.sh.json +219 -0
- package/dist/cli/src/manifests/clustercloudeventsources.eventing.keda.sh.json +218 -0
- package/dist/cli/src/manifests/clustertriggerauthentications.keda.sh.json +997 -0
- package/dist/cli/src/manifests/collector.js +92 -45
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +34 -8
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +273 -35
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/controllers.js +39 -0
- package/dist/cli/src/manifests/controllers.js.map +1 -0
- package/dist/cli/src/manifests/disruption.js +47 -0
- package/dist/cli/src/manifests/disruption.js.map +1 -0
- package/dist/cli/src/manifests/grafana.js +66 -10
- package/dist/cli/src/manifests/grafana.js.map +1 -1
- package/dist/cli/src/manifests/headroom.js +40 -0
- package/dist/cli/src/manifests/headroom.js.map +1 -0
- package/dist/cli/src/manifests/index.js +20 -6
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/juicefs-csi.js +9 -6
- package/dist/cli/src/manifests/juicefs-csi.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +271 -0
- package/dist/cli/src/manifests/keda.js.map +1 -0
- package/dist/cli/src/manifests/lake.js +13 -5
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +196 -51
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +177 -28
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +107 -0
- package/dist/cli/src/manifests/node-agent.js.map +1 -0
- package/dist/cli/src/manifests/object-store.js +543 -82
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/priorities.js +31 -0
- package/dist/cli/src/manifests/priorities.js.map +1 -0
- package/dist/cli/src/manifests/scaledjobs.keda.sh.json +7507 -0
- package/dist/cli/src/manifests/scaledobjects.keda.sh.json +564 -0
- package/dist/cli/src/manifests/scalers.js +24 -0
- package/dist/cli/src/manifests/scalers.js.map +1 -0
- package/dist/cli/src/manifests/sizing.js +40 -0
- package/dist/cli/src/manifests/sizing.js.map +1 -0
- package/dist/cli/src/manifests/triggerauthentications.keda.sh.json +992 -0
- package/dist/cli/src/manifests/valkey.js +63 -35
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/verticalpodautoscalercheckpoints.autoscaling.k8s.io.json +250 -0
- package/dist/cli/src/manifests/verticalpodautoscalers.autoscaling.k8s.io.json +837 -0
- package/dist/cli/src/manifests/vpa.js +220 -0
- package/dist/cli/src/manifests/vpa.js.map +1 -0
- package/dist/cli/src/manifests/workspace-storage.js +12 -2
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/object-store.js +57 -0
- package/dist/cli/src/object-store.js.map +1 -0
- package/dist/cli/src/release.js +6 -6
- package/dist/cli/src/target.js +1 -1
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cluster/node/pins.json +6 -2
- package/dist/neon/control/branches.js +31 -12
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +108 -0
- package/dist/neon/control/endpoints.js.map +1 -0
- package/dist/neon/control/scram.js +13 -1
- package/dist/neon/control/scram.js.map +1 -1
- package/dist/neon/control/secrets.js +52 -8
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/kube/busy-label.js +13 -0
- package/dist/src/kube/busy-label.js.map +1 -0
- package/dist/src/kube/config.js +30 -4
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +98 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -0
- package/dist/src/node-agent/names.js +74 -0
- package/dist/src/node-agent/names.js.map +1 -0
- package/dist/src/sandbox/names.js +44 -0
- package/dist/src/sandbox/names.js.map +1 -0
- package/package.json +2 -2
- package/dist/cluster/node/config-v3.toml.tmpl +0 -12
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { imageReference } from "../images.js";
|
|
2
|
+
import { componentName, helperResources, imagePullSecrets, labels, NAMESPACE, restrictedContainer, restrictedPod, selectorLabels } from "./common.js";
|
|
3
|
+
import { rule, sizedController } from "./controllers.js";
|
|
4
|
+
import { priority } from "./priorities.js";
|
|
5
|
+
import checkpoints from "./verticalpodautoscalercheckpoints.autoscaling.k8s.io.json" with { type: "json" };
|
|
6
|
+
import verticalPodAutoscalers from "./verticalpodautoscalers.autoscaling.k8s.io.json" with { type: "json" };
|
|
7
|
+
/** VPA's CRDs, as the API server takes them. */
|
|
8
|
+
export const VPA_CRDS = [verticalPodAutoscalers, checkpoints];
|
|
9
|
+
const RECOMMENDER = componentName("vpa-recommender");
|
|
10
|
+
const UPDATER = componentName("vpa-updater");
|
|
11
|
+
const ADMISSION_CONTROLLER = componentName("vpa-admission-controller");
|
|
12
|
+
const CERTGEN = componentName("vpa-certgen");
|
|
13
|
+
/** The admission controller's Service, which its webhook and certificate name. */
|
|
14
|
+
const WEBHOOK_SERVICE = componentName("vpa-webhook");
|
|
15
|
+
const WEBHOOK_CONFIGURATION = componentName("vpa-admission");
|
|
16
|
+
/** The Secret of the admission controller's certificate, with the CA the webhook trusts. */
|
|
17
|
+
const TLS = componentName("vpa-tls");
|
|
18
|
+
/** The lease the admission controller says it runs by, which the updater reads before it recreates a pod. */
|
|
19
|
+
const STATUS_LEASE = "vpa-admission-controller";
|
|
20
|
+
/** The feature gate of the InPlace update mode, which the updater and the admission controller take. */
|
|
21
|
+
const IN_PLACE = "--feature-gates=InPlace=true";
|
|
22
|
+
/** Who `name` is, and what the cluster lets it do: `rules`. */
|
|
23
|
+
function identity(name, component, rules) {
|
|
24
|
+
const metadata = { name, labels: labels(component) };
|
|
25
|
+
const serviceAccount = { apiVersion: "v1", kind: "ServiceAccount", metadata: { ...metadata, namespace: NAMESPACE } };
|
|
26
|
+
const clusterRole = { apiVersion: "rbac.authorization.k8s.io/v1", kind: "ClusterRole", metadata, rules };
|
|
27
|
+
const binding = {
|
|
28
|
+
apiVersion: "rbac.authorization.k8s.io/v1",
|
|
29
|
+
kind: "ClusterRoleBinding",
|
|
30
|
+
metadata,
|
|
31
|
+
subjects: [{ kind: "ServiceAccount", name, namespace: NAMESPACE }],
|
|
32
|
+
roleRef: { apiGroup: "rbac.authorization.k8s.io", kind: "ClusterRole", name },
|
|
33
|
+
};
|
|
34
|
+
return [serviceAccount, clusterRole, binding];
|
|
35
|
+
}
|
|
36
|
+
/** What `name` may do in alasio's namespace alone: `rules`. */
|
|
37
|
+
function namespaced(name, component, rules) {
|
|
38
|
+
const metadata = { name, namespace: NAMESPACE, labels: labels(component) };
|
|
39
|
+
const role = { apiVersion: "rbac.authorization.k8s.io/v1", kind: "Role", metadata, rules };
|
|
40
|
+
const binding = {
|
|
41
|
+
apiVersion: "rbac.authorization.k8s.io/v1",
|
|
42
|
+
kind: "RoleBinding",
|
|
43
|
+
metadata,
|
|
44
|
+
subjects: [{ kind: "ServiceAccount", name, namespace: NAMESPACE }],
|
|
45
|
+
roleRef: { apiGroup: "rbac.authorization.k8s.io", kind: "Role", name },
|
|
46
|
+
};
|
|
47
|
+
return [role, binding];
|
|
48
|
+
}
|
|
49
|
+
/** What all three read of the workloads VerticalPodAutoscalers name: their scale and their controllers. */
|
|
50
|
+
const TARGET_READER = [
|
|
51
|
+
rule(["*"], ["*/scale"], ["get", "watch"]),
|
|
52
|
+
rule([""], ["replicationcontrollers"], ["get", "list", "watch"]),
|
|
53
|
+
rule(["apps"], ["daemonsets", "deployments", "replicasets", "statefulsets"], ["get", "list", "watch"]),
|
|
54
|
+
rule(["batch"], ["jobs", "cronjobs"], ["get", "list", "watch"]),
|
|
55
|
+
];
|
|
56
|
+
/** What the recommender and the updater read and say of pods and VerticalPodAutoscalers, as upstream's vpa-actor. */
|
|
57
|
+
const ACTOR = [
|
|
58
|
+
rule([""], ["pods", "nodes", "limitranges"], ["get", "list", "watch"]),
|
|
59
|
+
rule(["", "events.k8s.io"], ["events"], ["create", "get", "list", "watch", "patch", "update"]),
|
|
60
|
+
rule(["autoscaling.k8s.io"], ["verticalpodautoscalers"], ["get", "list", "watch"]),
|
|
61
|
+
];
|
|
62
|
+
/** The recommender: each workload's recommended requests, from its pods' use, which the metrics server measures, kept in checkpoints. */
|
|
63
|
+
function recommender(config) {
|
|
64
|
+
const { recommender } = config.autoscaling.vpa;
|
|
65
|
+
return [
|
|
66
|
+
...identity(RECOMMENDER, "vpa-recommender", [
|
|
67
|
+
...ACTOR,
|
|
68
|
+
...TARGET_READER,
|
|
69
|
+
rule(["metrics.k8s.io"], ["pods"], ["get", "list"]),
|
|
70
|
+
rule(["autoscaling.k8s.io"], ["verticalpodautoscalers/status"], ["get", "patch"]),
|
|
71
|
+
rule(["autoscaling.k8s.io"], ["verticalpodautoscalercheckpoints"], ["get", "list", "watch", "create", "patch", "delete"]),
|
|
72
|
+
]),
|
|
73
|
+
...sizedController(config, "vpa-recommender", RECOMMENDER, {
|
|
74
|
+
name: "recommender",
|
|
75
|
+
image: imageReference(recommender.image),
|
|
76
|
+
args: ["--memory-saver", "--pod-recommendation-min-cpu-millicores=10", "--pod-recommendation-min-memory-mb=16"],
|
|
77
|
+
ports: [{ name: "prometheus", containerPort: 8942 }],
|
|
78
|
+
livenessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 3 },
|
|
79
|
+
readinessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, periodSeconds: 10, failureThreshold: 3 },
|
|
80
|
+
resources: recommender.resources,
|
|
81
|
+
}),
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
/** The updater: a running pod whose requests are off its recommendation resized in place, or recreated, as its VerticalPodAutoscaler allows. */
|
|
85
|
+
function updater(config) {
|
|
86
|
+
const { updater } = config.autoscaling.vpa;
|
|
87
|
+
return [
|
|
88
|
+
...identity(UPDATER, "vpa-updater", [
|
|
89
|
+
...ACTOR,
|
|
90
|
+
...TARGET_READER,
|
|
91
|
+
rule(["apps"], ["replicasets"], ["get"]),
|
|
92
|
+
rule([""], ["pods/eviction"], ["create"]),
|
|
93
|
+
// A resize in place, and the annotation that says one was made.
|
|
94
|
+
rule([""], ["pods/resize", "pods"], ["patch"]),
|
|
95
|
+
]),
|
|
96
|
+
...namespaced(UPDATER, "vpa-updater", [rule(["coordination.k8s.io"], ["leases"], ["get", "list", "watch"])]),
|
|
97
|
+
...sizedController(config, "vpa-updater", UPDATER, {
|
|
98
|
+
name: "updater",
|
|
99
|
+
image: imageReference(updater.image),
|
|
100
|
+
args: ["--min-replicas=1", IN_PLACE],
|
|
101
|
+
env: [{ name: "NAMESPACE", valueFrom: { fieldRef: { fieldPath: "metadata.namespace" } } }],
|
|
102
|
+
ports: [{ name: "prometheus", containerPort: 8943 }],
|
|
103
|
+
livenessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 3 },
|
|
104
|
+
readinessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, periodSeconds: 10, failureThreshold: 3 },
|
|
105
|
+
resources: updater.resources,
|
|
106
|
+
}),
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The admission controller, which gives a pod its recommendation as it is made: its
|
|
111
|
+
* Service, its webhook, whose CA the certgen Job patches in, and its Deployment, which
|
|
112
|
+
* serves the certificate that Job makes.
|
|
113
|
+
*/
|
|
114
|
+
function admissionController(config) {
|
|
115
|
+
const { admissionController } = config.autoscaling.vpa;
|
|
116
|
+
const service = {
|
|
117
|
+
apiVersion: "v1",
|
|
118
|
+
kind: "Service",
|
|
119
|
+
metadata: { name: WEBHOOK_SERVICE, namespace: NAMESPACE, labels: labels("vpa-admission-controller") },
|
|
120
|
+
spec: { selector: selectorLabels("vpa-admission-controller"), ports: [{ port: 443, targetPort: 8000 }] },
|
|
121
|
+
};
|
|
122
|
+
const webhook = {
|
|
123
|
+
apiVersion: "admissionregistration.k8s.io/v1",
|
|
124
|
+
kind: "MutatingWebhookConfiguration",
|
|
125
|
+
metadata: { name: WEBHOOK_CONFIGURATION, labels: labels("vpa-admission-controller") },
|
|
126
|
+
webhooks: [{
|
|
127
|
+
name: "vpa.k8s.io",
|
|
128
|
+
admissionReviewVersions: ["v1"],
|
|
129
|
+
clientConfig: { service: { name: WEBHOOK_SERVICE, namespace: NAMESPACE, port: 443 } },
|
|
130
|
+
failurePolicy: "Ignore",
|
|
131
|
+
matchPolicy: "Equivalent",
|
|
132
|
+
namespaceSelector: {},
|
|
133
|
+
// alasio's pods, and its VerticalPodAutoscalers, alone.
|
|
134
|
+
objectSelector: { matchLabels: { "app.kubernetes.io/part-of": "alasio" } },
|
|
135
|
+
reinvocationPolicy: "Never",
|
|
136
|
+
rules: [
|
|
137
|
+
{ apiGroups: [""], apiVersions: ["v1"], operations: ["CREATE"], resources: ["pods"], scope: "*" },
|
|
138
|
+
{ apiGroups: ["autoscaling.k8s.io"], apiVersions: ["*"], operations: ["CREATE", "UPDATE"], resources: ["verticalpodautoscalers"], scope: "*" },
|
|
139
|
+
],
|
|
140
|
+
sideEffects: "None",
|
|
141
|
+
timeoutSeconds: 5,
|
|
142
|
+
}],
|
|
143
|
+
};
|
|
144
|
+
return [
|
|
145
|
+
...identity(ADMISSION_CONTROLLER, "vpa-admission-controller", [
|
|
146
|
+
rule([""], ["pods", "configmaps", "nodes", "limitranges"], ["get", "list", "watch"]),
|
|
147
|
+
rule(["autoscaling.k8s.io"], ["verticalpodautoscalers"], ["get", "list", "watch"]),
|
|
148
|
+
...TARGET_READER,
|
|
149
|
+
]),
|
|
150
|
+
...namespaced(ADMISSION_CONTROLLER, "vpa-admission-controller", [
|
|
151
|
+
rule(["coordination.k8s.io"], ["leases"], ["create", "list", "watch"]),
|
|
152
|
+
rule(["coordination.k8s.io"], ["leases"], ["get", "update"], [STATUS_LEASE]),
|
|
153
|
+
]),
|
|
154
|
+
service,
|
|
155
|
+
webhook,
|
|
156
|
+
...sizedController(config, "vpa-admission-controller", ADMISSION_CONTROLLER, {
|
|
157
|
+
name: "admission-controller",
|
|
158
|
+
image: imageReference(admissionController.image),
|
|
159
|
+
args: ["--register-webhook=false", `--webhook-service=${WEBHOOK_SERVICE}`, IN_PLACE],
|
|
160
|
+
env: [{ name: "NAMESPACE", valueFrom: { fieldRef: { fieldPath: "metadata.namespace" } } }],
|
|
161
|
+
ports: [{ name: "webhook", containerPort: 8000 }, { name: "prometheus", containerPort: 8944 }],
|
|
162
|
+
livenessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 3 },
|
|
163
|
+
readinessProbe: { httpGet: { path: "/health-check", port: "prometheus" }, periodSeconds: 10, failureThreshold: 3 },
|
|
164
|
+
resources: admissionController.resources,
|
|
165
|
+
volumeMounts: [{ name: "tls-certs", mountPath: "/etc/tls-certs", readOnly: true }],
|
|
166
|
+
}, [{
|
|
167
|
+
name: "tls-certs",
|
|
168
|
+
secret: { secretName: TLS, items: [{ key: "ca", path: "caCert.pem" }, { key: "cert", path: "serverCert.pem" }, { key: "key", path: "serverKey.pem" }] },
|
|
169
|
+
}]),
|
|
170
|
+
];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The admission controller's certificate, made once and kept, for its Service's names, and
|
|
174
|
+
* its webhook given the certificate's CA, by kube-webhook-certgen: a Job, which applying
|
|
175
|
+
* alasio runs to completion before the controller starts (../kube/apply.ts).
|
|
176
|
+
*/
|
|
177
|
+
function certgen(config) {
|
|
178
|
+
const image = imageReference(config.autoscaling.vpa.certgenImage);
|
|
179
|
+
const step = (name, args) => ({
|
|
180
|
+
name,
|
|
181
|
+
image,
|
|
182
|
+
imagePullPolicy: "IfNotPresent",
|
|
183
|
+
args,
|
|
184
|
+
securityContext: { ...restrictedContainer(), readOnlyRootFilesystem: true },
|
|
185
|
+
...helperResources(),
|
|
186
|
+
});
|
|
187
|
+
const job = {
|
|
188
|
+
apiVersion: "batch/v1",
|
|
189
|
+
kind: "Job",
|
|
190
|
+
metadata: { name: CERTGEN, namespace: NAMESPACE, labels: labels("vpa-certgen") },
|
|
191
|
+
spec: {
|
|
192
|
+
backoffLimit: 3,
|
|
193
|
+
activeDeadlineSeconds: 300,
|
|
194
|
+
template: {
|
|
195
|
+
metadata: { labels: labels("vpa-certgen") },
|
|
196
|
+
spec: {
|
|
197
|
+
serviceAccountName: CERTGEN,
|
|
198
|
+
restartPolicy: "Never",
|
|
199
|
+
...priority("component"),
|
|
200
|
+
securityContext: restrictedPod(65532, 65532),
|
|
201
|
+
...imagePullSecrets(config),
|
|
202
|
+
initContainers: [step("create", ["create", `--host=${WEBHOOK_SERVICE},${WEBHOOK_SERVICE}.${NAMESPACE}.svc`, `--namespace=${NAMESPACE}`, `--secret-name=${TLS}`])],
|
|
203
|
+
containers: [step("patch", ["patch", `--webhook-name=${WEBHOOK_CONFIGURATION}`, `--namespace=${NAMESPACE}`, `--secret-name=${TLS}`, "--patch-validating=false"])],
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
return [
|
|
209
|
+
...identity(CERTGEN, "vpa-certgen", [rule(["admissionregistration.k8s.io"], ["mutatingwebhookconfigurations"], ["get", "update", "patch"], [WEBHOOK_CONFIGURATION])]),
|
|
210
|
+
...namespaced(CERTGEN, "vpa-certgen", [rule([""], ["secrets"], ["create"]), rule([""], ["secrets"], ["get"], [TLS])]),
|
|
211
|
+
job,
|
|
212
|
+
];
|
|
213
|
+
}
|
|
214
|
+
/** VPA's objects, unless the cluster has it already. */
|
|
215
|
+
export function vpaObjects(config) {
|
|
216
|
+
if (!config.autoscaling.vpa.enabled)
|
|
217
|
+
return [];
|
|
218
|
+
return [...VPA_CRDS, ...recommender(config), ...updater(config), ...admissionController(config), ...certgen(config)];
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=vpa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpa.js","sourceRoot":"","sources":["../../../../src/manifests/vpa.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { imageReference } from "../images.js";
|
|
2
2
|
import { componentName, imagePullSecrets, labels, NAMESPACE, restrictedContainer, restrictedPod, script } from "./common.js";
|
|
3
|
+
import { priority } from "./priorities.js";
|
|
3
4
|
import { CSI_DRIVER, juicefsCsiObjects, VOLUME_DRIVER } from "./juicefs-csi.js";
|
|
4
|
-
import {
|
|
5
|
+
import { VALKEY_PORT, valkeyObjects, valkeyPassword } from "./valkey.js";
|
|
5
6
|
/** The Secret of the file system's credentials. */
|
|
6
7
|
export const WORKSPACES_CREDENTIALS = componentName("workspaces-juicefs");
|
|
7
8
|
/**
|
|
@@ -20,6 +21,10 @@ const NOBODY = 65534;
|
|
|
20
21
|
* the clone's script.
|
|
21
22
|
*/
|
|
22
23
|
const volumeDirectory = (namespace, claim) => `${namespace}-${claim}`;
|
|
24
|
+
/** The file system's Valkey's name: its Service's, its StatefulSet's, and its password's Secret's. */
|
|
25
|
+
export const VALKEY = componentName("valkey");
|
|
26
|
+
/** The file system's Valkey's password, as a variable's source. */
|
|
27
|
+
export const VALKEY_PASSWORD = valkeyPassword(VALKEY);
|
|
23
28
|
/** Valkey's address, as the driver's pods reach it from their own namespace. */
|
|
24
29
|
export const VALKEY_ADDRESS = `${VALKEY}.${NAMESPACE}.svc.cluster.local:${VALKEY_PORT}`;
|
|
25
30
|
/** The workspaces bucket's URL, path-style, as the driver's pods reach it from their own namespace. */
|
|
@@ -85,6 +90,7 @@ function dailyAdminTask(config, component, schedule, name, ...lines) {
|
|
|
85
90
|
metadata: { labels: { ...labels(component), ...JUICEFS_ADMIN } },
|
|
86
91
|
spec: {
|
|
87
92
|
restartPolicy: "Never",
|
|
93
|
+
...priority("component"),
|
|
88
94
|
...imagePullSecrets(config),
|
|
89
95
|
securityContext: restrictedPod(NOBODY, NOBODY),
|
|
90
96
|
containers: [{ ...adminContainer(config, name, ...lines), securityContext: restrictedContainer() }],
|
|
@@ -152,6 +158,7 @@ export function cloneJob(config) {
|
|
|
152
158
|
metadata: { labels: { ...labels(component), ...JUICEFS_ADMIN } },
|
|
153
159
|
spec: {
|
|
154
160
|
restartPolicy: "Never",
|
|
161
|
+
...priority("component"),
|
|
155
162
|
...imagePullSecrets(config),
|
|
156
163
|
containers: [{
|
|
157
164
|
...adminContainer(config, "clone", `until [ -n "$(juicefs quota get "$META_URL" --path "/${destination}" 2>/dev/null)" ]; do sleep 2; done`, "mkdir -p /jfs", 'juicefs mount --no-bgjob --cache-size 0 "$META_URL" /jfs &', "client=$!", 'until [ "$(stat --file-system --format=%T /jfs)" = fuseblk ]; do kill -0 "$client"; sleep 1; done', "for dir in workspace home; do", ` juicefs clone --preserve "${source}/$dir" "/jfs/${destination}/$dir"`, "done", `chown "$(stat --format=%u:%g "${source}")" "/jfs/${destination}"`, `chmod "$(stat --format=%a "${source}")" "/jfs/${destination}"`, "umount /jfs", 'wait "$client"', `juicefs quota check "$META_URL" --path "/${destination}" --repair`),
|
|
@@ -198,6 +205,9 @@ function formatter(config) {
|
|
|
198
205
|
export function workspaceStorageObjects(config) {
|
|
199
206
|
if (!config.workspaceStorage.enabled)
|
|
200
207
|
return [];
|
|
201
|
-
|
|
208
|
+
const { valkey } = config.workspaceStorage;
|
|
209
|
+
// JuiceFS's driver needs it to delete its volumes' data, so it is kept while they remain.
|
|
210
|
+
const instance = { name: VALKEY, component: "valkey", labels: VOLUME_DRIVER, ...valkey };
|
|
211
|
+
return [...valkeyObjects(config, instance, [formatter(config)]), ...juicefsCsiObjects(config), storageClass(config), quotaCheck(config), collection(config)];
|
|
202
212
|
}
|
|
203
213
|
//# sourceMappingURL=workspace-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-storage.js","sourceRoot":"","sources":["../../../../src/manifests/workspace-storage.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAe,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1I,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"workspace-storage.js","sourceRoot":"","sources":["../../../../src/manifests/workspace-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What `alasio status` says of the bundled object store: how many copies of each object it
|
|
3
|
+
* keeps, and of each volume server, how near its disk is to its taking no more writes, as
|
|
4
|
+
* the volume server's own metrics say. A volume server takes none once its disk has less
|
|
5
|
+
* free than its minFreeSpace; once none takes any, nor does the store, as each of its
|
|
6
|
+
* filers' writes is logged to a volume. Pure, for tests; ./commands/status.ts reads the
|
|
7
|
+
* cluster.
|
|
8
|
+
*/
|
|
9
|
+
import { memoryText } from "./capacity.js";
|
|
10
|
+
/** The samples of a scrape's text, `text`. */
|
|
11
|
+
function samples(text) {
|
|
12
|
+
return text.split("\n").flatMap((line) => {
|
|
13
|
+
const match = /^([A-Za-z_:][A-Za-z0-9_:]*)(?:\{(.*)\})? (\S+)/u.exec(line);
|
|
14
|
+
if (!match)
|
|
15
|
+
return [];
|
|
16
|
+
const labels = Object.fromEntries([...(match[2] ?? "").matchAll(/([A-Za-z_][A-Za-z0-9_]*)="((?:[^"\\]|\\.)*)"/gu)].map(([, key = "", value = ""]) => [key, value]));
|
|
17
|
+
return [{ name: match[1] ?? "", labels, value: Number(match[3]) }];
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A volume server's disk, from its metrics' text, `text`: SeaweedFS's
|
|
22
|
+
* `SeaweedFS_volumeServer_resource` of its one directory (`all`, `free`, and `avail`, the
|
|
23
|
+
* free less its minFreeSpace), its volumes' counts, and their sizes on the disk of every
|
|
24
|
+
* collection, deleted bytes apart. Null where they are not all there.
|
|
25
|
+
*/
|
|
26
|
+
export function volumeServerDisk(text) {
|
|
27
|
+
const scraped = samples(text);
|
|
28
|
+
const sum = (name, labels = {}) => {
|
|
29
|
+
const matching = scraped.filter((sample) => sample.name === name && Object.entries(labels).every(([key, value]) => sample.labels[key] === value));
|
|
30
|
+
return matching.length > 0 ? matching.reduce((total, { value }) => total + value, 0) : null;
|
|
31
|
+
};
|
|
32
|
+
const resource = "SeaweedFS_volumeServer_resource";
|
|
33
|
+
const disk = {
|
|
34
|
+
size: sum(resource, { type: "all" }),
|
|
35
|
+
free: sum(resource, { type: "free" }),
|
|
36
|
+
room: sum(resource, { type: "avail" }),
|
|
37
|
+
volumes: sum("SeaweedFS_volumeServer_volumes", { type: "volume" }) ?? 0,
|
|
38
|
+
maxVolumes: sum("SeaweedFS_volumeServer_max_volumes"),
|
|
39
|
+
kept: sum("SeaweedFS_volumeServer_total_disk_size", { type: "normal" }) ?? 0,
|
|
40
|
+
deleted: sum("SeaweedFS_volumeServer_total_disk_size", { type: "deleted_bytes" }) ?? 0,
|
|
41
|
+
};
|
|
42
|
+
const { size, free, room, maxVolumes } = disk;
|
|
43
|
+
return size === null || free === null || room === null || maxVolumes === null ? null : { ...disk, size, free, room, maxVolumes };
|
|
44
|
+
}
|
|
45
|
+
/** The copies of each object a replication, `000` or `00N`, keeps, as said. */
|
|
46
|
+
export function describeReplication(replication) {
|
|
47
|
+
const copies = Number(replication.slice(2)) + 1;
|
|
48
|
+
const times = copies === 1 ? "once" : copies === 2 ? "twice" : `${copies} times`;
|
|
49
|
+
return `the object store: each object kept ${times} (replication ${replication})`;
|
|
50
|
+
}
|
|
51
|
+
/** The volume server `name`'s disk, as `status` says it under the object store. */
|
|
52
|
+
export function describeVolumeServer(name, disk) {
|
|
53
|
+
const { size, free, room, volumes, maxVolumes, kept, deleted } = disk;
|
|
54
|
+
return `${name}: ${memoryText(room)} to fill before it takes no more writes, of ${memoryText(free)} free on its disk of ${memoryText(size)}, ` +
|
|
55
|
+
`${memoryText(free - room)} kept free (minFreeSpace); ${volumes} of ${maxVolumes} volumes, taking ${memoryText(kept)}, ${memoryText(deleted)} of it deleted`;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=object-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-store.js","sourceRoot":"","sources":["../../../src/object-store.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/src/release.js
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* version and the digests of the images it published here, with tooling/pin-release.ts,
|
|
4
4
|
* before it builds the package; this module holds nothing else.
|
|
5
5
|
*/
|
|
6
|
-
export const VERSION = "
|
|
6
|
+
export const VERSION = "7.0.0";
|
|
7
7
|
/** alasio's own images, tagged with the version and pinned by digest once released. */
|
|
8
8
|
export const IMAGES = {
|
|
9
|
-
alasio: { repository: "ghcr.io/eaucoin/alasio", tag: VERSION, digest: "sha256:
|
|
10
|
-
agent: { repository: "ghcr.io/eaucoin/alasio-agent", tag: VERSION, digest: "sha256:
|
|
11
|
-
lake: { repository: "ghcr.io/eaucoin/alasio-lake", tag: VERSION, digest: "sha256:
|
|
12
|
-
grafana: { repository: "ghcr.io/eaucoin/alasio-grafana", tag: VERSION, digest: "sha256:
|
|
9
|
+
alasio: { repository: "ghcr.io/eaucoin/alasio", tag: VERSION, digest: "sha256:3b8b2024878eb8873e293c0fddd84a0d21ce9295d2f39e0a8be9f5daad32fcf1" },
|
|
10
|
+
agent: { repository: "ghcr.io/eaucoin/alasio-agent", tag: VERSION, digest: "sha256:48adeae584ecb23d6cbf357b0f3b1e2d00bb5232e3646a1cb26566adec5df63d" },
|
|
11
|
+
lake: { repository: "ghcr.io/eaucoin/alasio-lake", tag: VERSION, digest: "sha256:2bf4d123bb591bca4aba19dc5a99b9813404d3734530bdd39828045f2a796e10" },
|
|
12
|
+
grafana: { repository: "ghcr.io/eaucoin/alasio-grafana", tag: VERSION, digest: "sha256:00922ac09a06cd49a70ef7407231b2cdd0f101d4b8888d1daaeb91932fad439b" },
|
|
13
13
|
};
|
|
14
14
|
/** The node image of the cluster in Docker: k3s with gVisor (cluster/node), pinned like the others. */
|
|
15
|
-
export const NODE_IMAGE = { repository: "ghcr.io/eaucoin/alasio-node", tag: VERSION, digest: "sha256:
|
|
15
|
+
export const NODE_IMAGE = { repository: "ghcr.io/eaucoin/alasio-node", tag: VERSION, digest: "sha256:1a59d69b582dc5357406d0fe2d117e8d9710dedfbbabdc85415bda16f308a1a0" };
|
|
16
16
|
//# sourceMappingURL=release.js.map
|
package/dist/cli/src/target.js
CHANGED
|
@@ -32,7 +32,7 @@ export const resolveTarget = Effect.fnUntraced(function* (config) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
const { docker } = target;
|
|
35
|
-
const install = installConfigOf(config.install, { claude: false });
|
|
35
|
+
const install = installConfigOf(config.install, { claude: false, shared: false });
|
|
36
36
|
if (Result.isFailure(install))
|
|
37
37
|
return yield* new OperatorConfigError({ path: config.path, reason: install.failure });
|
|
38
38
|
const hostProfile = install.success.host;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../src/target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3E,OAAO,EAAE,YAAY,EAA8B,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,eAAe,EAAuB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,EAAE,OAAO,EAA+C,MAAM,eAAe,CAAC;AAQrF,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC,MAAsB;IAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,YAAY,IAAI,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IACzF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D;YACD,UAAU;SACX,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../../src/target.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"gvisor": {
|
|
12
|
-
"
|
|
13
|
-
|
|
12
|
+
"releases": [
|
|
13
|
+
{
|
|
14
|
+
"release": "20260921.0-eaucoin.6",
|
|
15
|
+
"sha512": "86f85cca0f604e40887b6244cd9f57b3efbba760b3bdcabf066b3a408dde5b84fa2b1fc94e4db00ded989e1bb08522ad9343af8735a66b4964b3ca9b3a2c08b0"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
14
18
|
}
|
|
15
19
|
}
|
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
* asked again, after a failure or a restart, asks for exactly the same timeline.
|
|
13
13
|
*
|
|
14
14
|
* A branch's compute has credentials of its own, which whoever asks for the branch makes
|
|
15
|
-
* and neon-control is given only the hashes of: the SCRAM
|
|
16
|
-
* alasio's
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* and neon-control is given only the hashes of: the SCRAM verifiers of the passwords of
|
|
16
|
+
* the roles its clients connect as (alasio's, which its spec gives the role, and the
|
|
17
|
+
* lake's, which its alasio sets), which neon-control answers Neon's proxy with, and the
|
|
18
|
+
* SHA-256 of the token it fetches its spec with, which fetches its spec alone. So what a
|
|
19
|
+
* branch is given reaches neither main's compute nor another branch's spec. main's
|
|
20
|
+
* compute keeps the stack's.
|
|
19
21
|
*/
|
|
20
22
|
import { createHash, timingSafeEqual } from "node:crypto";
|
|
21
|
-
import { DATABASE, ROLE } from "./secrets.js";
|
|
23
|
+
import { DATABASE, LAKE_ROLE, ROLE } from "./secrets.js";
|
|
22
24
|
/** alasio's own branch: its first timeline, bootstrapped, never deleted. */
|
|
23
25
|
export const MAIN = "main";
|
|
24
26
|
/**
|
|
@@ -35,17 +37,26 @@ export const MAX_NAME_LENGTH = 30;
|
|
|
35
37
|
export const HISTORY_DAYS = 1;
|
|
36
38
|
/** HISTORY_DAYS, as alasio says it. */
|
|
37
39
|
export const HISTORY = HISTORY_DAYS === 1 ? "a day" : `${HISTORY_DAYS} days`;
|
|
40
|
+
/** The roles a branch's clients connect as: alasio's, and its lake's. */
|
|
41
|
+
export const BRANCH_ROLES = [ROLE, LAKE_ROLE];
|
|
38
42
|
/**
|
|
39
43
|
* The scope of the lake's token, which lists the branches and does nothing else: Neon's
|
|
40
44
|
* own services do not know it.
|
|
41
45
|
*/
|
|
42
46
|
export const BRANCHES_SCOPE = "branches";
|
|
47
|
+
/** The scope of Neon's proxy's token, which asks for roles' secrets and wakes computes, and does nothing else. */
|
|
48
|
+
export const PROXY_SCOPE = "proxy";
|
|
49
|
+
/** The paths of neon-control's API that Neon's proxy calls, as its control plane (./endpoints.ts). */
|
|
50
|
+
export const PROXY_PATHS = ["/get_endpoint_access_control", "/wake_compute"];
|
|
43
51
|
/**
|
|
44
52
|
* The scopes of the tokens a call of neon-control's API (`method` on `url`) is taken
|
|
45
|
-
* with: the admin's, as the storage controller's hooks bear it
|
|
46
|
-
* branches the lake's too, which keeps its files while any branch may read them
|
|
53
|
+
* with: the admin's, as the storage controller's hooks bear it; for a list of the
|
|
54
|
+
* branches the lake's too, which keeps its files while any branch may read them; and for
|
|
55
|
+
* what the proxy calls, the proxy's alone.
|
|
47
56
|
*/
|
|
48
57
|
export function callScopes(method, url) {
|
|
58
|
+
if (method === "GET" && PROXY_PATHS.includes(new URL(url, "http://neon-control").pathname))
|
|
59
|
+
return [PROXY_SCOPE];
|
|
49
60
|
return method === "GET" && url === "/branches" ? ["admin", BRANCHES_SCOPE] : ["admin"];
|
|
50
61
|
}
|
|
51
62
|
/** A refusal for the API's caller: its HTTP status, and what it says. */
|
|
@@ -84,12 +95,16 @@ export function branchPoint(text) {
|
|
|
84
95
|
export const tokenSha256 = (token) => createHash("sha256").update(token).digest("hex");
|
|
85
96
|
/** The credentials `value` gives a branch's compute, checked. */
|
|
86
97
|
function computeCredentials(value) {
|
|
87
|
-
const
|
|
88
|
-
|
|
98
|
+
const object = (candidate) => (typeof candidate === "object" && candidate !== null ? candidate : {});
|
|
99
|
+
const { verifiers, tokenSha256: sha, ...rest } = object(value);
|
|
100
|
+
const given = object(verifiers);
|
|
101
|
+
const verifier = (role) => typeof given[role] === "string" && given[role].startsWith("SCRAM-SHA-256$");
|
|
102
|
+
if (Object.keys(rest).length > 0 || Object.keys(given).length !== BRANCH_ROLES.length || !BRANCH_ROLES.every(verifier) ||
|
|
89
103
|
typeof sha !== "string" || !/^[0-9a-f]{64}$/u.test(sha)) {
|
|
90
|
-
throw new BranchError(400,
|
|
104
|
+
throw new BranchError(400, `a branch's compute is given as { verifiers, tokenSha256 }: a SCRAM-SHA-256 verifier of each of ${BRANCH_ROLES.join(" and ")}, and a SHA-256 in hexadecimal`);
|
|
91
105
|
}
|
|
92
|
-
|
|
106
|
+
// Each checked above to be a verifier.
|
|
107
|
+
return { verifiers: { [ROLE]: given[ROLE], [LAKE_ROLE]: given[LAKE_ROLE] }, tokenSha256: sha };
|
|
93
108
|
}
|
|
94
109
|
/** The branch `body` asks for: `{ name, parent?, lsn?, compute }`, its parent main if not given. */
|
|
95
110
|
export function branchRequest(body) {
|
|
@@ -261,7 +276,11 @@ export function computeConfig(branch, stack) {
|
|
|
261
276
|
cluster: {
|
|
262
277
|
cluster_id: "alasio",
|
|
263
278
|
name: "alasio",
|
|
264
|
-
roles: [
|
|
279
|
+
roles: [
|
|
280
|
+
{ name: ROLE, encrypted_password: branch.compute?.verifiers.alasio ?? stack.verifiers.alasio, options: null },
|
|
281
|
+
// After alasio's: compute_ctl applies them in order, so once it may log in, alasio may too.
|
|
282
|
+
{ name: stack.monitor.role, encrypted_password: stack.monitor.verifier(computeId(branch.name)), options: null },
|
|
283
|
+
],
|
|
265
284
|
databases: [{ name: DATABASE, owner: ROLE, options: null }],
|
|
266
285
|
settings: [
|
|
267
286
|
setting("listen_addresses", "0.0.0.0", "string"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branches.js","sourceRoot":"","sources":["../../../../neon/control/branches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branches.js","sourceRoot":"","sources":["../../../../neon/control/branches.ts"],"names":[],"mappings":"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"}
|