@optimizely/ocp-cli 1.1.10 → 1.2.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.
@@ -0,0 +1,5 @@
1
+ export declare class AbandonCommand {
2
+ appVersion: string;
3
+ noPrompt: boolean;
4
+ abandon(): Promise<void>;
5
+ }
@@ -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":"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"}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/commands/directory/List.ts"],"names":[],"mappings":"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"}
@@ -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",
@@ -330,6 +331,10 @@ export declare namespace Rivendell {
330
331
  * Trigger a unpublish.
331
332
  */
332
333
  function unpublish(appId: string, version: string, shard: string): Promise<void>;
334
+ /**
335
+ * Trigger a abandon.
336
+ */
337
+ function abandon(appId: string, version: string, shard: string): Promise<void>;
333
338
  /**
334
339
  * Set logLevel of an app version or an installation
335
340
  */
@@ -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) {
@@ -242,6 +243,13 @@ var Rivendell;
242
243
  await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.STOPPED });
243
244
  }
244
245
  Rivendell.unpublish = unpublish;
246
+ /**
247
+ * Trigger a abandon.
248
+ */
249
+ async function abandon(appId, version, shard) {
250
+ await RivendellApi_1.RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), { state: AppVersionState.ABANDONED });
251
+ }
252
+ Rivendell.abandon = abandon;
245
253
  /**
246
254
  * Set logLevel of an app version or an installation
247
255
  */
@@ -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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"}
@@ -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[]>;
@@ -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
  }
@@ -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;AA3BD,gDA2BC"}
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.10",
1359
+ "version": "1.2.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.10",
3
+ "version": "1.2.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",
@@ -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);
@@ -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 {
@@ -485,6 +486,14 @@ export namespace Rivendell {
485
486
  await RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`), {state: AppVersionState.STOPPED});
486
487
  }
487
488
 
489
+ /**
490
+ * Trigger a abandon.
491
+ */
492
+ export async function abandon(appId: string, version: string, shard: string): Promise<void> {
493
+ await RivendellApi.request('PATCH', path(shard, `versions/${appId}@${version}`),
494
+ {state: AppVersionState.ABANDONED});
495
+ }
496
+
488
497
  /**
489
498
  * Set logLevel of an app version or an installation
490
499
  */
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');