@scalebun/cli 1.10.1 → 1.11.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/lib/commands/ci-init.d.ts.map +1 -1
- package/lib/commands/ci-init.js +80 -2
- package/lib/commands/ci-init.js.map +1 -1
- package/lib/commands/doctor.d.ts.map +1 -1
- package/lib/commands/doctor.js +148 -3
- package/lib/commands/doctor.js.map +1 -1
- package/lib/commands/link.d.ts +16 -0
- package/lib/commands/link.d.ts.map +1 -0
- package/lib/commands/link.js +164 -0
- package/lib/commands/link.js.map +1 -0
- package/lib/commands/login.d.ts.map +1 -1
- package/lib/commands/login.js +29 -7
- package/lib/commands/login.js.map +1 -1
- package/lib/commands/ota-bundle.d.ts +15 -2
- package/lib/commands/ota-bundle.d.ts.map +1 -1
- package/lib/commands/ota-bundle.js +142 -12
- package/lib/commands/ota-bundle.js.map +1 -1
- package/lib/commands/ota-channels.d.ts.map +1 -1
- package/lib/commands/ota-channels.js +213 -21
- package/lib/commands/ota-channels.js.map +1 -1
- package/lib/commands/ota-inspect.d.ts +3 -0
- package/lib/commands/ota-inspect.d.ts.map +1 -0
- package/lib/commands/ota-inspect.js +258 -0
- package/lib/commands/ota-inspect.js.map +1 -0
- package/lib/commands/ota-keys.d.ts +18 -0
- package/lib/commands/ota-keys.d.ts.map +1 -1
- package/lib/commands/ota-keys.js +149 -4
- package/lib/commands/ota-keys.js.map +1 -1
- package/lib/commands/ota-promote.d.ts +3 -0
- package/lib/commands/ota-promote.d.ts.map +1 -0
- package/lib/commands/ota-promote.js +194 -0
- package/lib/commands/ota-promote.js.map +1 -0
- package/lib/commands/ota-publish.d.ts.map +1 -1
- package/lib/commands/ota-publish.js +114 -38
- package/lib/commands/ota-publish.js.map +1 -1
- package/lib/commands/ota-rollout.d.ts.map +1 -1
- package/lib/commands/ota-rollout.js +201 -171
- package/lib/commands/ota-rollout.js.map +1 -1
- package/lib/commands/quickstart.d.ts.map +1 -1
- package/lib/commands/quickstart.js +110 -8
- package/lib/commands/quickstart.js.map +1 -1
- package/lib/commands/shell.d.ts +28 -0
- package/lib/commands/shell.d.ts.map +1 -0
- package/lib/commands/shell.js +512 -0
- package/lib/commands/shell.js.map +1 -0
- package/lib/index.js +140 -4
- package/lib/index.js.map +1 -1
- package/lib/ui/menu.d.ts +109 -0
- package/lib/ui/menu.d.ts.map +1 -0
- package/lib/ui/menu.js +314 -0
- package/lib/ui/menu.js.map +1 -0
- package/lib/utils/bundle.d.ts.map +1 -1
- package/lib/utils/bundle.js +24 -3
- package/lib/utils/bundle.js.map +1 -1
- package/lib/utils/context.d.ts +88 -0
- package/lib/utils/context.d.ts.map +1 -0
- package/lib/utils/context.js +247 -0
- package/lib/utils/context.js.map +1 -0
- package/lib/utils/credentials.d.ts +16 -0
- package/lib/utils/credentials.d.ts.map +1 -1
- package/lib/utils/credentials.js +14 -3
- package/lib/utils/credentials.js.map +1 -1
- package/lib/utils/guide.d.ts +63 -0
- package/lib/utils/guide.d.ts.map +1 -0
- package/lib/utils/guide.js +189 -0
- package/lib/utils/guide.js.map +1 -0
- package/lib/utils/output.d.ts +96 -0
- package/lib/utils/output.d.ts.map +1 -0
- package/lib/utils/output.js +135 -0
- package/lib/utils/output.js.map +1 -0
- package/lib/utils/prompt.d.ts +80 -6
- package/lib/utils/prompt.d.ts.map +1 -1
- package/lib/utils/prompt.js +184 -20
- package/lib/utils/prompt.js.map +1 -1
- package/lib/utils/provenance.d.ts +30 -0
- package/lib/utils/provenance.d.ts.map +1 -0
- package/lib/utils/provenance.js +157 -0
- package/lib/utils/provenance.js.map +1 -0
- package/lib/utils/resolve.d.ts +81 -0
- package/lib/utils/resolve.d.ts.map +1 -0
- package/lib/utils/resolve.js +139 -0
- package/lib/utils/resolve.js.map +1 -0
- package/lib/utils/sdkBin.d.ts +18 -0
- package/lib/utils/sdkBin.d.ts.map +1 -0
- package/lib/utils/sdkBin.js +76 -0
- package/lib/utils/sdkBin.js.map +1 -0
- package/lib/utils/ui.d.ts +10 -1
- package/lib/utils/ui.d.ts.map +1 -1
- package/lib/utils/ui.js +18 -57
- package/lib/utils/ui.js.map +1 -1
- package/lib/utils/validate.d.ts +62 -0
- package/lib/utils/validate.d.ts.map +1 -0
- package/lib/utils/validate.js +189 -0
- package/lib/utils/validate.js.map +1 -0
- package/package.json +3 -2
|
@@ -1,235 +1,265 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.registerOtaRolloutCommands = registerOtaRolloutCommands;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
37
8
|
const credentials_1 = require("../utils/credentials");
|
|
38
9
|
const client_1 = require("../api/client");
|
|
10
|
+
const validate_1 = require("../utils/validate");
|
|
11
|
+
const resolve_1 = require("../utils/resolve");
|
|
12
|
+
const prompt_1 = require("../utils/prompt");
|
|
13
|
+
const context_1 = require("../utils/context");
|
|
14
|
+
const output_1 = require("../utils/output");
|
|
39
15
|
function client() {
|
|
40
16
|
const creds = (0, credentials_1.readCredentials)();
|
|
41
|
-
if (!creds)
|
|
42
|
-
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
17
|
+
if (!creds)
|
|
18
|
+
(0, output_1.fail)('Not signed in.', ['Run `scalebun login` first.'], output_1.ExitCode.Usage);
|
|
45
19
|
return new client_1.ApiClient(creds);
|
|
46
20
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
* `--release-id` is explicit and always wins. Otherwise we take the single
|
|
51
|
-
* ACTIVE release, and refuse when that is ambiguous rather than guessing —
|
|
52
|
-
* picking "the newest" would eventually roll back the wrong thing on an app
|
|
53
|
-
* running an experiment or a multi-platform release, and this is a command
|
|
54
|
-
* people reach for during an incident.
|
|
55
|
-
*/
|
|
56
|
-
async function resolveRelease(api, appId, releaseId) {
|
|
57
|
-
if (releaseId) {
|
|
21
|
+
async function loadReleases(api, appId) {
|
|
22
|
+
try {
|
|
58
23
|
const all = await api.get(`/saas/apps/${appId}/ota/releases`);
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return found;
|
|
24
|
+
const rows = Array.isArray(all) ? all : [];
|
|
25
|
+
// Any command that fetched releases refreshes the cache the splash reads,
|
|
26
|
+
// so the onboarding stage self-corrects without its own request.
|
|
27
|
+
(0, context_1.cacheReleaseCount)(rows.length, process.cwd());
|
|
28
|
+
return rows;
|
|
65
29
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (active.length === 0) {
|
|
69
|
-
console.error('❌ No ACTIVE release on this app. Pass --release-id explicitly.');
|
|
70
|
-
process.exit(1);
|
|
30
|
+
catch (err) {
|
|
31
|
+
(0, output_1.failFromError)('Could not list releases', err);
|
|
71
32
|
}
|
|
72
|
-
if (active.length > 1) {
|
|
73
|
-
console.error(`❌ ${active.length} ACTIVE releases — refusing to guess. Pass --release-id:\n` +
|
|
74
|
-
active
|
|
75
|
-
.map((r) => ` ${r.id} v${r.bundle?.version ?? '?'} ${r.bundle?.platform ?? ''} ` +
|
|
76
|
-
`@ ${r.rolloutPercent}%`)
|
|
77
|
-
.join('\n'));
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
return active[0];
|
|
81
33
|
}
|
|
82
|
-
|
|
83
|
-
|
|
34
|
+
/** Shared flags. Every control command takes the same three. */
|
|
35
|
+
function common(c) {
|
|
36
|
+
return c
|
|
37
|
+
.option('--app-id <id>', 'Scalebun app ID (resolved from scalebun.json when omitted)')
|
|
38
|
+
.option('--release-id <id>', 'Act on this release specifically')
|
|
39
|
+
.option('--json', 'Machine-readable output');
|
|
84
40
|
}
|
|
85
41
|
function registerOtaRolloutCommands(ota) {
|
|
86
42
|
// ── releases ──────────────────────────────────────────────────────────────
|
|
87
43
|
ota
|
|
88
44
|
.command('releases')
|
|
89
45
|
.description('List releases and their current rollout state')
|
|
90
|
-
.
|
|
46
|
+
.option('--app-id <id>', 'Scalebun app ID (resolved from scalebun.json when omitted)')
|
|
47
|
+
.option('--json', 'Machine-readable output')
|
|
91
48
|
.action(async (opts) => {
|
|
92
49
|
const api = client();
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (rows.length
|
|
97
|
-
console.log('
|
|
50
|
+
const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId, nonInteractive: opts.json });
|
|
51
|
+
const rows = await loadReleases(api, appId);
|
|
52
|
+
(0, output_1.emit)(() => {
|
|
53
|
+
if (!rows.length) {
|
|
54
|
+
console.log('\nNo releases yet.');
|
|
55
|
+
// The empty state is where an offered next step is worth most:
|
|
56
|
+
// there is nothing on screen to act on, so the only useful thing
|
|
57
|
+
// the command can do is point at what comes first.
|
|
58
|
+
(0, output_1.printNextSteps)([{ label: 'Ship one', argv: ['ota', 'publish'] }], chalk_1.default.cyan);
|
|
98
59
|
return;
|
|
99
60
|
}
|
|
100
61
|
console.log('');
|
|
101
62
|
for (const r of rows) {
|
|
102
|
-
const
|
|
103
|
-
console.log(`${
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
console.log(` targets: ${r.targetAppVersion}`);
|
|
63
|
+
const marker = r.status === 'ACTIVE' ? chalk_1.default.cyan('▶') : ' ';
|
|
64
|
+
console.log(`${marker} ${chalk_1.default.bold((0, resolve_1.describeRelease)(r))}` +
|
|
65
|
+
(r.targetAppVersion ? chalk_1.default.dim(` targets ${r.targetAppVersion}`) : ''));
|
|
66
|
+
console.log(chalk_1.default.dim(` ${r.id}`));
|
|
107
67
|
}
|
|
108
68
|
console.log('');
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
69
|
+
(0, output_1.printNextSteps)([
|
|
70
|
+
{ label: 'Set the share', argv: ['ota', 'rollout', '--percent', '100'] },
|
|
71
|
+
{ label: 'Stop one', argv: ['ota', 'pause'] },
|
|
72
|
+
{ label: 'Watch them', argv: ['ota', 'status'] },
|
|
73
|
+
], chalk_1.default.cyan);
|
|
74
|
+
}, { ok: true, count: rows.length, releases: rows });
|
|
114
75
|
});
|
|
115
76
|
// ── rollout ───────────────────────────────────────────────────────────────
|
|
116
|
-
ota
|
|
77
|
+
common(ota
|
|
117
78
|
.command('rollout')
|
|
118
79
|
.description('Set the rollout percentage on a release')
|
|
119
|
-
.requiredOption('--
|
|
120
|
-
.requiredOption('--percent <n>', 'Target rollout percentage (0-100)')
|
|
121
|
-
.option('--release-id <id>', 'Release to change (defaults to the single ACTIVE release)')
|
|
122
|
-
.action(async (opts) => {
|
|
123
|
-
const percent = Number(opts.percent);
|
|
124
|
-
if (!Number.isInteger(percent) || percent < 0 || percent > 100) {
|
|
125
|
-
console.error(`❌ --percent must be a whole number 0-100 (got "${opts.percent}").`);
|
|
126
|
-
process.exit(1);
|
|
127
|
-
}
|
|
80
|
+
.requiredOption('--percent <n>', 'Target rollout percentage, 0-100')).action(async (opts) => {
|
|
128
81
|
const api = client();
|
|
82
|
+
const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId, nonInteractive: opts.json });
|
|
83
|
+
// Validate before the round trip — the precedent publish set for itself.
|
|
84
|
+
// Shared with --rollout on publish and promote, so all three accept the
|
|
85
|
+
// same things — including a trailing `%`, which Number() reads as NaN.
|
|
86
|
+
const pct = (0, validate_1.checkedPercent)('--percent', opts.percent);
|
|
87
|
+
const releases = await loadReleases(api, appId);
|
|
88
|
+
const release = await (0, resolve_1.resolveRelease)(releases, {
|
|
89
|
+
releaseId: opts.releaseId,
|
|
90
|
+
statuses: ['ACTIVE', 'PAUSED'],
|
|
91
|
+
verb: 'widen',
|
|
92
|
+
nonInteractive: opts.json,
|
|
93
|
+
});
|
|
94
|
+
// Lowering does not take the bundle off devices that already applied it.
|
|
95
|
+
// Saying so here is the difference between an operator thinking they have
|
|
96
|
+
// undone something and discovering later that they have not.
|
|
97
|
+
if (pct < (release.rolloutPercent ?? 0) && !(0, output_1.isJson)()) {
|
|
98
|
+
console.log(chalk_1.default.yellow(`⚠️ Lowering ${release.rolloutPercent}% → ${pct}% stops NEW devices receiving it.\n` +
|
|
99
|
+
' Devices that already applied the bundle keep it — `ota rollback` is how you take it away.'));
|
|
100
|
+
}
|
|
129
101
|
try {
|
|
130
|
-
|
|
131
|
-
if (release.status !== 'ACTIVE') {
|
|
132
|
-
console.error(`❌ Release is ${release.status}, not ACTIVE. ` +
|
|
133
|
-
`Use \`ota resume\` before changing its rollout.`);
|
|
134
|
-
process.exit(1);
|
|
135
|
-
}
|
|
136
|
-
console.log(`🎯 ${describe(release)} → ${percent}%`);
|
|
137
|
-
await api.patch(`/saas/apps/${opts.appId}/ota/releases/${release.id}`, {
|
|
138
|
-
rolloutPercent: percent,
|
|
139
|
-
});
|
|
140
|
-
console.log(`✅ Rollout set to ${percent}%. Takes effect on each device's next check.`);
|
|
102
|
+
await api.patch(`/saas/apps/${appId}/ota/releases/${release.id}`, { rolloutPercent: pct });
|
|
141
103
|
}
|
|
142
104
|
catch (err) {
|
|
143
|
-
|
|
144
|
-
process.exit(1);
|
|
105
|
+
(0, output_1.failFromError)('Could not set the rollout', err);
|
|
145
106
|
}
|
|
107
|
+
(0, output_1.emit)(() => {
|
|
108
|
+
console.log(`✅ ${(0, resolve_1.describeRelease)(release)} → ${chalk_1.default.bold(`${pct}%`)}`);
|
|
109
|
+
(0, output_1.printNextSteps)([
|
|
110
|
+
{ label: 'Watch it', argv: ['ota', 'status'] },
|
|
111
|
+
// Only offer widening while there is room to widen.
|
|
112
|
+
...(pct < 100 ? [{ label: 'Widen it', argv: ['ota', 'rollout', '--percent', '100'] }] : []),
|
|
113
|
+
{ label: 'Stop it', argv: ['ota', 'pause'] },
|
|
114
|
+
{ label: 'Undo it', argv: ['ota', 'rollback'] },
|
|
115
|
+
], chalk_1.default.cyan);
|
|
116
|
+
}, { ok: true, releaseId: release.id, rolloutPercent: pct });
|
|
146
117
|
});
|
|
147
118
|
// ── pause ─────────────────────────────────────────────────────────────────
|
|
148
|
-
ota
|
|
149
|
-
.command('pause')
|
|
150
|
-
.description('Pause a release — no new devices receive it')
|
|
151
|
-
.requiredOption('--app-id <id>', 'Scalebun application ID')
|
|
152
|
-
.option('--release-id <id>', 'Release to pause (defaults to the single ACTIVE release)')
|
|
153
|
-
.action(async (opts) => {
|
|
119
|
+
common(ota.command('pause').description('Pause a release — no new devices receive it')).action(async (opts) => {
|
|
154
120
|
const api = client();
|
|
121
|
+
const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId, nonInteractive: opts.json });
|
|
122
|
+
const releases = await loadReleases(api, appId);
|
|
123
|
+
const release = await (0, resolve_1.resolveRelease)(releases, {
|
|
124
|
+
releaseId: opts.releaseId,
|
|
125
|
+
statuses: ['ACTIVE'],
|
|
126
|
+
verb: 'pause',
|
|
127
|
+
nonInteractive: opts.json,
|
|
128
|
+
});
|
|
155
129
|
try {
|
|
156
|
-
|
|
157
|
-
console.log(`⏸ Pausing ${describe(release)}`);
|
|
158
|
-
await api.patch(`/saas/apps/${opts.appId}/ota/releases/${release.id}`, {
|
|
159
|
-
status: 'PAUSED',
|
|
160
|
-
});
|
|
161
|
-
console.log('✅ Paused. Devices that already installed this bundle KEEP running it — ' +
|
|
162
|
-
'pausing stops distribution, it does not revert anyone. Use `ota rollback` for that.');
|
|
130
|
+
await api.patch(`/saas/apps/${appId}/ota/releases/${release.id}`, { status: 'PAUSED' });
|
|
163
131
|
}
|
|
164
132
|
catch (err) {
|
|
165
|
-
|
|
166
|
-
process.exit(1);
|
|
133
|
+
(0, output_1.failFromError)('Could not pause', err);
|
|
167
134
|
}
|
|
135
|
+
(0, output_1.emit)(() => {
|
|
136
|
+
console.log(`⏸ Paused ${chalk_1.default.bold((0, resolve_1.describeRelease)(release))}`);
|
|
137
|
+
console.log(chalk_1.default.dim(' Devices that already installed this bundle KEEP running it — pausing stops\n' +
|
|
138
|
+
' distribution, it does not revert anyone. `ota rollback` does that.'));
|
|
139
|
+
(0, output_1.printNextSteps)([
|
|
140
|
+
{ label: 'Undo the pause', argv: ['ota', 'resume'] },
|
|
141
|
+
{ label: 'Revert devices', argv: ['ota', 'rollback'] },
|
|
142
|
+
{ label: 'Watch it', argv: ['ota', 'status'] },
|
|
143
|
+
], chalk_1.default.cyan);
|
|
144
|
+
}, { ok: true, releaseId: release.id, status: 'PAUSED' });
|
|
168
145
|
});
|
|
169
146
|
// ── resume ────────────────────────────────────────────────────────────────
|
|
170
|
-
ota
|
|
171
|
-
.command('resume')
|
|
172
|
-
.description('Resume a paused release')
|
|
173
|
-
.requiredOption('--app-id <id>', 'Scalebun application ID')
|
|
174
|
-
.requiredOption('--release-id <id>', 'Release to resume')
|
|
175
|
-
.action(async (opts) => {
|
|
147
|
+
common(ota.command('resume').description('Resume a paused release')).action(async (opts) => {
|
|
176
148
|
const api = client();
|
|
149
|
+
const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId, nonInteractive: opts.json });
|
|
150
|
+
const releases = await loadReleases(api, appId);
|
|
151
|
+
// PAUSED, not ACTIVE — the whole point of resume is that the release is
|
|
152
|
+
// not active. The old resolver looked for ACTIVE and so could never have
|
|
153
|
+
// helped here, which is why this command demanded an explicit id.
|
|
154
|
+
const release = await (0, resolve_1.resolveRelease)(releases, {
|
|
155
|
+
releaseId: opts.releaseId,
|
|
156
|
+
statuses: ['PAUSED'],
|
|
157
|
+
verb: 'resume',
|
|
158
|
+
nonInteractive: opts.json,
|
|
159
|
+
});
|
|
177
160
|
try {
|
|
178
|
-
|
|
179
|
-
await api.patch(`/saas/apps/${opts.appId}/ota/releases/${opts.releaseId}`, {
|
|
180
|
-
status: 'ACTIVE',
|
|
181
|
-
});
|
|
182
|
-
console.log('✅ Resumed at its existing rollout percentage.');
|
|
161
|
+
await api.patch(`/saas/apps/${appId}/ota/releases/${release.id}`, { status: 'ACTIVE' });
|
|
183
162
|
}
|
|
184
163
|
catch (err) {
|
|
185
|
-
|
|
186
|
-
process.exit(1);
|
|
164
|
+
(0, output_1.failFromError)('Could not resume', err);
|
|
187
165
|
}
|
|
166
|
+
(0, output_1.emit)(() => {
|
|
167
|
+
console.log(`▶ Resumed ${chalk_1.default.bold((0, resolve_1.describeRelease)(release))} at its existing rollout percentage.`);
|
|
168
|
+
(0, output_1.printNextSteps)([
|
|
169
|
+
{ label: 'Watch it', argv: ['ota', 'status'] },
|
|
170
|
+
{ label: 'Change the share', argv: ['ota', 'rollout', '--percent', '100'] },
|
|
171
|
+
{ label: 'Stop it again', argv: ['ota', 'pause'] },
|
|
172
|
+
], chalk_1.default.cyan);
|
|
173
|
+
}, { ok: true, releaseId: release.id, status: 'ACTIVE' });
|
|
188
174
|
});
|
|
189
175
|
// ── rollback ──────────────────────────────────────────────────────────────
|
|
190
|
-
ota
|
|
176
|
+
common(ota
|
|
191
177
|
.command('rollback')
|
|
192
178
|
.description('Roll back a release — devices revert to the previous bundle')
|
|
193
|
-
.requiredOption('--app-id <id>', 'Scalebun application ID')
|
|
194
|
-
.option('--release-id <id>', 'Release to roll back (defaults to the single ACTIVE release)')
|
|
195
179
|
.option('--yes', 'Skip the confirmation prompt (required in CI)')
|
|
196
|
-
.action(async (opts) => {
|
|
180
|
+
.option('--dry-run', 'Show the blast radius and exit without changing anything')).action(async (opts) => {
|
|
197
181
|
const api = client();
|
|
182
|
+
const appId = await (0, resolve_1.resolveAppId)({ appId: opts.appId, nonInteractive: opts.json });
|
|
183
|
+
const releases = await loadReleases(api, appId);
|
|
184
|
+
const release = await (0, resolve_1.resolveRelease)(releases, {
|
|
185
|
+
releaseId: opts.releaseId,
|
|
186
|
+
statuses: ['ACTIVE', 'PAUSED'],
|
|
187
|
+
verb: 'roll back',
|
|
188
|
+
nonInteractive: opts.json || opts.yes,
|
|
189
|
+
});
|
|
190
|
+
// Who this actually touches. The dashboard has shown this for a while; the
|
|
191
|
+
// terminal asked you to confirm a fleet-wide revert with a version number
|
|
192
|
+
// and nothing else.
|
|
193
|
+
let blast = null;
|
|
198
194
|
try {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
//
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}
|
|
195
|
+
blast = await api.get(`/saas/apps/${appId}/ota/releases/${release.id}/blast-radius`);
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
// Best-effort. An unreachable analytics route must never block the one
|
|
199
|
+
// command someone runs during an incident.
|
|
200
|
+
blast = null;
|
|
201
|
+
}
|
|
202
|
+
const renderBlast = () => {
|
|
203
|
+
if (!blast) {
|
|
204
|
+
console.log(chalk_1.default.dim(' Blast radius unavailable — proceeding without it.'));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
// 24, not 22: "excluded from estimate" is exactly 22 characters, so a
|
|
208
|
+
// 22-wide column produced "excluded from estimate2684".
|
|
209
|
+
const line = (k, v) => console.log(chalk_1.default.dim(` ${k.padEnd(24)}`) + v);
|
|
210
|
+
line('devices affected', String(blast.targetedDevices ?? 0));
|
|
211
|
+
// null means NOT MEASURED, and the service returns null deliberately.
|
|
212
|
+
// Printing 0 here would turn "we do not know" into "nobody is paying".
|
|
213
|
+
line('paying users', blast.payingUsers == null ? chalk_1.default.dim('not measured') : String(blast.payingUsers));
|
|
214
|
+
line('revenue at risk', blast.mrrAtRisk == null
|
|
215
|
+
? chalk_1.default.dim('not measured')
|
|
216
|
+
: `${blast.mrrAtRisk} ${blast.currency ?? ''}`.trim());
|
|
217
|
+
if (blast.devicesWithoutInstallationId) {
|
|
218
|
+
line('excluded from estimate', `${blast.devicesWithoutInstallationId} without an install id`);
|
|
223
219
|
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
220
|
+
};
|
|
221
|
+
if (opts.dryRun) {
|
|
222
|
+
(0, output_1.emit)(() => {
|
|
223
|
+
console.log('');
|
|
224
|
+
console.log(`🔎 Rolling back ${chalk_1.default.bold((0, resolve_1.describeRelease)(release))} would affect:`);
|
|
225
|
+
renderBlast();
|
|
226
|
+
console.log(chalk_1.default.dim('\n --dry-run: nothing was changed.\n'));
|
|
227
|
+
}, { ok: true, dryRun: true, releaseId: release.id, blastRadius: blast });
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (!opts.yes) {
|
|
231
|
+
if ((0, resolve_1.isNonInteractive)()) {
|
|
232
|
+
(0, output_1.fail)('Refusing to roll back without confirmation.', ['Pass --yes to proceed in CI.'], output_1.ExitCode.Usage);
|
|
233
|
+
}
|
|
234
|
+
console.log('');
|
|
235
|
+
console.log(chalk_1.default.yellow(`⚠️ Roll back ${chalk_1.default.bold((0, resolve_1.describeRelease)(release))}?`));
|
|
236
|
+
renderBlast();
|
|
237
|
+
console.log(chalk_1.default.dim(' Every device on this release reverts to its previous bundle.'));
|
|
238
|
+
console.log('');
|
|
239
|
+
const ok = await (0, prompt_1.confirmPhrase)(' Type "yes" to confirm: ', 'yes', { caseInsensitive: true });
|
|
240
|
+
(0, prompt_1.closePrompts)();
|
|
241
|
+
if (!ok) {
|
|
242
|
+
console.log('Cancelled — nothing was rolled back.');
|
|
243
|
+
process.exit(output_1.ExitCode.Ok);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
try {
|
|
247
|
+
await api.post(`/saas/apps/${appId}/ota/releases/${release.id}/rollback`, {});
|
|
228
248
|
}
|
|
229
249
|
catch (err) {
|
|
230
|
-
|
|
231
|
-
process.exit(1);
|
|
250
|
+
(0, output_1.failFromError)('Rollback failed', err);
|
|
232
251
|
}
|
|
252
|
+
(0, output_1.emit)(() => {
|
|
253
|
+
console.log(`↺ Rolled back ${chalk_1.default.bold((0, resolve_1.describeRelease)(release))}`);
|
|
254
|
+
console.log(chalk_1.default.dim(' Devices revert on their next check. Promote a newer bundle to move forward.'));
|
|
255
|
+
(0, output_1.printNextSteps)([
|
|
256
|
+
{ label: 'Watch it', argv: ['ota', 'status'] },
|
|
257
|
+
// "Promote a newer bundle to move forward" is the sentence above;
|
|
258
|
+
// this is the command that does it.
|
|
259
|
+
{ label: 'Ship a fix', argv: ['ota', 'promote'] },
|
|
260
|
+
{ label: 'See every release', argv: ['ota', 'releases'] },
|
|
261
|
+
], chalk_1.default.cyan);
|
|
262
|
+
}, { ok: true, releaseId: release.id, status: 'ROLLED_BACK', blastRadius: blast });
|
|
233
263
|
});
|
|
234
264
|
}
|
|
235
265
|
//# sourceMappingURL=ota-rollout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ota-rollout.js","sourceRoot":"","sources":["../../src/commands/ota-rollout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ota-rollout.js","sourceRoot":"","sources":["../../src/commands/ota-rollout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8CpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsF1D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmOhE"}
|