ysk-server-core 1.1.17 → 1.1.19
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/hosting/validators/adapters/avax.d.ts +1 -0
- package/dist/hosting/validators/adapters/avax.d.ts.map +1 -1
- package/dist/hosting/validators/adapters/avax.js +22 -8
- package/dist/hosting/validators/adapters/avax.js.map +1 -1
- package/dist/hosting/validators/adapters/eth-clients.d.ts +2 -0
- package/dist/hosting/validators/adapters/eth-clients.d.ts.map +1 -1
- package/dist/hosting/validators/adapters/eth-clients.js +43 -11
- package/dist/hosting/validators/adapters/eth-clients.js.map +1 -1
- package/dist/hosting/validators/adapters/eth.d.ts.map +1 -1
- package/dist/hosting/validators/adapters/eth.js +5 -2
- package/dist/hosting/validators/adapters/eth.js.map +1 -1
- package/dist/hosting/validators/adapters/near.d.ts.map +1 -1
- package/dist/hosting/validators/adapters/near.js +11 -2
- package/dist/hosting/validators/adapters/near.js.map +1 -1
- package/dist/hosting/validators/adapters/p2p-public-ip.d.ts +6 -0
- package/dist/hosting/validators/adapters/p2p-public-ip.d.ts.map +1 -0
- package/dist/hosting/validators/adapters/p2p-public-ip.js +11 -0
- package/dist/hosting/validators/adapters/p2p-public-ip.js.map +1 -0
- package/dist/hosting/validators/adapters/phase2.d.ts +10 -0
- package/dist/hosting/validators/adapters/phase2.d.ts.map +1 -1
- package/dist/hosting/validators/adapters/phase2.js +126 -7
- package/dist/hosting/validators/adapters/phase2.js.map +1 -1
- package/dist/hosting/validators/compose-runner.d.ts +4 -0
- package/dist/hosting/validators/compose-runner.d.ts.map +1 -1
- package/dist/hosting/validators/compose-runner.js +32 -0
- package/dist/hosting/validators/compose-runner.js.map +1 -1
- package/dist/hosting/validators/disk.d.ts +2 -0
- package/dist/hosting/validators/disk.d.ts.map +1 -1
- package/dist/hosting/validators/disk.js +23 -0
- package/dist/hosting/validators/disk.js.map +1 -1
- package/dist/hosting/validators/extras.d.ts +33 -1
- package/dist/hosting/validators/extras.d.ts.map +1 -1
- package/dist/hosting/validators/extras.js +163 -2
- package/dist/hosting/validators/extras.js.map +1 -1
- package/dist/hosting/validators/manager.d.ts +10 -0
- package/dist/hosting/validators/manager.d.ts.map +1 -1
- package/dist/hosting/validators/manager.js +137 -8
- package/dist/hosting/validators/manager.js.map +1 -1
- package/dist/hosting/validators/ports.js +4 -4
- package/dist/hosting/validators/ports.js.map +1 -1
- package/dist/hosting/validators/registry.d.ts +7 -1
- package/dist/hosting/validators/registry.d.ts.map +1 -1
- package/dist/hosting/validators/registry.js +14 -3
- package/dist/hosting/validators/registry.js.map +1 -1
- package/dist/hosting/validators/releases.d.ts +56 -0
- package/dist/hosting/validators/releases.d.ts.map +1 -1
- package/dist/hosting/validators/releases.js +230 -21
- package/dist/hosting/validators/releases.js.map +1 -1
- package/dist/hosting/validators/runtime-status.js +2 -2
- package/dist/hosting/validators/runtime-status.js.map +1 -1
- package/dist/hosting/validators/software-catalog.d.ts +10 -1
- package/dist/hosting/validators/software-catalog.d.ts.map +1 -1
- package/dist/hosting/validators/software-catalog.js +84 -3
- package/dist/hosting/validators/software-catalog.js.map +1 -1
- package/dist/hosting/validators/upgrade.d.ts +18 -0
- package/dist/hosting/validators/upgrade.d.ts.map +1 -1
- package/dist/hosting/validators/upgrade.js +25 -4
- package/dist/hosting/validators/upgrade.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extras.d.ts","sourceRoot":"","sources":["../../../src/hosting/validators/extras.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"extras.d.ts","sourceRoot":"","sources":["../../../src/hosting/validators/extras.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { existsSync, readdirSync, readFileSync, rmSync, statSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
|
-
import { defaultValidatorMemoryLimit, isValidatorInstanceId, stakingPlaybookMeta, tl, } from 'ysk-server-shared';
|
|
6
|
+
import { defaultValidatorMemoryLimit, dockerNetIoRate, isValidatorInstanceId, parseDockerNetIo, stakingPlaybookMeta, tl, } from 'ysk-server-shared';
|
|
7
7
|
import { getValidatorNetwork } from './registry.js';
|
|
8
8
|
import { probeAvaxStakingIdentity } from './adapters/avax.js';
|
|
9
9
|
import { appliedValidatorOp, blockedValidatorOp, failedValidatorOp, writtenValidatorOp, } from './honesty.js';
|
|
10
|
-
import { composeFilePath, composeProjectName, composePsRunning, prepareValidatorDataDir, writeComposeFile, } from './compose-runner.js';
|
|
10
|
+
import { composeFilePath, composeProjectName, composePsRunning, prepareValidatorDataDir, validatorIdFromContainerName, writeComposeFile, } from './compose-runner.js';
|
|
11
|
+
import { parseJsonLines } from '../docker/parse.js';
|
|
11
12
|
import { planInstallFor } from './adapters/index.js';
|
|
12
13
|
import { deleteValidatorInstance, getValidatorInstance, instanceDir, listValidatorInstances, nextValidatorInstanceId, upsertValidatorInstance, } from './store.js';
|
|
13
14
|
import { collectValidatorDisk } from './disk.js';
|
|
@@ -38,6 +39,10 @@ export async function summarizeValidatorInstances(input) {
|
|
|
38
39
|
diskUsedBytes,
|
|
39
40
|
lastError: st.lastError,
|
|
40
41
|
upgrade: st.upgrade ?? null,
|
|
42
|
+
rxBytes: null,
|
|
43
|
+
txBytes: null,
|
|
44
|
+
rxRateBps: null,
|
|
45
|
+
txRateBps: null,
|
|
41
46
|
};
|
|
42
47
|
summaries.push(summary);
|
|
43
48
|
upsertValidatorInstance(input.dataDir, {
|
|
@@ -53,6 +58,20 @@ export async function summarizeValidatorInstances(input) {
|
|
|
53
58
|
},
|
|
54
59
|
});
|
|
55
60
|
}
|
|
61
|
+
const net = await collectValidatorNetIo({
|
|
62
|
+
host: input.host,
|
|
63
|
+
ids: summaries.map((s) => s.id),
|
|
64
|
+
});
|
|
65
|
+
const byId = new Map(net.map((n) => [n.id, n]));
|
|
66
|
+
for (const s of summaries) {
|
|
67
|
+
const n = byId.get(s.id);
|
|
68
|
+
if (!n)
|
|
69
|
+
continue;
|
|
70
|
+
s.rxBytes = n.rxBytes;
|
|
71
|
+
s.txBytes = n.txBytes;
|
|
72
|
+
s.rxRateBps = n.rxRateBps;
|
|
73
|
+
s.txRateBps = n.txRateBps;
|
|
74
|
+
}
|
|
56
75
|
return { summaries };
|
|
57
76
|
}
|
|
58
77
|
export async function pruneValidatorInstance(input) {
|
|
@@ -279,6 +298,148 @@ export async function restoreValidatorSnapshot(input) {
|
|
|
279
298
|
notes: offer.notes,
|
|
280
299
|
});
|
|
281
300
|
}
|
|
301
|
+
const validatorNetIoPrev = new Map();
|
|
302
|
+
let validatorNetIoLock = Promise.resolve();
|
|
303
|
+
export function resetValidatorNetIoCache() {
|
|
304
|
+
validatorNetIoPrev.clear();
|
|
305
|
+
}
|
|
306
|
+
async function withValidatorNetIoLock(fn) {
|
|
307
|
+
let release;
|
|
308
|
+
const prev = validatorNetIoLock;
|
|
309
|
+
validatorNetIoLock = new Promise((resolve) => {
|
|
310
|
+
release = resolve;
|
|
311
|
+
});
|
|
312
|
+
await prev;
|
|
313
|
+
try {
|
|
314
|
+
return await fn();
|
|
315
|
+
}
|
|
316
|
+
finally {
|
|
317
|
+
release();
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
export function parseValidatorDockerStatsStdout(stdout, ids) {
|
|
321
|
+
const totals = new Map();
|
|
322
|
+
for (const row of parseJsonLines(stdout)) {
|
|
323
|
+
const name = String(row.Name ?? row.Container ?? row.Names ?? '');
|
|
324
|
+
const id = validatorIdFromContainerName(name, ids);
|
|
325
|
+
if (!id)
|
|
326
|
+
continue;
|
|
327
|
+
const io = parseDockerNetIo(String(row.NetIO ?? ''));
|
|
328
|
+
if (!io)
|
|
329
|
+
continue;
|
|
330
|
+
const prev = totals.get(id) ?? { rxBytes: 0, txBytes: 0 };
|
|
331
|
+
totals.set(id, {
|
|
332
|
+
rxBytes: prev.rxBytes + io.rxBytes,
|
|
333
|
+
txBytes: prev.txBytes + io.txBytes,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return [...totals.entries()].map(([id, v]) => ({ id, ...v }));
|
|
337
|
+
}
|
|
338
|
+
export function mergeValidatorNetIo(input) {
|
|
339
|
+
const byId = new Map(input.samples.map((s) => [s.id, s]));
|
|
340
|
+
const next = new Map();
|
|
341
|
+
const items = input.ids.map((id) => {
|
|
342
|
+
const s = byId.get(id);
|
|
343
|
+
if (!s) {
|
|
344
|
+
return { id, rxBytes: null, txBytes: null, rxRateBps: null, txRateBps: null };
|
|
345
|
+
}
|
|
346
|
+
const prev = input.prev.get(id);
|
|
347
|
+
const rate = prev
|
|
348
|
+
? dockerNetIoRate({
|
|
349
|
+
prevRx: prev.rxBytes,
|
|
350
|
+
prevTx: prev.txBytes,
|
|
351
|
+
prevAt: prev.at,
|
|
352
|
+
rx: s.rxBytes,
|
|
353
|
+
tx: s.txBytes,
|
|
354
|
+
at: input.at,
|
|
355
|
+
})
|
|
356
|
+
: null;
|
|
357
|
+
const rxRateBps = rate?.rxRateBps ?? null;
|
|
358
|
+
const txRateBps = rate?.txRateBps ?? null;
|
|
359
|
+
next.set(id, {
|
|
360
|
+
rxBytes: s.rxBytes,
|
|
361
|
+
txBytes: s.txBytes,
|
|
362
|
+
at: input.at,
|
|
363
|
+
rxRateBps,
|
|
364
|
+
txRateBps,
|
|
365
|
+
});
|
|
366
|
+
return {
|
|
367
|
+
id,
|
|
368
|
+
rxBytes: s.rxBytes,
|
|
369
|
+
txBytes: s.txBytes,
|
|
370
|
+
rxRateBps,
|
|
371
|
+
txRateBps,
|
|
372
|
+
};
|
|
373
|
+
});
|
|
374
|
+
return { items, next };
|
|
375
|
+
}
|
|
376
|
+
function emptyValidatorNetIo(ids) {
|
|
377
|
+
return ids.map((id) => ({
|
|
378
|
+
id,
|
|
379
|
+
rxBytes: null,
|
|
380
|
+
txBytes: null,
|
|
381
|
+
rxRateBps: null,
|
|
382
|
+
txRateBps: null,
|
|
383
|
+
}));
|
|
384
|
+
}
|
|
385
|
+
function cachedValidatorNetIo(ids) {
|
|
386
|
+
return ids.map((id) => {
|
|
387
|
+
const prev = validatorNetIoPrev.get(id);
|
|
388
|
+
if (!prev) {
|
|
389
|
+
return { id, rxBytes: null, txBytes: null, rxRateBps: null, txRateBps: null };
|
|
390
|
+
}
|
|
391
|
+
return {
|
|
392
|
+
id,
|
|
393
|
+
rxBytes: prev.rxBytes,
|
|
394
|
+
txBytes: prev.txBytes,
|
|
395
|
+
rxRateBps: prev.rxRateBps,
|
|
396
|
+
txRateBps: prev.txRateBps,
|
|
397
|
+
};
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
export async function collectValidatorNetIo(input) {
|
|
401
|
+
return withValidatorNetIoLock(() => collectValidatorNetIoUnlocked(input));
|
|
402
|
+
}
|
|
403
|
+
async function collectValidatorNetIoUnlocked(input) {
|
|
404
|
+
const ids = input.ids ??
|
|
405
|
+
(input.dataDir ? listValidatorInstances(input.dataDir).map((i) => i.id) : []);
|
|
406
|
+
if (!ids.length) {
|
|
407
|
+
validatorNetIoPrev.clear();
|
|
408
|
+
return [];
|
|
409
|
+
}
|
|
410
|
+
try {
|
|
411
|
+
const ps = await input.host.runCommand(['docker', 'ps', '-q', '--filter', 'name=yskval-'], {
|
|
412
|
+
timeoutMs: 15_000,
|
|
413
|
+
});
|
|
414
|
+
const cids = ps.stdout
|
|
415
|
+
.trim()
|
|
416
|
+
.split(/\s+/)
|
|
417
|
+
.filter((id) => /^[a-f0-9]{12,64}$/i.test(id));
|
|
418
|
+
if (ps.exitCode !== 0)
|
|
419
|
+
return cachedValidatorNetIo(ids);
|
|
420
|
+
if (!cids.length) {
|
|
421
|
+
validatorNetIoPrev.clear();
|
|
422
|
+
return emptyValidatorNetIo(ids);
|
|
423
|
+
}
|
|
424
|
+
const st = await input.host.runCommand(['docker', 'stats', '--no-stream', '--format', '{{json .}}', ...cids], { timeoutMs: 20_000 });
|
|
425
|
+
if (st.exitCode !== 0)
|
|
426
|
+
return cachedValidatorNetIo(ids);
|
|
427
|
+
const samples = parseValidatorDockerStatsStdout(st.stdout, ids);
|
|
428
|
+
const { items, next } = mergeValidatorNetIo({
|
|
429
|
+
ids,
|
|
430
|
+
samples,
|
|
431
|
+
prev: validatorNetIoPrev,
|
|
432
|
+
at: Date.now(),
|
|
433
|
+
});
|
|
434
|
+
validatorNetIoPrev.clear();
|
|
435
|
+
for (const [k, v] of next)
|
|
436
|
+
validatorNetIoPrev.set(k, v);
|
|
437
|
+
return items;
|
|
438
|
+
}
|
|
439
|
+
catch {
|
|
440
|
+
return cachedValidatorNetIo(ids);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
282
443
|
export async function validatorContainerStats(input) {
|
|
283
444
|
const inst = getValidatorInstance(input.dataDir, input.id);
|
|
284
445
|
if (!inst)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extras.js","sourceRoot":"","sources":["../../../src/hosting/validators/extras.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extras.js","sourceRoot":"","sources":["../../../src/hosting/validators/extras.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,9 @@ export declare function createValidatorInstance(input: ValidatorMutateOpts & {
|
|
|
20
20
|
slug?: string;
|
|
21
21
|
el?: string;
|
|
22
22
|
cl?: string;
|
|
23
|
+
elTag?: string;
|
|
24
|
+
clTag?: string;
|
|
25
|
+
nodeTag?: string;
|
|
23
26
|
mithril?: boolean;
|
|
24
27
|
dataPath?: string;
|
|
25
28
|
memory?: string;
|
|
@@ -69,6 +72,13 @@ export declare function setValidatorPolicy(dataDir: string, id: string, policy:
|
|
|
69
72
|
instance?: ValidatorInstanceDto;
|
|
70
73
|
notes: string[];
|
|
71
74
|
};
|
|
75
|
+
export declare function setValidatorClientVersion(input: ValidatorMutateOpts & {
|
|
76
|
+
id: string;
|
|
77
|
+
clientId: string;
|
|
78
|
+
tag: string;
|
|
79
|
+
confirm: string;
|
|
80
|
+
acceptMainnet?: boolean;
|
|
81
|
+
}): Promise<ValidatorOpsResult>;
|
|
72
82
|
export declare function upgradeValidatorInstance(input: ValidatorMutateOpts & {
|
|
73
83
|
id: string;
|
|
74
84
|
}): Promise<ValidatorOpsResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/hosting/validators/manager.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/hosting/validators/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { chmodSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { randomBytes } from 'node:crypto';
|
|
7
|
-
import { defaultValidatorMemoryLimit, isSafeValidatorDataPath, isSafeValidatorLimitCpus, isSafeValidatorLimitMemory, isValidatorChainId, isValidatorInstanceId, isValidatorProfileId, isValidatorUpgradePolicy, tl, } from 'ysk-server-shared';
|
|
7
|
+
import { defaultValidatorMemoryLimit, parseValidatorMemoryBytes, VALIDATOR_MEMORY_HEADROOM_BYTES, isSafeValidatorDataPath, isSafeValidatorLimitCpus, isSafeValidatorLimitMemory, isValidatorChainId, isValidatorInstanceId, isValidatorProfileId, isValidatorUpgradePolicy, tl, } from 'ysk-server-shared';
|
|
8
8
|
import { collectValidatorDisk } from './disk.js';
|
|
9
9
|
import { appliedValidatorOp, blockedValidatorOp, failedValidatorOp, writtenValidatorOp, } from './honesty.js';
|
|
10
|
-
import { composeDown, composeFilePath, composeLogs, composeProjectName, composePsInfo, composePsRunning, composeUp, prepareValidatorDataDir, probeDockerCompose, writeComposeFile, } from './compose-runner.js';
|
|
10
|
+
import { composeDown, composeFilePath, composeLogs, composeProjectName, composePsInfo, composePsRunning, composeStayWaits, composeUp, prepareValidatorDataDir, probeDockerCompose, writeComposeFile, } from './compose-runner.js';
|
|
11
11
|
import { getValidatorChain, getValidatorNetwork, minFreeBytesFor, resolveValidatorClients, SUI_NODE_IMAGE, suiNodeTag, } from './registry.js';
|
|
12
12
|
import { buildValidatorInstance, deleteValidatorInstance, getValidatorInstance, instanceDir, upsertValidatorInstance, } from './store.js';
|
|
13
13
|
import { planInstallFor } from './adapters/index.js';
|
|
@@ -15,15 +15,42 @@ import { probeEthStatus } from './adapters/eth.js';
|
|
|
15
15
|
import { ensureAvaxChainConfig, probeAvaxStatus } from './adapters/avax.js';
|
|
16
16
|
import { probeNearStatus } from './adapters/near.js';
|
|
17
17
|
import { probeAdaStatus } from './adapters/ada.js';
|
|
18
|
-
import { ensureAptosFullnodeFiles,
|
|
18
|
+
import { ensureAptosFullnodeFiles, ensureCosmosNodeFiles, ensureSuiFullnodeFiles, probeAptosStatus, probeBtcStatus, probeCosmosStatus, probeDotStatus, probeSolStatus, probeSuiStatus, } from './adapters/phase2.js';
|
|
19
19
|
import { allocateValidatorPorts, parseSsListenPortSet, usedValidatorPorts } from './ports.js';
|
|
20
20
|
import { syncServiceExposure } from '../service-exposure/sync.js';
|
|
21
|
-
import { applyValidatorUpgrade, detectUpgradeForInstance } from './upgrade.js';
|
|
21
|
+
import { applyValidatorClientTag, applyValidatorUpgrade, detectUpgradeForInstance } from './upgrade.js';
|
|
22
|
+
import { isAllowedClientTag } from './software-catalog.js';
|
|
22
23
|
import { deriveValidatorRuntimeStatus, isValidatorNofileHint, isValidatorOomHint, pickValidatorContainerHint, } from './runtime-status.js';
|
|
23
24
|
/** State-sync for pruned/minimal/validator-ready. Full rpc keeps the full state. */
|
|
24
25
|
export function specProfileStateSync(profile) {
|
|
25
26
|
return profile !== 'rpc';
|
|
26
27
|
}
|
|
28
|
+
function applyRequestedClientTags(clients, input) {
|
|
29
|
+
const jobs = [
|
|
30
|
+
{ key: 'el', tag: input.elTag },
|
|
31
|
+
{ key: 'cl', tag: input.clTag },
|
|
32
|
+
{ key: 'node', tag: input.nodeTag },
|
|
33
|
+
];
|
|
34
|
+
for (const job of jobs) {
|
|
35
|
+
const tag = job.tag?.trim();
|
|
36
|
+
if (!tag)
|
|
37
|
+
continue;
|
|
38
|
+
const cur = clients[job.key];
|
|
39
|
+
if (!cur)
|
|
40
|
+
return job.key;
|
|
41
|
+
if (!isAllowedClientTag({
|
|
42
|
+
clientId: cur.id,
|
|
43
|
+
tag,
|
|
44
|
+
dataDir: input.dataDir,
|
|
45
|
+
extraTags: [cur.tag],
|
|
46
|
+
network: input.network,
|
|
47
|
+
})) {
|
|
48
|
+
return `${cur.id}:${tag}`;
|
|
49
|
+
}
|
|
50
|
+
clients[job.key] = { ...cur, tag };
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
27
54
|
export async function createValidatorInstance(input) {
|
|
28
55
|
if (!isValidatorChainId(input.chain)) {
|
|
29
56
|
return blockedValidatorOp({ reason: 'validation', notes: [tl('validators.errors.invalidId')] });
|
|
@@ -66,6 +93,20 @@ export async function createValidatorInstance(input) {
|
|
|
66
93
|
if (input.cpus && !isSafeValidatorLimitCpus(input.cpus)) {
|
|
67
94
|
return blockedValidatorOp({ reason: 'validation', notes: [tl('validators.errors.invalidId')] });
|
|
68
95
|
}
|
|
96
|
+
const memory = input.memory || defaultValidatorMemoryLimit(chain);
|
|
97
|
+
const memNeed = parseValidatorMemoryBytes(memory);
|
|
98
|
+
if (memNeed &&
|
|
99
|
+
disk.memAvailableBytes != null &&
|
|
100
|
+
disk.memAvailableBytes < memNeed + VALIDATOR_MEMORY_HEADROOM_BYTES) {
|
|
101
|
+
return blockedValidatorOp({
|
|
102
|
+
reason: 'validation',
|
|
103
|
+
notes: [
|
|
104
|
+
tl('validators.errors.memLow'),
|
|
105
|
+
`need>=${memNeed}`,
|
|
106
|
+
`avail=${disk.memAvailableBytes}`,
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
}
|
|
69
110
|
const clients = resolveValidatorClients(chain, {
|
|
70
111
|
el: input.el,
|
|
71
112
|
cl: input.cl,
|
|
@@ -73,6 +114,16 @@ export async function createValidatorInstance(input) {
|
|
|
73
114
|
if (chain === 'sui' && clients.node) {
|
|
74
115
|
clients.node = { ...clients.node, image: SUI_NODE_IMAGE, tag: suiNodeTag(input.network) };
|
|
75
116
|
}
|
|
117
|
+
const tagErr = applyRequestedClientTags(clients, {
|
|
118
|
+
dataDir: input.dataDir,
|
|
119
|
+
network: input.network,
|
|
120
|
+
elTag: input.elTag,
|
|
121
|
+
clTag: input.clTag,
|
|
122
|
+
nodeTag: input.nodeTag,
|
|
123
|
+
});
|
|
124
|
+
if (tagErr) {
|
|
125
|
+
return blockedValidatorOp({ reason: 'validation', notes: [tl('validators.errors.badTag'), tagErr] });
|
|
126
|
+
}
|
|
76
127
|
const extraUsed = new Set();
|
|
77
128
|
try {
|
|
78
129
|
const ss = await input.host.runCommand(['ss', '-lnt'], { timeoutMs: 3_000 });
|
|
@@ -95,7 +146,6 @@ export async function createValidatorInstance(input) {
|
|
|
95
146
|
}
|
|
96
147
|
ports.rpc = n;
|
|
97
148
|
}
|
|
98
|
-
const memory = input.memory || defaultValidatorMemoryLimit(chain);
|
|
99
149
|
const limits = memory || input.cpus
|
|
100
150
|
? { memory, cpus: input.cpus }
|
|
101
151
|
: undefined;
|
|
@@ -144,7 +194,7 @@ export async function createValidatorInstance(input) {
|
|
|
144
194
|
await ensureAptosFullnodeFiles(inst.dataPath, inst.network);
|
|
145
195
|
}
|
|
146
196
|
if (inst.chain === 'cosmos') {
|
|
147
|
-
const cosmos = await
|
|
197
|
+
const cosmos = await ensureCosmosNodeFiles(inst.dataPath, inst.network);
|
|
148
198
|
if (!cosmos.ok && input.execute) {
|
|
149
199
|
return failedValidatorOp({
|
|
150
200
|
instanceId: inst.id,
|
|
@@ -212,6 +262,7 @@ export async function createValidatorInstance(input) {
|
|
|
212
262
|
host: input.host,
|
|
213
263
|
file: composePath,
|
|
214
264
|
project: composeProjectName(inst.id),
|
|
265
|
+
waits: composeStayWaits(inst.chain),
|
|
215
266
|
});
|
|
216
267
|
if (!live.ok) {
|
|
217
268
|
return failedValidatorOp({
|
|
@@ -250,7 +301,7 @@ export async function createValidatorInstance(input) {
|
|
|
250
301
|
});
|
|
251
302
|
}
|
|
252
303
|
async function verifyComposeStayedUp(input) {
|
|
253
|
-
const waits = [2_000, 3_000, 5_000];
|
|
304
|
+
const waits = input.waits ?? [2_000, 3_000, 5_000];
|
|
254
305
|
for (const ms of waits) {
|
|
255
306
|
await new Promise((r) => setTimeout(r, ms));
|
|
256
307
|
const ps = await composePsInfo(input);
|
|
@@ -297,7 +348,7 @@ export async function startValidatorInstance(input) {
|
|
|
297
348
|
if (inst.chain === 'aptos')
|
|
298
349
|
await ensureAptosFullnodeFiles(inst.dataPath, inst.network);
|
|
299
350
|
if (inst.chain === 'cosmos') {
|
|
300
|
-
const cosmos = await
|
|
351
|
+
const cosmos = await ensureCosmosNodeFiles(inst.dataPath, inst.network);
|
|
301
352
|
if (!cosmos.ok) {
|
|
302
353
|
return failedValidatorOp({
|
|
303
354
|
instanceId: inst.id,
|
|
@@ -330,6 +381,7 @@ export async function startValidatorInstance(input) {
|
|
|
330
381
|
host: input.host,
|
|
331
382
|
file: composePath,
|
|
332
383
|
project: composeProjectName(inst.id),
|
|
384
|
+
waits: composeStayWaits(inst.chain),
|
|
333
385
|
});
|
|
334
386
|
if (!live.ok) {
|
|
335
387
|
return failedValidatorOp({
|
|
@@ -572,6 +624,83 @@ export function setValidatorPolicy(dataDir, id, policy) {
|
|
|
572
624
|
const next = upsertValidatorInstance(dataDir, { ...inst, upgradePolicy: policy });
|
|
573
625
|
return { ok: true, instance: next, notes: [] };
|
|
574
626
|
}
|
|
627
|
+
export async function setValidatorClientVersion(input) {
|
|
628
|
+
return withInstance(input, async (inst) => {
|
|
629
|
+
const tag = String(input.tag ?? '').trim();
|
|
630
|
+
const clientId = String(input.clientId ?? '').trim();
|
|
631
|
+
if (!clientId || !tag) {
|
|
632
|
+
return blockedValidatorOp({
|
|
633
|
+
reason: 'validation',
|
|
634
|
+
instanceId: inst.id,
|
|
635
|
+
notes: [tl('validators.errors.badTag')],
|
|
636
|
+
});
|
|
637
|
+
}
|
|
638
|
+
const have = Object.values(inst.clients).find((c) => c.id === clientId);
|
|
639
|
+
if (!have) {
|
|
640
|
+
return blockedValidatorOp({
|
|
641
|
+
reason: 'validation',
|
|
642
|
+
instanceId: inst.id,
|
|
643
|
+
notes: [tl('validators.errors.badTag')],
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
if (input.confirm !== inst.id) {
|
|
647
|
+
return blockedValidatorOp({
|
|
648
|
+
reason: 'validation',
|
|
649
|
+
instanceId: inst.id,
|
|
650
|
+
notes: [tl('validators.errors.needVersionConfirm')],
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
const kind = getValidatorNetwork(inst.chain, inst.network)?.kind;
|
|
654
|
+
if (kind === 'mainnet' && !input.acceptMainnet) {
|
|
655
|
+
return blockedValidatorOp({
|
|
656
|
+
reason: 'validation',
|
|
657
|
+
instanceId: inst.id,
|
|
658
|
+
notes: [tl('validators.errors.needMainnetVersionAck')],
|
|
659
|
+
});
|
|
660
|
+
}
|
|
661
|
+
if (!isAllowedClientTag({
|
|
662
|
+
clientId,
|
|
663
|
+
tag,
|
|
664
|
+
dataDir: input.dataDir,
|
|
665
|
+
extraTags: [have.tag],
|
|
666
|
+
network: inst.network,
|
|
667
|
+
})) {
|
|
668
|
+
return blockedValidatorOp({
|
|
669
|
+
reason: 'validation',
|
|
670
|
+
instanceId: inst.id,
|
|
671
|
+
notes: [tl('validators.errors.badTag')],
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
if (!input.execute || !input.host.executeEnabled()) {
|
|
675
|
+
const dry = await applyValidatorClientTag({
|
|
676
|
+
dataDir: input.dataDir,
|
|
677
|
+
host: input.host,
|
|
678
|
+
spec: inst,
|
|
679
|
+
clientId,
|
|
680
|
+
nextTag: tag,
|
|
681
|
+
execute: false,
|
|
682
|
+
});
|
|
683
|
+
return writtenValidatorOp({
|
|
684
|
+
instanceId: inst.id,
|
|
685
|
+
written: [],
|
|
686
|
+
notes: dry.notes,
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
const r = await applyValidatorClientTag({
|
|
690
|
+
dataDir: input.dataDir,
|
|
691
|
+
host: input.host,
|
|
692
|
+
spec: inst,
|
|
693
|
+
clientId,
|
|
694
|
+
nextTag: tag,
|
|
695
|
+
execute: true,
|
|
696
|
+
onLog: input.onLog,
|
|
697
|
+
signal: input.signal,
|
|
698
|
+
});
|
|
699
|
+
if (!r.ok)
|
|
700
|
+
return failedValidatorOp({ instanceId: inst.id, notes: r.notes });
|
|
701
|
+
return appliedValidatorOp({ instanceId: inst.id, notes: r.notes });
|
|
702
|
+
});
|
|
703
|
+
}
|
|
575
704
|
export async function upgradeValidatorInstance(input) {
|
|
576
705
|
return withInstance(input, async (inst) => {
|
|
577
706
|
if (!input.execute || !input.host.executeEnabled()) {
|