alasio 5.0.3 → 6.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 +6 -14
- 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/k3s.js +12 -4
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +2 -2
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/commands/branch.js +2 -1
- package/dist/cli/src/commands/branch.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +236 -0
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -0
- package/dist/cli/src/commands/status.js +110 -9
- 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 +2 -1
- package/dist/cli/src/commands/up.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/install.js +9 -3
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kube/api.js +11 -3
- 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 +2 -0
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +296 -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 +34 -12
- package/dist/cli/src/manifests/alasio.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 +77 -38
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +11 -0
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +217 -31
- 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 +49 -5
- 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 +12 -3
- 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 +7 -3
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +33 -25
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +90 -10
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/object-store.js +506 -77
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/priorities.js +30 -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 +2 -2
- package/dist/neon/control/secrets.js +3 -0
- 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 +5 -1
- package/dist/src/kube/config.js.map +1 -1
- package/dist/src/kube/sandbox-shape.js +62 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -0
- package/dist/src/sandbox/names.js +44 -0
- package/dist/src/sandbox/names.js.map +1 -0
- package/package.json +1 -1
|
@@ -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 = "6.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:5f8af0d0b1b6790e7a0fd1276f199ed1873091fc51a863a39de69dc137121114" },
|
|
10
|
+
agent: { repository: "ghcr.io/eaucoin/alasio-agent", tag: VERSION, digest: "sha256:b25afac52808de80284ed66e9cb82a8f964e532300c2f841072899773e533ede" },
|
|
11
|
+
lake: { repository: "ghcr.io/eaucoin/alasio-lake", tag: VERSION, digest: "sha256:ddd38dc0f502e9ac2284956d9926ef88ba317fceecb207f2fcbb308b4eda4e39" },
|
|
12
|
+
grafana: { repository: "ghcr.io/eaucoin/alasio-grafana", tag: VERSION, digest: "sha256:03411e41fdf70195c565dd281e9d514e19ec511bb8d85ae76e59cfcd972c28ee" },
|
|
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:92eecdc33c620edeb0f28aa587d0872b4615f03bf447cdd02dc96a626408ffa3" };
|
|
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,7 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"gvisor": {
|
|
12
|
-
"release": "20260921.0",
|
|
13
|
-
"sha512": "
|
|
12
|
+
"release": "20260921.0-eaucoin.3",
|
|
13
|
+
"sha512": "ab59ce25025c28460cc07742e7a7e0679f8bda989513c113dca2a1b6215a791e6e2134022ed5bee33524f7132eb379eb0c83d6a8e796c15d4319dfd1b1a9647b"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -53,6 +53,9 @@ export function completeSecrets(existing = {}) {
|
|
|
53
53
|
grafanaAdminPassword: kept(stored.grafanaAdminPassword, () => secret()),
|
|
54
54
|
grafanaSecretKey: kept(stored.grafanaSecretKey, () => secret()),
|
|
55
55
|
branchForkKey: kept(stored.branchForkKey, () => secret()),
|
|
56
|
+
filerStoreFilerPassword: kept(stored.filerStoreFilerPassword, () => secret()),
|
|
57
|
+
filerStoreCollectorPassword: kept(stored.filerStoreCollectorPassword, () => secret()),
|
|
58
|
+
filerStoreBackupPassword: kept(stored.filerStoreBackupPassword, () => secret()),
|
|
56
59
|
};
|
|
57
60
|
return { secrets, changed };
|
|
58
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../neon/control/secrets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../neon/control/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What marks a pod busy, running a turn: the label alasio sets on it while it does
|
|
3
|
+
* (./busy.ts), which its installation's PodDisruptionBudgets select
|
|
4
|
+
* (cli/src/manifests/disruption.ts), and the annotations that go with it.
|
|
5
|
+
*/
|
|
6
|
+
/** The label of a pod running a turn, "true" while it does. */
|
|
7
|
+
export const BUSY_LABEL = "alasio.dev/busy";
|
|
8
|
+
/** What cluster-autoscaler and Karpenter read as "do not remove this pod's node now". */
|
|
9
|
+
export const BUSY_ANNOTATIONS = {
|
|
10
|
+
"cluster-autoscaler.kubernetes.io/safe-to-evict": "false",
|
|
11
|
+
"karpenter.sh/do-not-disrupt": "true",
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=busy-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"busy-label.js","sourceRoot":"","sources":["../../../../src/kube/busy-label.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAE5C,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,gDAAgD,EAAE,OAAO;IACzD,6BAA6B,EAAE,MAAM;CACtC,CAAC"}
|
package/dist/src/kube/config.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { readFileSync } from "node:fs";
|
|
17
17
|
import { Config, Effect, Predicate, Result, Schema, SchemaGetter, SchemaIssue } from "effect";
|
|
18
|
+
import { CLAIM_TEMPLATE_MAX } from "../sandbox/names.js";
|
|
18
19
|
/** The deployment's templates could not be read, or are not what alasio needs; the message says which. */
|
|
19
20
|
export class KubeTemplatesError extends Schema.TaggedError()("KubeTemplatesError", {
|
|
20
21
|
message: Schema.String,
|
|
@@ -46,9 +47,12 @@ const VolumeClaimTemplates = said(Schema.Array(Schema.declare((value) => Predica
|
|
|
46
47
|
* installation gives, which the API server checks as each is made.
|
|
47
48
|
*/
|
|
48
49
|
const Clone = said(Schema.Struct({
|
|
49
|
-
|
|
50
|
+
// Short enough that each claim of it, named `<template>-<volume id>`, is a DNS label.
|
|
51
|
+
claimTemplate: said(Schema.String.check(Schema.isPattern(new RegExp(`^[a-z0-9]([-a-z0-9]{0,${CLAIM_TEMPLATE_MAX - 2}}[a-z0-9])?$`, "u"))), `must be a claim template's name, a DNS label of at most ${CLAIM_TEMPLATE_MAX} characters`),
|
|
50
52
|
job: said(Schema.declare((value) => Predicate.isObject(value)), "must be an object"),
|
|
51
53
|
}), "must be an object");
|
|
54
|
+
/** The variables a clone's Job is given, after its own, in this order (src/sandbox/index.ts). */
|
|
55
|
+
export const CLONE_VARIABLES = ["SOURCE_NAMESPACE", "SOURCE_CLAIM", "DESTINATION_NAMESPACE", "DESTINATION_CLAIM"];
|
|
52
56
|
/** Whether `podTemplate`, as the installation gives it, runs a container named `bayma`. */
|
|
53
57
|
function runsBayma(podTemplate) {
|
|
54
58
|
const containers = Predicate.hasProperty(podTemplate, "spec") && Predicate.hasProperty(podTemplate.spec, "containers")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/kube/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9F,0GAA0G;AAC1G,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACrG,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAE1D;;;GAGG;AACH,MAAM,IAAI,GAAG,CAAuB,MAAS,EAAE,OAAe,EAAgB,EAAE,CAC9E,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AAE3E,8EAA8E;AAC9E,MAAM,SAAS,GAAG,IAAI,CACpB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KAChJ,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,EAC9E,0BAA0B,CAC3B,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,CAAC,MAAM,CAAC,KAAK,CACjB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAClD,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CACvF,EACD,uBAAuB,CACxB,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAA8B,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAClI,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAClD,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,CAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACpG,0CAA0C,CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC;IACZ,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/kube/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,0GAA0G;AAC1G,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACrG,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAE1D;;;GAGG;AACH,MAAM,IAAI,GAAG,CAAuB,MAAS,EAAE,OAAe,EAAgB,EAAE,CAC9E,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AAE3E,8EAA8E;AAC9E,MAAM,SAAS,GAAG,IAAI,CACpB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KAChJ,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,EAC9E,0BAA0B,CAC3B,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,CAAC,MAAM,CAAC,KAAK,CACjB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAClD,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CACvF,EACD,uBAAuB,CACxB,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAA8B,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAClI,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAClD,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,CAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACpG,0CAA0C,CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC;IACZ,sFAAsF;IACtF,aAAa,EAAE,IAAI,CACjB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,yBAAyB,kBAAkB,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EACrH,2DAA2D,kBAAkB,aAAa,CAC3F;IACD,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;CACrG,CAAC,EACF,mBAAmB,CACpB,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,kBAAkB,EAAE,cAAc,EAAE,uBAAuB,EAAE,mBAAmB,CAAU,CAAC;AAE3H,2FAA2F;AAC3F,SAAS,SAAS,CAAC,WAAoB;IACrC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC;QACpH,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC7B,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACtJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,cAAc,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAEtF,+DAA+D;AAC/D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AAE5G,uGAAuG;AACvG,MAAM,eAAe,GAAG,IAAI,CAC1B,MAAM,CAAC,MAAM,CAAC;IACZ,GAAG,cAAc;IACjB,6DAA6D;IAC7D,YAAY,EAAE,IAAI;IAClB,uGAAuG;IACvG,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACzF,sFAAsF;IACtF,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACrH;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC3D,kHAAkH;IAClH,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;CAC7C,CAAC,EACF,mBAAmB,CACpB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnG,6FAA6F;AAC7F,MAAM,WAAW,GAAG,IAAI,CACtB,MAAM,CAAC,MAAM,CAAC;IACZ,GAAG,cAAc;IACjB,uFAAuF;IACvF,SAAS,EAAE,IAAI;CAChB,CAAC,EACF,mBAAmB,CACpB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnG,kEAAkE;AAClE,MAAM,eAAe,GAAG,CAAuB,MAAS,EAAE,EAAE,CAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7G,wFAAwF;AACxF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAMnJ,MAAM,WAAW,GAAG,WAAW,CAAC,6BAA6B,EAAE,CAAC;AAEhE,yGAAyG;AACzG,SAAS,QAAQ,CAAC,KAAwB;IACxC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClI,OAAO,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,4BAA4B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAoD,EAAE,CAClH,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,GAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,yBAAyB,IAAI,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;CACvK,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAC1I,CACF,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA0E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1H,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC,CAAC;IAC1I,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,yBAAyB,IAAI,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KACvK,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC"}
|