@hsuite/smart-engines-cli 1.6.0 → 1.8.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/README.md +59 -9
- package/dist/__tests__/helpers/fixtures-image-hygiene.d.ts +18 -0
- package/dist/__tests__/helpers/fixtures-image-hygiene.d.ts.map +1 -0
- package/dist/__tests__/helpers/fixtures-image-hygiene.js +42 -0
- package/dist/__tests__/helpers/fixtures-image-hygiene.js.map +1 -0
- package/dist/_lib/baas.d.ts +12 -17
- package/dist/_lib/baas.d.ts.map +1 -1
- package/dist/_lib/baas.js +13 -1
- package/dist/_lib/baas.js.map +1 -1
- package/dist/_lib/cluster-convergence.d.ts +8 -0
- package/dist/_lib/cluster-convergence.d.ts.map +1 -1
- package/dist/_lib/cluster-convergence.js +2 -0
- package/dist/_lib/cluster-convergence.js.map +1 -1
- package/dist/_lib/cluster.d.ts +16 -10
- package/dist/_lib/cluster.d.ts.map +1 -1
- package/dist/_lib/cluster.js +23 -4
- package/dist/_lib/cluster.js.map +1 -1
- package/dist/_lib/framework.js +2 -2
- package/dist/_lib/image-hygiene.d.ts +36 -0
- package/dist/_lib/image-hygiene.d.ts.map +1 -0
- package/dist/_lib/image-hygiene.js +233 -0
- package/dist/_lib/image-hygiene.js.map +1 -0
- package/dist/_lib/run-fn.d.ts +34 -0
- package/dist/_lib/run-fn.d.ts.map +1 -0
- package/dist/_lib/run-fn.js +15 -0
- package/dist/_lib/run-fn.js.map +1 -0
- package/dist/_lib/subscription-client.d.ts +20 -0
- package/dist/_lib/subscription-client.d.ts.map +1 -1
- package/dist/_lib/subscription-client.js +23 -1
- package/dist/_lib/subscription-client.js.map +1 -1
- package/dist/_lib/transport.d.ts +62 -0
- package/dist/_lib/transport.d.ts.map +1 -0
- package/dist/_lib/transport.js +120 -0
- package/dist/_lib/transport.js.map +1 -0
- package/dist/commands/customer-scope.d.ts +48 -0
- package/dist/commands/customer-scope.d.ts.map +1 -0
- package/dist/commands/customer-scope.js +89 -0
- package/dist/commands/customer-scope.js.map +1 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +3 -2
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/governance.d.ts.map +1 -1
- package/dist/commands/governance.js +13 -2
- package/dist/commands/governance.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +37 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/personhood.d.ts.map +1 -1
- package/dist/commands/personhood.js +9 -4
- package/dist/commands/personhood.js.map +1 -1
- package/dist/commands/redeploy.d.ts.map +1 -1
- package/dist/commands/redeploy.js +3 -2
- package/dist/commands/redeploy.js.map +1 -1
- package/dist/commands/status.d.ts +45 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +149 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transactions.d.ts.map +1 -1
- package/dist/commands/transactions.js +2 -1
- package/dist/commands/transactions.js.map +1 -1
- package/dist/commands/verify.d.ts +4 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +37 -22
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { Command } from 'commander';
|
|
11
11
|
import type { BaasClient, BaasRuntimeStatus } from '@hsuite/smart-engines-sdk';
|
|
12
12
|
import { connectAndAuth } from '../_lib/baas';
|
|
13
|
+
import { probeClusterRuntimes, type ClusterRuntimeObservation } from '../_lib/cluster-convergence';
|
|
13
14
|
export type StatusOpts = {
|
|
14
15
|
envPath: string;
|
|
15
16
|
gateway: string;
|
|
@@ -46,6 +47,50 @@ export declare function waitForRunning(client: BaasClient, appId: string, opts?:
|
|
|
46
47
|
* `BaasRuntimeStatus` (after watching, when `--watch`).
|
|
47
48
|
*/
|
|
48
49
|
export declare function runStatus(opts: StatusOpts): Promise<BaasRuntimeStatus>;
|
|
50
|
+
/**
|
|
51
|
+
* #2927 — honest per-cluster status: every cluster the gateway advertises
|
|
52
|
+
* answers for ITSELF instead of `hsuite status` trusting whichever cluster
|
|
53
|
+
* the round-robin gateway happened to route this ONE request to.
|
|
54
|
+
*/
|
|
55
|
+
export type PerClusterStatus = {
|
|
56
|
+
observations: ClusterRuntimeObservation[];
|
|
57
|
+
/**
|
|
58
|
+
* Pessimistic aggregate: `true` ONLY when every advertised cluster
|
|
59
|
+
* answered (`reachable`), every one reports `runtimeState === 'RUNNING'`,
|
|
60
|
+
* AND every one agrees on `replicas`. A cluster that gave NO answer counts
|
|
61
|
+
* AGAINST the aggregate — it is never silently excluded (the same #2887
|
|
62
|
+
* lesson `assertClustersConverged` already encodes: missing evidence is
|
|
63
|
+
* not evidence of convergence).
|
|
64
|
+
*/
|
|
65
|
+
aggregateRunning: boolean;
|
|
66
|
+
/** Always populated — names WHY the aggregate is/isn't RUNNING. */
|
|
67
|
+
aggregateReason: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Fold a set of per-cluster observations into a single pessimistic verdict.
|
|
71
|
+
* Exported (not just used internally) so a caller that already has
|
|
72
|
+
* observations — e.g. `redeploy`'s own convergence probe — can reuse the
|
|
73
|
+
* exact same aggregation rule rather than growing a second one.
|
|
74
|
+
*/
|
|
75
|
+
export declare function aggregateClusterStatus(observations: ClusterRuntimeObservation[]): PerClusterStatus;
|
|
76
|
+
/**
|
|
77
|
+
* #2927 — ask EVERY cluster behind the gateway directly, mirroring
|
|
78
|
+
* `redeploy`'s post-deploy convergence probe (`probeClusterRuntimes`) —
|
|
79
|
+
* same primitive, read-only use. Unlike `assertClustersConverged` (a deploy
|
|
80
|
+
* GATE that throws), this NEVER throws on divergence: a status READ must
|
|
81
|
+
* report the truth, however ugly, not block on it.
|
|
82
|
+
*
|
|
83
|
+
* A probe-level failure (e.g. the gateway hostname doesn't resolve) is
|
|
84
|
+
* caught and folded into `aggregateReason` instead of crashing the command
|
|
85
|
+
* — "I cannot currently tell you the truth" is itself an honest answer
|
|
86
|
+
* `hsuite status` must be able to give, not a stack trace.
|
|
87
|
+
*/
|
|
88
|
+
export declare function probeAllClusters(opts: Pick<StatusOpts, 'envPath' | 'gateway' | 'appId' | 'subscriptionAppId'> & {
|
|
89
|
+
/** Test seam — defaults to the real {@link probeClusterRuntimes}. */
|
|
90
|
+
probe?: typeof probeClusterRuntimes;
|
|
91
|
+
}): Promise<PerClusterStatus>;
|
|
92
|
+
/** Human-readable per-cluster breakdown + pessimistic aggregate. */
|
|
93
|
+
export declare function renderPerClusterStatus(result: PerClusterStatus): string;
|
|
49
94
|
/** Human-readable one-block render of a status. */
|
|
50
95
|
export declare function renderStatus(status: BaasRuntimeStatus): string;
|
|
51
96
|
export declare const statusCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACtE,0DAA0D;IAC1D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAGxD;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAO,GAC3F,OAAO,CAAC,iBAAiB,CAAC,CAY5B;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+B5E;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,yBAAyB,EAAE,GACxC,gBAAgB,CAqElB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,mBAAmB,CAAC,GAAG;IAC9E,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,oBAAoB,CAAC;CACrC,GACA,OAAO,CAAC,gBAAgB,CAAC,CAsB3B;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkBvE;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6B9D;AAED,eAAO,MAAM,aAAa,SA2DtB,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -7,6 +7,9 @@ exports.statusCommand = void 0;
|
|
|
7
7
|
exports.isTerminal = isTerminal;
|
|
8
8
|
exports.waitForRunning = waitForRunning;
|
|
9
9
|
exports.runStatus = runStatus;
|
|
10
|
+
exports.aggregateClusterStatus = aggregateClusterStatus;
|
|
11
|
+
exports.probeAllClusters = probeAllClusters;
|
|
12
|
+
exports.renderPerClusterStatus = renderPerClusterStatus;
|
|
10
13
|
exports.renderStatus = renderStatus;
|
|
11
14
|
/**
|
|
12
15
|
* `hsuite status` — live lifecycle + runtime status of a deployed app.
|
|
@@ -23,6 +26,7 @@ const env_1 = require("../_lib/env");
|
|
|
23
26
|
const subscription_env_1 = require("../_lib/subscription-env");
|
|
24
27
|
const cluster_1 = require("../_lib/cluster");
|
|
25
28
|
const baas_1 = require("../_lib/baas");
|
|
29
|
+
const cluster_convergence_1 = require("../_lib/cluster-convergence");
|
|
26
30
|
/** A runtime is "settled" once it can no longer transition on its own. */
|
|
27
31
|
function isTerminal(s) {
|
|
28
32
|
const rs = s.runtime?.runtimeState;
|
|
@@ -83,6 +87,131 @@ async function runStatus(opts) {
|
|
|
83
87
|
}
|
|
84
88
|
return status;
|
|
85
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Fold a set of per-cluster observations into a single pessimistic verdict.
|
|
92
|
+
* Exported (not just used internally) so a caller that already has
|
|
93
|
+
* observations — e.g. `redeploy`'s own convergence probe — can reuse the
|
|
94
|
+
* exact same aggregation rule rather than growing a second one.
|
|
95
|
+
*/
|
|
96
|
+
function aggregateClusterStatus(observations) {
|
|
97
|
+
if (observations.length === 0) {
|
|
98
|
+
return { observations, aggregateRunning: false, aggregateReason: 'no clusters answered' };
|
|
99
|
+
}
|
|
100
|
+
const unreachable = observations.filter((o) => !o.reachable);
|
|
101
|
+
if (unreachable.length > 0) {
|
|
102
|
+
return {
|
|
103
|
+
observations,
|
|
104
|
+
aggregateRunning: false,
|
|
105
|
+
aggregateReason: `${unreachable.length}/${observations.length} cluster(s) gave no answer (` +
|
|
106
|
+
unreachable
|
|
107
|
+
.map((o) => `${o.clusterId ?? o.ip}: ${o.error ?? 'unreachable'}`)
|
|
108
|
+
.join(', ') +
|
|
109
|
+
')',
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const notRunning = observations.filter((o) => o.runtimeState !== 'RUNNING');
|
|
113
|
+
if (notRunning.length > 0) {
|
|
114
|
+
return {
|
|
115
|
+
observations,
|
|
116
|
+
aggregateRunning: false,
|
|
117
|
+
aggregateReason: `${notRunning.length}/${observations.length} cluster(s) not RUNNING (` +
|
|
118
|
+
notRunning.map((o) => `${o.clusterId ?? o.ip}=${o.runtimeState ?? 'unknown'}`).join(', ') +
|
|
119
|
+
')',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
const distinctReplicaCounts = new Set(observations.map((o) => o.replicas));
|
|
123
|
+
if (distinctReplicaCounts.size > 1) {
|
|
124
|
+
return {
|
|
125
|
+
observations,
|
|
126
|
+
aggregateRunning: false,
|
|
127
|
+
aggregateReason: 'clusters disagree on replica count (' +
|
|
128
|
+
observations.map((o) => `${o.clusterId ?? o.ip}=${o.replicas ?? '?'}`).join(', ') +
|
|
129
|
+
')',
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// #2927-B8 HARD CHECK: agreement is not health. Every cluster's runtime
|
|
133
|
+
// RECORD can honestly say `runtimeState=RUNNING` while its ACTUAL k8s
|
|
134
|
+
// Deployment sits at 0 pods — `scaleDownForInactiveSubscription`
|
|
135
|
+
// deliberately does not mutate the Mongo `runtime.runtimeState`/`replicas`
|
|
136
|
+
// fields it did not write (see `smart-app-reconciler.service.ts`), so a
|
|
137
|
+
// cluster (or, in the worst case, ALL of them) that was scaled to 0 keeps
|
|
138
|
+
// reporting the LAST desired-state snapshot, not current reality. Without
|
|
139
|
+
// this check, "all 3 clusters agree" on `replicas=0` would still print
|
|
140
|
+
// `RUNNING` — the exact "guard green while checking nothing" shape this
|
|
141
|
+
// whole feature exists to close.
|
|
142
|
+
const agreedReplicas = observations[0]?.replicas;
|
|
143
|
+
if (agreedReplicas === undefined || agreedReplicas <= 0) {
|
|
144
|
+
return {
|
|
145
|
+
observations,
|
|
146
|
+
aggregateRunning: false,
|
|
147
|
+
aggregateReason: `all ${observations.length} cluster(s) report runtimeState=RUNNING but replicas=` +
|
|
148
|
+
`${agreedReplicas ?? 'unknown'} — RUNNING with zero (or unknown) pods is not actually running`,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
observations,
|
|
153
|
+
aggregateRunning: true,
|
|
154
|
+
aggregateReason: `all ${observations.length} cluster(s) agree: RUNNING with ${agreedReplicas} replica(s)`,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* #2927 — ask EVERY cluster behind the gateway directly, mirroring
|
|
159
|
+
* `redeploy`'s post-deploy convergence probe (`probeClusterRuntimes`) —
|
|
160
|
+
* same primitive, read-only use. Unlike `assertClustersConverged` (a deploy
|
|
161
|
+
* GATE that throws), this NEVER throws on divergence: a status READ must
|
|
162
|
+
* report the truth, however ugly, not block on it.
|
|
163
|
+
*
|
|
164
|
+
* A probe-level failure (e.g. the gateway hostname doesn't resolve) is
|
|
165
|
+
* caught and folded into `aggregateReason` instead of crashing the command
|
|
166
|
+
* — "I cannot currently tell you the truth" is itself an honest answer
|
|
167
|
+
* `hsuite status` must be able to give, not a stack trace.
|
|
168
|
+
*/
|
|
169
|
+
async function probeAllClusters(opts) {
|
|
170
|
+
try {
|
|
171
|
+
const env = (0, env_1.readEnv)(opts.envPath);
|
|
172
|
+
const appId = (0, subscription_env_1.requireAppId)(env, { appId: opts.appId });
|
|
173
|
+
const subscriptionAppId = (0, subscription_env_1.requireSubscriptionAppId)(env, {
|
|
174
|
+
subscriptionAppId: opts.subscriptionAppId,
|
|
175
|
+
});
|
|
176
|
+
const probe = opts.probe ?? cluster_convergence_1.probeClusterRuntimes;
|
|
177
|
+
const observations = await probe({
|
|
178
|
+
gateway: opts.gateway,
|
|
179
|
+
appId,
|
|
180
|
+
authAppId: subscriptionAppId,
|
|
181
|
+
signer: (0, env_1.buildSignerFromEnv)(env),
|
|
182
|
+
});
|
|
183
|
+
return aggregateClusterStatus(observations);
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
return {
|
|
187
|
+
observations: [],
|
|
188
|
+
aggregateRunning: false,
|
|
189
|
+
aggregateReason: `could not enumerate clusters: ${err.message}`,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/** Human-readable per-cluster breakdown + pessimistic aggregate. */
|
|
194
|
+
function renderPerClusterStatus(result) {
|
|
195
|
+
const lines = [' clusters:'];
|
|
196
|
+
for (const o of result.observations) {
|
|
197
|
+
const label = o.clusterId ?? o.ip;
|
|
198
|
+
if (!o.reachable) {
|
|
199
|
+
lines.push(` ${label}: UNREACHABLE (${o.error ?? 'no answer'})`);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
const bits = [`runtimeState=${o.runtimeState ?? 'unknown'}`, `replicas=${o.replicas ?? 'unknown'}`];
|
|
203
|
+
if (o.lastError)
|
|
204
|
+
bits.push(`lastError=${o.lastError}`);
|
|
205
|
+
lines.push(` ${label}: ${bits.join(' ')}`);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (result.observations.length === 0) {
|
|
209
|
+
lines.push(' (none)');
|
|
210
|
+
}
|
|
211
|
+
const verdict = result.aggregateRunning ? 'RUNNING (all clusters agree)' : 'NOT CONFIRMED';
|
|
212
|
+
lines.push(` aggregate: ${verdict} — ${result.aggregateReason}`);
|
|
213
|
+
return lines.join('\n');
|
|
214
|
+
}
|
|
86
215
|
/** Human-readable one-block render of a status. */
|
|
87
216
|
function renderStatus(status) {
|
|
88
217
|
const lines = [
|
|
@@ -123,6 +252,9 @@ exports.statusCommand = new commander_1.Command('status')
|
|
|
123
252
|
.option('--subscription-app-id <id>', 'Subscription appId to authenticate as (else SUBSCRIPTION_APP_ID)')
|
|
124
253
|
.option('--watch', 'Poll until the runtime settles (RUNNING / FAILED)', false)
|
|
125
254
|
.option('--json', 'Print the raw status JSON', false)
|
|
255
|
+
.option('--skip-cluster-check', '#2927 — skip the honest per-cluster probe and report only whichever cluster the ' +
|
|
256
|
+
'round-robin gateway answered from (the pre-#2927 behavior). A skipped check can print ' +
|
|
257
|
+
'"RUNNING" while a third of the fleet silently serves nothing.', false)
|
|
126
258
|
.action(async (opts) => {
|
|
127
259
|
if (!opts.json)
|
|
128
260
|
console.log(chalk_1.default.bold.cyan('\n hsuite status\n'));
|
|
@@ -140,11 +272,27 @@ exports.statusCommand = new commander_1.Command('status')
|
|
|
140
272
|
console.error(chalk_1.default.red(`\n ✗ ${err.message}\n`));
|
|
141
273
|
process.exit(1);
|
|
142
274
|
}
|
|
275
|
+
// #2927 — the round-robin read above answers from WHICHEVER cluster the
|
|
276
|
+
// gateway happened to route to; it is not per-cluster truth. Ask every
|
|
277
|
+
// cluster directly and report honestly, unless explicitly skipped.
|
|
278
|
+
let perCluster;
|
|
279
|
+
if (!opts.skipClusterCheck) {
|
|
280
|
+
perCluster = await probeAllClusters({
|
|
281
|
+
envPath: opts.env,
|
|
282
|
+
gateway: opts.gateway,
|
|
283
|
+
appId: opts.appId,
|
|
284
|
+
subscriptionAppId: opts.subscriptionAppId,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
143
287
|
if (opts.json) {
|
|
144
|
-
process.stdout.write(JSON.stringify(status, null, 2) + '\n');
|
|
288
|
+
process.stdout.write(JSON.stringify(perCluster ? { ...status, perCluster } : status, null, 2) + '\n');
|
|
145
289
|
return;
|
|
146
290
|
}
|
|
147
291
|
console.log(renderStatus(status));
|
|
292
|
+
if (perCluster) {
|
|
293
|
+
console.log('');
|
|
294
|
+
console.log(renderPerClusterStatus(perCluster));
|
|
295
|
+
}
|
|
148
296
|
console.log('');
|
|
149
297
|
});
|
|
150
298
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EAEjB,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,iBAAiB,EAEjB,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAKnC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;CAC7E,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyBlF;AAsCD,eAAO,MAAM,mBAAmB,SAEF,CAAC"}
|
|
@@ -28,6 +28,7 @@ const commander_1 = require("commander");
|
|
|
28
28
|
const chalk_1 = __importDefault(require("chalk"));
|
|
29
29
|
const smart_engines_sdk_1 = require("@hsuite/smart-engines-sdk");
|
|
30
30
|
const cluster_1 = require("../_lib/cluster");
|
|
31
|
+
const transport_1 = require("../_lib/transport");
|
|
31
32
|
/**
|
|
32
33
|
* Pure orchestration body — exported for unit tests. Returns the prepared
|
|
33
34
|
* transaction so the caller can sign + submit it.
|
|
@@ -42,7 +43,7 @@ async function runTransfer(opts) {
|
|
|
42
43
|
const buildClient = opts.clientFactory ??
|
|
43
44
|
((s) => new smart_engines_sdk_1.SmartEngineClient({
|
|
44
45
|
validatorBaseUrl: s,
|
|
45
|
-
allowInsecure:
|
|
46
|
+
allowInsecure: (0, transport_1.resolveAllowInsecure)(s),
|
|
46
47
|
}));
|
|
47
48
|
const client = buildClient(server);
|
|
48
49
|
// Keep the request aligned to PrepareTransferRequest — only set optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,10 @@
|
|
|
30
30
|
* Exit codes:
|
|
31
31
|
* 0 cert/envelope valid
|
|
32
32
|
* 1 cert/envelope invalid (specific reason printed to stderr) OR usage error
|
|
33
|
-
* 2 network / fetch error
|
|
33
|
+
* 2 network / fetch error, or no validator-registry snapshot could be
|
|
34
|
+
* obtained. Since SDK 7.0.0 (#3230 / HSUITEPT-14) a snapshot is mandatory
|
|
35
|
+
* for EVERY consumer in both cert modes — a cert is only evidence against
|
|
36
|
+
* a validator set the caller chose, never against the keys it carries.
|
|
34
37
|
*/
|
|
35
38
|
import { Command } from 'commander';
|
|
36
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoGpC;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAiP5C;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAuB,CAAC"}
|
package/dist/commands/verify.js
CHANGED
|
@@ -37,7 +37,10 @@ exports.buildVerifyCommand = buildVerifyCommand;
|
|
|
37
37
|
* Exit codes:
|
|
38
38
|
* 0 cert/envelope valid
|
|
39
39
|
* 1 cert/envelope invalid (specific reason printed to stderr) OR usage error
|
|
40
|
-
* 2 network / fetch error
|
|
40
|
+
* 2 network / fetch error, or no validator-registry snapshot could be
|
|
41
|
+
* obtained. Since SDK 7.0.0 (#3230 / HSUITEPT-14) a snapshot is mandatory
|
|
42
|
+
* for EVERY consumer in both cert modes — a cert is only evidence against
|
|
43
|
+
* a validator set the caller chose, never against the keys it carries.
|
|
41
44
|
*/
|
|
42
45
|
const commander_1 = require("commander");
|
|
43
46
|
const chalk_1 = __importDefault(require("chalk"));
|
|
@@ -149,7 +152,8 @@ Examples:
|
|
|
149
152
|
Exit codes:
|
|
150
153
|
0 cert/envelope valid
|
|
151
154
|
1 cert/envelope invalid (with reason on stderr) OR usage error
|
|
152
|
-
2 network / fetch error
|
|
155
|
+
2 network / fetch error, or no validator-registry snapshot could be obtained
|
|
156
|
+
(a snapshot is required for every consumer, in both cert modes)
|
|
153
157
|
`)
|
|
154
158
|
.action(async (opts) => {
|
|
155
159
|
// ── Envelope mode — short-circuits before cert flow ───────────────────
|
|
@@ -255,18 +259,37 @@ Exit codes:
|
|
|
255
259
|
}
|
|
256
260
|
}
|
|
257
261
|
// ── Verify ────────────────────────────────────────────────────────────
|
|
258
|
-
//
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
//
|
|
264
|
-
//
|
|
262
|
+
// SDK 7.0.0 / HSUITEPT-14 (#3230): a validator-registry snapshot is
|
|
263
|
+
// mandatory for EVERY consumer, not just `app-registry`. A cert carries
|
|
264
|
+
// its own copy of its signers' public keys and an ML-DSA keypair is free
|
|
265
|
+
// to mint, so verifying against the cert's own keys proves nothing —
|
|
266
|
+
// "registry unreachable" and "registry replaced by the attacker" must not
|
|
267
|
+
// be the same outcome. Hence: no snapshot, no verdict.
|
|
268
|
+
//
|
|
269
|
+
// `fetchRegistrySnapshot` THROWS `RegistryUnavailableError` rather than
|
|
270
|
+
// returning null precisely so this cannot degrade into a silent success.
|
|
265
271
|
const registryServer = opts.server ??
|
|
266
272
|
process.env.SMART_HOST_URL ??
|
|
267
273
|
process.env.VALIDATOR_URL ??
|
|
268
274
|
cluster_1.DEFAULT_GATEWAY;
|
|
269
|
-
|
|
275
|
+
let registrySnapshot;
|
|
276
|
+
try {
|
|
277
|
+
registrySnapshot = await (0, smart_engines_sdk_1.fetchRegistrySnapshot)(registryServer);
|
|
278
|
+
}
|
|
279
|
+
catch (err) {
|
|
280
|
+
console.error(chalk_1.default.red(' Cannot verify — a validator-registry snapshot is required to verify\n' +
|
|
281
|
+
' any PQC attestation cert, and none could be fetched from\n' +
|
|
282
|
+
` ${registryServer}/api/registry/snapshot\n` +
|
|
283
|
+
` (${err.message})\n` +
|
|
284
|
+
' A certificate carries its own signers\' public keys, so verifying\n' +
|
|
285
|
+
' against those proves nothing (an attacker can mint ML-DSA keypairs).\n' +
|
|
286
|
+
' Point --server at a reachable smart-host, or set SMART_HOST_URL.\n' +
|
|
287
|
+
' Note: no smart-host tier serves this route yet, so today the SDK\n' +
|
|
288
|
+
' verifier (with a snapshot obtained from an independently-verified\n' +
|
|
289
|
+
' source) is the only working path; this command completes once a\n' +
|
|
290
|
+
' tier serves it.\n'));
|
|
291
|
+
process.exit(2);
|
|
292
|
+
}
|
|
270
293
|
const result = await (0, smart_engines_sdk_1.verifyPqcAttestation)(cert, payload, registrySnapshot);
|
|
271
294
|
if (result.valid) {
|
|
272
295
|
const n = result.verifiedSignerCount ?? 0;
|
|
@@ -276,20 +299,12 @@ Exit codes:
|
|
|
276
299
|
const m = Array.isArray(cert.signers)
|
|
277
300
|
? (cert.signers.length)
|
|
278
301
|
: n;
|
|
279
|
-
console.log(chalk_1.default.green(` Cert valid — ${n} of ${m} signers verified, threshold met`
|
|
302
|
+
console.log(chalk_1.default.green(` Cert valid — ${n} of ${m} signers verified, threshold met` +
|
|
303
|
+
(result.requiredSigners !== undefined
|
|
304
|
+
? ` (required ${result.requiredSigners})`
|
|
305
|
+
: '')));
|
|
280
306
|
process.exit(0);
|
|
281
307
|
}
|
|
282
|
-
else if (result.reason?.startsWith('registry-snapshot-required')) {
|
|
283
|
-
// Not a bad cert — we could not reach a registry to bind signers to.
|
|
284
|
-
// Say so plainly instead of reporting the cert as invalid.
|
|
285
|
-
console.error(chalk_1.default.red(' Cannot verify — a validator-registry snapshot is required for this\n' +
|
|
286
|
-
' consumer, and none could be fetched from\n' +
|
|
287
|
-
` ${registryServer}/api/registry/snapshot\n` +
|
|
288
|
-
' Signature-only verification is not sufficient for a security-bearing\n' +
|
|
289
|
-
' cert (an attacker can mint keypairs). Point --server at a reachable\n' +
|
|
290
|
-
' smart-host, or set SMART_HOST_URL.\n'));
|
|
291
|
-
process.exit(2);
|
|
292
|
-
}
|
|
293
308
|
else {
|
|
294
309
|
console.error(chalk_1.default.red(` Cert invalid — ${humanizeReason(result.reason)}`));
|
|
295
310
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -74,6 +74,7 @@ const redeploy_1 = require("./commands/redeploy");
|
|
|
74
74
|
const update_1 = require("./commands/update");
|
|
75
75
|
const app_lifecycle_1 = require("./commands/app-lifecycle");
|
|
76
76
|
const status_1 = require("./commands/status");
|
|
77
|
+
const customer_scope_1 = require("./commands/customer-scope");
|
|
77
78
|
const list_1 = require("./commands/list");
|
|
78
79
|
const ci_1 = require("./commands/ci");
|
|
79
80
|
const renew_1 = require("./commands/renew");
|
|
@@ -87,6 +88,7 @@ const hist_balance_1 = require("./commands/hist-balance");
|
|
|
87
88
|
const personhood_1 = require("./commands/personhood");
|
|
88
89
|
const verify_1 = require("./commands/verify");
|
|
89
90
|
const transactions_1 = require("./commands/transactions");
|
|
91
|
+
const transport_1 = require("./_lib/transport");
|
|
90
92
|
dotenv.config();
|
|
91
93
|
function getVersion() {
|
|
92
94
|
try {
|
|
@@ -103,6 +105,10 @@ program
|
|
|
103
105
|
.name('hsuite')
|
|
104
106
|
.description('HSuite CLI for Smart Engines V3 smart-app bootstrap and deployment')
|
|
105
107
|
.version(getVersion());
|
|
108
|
+
// The ONE plaintext opt-in (`--insecure` / HSUITE_ALLOW_INSECURE=1), declared
|
|
109
|
+
// globally here rather than re-added to every command that takes a
|
|
110
|
+
// `--server`/`--gateway` — see `_lib/transport.ts`.
|
|
111
|
+
(0, transport_1.installInsecureOptIn)(program);
|
|
106
112
|
program.addCommand(init_1.initCommand);
|
|
107
113
|
program.addCommand(subscribe_1.subscribeCommand);
|
|
108
114
|
program.addCommand(faucet_1.faucetCommand);
|
|
@@ -120,6 +126,7 @@ program.addCommand(app_lifecycle_1.suspendCommand);
|
|
|
120
126
|
program.addCommand(app_lifecycle_1.resumeCommand);
|
|
121
127
|
program.addCommand(app_lifecycle_1.deleteCommand);
|
|
122
128
|
program.addCommand(status_1.statusCommand);
|
|
129
|
+
program.addCommand(customer_scope_1.customerScopeCommand);
|
|
123
130
|
program.addCommand(list_1.listCommand);
|
|
124
131
|
program.addCommand(ci_1.buildCommand);
|
|
125
132
|
program.addCommand(ci_1.signCommand);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,0CAA8C;AAC9C,oDAAwD;AACxD,8CAAkD;AAClD,8CAAkD;AAClD,kDAAsD;AACtD,8CAAkD;AAClD,4DAAwF;AACxF,8CAAkD;AAClD,0CAA8C;AAC9C,sCAAuE;AACvE,4CAAgD;AAChD,4CAAgD;AAChD,gDAAuE;AACvE,oDAAwD;AACxD,4CAAgD;AAChD,gDAAoD;AACpD,sDAA0D;AAC1D,0DAA6D;AAC7D,sDAA0D;AAC1D,8CAAkD;AAClD,0DAA8D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|