@optimizely/ocp-cli 1.1.10 → 1.2.1-beta.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/commands/app/Abandon.d.ts +5 -0
- package/dist/commands/app/Abandon.js +133 -0
- package/dist/commands/app/Abandon.js.map +1 -0
- package/dist/commands/directory/List.js +3 -2
- package/dist/commands/directory/List.js.map +1 -1
- package/dist/commands/directory/Uprade.js +14 -6
- package/dist/commands/directory/Uprade.js.map +1 -1
- package/dist/lib/Rivendell.d.ts +23 -2
- package/dist/lib/Rivendell.js +26 -1
- package/dist/lib/Rivendell.js.map +1 -1
- package/dist/lib/Shards.d.ts +1 -0
- package/dist/lib/Shards.js +5 -1
- package/dist/lib/Shards.js.map +1 -1
- package/dist/lib/formatVersionState.js +2 -0
- package/dist/lib/formatVersionState.js.map +1 -1
- package/dist/oo-cli.manifest.json +34 -2
- package/package.json +2 -2
- package/src/commands/app/Abandon.ts +116 -0
- package/src/commands/directory/List.ts +3 -2
- package/src/commands/directory/Uprade.ts +15 -6
- package/src/lib/Rivendell.ts +36 -3
- package/src/lib/Shards.ts +4 -0
- package/src/lib/formatVersionState.ts +2 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AbandonCommand = void 0;
|
|
10
|
+
const oo_cli_1 = require("oo-cli");
|
|
11
|
+
const handleInterrupt_1 = require("../../lib/handleInterrupt");
|
|
12
|
+
const die_1 = require("../../lib/die");
|
|
13
|
+
const chalk = require("chalk");
|
|
14
|
+
const Rivendell_1 = require("../../lib/Rivendell");
|
|
15
|
+
const Shards_1 = require("../../lib/Shards");
|
|
16
|
+
const formatError_1 = require("../../lib/formatError");
|
|
17
|
+
const TerminalConfirm_1 = require("../../lib/TerminalConfirm");
|
|
18
|
+
const RivendellApi_1 = require("../../lib/RivendellApi");
|
|
19
|
+
var AppVersionState = Rivendell_1.Rivendell.AppVersionState;
|
|
20
|
+
var ApiError = RivendellApi_1.RivendellApi.ApiError;
|
|
21
|
+
const http2_1 = require("http2");
|
|
22
|
+
const ABANDONABLE_STATES = [
|
|
23
|
+
AppVersionState.NEW,
|
|
24
|
+
AppVersionState.BUILD_FAILED,
|
|
25
|
+
AppVersionState.PUBLISHED
|
|
26
|
+
];
|
|
27
|
+
let AbandonCommand = class AbandonCommand {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.noPrompt = false;
|
|
30
|
+
}
|
|
31
|
+
async abandon() {
|
|
32
|
+
var _a;
|
|
33
|
+
(0, handleInterrupt_1.handleInterrupt)();
|
|
34
|
+
if (!/[\w-]+@\d+\.\d+\.\d+(?:-\w+\.\d+)?/.test(this.appVersion)) {
|
|
35
|
+
(0, die_1.die)('appVersion is required in the format of app@1.0.0');
|
|
36
|
+
}
|
|
37
|
+
if (!await TerminalConfirm_1.TerminalConfirm.ask(chalk.red('Abandoning is not reversible. Are you sure you want to abandon? [y/n]'), this.noPrompt, true)) {
|
|
38
|
+
(0, die_1.die)('Operation cancelled.');
|
|
39
|
+
}
|
|
40
|
+
const [appId, version] = this.appVersion.split('@');
|
|
41
|
+
console.log(chalk.gray(`Abandoning version ${this.appVersion} ...`));
|
|
42
|
+
try {
|
|
43
|
+
const primaryAppVersion = await Rivendell_1.Rivendell.fetchAppVersion({ appId, version }, 'us');
|
|
44
|
+
let manifest;
|
|
45
|
+
if (primaryAppVersion && primaryAppVersion.manifestJson) {
|
|
46
|
+
manifest = JSON.parse(primaryAppVersion.manifestJson);
|
|
47
|
+
}
|
|
48
|
+
let shards;
|
|
49
|
+
if (manifest && manifest.meta) {
|
|
50
|
+
shards = await (0, Shards_1.shardsFromManifest)(manifest);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
shards = ['us'];
|
|
54
|
+
}
|
|
55
|
+
let abandonable = false;
|
|
56
|
+
const appVersionStates = new Map();
|
|
57
|
+
for (const shard of shards) {
|
|
58
|
+
try {
|
|
59
|
+
const appVersion = await Rivendell_1.Rivendell.fetchAppVersion({ appId, version }, shard);
|
|
60
|
+
if (ABANDONABLE_STATES.includes(appVersion.state)) {
|
|
61
|
+
abandonable = true;
|
|
62
|
+
}
|
|
63
|
+
else if (appVersion.state !== AppVersionState.ABANDONED) {
|
|
64
|
+
console.error(chalk.red(`AppVersion must be in a abandonable state in all regions. Exiting..`));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
appVersionStates.set(shard, appVersion.state);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (error instanceof ApiError && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === http2_1.constants.HTTP_STATUS_NOT_FOUND) {
|
|
71
|
+
console.error(chalk.red(`Could not locate the appVersion in region: ${shard}.`));
|
|
72
|
+
if (!await TerminalConfirm_1.TerminalConfirm.ask('Continue with other regions?', this.noPrompt, true)) {
|
|
73
|
+
(0, die_1.die)('Operation cancelled.');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
throw error;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!abandonable) {
|
|
82
|
+
console.log(chalk.yellow(`AppVersion is already in a abandoned state in all regions. Exiting..`));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!shards.includes('us')) {
|
|
86
|
+
try {
|
|
87
|
+
await Rivendell_1.Rivendell.abandon(appId, version, 'us');
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error(chalk.red(`Failed to abandon in the primary region, error ${(0, formatError_1.formatError)(error)}`));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
for (const shard of shards) {
|
|
95
|
+
try {
|
|
96
|
+
if (!appVersionStates.get(shard))
|
|
97
|
+
continue;
|
|
98
|
+
const appVersionState = appVersionStates.get(shard);
|
|
99
|
+
if (appVersionState === AppVersionState.ABANDONED) {
|
|
100
|
+
console.log(chalk.yellow(`Already abandoned in region ${shard}. Skipping...`));
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
await Rivendell_1.Rivendell.abandon(appId, version, shard);
|
|
104
|
+
console.log(chalk.green(`Abandon completed in region ${shard}`));
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
(0, die_1.die)(`Failed to abandon in region ${shard}, error: ${(0, formatError_1.formatError)(error)}. Exiting...`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
console.log(chalk.green('Abandon completed in all regions'));
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error(chalk.red(`Error while abandoning ${(0, formatError_1.formatError)(error)}`));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
__decorate([
|
|
118
|
+
oo_cli_1.param,
|
|
119
|
+
(0, oo_cli_1.help)('The App ID and version (e.g. my_app@1.0.0)')
|
|
120
|
+
], AbandonCommand.prototype, "appVersion", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, oo_cli_1.flag)('no-prompt'),
|
|
123
|
+
(0, oo_cli_1.help)('Use default answer to any prompt question (default is yes, except for destructive operations)')
|
|
124
|
+
], AbandonCommand.prototype, "noPrompt", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
oo_cli_1.command,
|
|
127
|
+
(0, oo_cli_1.help)('Abandon (cease processing) a specific app version that has not been published yet')
|
|
128
|
+
], AbandonCommand.prototype, "abandon", null);
|
|
129
|
+
AbandonCommand = __decorate([
|
|
130
|
+
(0, oo_cli_1.namespace)('app')
|
|
131
|
+
], AbandonCommand);
|
|
132
|
+
exports.AbandonCommand = AbandonCommand;
|
|
133
|
+
//# sourceMappingURL=Abandon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Abandon.js","sourceRoot":"","sources":["../../../src/commands/app/Abandon.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,8 @@ let ListCommand = class ListCommand {
|
|
|
41
41
|
render(appVersions) {
|
|
42
42
|
const header = ['App ID', 'Version', 'State', 'Created At', 'Updated At'].map((item) => chalk.grey(item));
|
|
43
43
|
const rows = appVersions
|
|
44
|
-
.filter((appVersion) => this.allStatuses || appVersion.state !== AppVersionState.STOPPED
|
|
44
|
+
.filter((appVersion) => this.allStatuses || (appVersion.state !== AppVersionState.STOPPED
|
|
45
|
+
&& appVersion.state !== AppVersionState.ABANDONED))
|
|
45
46
|
.sort((lhs, rhs) => {
|
|
46
47
|
let result = lhs.id.appId.localeCompare(rhs.id.appId);
|
|
47
48
|
if (result === 0) {
|
|
@@ -85,7 +86,7 @@ __decorate([
|
|
|
85
86
|
], ListCommand.prototype, "appId", void 0);
|
|
86
87
|
__decorate([
|
|
87
88
|
oo_cli_1.flag,
|
|
88
|
-
(0, oo_cli_1.help)('Include all statuses. STOPPED is filtered by default')
|
|
89
|
+
(0, oo_cli_1.help)('Include all statuses. STOPPED and ABANDONED is filtered by default')
|
|
89
90
|
], ListCommand.prototype, "allStatuses", void 0);
|
|
90
91
|
__decorate([
|
|
91
92
|
(0, oo_cli_1.option)('a'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/commands/directory/List.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,mCAA+E;AAC/E,iCAAiC;AACjC,oCAAoC;AACpC,uCAAkC;AAClC,qEAAgE;AAChE,uDAAyD;AACzD,mDAA8C;AAC9C,uDAAkD;AAElD,IAAO,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC;AACnD,IAAO,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC;AAEnD,IAAO,YAAY,GAAG,qBAAS,CAAC,YAAY,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAAjB;QAQG,gBAAW,GAAY,KAAK,CAAC;QAI7B,iBAAY,GAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/commands/directory/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,9 +29,9 @@ let UpgradeCommand = class UpgradeCommand {
|
|
|
29
29
|
console.log(chalk.yellow(`${this.trackerId} is currently at ${this.appId}@${install.version} in ${shard}.`));
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
|
-
await Rivendell_1.Rivendell.upgrade(install.id, this.appId, this.toVersion, shard);
|
|
32
|
+
const result = await Rivendell_1.Rivendell.upgrade(install.id, this.appId, this.toVersion, shard);
|
|
33
33
|
console.log(`Upgrading ${this.appId} for ${this.trackerId} to ${this.toVersion} in ${shard}`);
|
|
34
|
-
await this.watchForCompletion(shard);
|
|
34
|
+
await this.watchForCompletion(shard, result.id);
|
|
35
35
|
console.log(chalk.green(`Upgraded ${this.trackerId} to ${this.appId}@${this.toVersion} in ${shard}.`));
|
|
36
36
|
terminal_kit_1.terminal.removeAllListeners('key');
|
|
37
37
|
}
|
|
@@ -40,7 +40,7 @@ let UpgradeCommand = class UpgradeCommand {
|
|
|
40
40
|
(0, die_1.die)((0, formatError_1.formatError)(e));
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
watchForCompletion(shard) {
|
|
43
|
+
watchForCompletion(shard, upgradeId) {
|
|
44
44
|
console.log(chalk.gray(`Upgrade was scheduled in ${shard}, watching for completion... CTRL+C to stop checking.`));
|
|
45
45
|
return new Promise((resolve, reject) => {
|
|
46
46
|
let attempts = 0;
|
|
@@ -48,14 +48,22 @@ let UpgradeCommand = class UpgradeCommand {
|
|
|
48
48
|
const spinner = new TerminalSpinner_1.TerminalSpinner().start('');
|
|
49
49
|
const checkUpgrade = () => {
|
|
50
50
|
attempts++;
|
|
51
|
-
Rivendell_1.Rivendell.
|
|
52
|
-
.then((
|
|
53
|
-
|
|
51
|
+
Rivendell_1.Rivendell.fetchUpgrade(upgradeId, shard)
|
|
52
|
+
.then((upgrade) => {
|
|
53
|
+
spinner.update(`Upgrade status: ${upgrade.status.toString().replace('_', ' ').toLowerCase()}`);
|
|
54
|
+
if (upgrade.status === Rivendell_1.Rivendell.UpgradeStatus.COMPLETE) {
|
|
54
55
|
clearInterval(interval);
|
|
55
56
|
spinner.stop();
|
|
56
57
|
resolve();
|
|
57
58
|
}
|
|
58
59
|
else {
|
|
60
|
+
if (upgrade.status === Rivendell_1.Rivendell.UpgradeStatus.FINALIZING_LIFECYCLE_FAILED.toString() ||
|
|
61
|
+
upgrade.status === Rivendell_1.Rivendell.UpgradeStatus.UPDATING_WEBHOOKS_FAILED.toString() ||
|
|
62
|
+
upgrade.status === Rivendell_1.Rivendell.UpgradeStatus.UPGRADING_LIFECYCLE_FAILED.toString()) {
|
|
63
|
+
clearInterval(interval);
|
|
64
|
+
spinner.stop();
|
|
65
|
+
(0, die_1.die)(`Upgrade failed with status ${upgrade.status}: ${upgrade.message}`);
|
|
66
|
+
}
|
|
59
67
|
if (attempts > 300) {
|
|
60
68
|
clearInterval(interval);
|
|
61
69
|
spinner.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uprade.js","sourceRoot":"","sources":["../../../src/commands/directory/Uprade.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+BAA+B;AAC/B,mCAAyE;AACzE,uCAAkC;AAClC,uDAAkD;AAClD,+DAA0D;AAC1D,+DAA0D;AAC1D,+CAAsC;AACtC,mDAA8C;AAGvC,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QAgBG,iBAAY,GAAW,EAAE,CAAC;QAE1B,iCAA4B,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Uprade.js","sourceRoot":"","sources":["../../../src/commands/directory/Uprade.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Rivendell.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ export declare namespace Rivendell {
|
|
|
11
11
|
UPGRADING_RUNTIME = "UPGRADING_RUNTIME",
|
|
12
12
|
STOPPING = "STOPPING",
|
|
13
13
|
STOP_FAILED = "STOP_FAILED",
|
|
14
|
-
STOPPED = "STOPPED"
|
|
14
|
+
STOPPED = "STOPPED",
|
|
15
|
+
ABANDONED = "ABANDONED"
|
|
15
16
|
}
|
|
16
17
|
enum ReviewStatus {
|
|
17
18
|
NOT_STARTED = "NOT_STARTED",
|
|
@@ -184,6 +185,21 @@ export declare namespace Rivendell {
|
|
|
184
185
|
start?: number;
|
|
185
186
|
end?: number;
|
|
186
187
|
}
|
|
188
|
+
interface Upgrade {
|
|
189
|
+
id: number;
|
|
190
|
+
status: UpgradeStatus;
|
|
191
|
+
message?: string;
|
|
192
|
+
}
|
|
193
|
+
enum UpgradeStatus {
|
|
194
|
+
SCHEDULED = "SCHEDULED",
|
|
195
|
+
UPGRADING_LIFECYCLE = "UPGRADING_LIFECYLES",
|
|
196
|
+
UPGRADING_LIFECYCLE_FAILED = "UPGRADING_LIFECYCLE_FAILED",
|
|
197
|
+
UPDATING_WEBHOOKS = "UPDATING_WEBHOOKS",
|
|
198
|
+
UPDATING_WEBHOOKS_FAILED = "UPGRADING_LIFECYCLE_FAILED",
|
|
199
|
+
FINALIZING_LIFECYCLE = "FINALIZING_LIFECYCLE",
|
|
200
|
+
FINALIZING_LIFECYCLE_FAILED = "FINALIZING_LIFECYCLE_FAILED",
|
|
201
|
+
COMPLETE = "COMPLETE"
|
|
202
|
+
}
|
|
187
203
|
interface AppReview {
|
|
188
204
|
url: string;
|
|
189
205
|
}
|
|
@@ -321,7 +337,8 @@ export declare namespace Rivendell {
|
|
|
321
337
|
/**
|
|
322
338
|
* Request an upgrade.
|
|
323
339
|
*/
|
|
324
|
-
function upgrade(appInstallationId: number, appId: string, version: string, shard: string): Promise<
|
|
340
|
+
function upgrade(appInstallationId: number, appId: string, version: string, shard: string): Promise<Upgrade>;
|
|
341
|
+
function fetchUpgrade(upgradeId: number, shard: string): Promise<Upgrade>;
|
|
325
342
|
/**
|
|
326
343
|
* Trigger a publish.
|
|
327
344
|
*/
|
|
@@ -330,6 +347,10 @@ export declare namespace Rivendell {
|
|
|
330
347
|
* Trigger a unpublish.
|
|
331
348
|
*/
|
|
332
349
|
function unpublish(appId: string, version: string, shard: string): Promise<void>;
|
|
350
|
+
/**
|
|
351
|
+
* Trigger a abandon.
|
|
352
|
+
*/
|
|
353
|
+
function abandon(appId: string, version: string, shard: string): Promise<void>;
|
|
333
354
|
/**
|
|
334
355
|
* Set logLevel of an app version or an installation
|
|
335
356
|
*/
|
package/dist/lib/Rivendell.js
CHANGED
|
@@ -16,6 +16,7 @@ var Rivendell;
|
|
|
16
16
|
AppVersionState["STOPPING"] = "STOPPING";
|
|
17
17
|
AppVersionState["STOP_FAILED"] = "STOP_FAILED";
|
|
18
18
|
AppVersionState["STOPPED"] = "STOPPED";
|
|
19
|
+
AppVersionState["ABANDONED"] = "ABANDONED";
|
|
19
20
|
})(AppVersionState = Rivendell.AppVersionState || (Rivendell.AppVersionState = {}));
|
|
20
21
|
let ReviewStatus;
|
|
21
22
|
(function (ReviewStatus) {
|
|
@@ -76,6 +77,17 @@ var Rivendell;
|
|
|
76
77
|
InstallationResolutionType["QUERY_PARAM"] = "QUERY_PARAM";
|
|
77
78
|
InstallationResolutionType["JSON_BODY_FIELD"] = "JSON_BODY_FIELD";
|
|
78
79
|
})(InstallationResolutionType = Rivendell.InstallationResolutionType || (Rivendell.InstallationResolutionType = {}));
|
|
80
|
+
let UpgradeStatus;
|
|
81
|
+
(function (UpgradeStatus) {
|
|
82
|
+
UpgradeStatus["SCHEDULED"] = "SCHEDULED";
|
|
83
|
+
UpgradeStatus["UPGRADING_LIFECYCLE"] = "UPGRADING_LIFECYLES";
|
|
84
|
+
UpgradeStatus["UPGRADING_LIFECYCLE_FAILED"] = "UPGRADING_LIFECYCLE_FAILED";
|
|
85
|
+
UpgradeStatus["UPDATING_WEBHOOKS"] = "UPDATING_WEBHOOKS";
|
|
86
|
+
UpgradeStatus["UPDATING_WEBHOOKS_FAILED"] = "UPGRADING_LIFECYCLE_FAILED";
|
|
87
|
+
UpgradeStatus["FINALIZING_LIFECYCLE"] = "FINALIZING_LIFECYCLE";
|
|
88
|
+
UpgradeStatus["FINALIZING_LIFECYCLE_FAILED"] = "FINALIZING_LIFECYCLE_FAILED";
|
|
89
|
+
UpgradeStatus["COMPLETE"] = "COMPLETE";
|
|
90
|
+
})(UpgradeStatus = Rivendell.UpgradeStatus || (Rivendell.UpgradeStatus = {}));
|
|
79
91
|
let SortDirection;
|
|
80
92
|
(function (SortDirection) {
|
|
81
93
|
SortDirection["ASC"] = "ASC";
|
|
@@ -225,9 +237,15 @@ var Rivendell;
|
|
|
225
237
|
* Request an upgrade.
|
|
226
238
|
*/
|
|
227
239
|
async function upgrade(appInstallationId, appId, version, shard) {
|
|
228
|
-
await RivendellApi_1.RivendellApi.put(path(shard, `installations/${appInstallationId}`), { appId, version });
|
|
240
|
+
const response = await RivendellApi_1.RivendellApi.put(path(shard, `installations/${appInstallationId}`), { appId, version });
|
|
241
|
+
return response.body;
|
|
229
242
|
}
|
|
230
243
|
Rivendell.upgrade = upgrade;
|
|
244
|
+
async function fetchUpgrade(upgradeId, shard) {
|
|
245
|
+
const response = await RivendellApi_1.RivendellApi.get(path(shard, `upgrades/${upgradeId}`));
|
|
246
|
+
return response.body;
|
|
247
|
+
}
|
|
248
|
+
Rivendell.fetchUpgrade = fetchUpgrade;
|
|
231
249
|
/**
|
|
232
250
|
* Trigger a publish.
|
|
233
251
|
*/
|
|
@@ -242,6 +260,13 @@ var Rivendell;
|
|
|
242
260
|
await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.STOPPED });
|
|
243
261
|
}
|
|
244
262
|
Rivendell.unpublish = unpublish;
|
|
263
|
+
/**
|
|
264
|
+
* Trigger a abandon.
|
|
265
|
+
*/
|
|
266
|
+
async function abandon(appId, version, shard) {
|
|
267
|
+
await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.ABANDONED });
|
|
268
|
+
}
|
|
269
|
+
Rivendell.abandon = abandon;
|
|
245
270
|
/**
|
|
246
271
|
* Set logLevel of an app version or an installation
|
|
247
272
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rivendell.js","sourceRoot":"","sources":["../../src/lib/Rivendell.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rivendell.js","sourceRoot":"","sources":["../../src/lib/Rivendell.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/Shards.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { AppManifest } from '@zaiusinc/app-sdk';
|
|
2
2
|
export declare function applicableShards(availability?: string, fromManifest?: AppManifest): Promise<string[]>;
|
|
3
|
+
export declare function shardsFromManifest(fromManifest: AppManifest): Promise<string[]>;
|
|
3
4
|
export declare function targetShards(): Promise<string[]>;
|
package/dist/lib/Shards.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.targetShards = exports.applicableShards = void 0;
|
|
3
|
+
exports.targetShards = exports.shardsFromManifest = exports.applicableShards = void 0;
|
|
4
4
|
const AppContext_1 = require("./AppContext");
|
|
5
5
|
const Config_1 = require("./Config");
|
|
6
6
|
const Rivendell_1 = require("./Rivendell");
|
|
@@ -15,6 +15,10 @@ async function applicableShards(availability = '', fromManifest) {
|
|
|
15
15
|
return resolveShards(manifest);
|
|
16
16
|
}
|
|
17
17
|
exports.applicableShards = applicableShards;
|
|
18
|
+
async function shardsFromManifest(fromManifest) {
|
|
19
|
+
return resolveShards(fromManifest);
|
|
20
|
+
}
|
|
21
|
+
exports.shardsFromManifest = shardsFromManifest;
|
|
18
22
|
async function targetShards() {
|
|
19
23
|
return await resolveShards((0, AppContext_1.readAppYaml)());
|
|
20
24
|
}
|
package/dist/lib/Shards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shards.js","sourceRoot":"","sources":["../../src/lib/Shards.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,qCAAkC;AAClC,2CAAwC;AAEjC,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,EAAE,EAAE,YAA0B;IAClF,IAAI,IAAA,eAAM,GAAE,KAAK,SAAS,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,CAAC;KACvB;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,IAAA,wBAAW,GAAE,CAAC;IAC/C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAXD,4CAWC;AAEM,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,aAAa,CAAC,IAAA,wBAAW,GAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,oCAEC;AAED,KAAK,UAAU,aAAa,CAAC,QAAqB;IAChD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,GAAG,CAAC,MAAM,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC;SACV;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"Shards.js","sourceRoot":"","sources":["../../src/lib/Shards.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,qCAAkC;AAClC,2CAAwC;AAEjC,KAAK,UAAU,gBAAgB,CAAC,YAAY,GAAG,EAAE,EAAE,YAA0B;IAClF,IAAI,IAAA,eAAM,GAAE,KAAK,SAAS,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,CAAC;KACvB;IAED,MAAM,QAAQ,GAAG,YAAY,IAAI,IAAA,wBAAW,GAAE,CAAC;IAC/C,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAXD,4CAWC;AAEM,KAAK,UAAU,kBAAkB,CAAC,YAAyB;IAChE,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAFD,gDAEC;AAEM,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,aAAa,CAAC,IAAA,wBAAW,GAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,oCAEC;AAED,KAAK,UAAU,aAAa,CAAC,QAAqB;IAChD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,GAAG,CAAC,MAAM,qBAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,CAAC,CAAC;SACV;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -25,6 +25,8 @@ function formatVersionState(state) {
|
|
|
25
25
|
return chalk.red('UNPUBLISHED');
|
|
26
26
|
case Rivendell_1.Rivendell.AppVersionState.UPGRADING_RUNTIME:
|
|
27
27
|
return chalk.yellow('UPGRADING_RUNTIME');
|
|
28
|
+
case Rivendell_1.Rivendell.AppVersionState.ABANDONED:
|
|
29
|
+
return chalk.gray('ABANDONED');
|
|
28
30
|
default: {
|
|
29
31
|
console.error(chalk.red(`Unrecognized AppVersionState ${state} `));
|
|
30
32
|
return chalk.red('UNKNOWN');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatVersionState.js","sourceRoot":"","sources":["../../src/lib/formatVersionState.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAAsC;AAEtC,SAAgB,kBAAkB,CAAC,KAAgC;IACjE,QAAQ,KAAK,EAAE;QACb,KAAK,qBAAS,CAAC,eAAe,CAAC,GAAG;YAChC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,qBAAS,CAAC,eAAe,CAAC,SAAS;YACtC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,KAAK,qBAAS,CAAC,eAAe,CAAC,YAAY;YACzC,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnC,KAAK,qBAAS,CAAC,eAAe,CAAC,QAAQ;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,KAAK,qBAAS,CAAC,eAAe,CAAC,YAAY;YACzC,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxC,KAAK,qBAAS,CAAC,eAAe,CAAC,OAAO;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,qBAAS,CAAC,eAAe,CAAC,QAAQ;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,KAAK,qBAAS,CAAC,eAAe,CAAC,WAAW;YACxC,OAAO,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC1C,KAAK,qBAAS,CAAC,eAAe,CAAC,OAAO;YACpC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClC,KAAK,qBAAS,CAAC,eAAe,CAAC,iBAAiB;YAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC7B;KACF;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"formatVersionState.js","sourceRoot":"","sources":["../../src/lib/formatVersionState.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAAsC;AAEtC,SAAgB,kBAAkB,CAAC,KAAgC;IACjE,QAAQ,KAAK,EAAE;QACb,KAAK,qBAAS,CAAC,eAAe,CAAC,GAAG;YAChC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,qBAAS,CAAC,eAAe,CAAC,SAAS;YACtC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,KAAK,qBAAS,CAAC,eAAe,CAAC,YAAY;YACzC,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnC,KAAK,qBAAS,CAAC,eAAe,CAAC,QAAQ;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpC,KAAK,qBAAS,CAAC,eAAe,CAAC,YAAY;YACzC,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxC,KAAK,qBAAS,CAAC,eAAe,CAAC,OAAO;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,qBAAS,CAAC,eAAe,CAAC,QAAQ;YACrC,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,KAAK,qBAAS,CAAC,eAAe,CAAC,WAAW;YACxC,OAAO,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC1C,KAAK,qBAAS,CAAC,eAAe,CAAC,OAAO;YACpC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClC,KAAK,qBAAS,CAAC,eAAe,CAAC,iBAAiB;YAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC3C,KAAK,qBAAS,CAAC,eAAe,CAAC,SAAS;YACtC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SAC7B;KACF;AACH,CAAC;AA7BD,gDA6BC"}
|
|
@@ -51,6 +51,38 @@
|
|
|
51
51
|
"app": {
|
|
52
52
|
"namespaces": {},
|
|
53
53
|
"commands": [
|
|
54
|
+
{
|
|
55
|
+
"path": "commands/app/Abandon.js",
|
|
56
|
+
"className": "AbandonCommand",
|
|
57
|
+
"key": "abandon",
|
|
58
|
+
"command": "abandon",
|
|
59
|
+
"aliases": [],
|
|
60
|
+
"help": "Abandon (cease processing) a specific app version that has not been published yet",
|
|
61
|
+
"documentation": "TBD",
|
|
62
|
+
"flags": [
|
|
63
|
+
{
|
|
64
|
+
"name": "noPrompt",
|
|
65
|
+
"key": "noPrompt",
|
|
66
|
+
"aliases": [
|
|
67
|
+
"no-prompt"
|
|
68
|
+
],
|
|
69
|
+
"invertedAliases": [],
|
|
70
|
+
"help": "Use default answer to any prompt question (default is yes, except for destructive operations)",
|
|
71
|
+
"defaultValue": false,
|
|
72
|
+
"invertible": false
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"options": [],
|
|
76
|
+
"params": [
|
|
77
|
+
{
|
|
78
|
+
"name": "appVersion",
|
|
79
|
+
"key": "appVersion",
|
|
80
|
+
"help": "The App ID and version (e.g. my_app@1.0.0)",
|
|
81
|
+
"optional": false,
|
|
82
|
+
"multiple": false
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
54
86
|
{
|
|
55
87
|
"path": "commands/app/GetLogLevel.js",
|
|
56
88
|
"className": "GetLogLevelCommand",
|
|
@@ -700,7 +732,7 @@
|
|
|
700
732
|
"key": "allStatuses",
|
|
701
733
|
"aliases": [],
|
|
702
734
|
"invertedAliases": [],
|
|
703
|
-
"help": "Include all statuses. STOPPED is filtered by default",
|
|
735
|
+
"help": "Include all statuses. STOPPED and ABANDONED is filtered by default",
|
|
704
736
|
"defaultValue": false,
|
|
705
737
|
"invertible": false
|
|
706
738
|
}
|
|
@@ -1324,7 +1356,7 @@
|
|
|
1324
1356
|
},
|
|
1325
1357
|
"commands": [],
|
|
1326
1358
|
"package": {
|
|
1327
|
-
"version": "1.1.
|
|
1359
|
+
"version": "1.2.1-beta.0",
|
|
1328
1360
|
"name": "@optimizely/ocp-cli",
|
|
1329
1361
|
"license": "Apache-2.0",
|
|
1330
1362
|
"executable": "ocp"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optimizely/ocp-cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.2.1-beta.0",
|
|
4
4
|
"description": "Optimizely Connect Platform command line interface",
|
|
5
5
|
"repository": "https://github.com/ZaiusInc/ocp-cli",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"build": "npx rimraf remove ./dist/ && npx tsc -p . && node ./node_modules/oo-cli/dist/build.js",
|
|
29
29
|
"build-watch": "npx rimraf remove ./dist/ && npx nodemon -e ts,json --watch src --exec 'tsc -p . && node ./node_modules/oo-cli/dist/build.js'",
|
|
30
30
|
"lint": "npx tslint --project .",
|
|
31
|
-
"test": "npx jest",
|
|
31
|
+
"test": "npx jest --passWithNoTests",
|
|
32
32
|
"release": "release-it"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { command, flag, help, namespace, param } from 'oo-cli';
|
|
2
|
+
import { handleInterrupt } from '../../lib/handleInterrupt';
|
|
3
|
+
import { die } from '../../lib/die';
|
|
4
|
+
import * as chalk from 'chalk';
|
|
5
|
+
import { Rivendell } from '../../lib/Rivendell';
|
|
6
|
+
import { shardsFromManifest } from '../../lib/Shards';
|
|
7
|
+
import { AppManifest } from '@zaiusinc/app-sdk';
|
|
8
|
+
import { formatError } from '../../lib/formatError';
|
|
9
|
+
import { TerminalConfirm } from '../../lib/TerminalConfirm';
|
|
10
|
+
import {RivendellApi} from '../../lib/RivendellApi';
|
|
11
|
+
import AppVersionState = Rivendell.AppVersionState;
|
|
12
|
+
import ApiError = RivendellApi.ApiError;
|
|
13
|
+
import {constants as httpConstants} from 'http2';
|
|
14
|
+
|
|
15
|
+
const ABANDONABLE_STATES = [
|
|
16
|
+
AppVersionState.NEW,
|
|
17
|
+
AppVersionState.BUILD_FAILED,
|
|
18
|
+
AppVersionState.PUBLISHED
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
@namespace('app')
|
|
22
|
+
export class AbandonCommand {
|
|
23
|
+
|
|
24
|
+
@param
|
|
25
|
+
@help('The App ID and version (e.g. my_app@1.0.0)')
|
|
26
|
+
public appVersion !: string;
|
|
27
|
+
|
|
28
|
+
@flag('no-prompt')
|
|
29
|
+
@help('Use default answer to any prompt question (default is yes, except for destructive operations)')
|
|
30
|
+
public noPrompt: boolean = false;
|
|
31
|
+
|
|
32
|
+
@command
|
|
33
|
+
@help('Abandon (cease processing) a specific app version that has not been published yet')
|
|
34
|
+
public async abandon() {
|
|
35
|
+
handleInterrupt();
|
|
36
|
+
|
|
37
|
+
if (!/[\w-]+@\d+\.\d+\.\d+(?:-\w+\.\d+)?/.test(this.appVersion)) {
|
|
38
|
+
die('appVersion is required in the format of app@1.0.0');
|
|
39
|
+
}
|
|
40
|
+
if (!await TerminalConfirm.ask(
|
|
41
|
+
chalk.red('Abandoning is not reversible. Are you sure you want to abandon? [y/n]'), this.noPrompt, true)) {
|
|
42
|
+
die('Operation cancelled.');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const [appId, version] = this.appVersion.split('@');
|
|
46
|
+
console.log(chalk.gray(`Abandoning version ${this.appVersion} ...`));
|
|
47
|
+
try {
|
|
48
|
+
const primaryAppVersion = await Rivendell.fetchAppVersion({ appId, version }, 'us');
|
|
49
|
+
let manifest;
|
|
50
|
+
if (primaryAppVersion && primaryAppVersion.manifestJson) {
|
|
51
|
+
manifest = JSON.parse(primaryAppVersion.manifestJson) as AppManifest;
|
|
52
|
+
}
|
|
53
|
+
let shards;
|
|
54
|
+
if (manifest && manifest.meta) {
|
|
55
|
+
shards = await shardsFromManifest(manifest);
|
|
56
|
+
} else {
|
|
57
|
+
shards = ['us'];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let abandonable = false;
|
|
61
|
+
const appVersionStates = new Map<string, string>();
|
|
62
|
+
for (const shard of shards) {
|
|
63
|
+
try {
|
|
64
|
+
const appVersion = await Rivendell.fetchAppVersion({ appId, version }, shard);
|
|
65
|
+
if (ABANDONABLE_STATES.includes(appVersion.state as AppVersionState)) {
|
|
66
|
+
abandonable = true;
|
|
67
|
+
} else if (appVersion.state as AppVersionState !== AppVersionState.ABANDONED) {
|
|
68
|
+
console.error(chalk.red(`AppVersion must be in a abandonable state in all regions. Exiting..`));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
appVersionStates.set(shard, appVersion.state);
|
|
72
|
+
} catch (error: any) {
|
|
73
|
+
if (error instanceof ApiError && error.response?.status === httpConstants.HTTP_STATUS_NOT_FOUND) {
|
|
74
|
+
console.error(chalk.red(`Could not locate the appVersion in region: ${shard}.`));
|
|
75
|
+
if (!await TerminalConfirm.ask('Continue with other regions?', this.noPrompt, true)) {
|
|
76
|
+
die('Operation cancelled.');
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (!abandonable) {
|
|
85
|
+
console.log(chalk.yellow(`AppVersion is already in a abandoned state in all regions. Exiting..`));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (!shards.includes('us')) {
|
|
90
|
+
try {
|
|
91
|
+
await Rivendell.abandon(appId, version, 'us');
|
|
92
|
+
} catch (error: any) {
|
|
93
|
+
console.error(chalk.red(`Failed to abandon in the primary region, error ${formatError(error)}`));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
for (const shard of shards) {
|
|
98
|
+
try {
|
|
99
|
+
if (!appVersionStates.get(shard)) continue;
|
|
100
|
+
const appVersionState = appVersionStates.get(shard);
|
|
101
|
+
if (appVersionState as AppVersionState === AppVersionState.ABANDONED) {
|
|
102
|
+
console.log(chalk.yellow(`Already abandoned in region ${shard}. Skipping...`));
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
await Rivendell.abandon(appId, version, shard);
|
|
106
|
+
console.log(chalk.green(`Abandon completed in region ${shard}`));
|
|
107
|
+
} catch (error: any) {
|
|
108
|
+
die(`Failed to abandon in region ${shard}, error: ${formatError(error)}. Exiting...`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
console.log(chalk.green('Abandon completed in all regions'));
|
|
112
|
+
} catch (error: any) {
|
|
113
|
+
console.error(chalk.red(`Error while abandoning ${formatError(error)}`));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -21,7 +21,7 @@ export class ListCommand {
|
|
|
21
21
|
private appId!: string;
|
|
22
22
|
|
|
23
23
|
@flag
|
|
24
|
-
@help('Include all statuses. STOPPED is filtered by default')
|
|
24
|
+
@help('Include all statuses. STOPPED and ABANDONED is filtered by default')
|
|
25
25
|
private allStatuses: boolean = false;
|
|
26
26
|
|
|
27
27
|
@option('a')
|
|
@@ -51,7 +51,8 @@ export class ListCommand {
|
|
|
51
51
|
);
|
|
52
52
|
const rows = appVersions
|
|
53
53
|
.filter((appVersion) =>
|
|
54
|
-
this.allStatuses || appVersion.state as AppVersionState !== AppVersionState.STOPPED
|
|
54
|
+
this.allStatuses || (appVersion.state as AppVersionState !== AppVersionState.STOPPED
|
|
55
|
+
&& appVersion.state !== AppVersionState.ABANDONED)
|
|
55
56
|
)
|
|
56
57
|
.sort((lhs, rhs) => {
|
|
57
58
|
let result = lhs.id.appId.localeCompare(rhs.id.appId);
|
|
@@ -40,9 +40,10 @@ export class UpgradeCommand {
|
|
|
40
40
|
chalk.yellow(`${this.trackerId} is currently at ${this.appId}@${install.version} in ${shard}.`)
|
|
41
41
|
);
|
|
42
42
|
} else {
|
|
43
|
-
await Rivendell.upgrade(install.id, this.appId, this.toVersion, shard);
|
|
43
|
+
const result = await Rivendell.upgrade(install.id, this.appId, this.toVersion, shard);
|
|
44
|
+
|
|
44
45
|
console.log(`Upgrading ${this.appId} for ${this.trackerId} to ${this.toVersion} in ${shard}`);
|
|
45
|
-
await this.watchForCompletion(shard);
|
|
46
|
+
await this.watchForCompletion(shard, result.id);
|
|
46
47
|
console.log(
|
|
47
48
|
chalk.green(`Upgraded ${this.trackerId} to ${this.appId}@${this.toVersion} in ${shard}.`));
|
|
48
49
|
terminal.removeAllListeners('key');
|
|
@@ -52,7 +53,7 @@ export class UpgradeCommand {
|
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
private watchForCompletion(shard: string) {
|
|
56
|
+
private watchForCompletion(shard: string, upgradeId: number) {
|
|
56
57
|
console.log(chalk.gray(`Upgrade was scheduled in ${shard}, watching for completion... CTRL+C to stop checking.`));
|
|
57
58
|
return new Promise<void>((resolve, reject) => {
|
|
58
59
|
let attempts = 0;
|
|
@@ -60,13 +61,21 @@ export class UpgradeCommand {
|
|
|
60
61
|
const spinner = new TerminalSpinner().start('');
|
|
61
62
|
const checkUpgrade = () => {
|
|
62
63
|
attempts++;
|
|
63
|
-
Rivendell.
|
|
64
|
-
.then((
|
|
65
|
-
|
|
64
|
+
Rivendell.fetchUpgrade(upgradeId, shard)
|
|
65
|
+
.then((upgrade) => {
|
|
66
|
+
spinner.update(`Upgrade status: ${upgrade.status.toString().replace('_', ' ').toLowerCase()}`);
|
|
67
|
+
if (upgrade.status === Rivendell.UpgradeStatus.COMPLETE) {
|
|
66
68
|
clearInterval(interval);
|
|
67
69
|
spinner.stop();
|
|
68
70
|
resolve();
|
|
69
71
|
} else {
|
|
72
|
+
if (upgrade.status === Rivendell.UpgradeStatus.FINALIZING_LIFECYCLE_FAILED.toString() ||
|
|
73
|
+
upgrade.status === Rivendell.UpgradeStatus.UPDATING_WEBHOOKS_FAILED.toString() ||
|
|
74
|
+
upgrade.status === Rivendell.UpgradeStatus.UPGRADING_LIFECYCLE_FAILED.toString()) {
|
|
75
|
+
clearInterval(interval);
|
|
76
|
+
spinner.stop();
|
|
77
|
+
die(`Upgrade failed with status ${upgrade.status}: ${upgrade.message}`);
|
|
78
|
+
}
|
|
70
79
|
if (attempts > 300) {
|
|
71
80
|
clearInterval(interval);
|
|
72
81
|
spinner.stop();
|
package/src/lib/Rivendell.ts
CHANGED
|
@@ -14,7 +14,8 @@ export namespace Rivendell {
|
|
|
14
14
|
UPGRADING_RUNTIME = 'UPGRADING_RUNTIME',
|
|
15
15
|
STOPPING = 'STOPPING',
|
|
16
16
|
STOP_FAILED = 'STOP_FAILED',
|
|
17
|
-
STOPPED = 'STOPPED'
|
|
17
|
+
STOPPED = 'STOPPED',
|
|
18
|
+
ABANDONED = 'ABANDONED'
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export enum ReviewStatus {
|
|
@@ -211,6 +212,23 @@ export namespace Rivendell {
|
|
|
211
212
|
end?: number;
|
|
212
213
|
}
|
|
213
214
|
|
|
215
|
+
export interface Upgrade {
|
|
216
|
+
id: number;
|
|
217
|
+
status: UpgradeStatus;
|
|
218
|
+
message?: string;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export enum UpgradeStatus {
|
|
222
|
+
SCHEDULED = 'SCHEDULED',
|
|
223
|
+
UPGRADING_LIFECYCLE = 'UPGRADING_LIFECYLES',
|
|
224
|
+
UPGRADING_LIFECYCLE_FAILED = 'UPGRADING_LIFECYCLE_FAILED',
|
|
225
|
+
UPDATING_WEBHOOKS = 'UPDATING_WEBHOOKS',
|
|
226
|
+
UPDATING_WEBHOOKS_FAILED = 'UPGRADING_LIFECYCLE_FAILED',
|
|
227
|
+
FINALIZING_LIFECYCLE = 'FINALIZING_LIFECYCLE',
|
|
228
|
+
FINALIZING_LIFECYCLE_FAILED = 'FINALIZING_LIFECYCLE_FAILED',
|
|
229
|
+
COMPLETE = 'COMPLETE'
|
|
230
|
+
}
|
|
231
|
+
|
|
214
232
|
export interface AppReview {
|
|
215
233
|
url: string;
|
|
216
234
|
}
|
|
@@ -467,8 +485,15 @@ export namespace Rivendell {
|
|
|
467
485
|
appId: string,
|
|
468
486
|
version: string,
|
|
469
487
|
shard: string
|
|
470
|
-
): Promise<
|
|
471
|
-
await RivendellApi.put(
|
|
488
|
+
): Promise<Upgrade> {
|
|
489
|
+
const response = await RivendellApi.put<Upgrade>(
|
|
490
|
+
path(shard, `installations/${appInstallationId}`), {appId, version});
|
|
491
|
+
return response.body;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
export async function fetchUpgrade(upgradeId: number, shard: string): Promise<Upgrade> {
|
|
495
|
+
const response = await RivendellApi.get<Upgrade>(path(shard, `upgrades/${upgradeId}`));
|
|
496
|
+
return response.body;
|
|
472
497
|
}
|
|
473
498
|
|
|
474
499
|
/**
|
|
@@ -485,6 +510,14 @@ export namespace Rivendell {
|
|
|
485
510
|
await RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), {state: AppVersionState.STOPPED});
|
|
486
511
|
}
|
|
487
512
|
|
|
513
|
+
/**
|
|
514
|
+
* Trigger a abandon.
|
|
515
|
+
*/
|
|
516
|
+
export async function abandon(appId: string, version: string, shard: string): Promise<void> {
|
|
517
|
+
await RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`),
|
|
518
|
+
{state: AppVersionState.ABANDONED});
|
|
519
|
+
}
|
|
520
|
+
|
|
488
521
|
/**
|
|
489
522
|
* Set logLevel of an app version or an installation
|
|
490
523
|
*/
|
package/src/lib/Shards.ts
CHANGED
|
@@ -16,6 +16,10 @@ export async function applicableShards(availability = '', fromManifest?: AppMani
|
|
|
16
16
|
return resolveShards(manifest);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
export async function shardsFromManifest(fromManifest: AppManifest): Promise<string[]> {
|
|
20
|
+
return resolveShards(fromManifest);
|
|
21
|
+
}
|
|
22
|
+
|
|
19
23
|
export async function targetShards(): Promise<string[]> {
|
|
20
24
|
return await resolveShards(readAppYaml());
|
|
21
25
|
}
|
|
@@ -23,6 +23,8 @@ export function formatVersionState(state: Rivendell.AppVersionState): string {
|
|
|
23
23
|
return chalk.red('UNPUBLISHED');
|
|
24
24
|
case Rivendell.AppVersionState.UPGRADING_RUNTIME:
|
|
25
25
|
return chalk.yellow('UPGRADING_RUNTIME');
|
|
26
|
+
case Rivendell.AppVersionState.ABANDONED:
|
|
27
|
+
return chalk.gray('ABANDONED');
|
|
26
28
|
default: {
|
|
27
29
|
console.error(chalk.red(`Unrecognized AppVersionState ${state} `));
|
|
28
30
|
return chalk.red('UNKNOWN');
|