@codiac.io/codiac-cli 1.3.180 → 1.3.182

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.
Files changed (268) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/gen/client.d.ts +5 -1
  3. package/dist/apis/codiac-api/gen/client.js +12 -0
  4. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  5. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +25 -0
  6. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
  7. package/dist/apis/codiac-api/i-client.d.ts +4 -0
  8. package/dist/apis/codiac-api-nats/gen/client.d.ts +4 -0
  9. package/dist/apis/codiac-api-nats/gen/client.js +17 -1
  10. package/dist/apis/codiac-api-nats/gen/client.js.map +1 -1
  11. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +25 -0
  12. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
  13. package/dist/apis/codiac-relay/gen/client.d.ts +16 -3
  14. package/dist/apis/codiac-relay/gen/client.js +58 -1
  15. package/dist/apis/codiac-relay/gen/client.js.map +1 -1
  16. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +173 -7
  17. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
  18. package/dist/apis/codiac-relay/i-client.d.ts +8 -0
  19. package/dist/apis/codiac-relay-nats/gen/client.d.ts +15 -7
  20. package/dist/apis/codiac-relay-nats/gen/client.js +86 -19
  21. package/dist/apis/codiac-relay-nats/gen/client.js.map +1 -1
  22. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +151 -15
  23. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +4 -4
  24. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
  25. package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +6 -0
  26. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js +1 -0
  27. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
  28. package/dist/bootstrapper-for-api-clients.js +14 -2
  29. package/dist/bootstrapper-for-api-clients.js.map +1 -1
  30. package/dist/cli-common/built-in-cli-user-input.d.ts +2 -1
  31. package/dist/cli-common/built-in-cli-user-input.js +52 -1
  32. package/dist/cli-common/built-in-cli-user-input.js.map +1 -1
  33. package/dist/cli-common/entities/prompt-choice.d.ts +2 -7
  34. package/dist/cli-common/mock-ui.d.ts +2 -1
  35. package/dist/cli-common/mock-ui.js +3 -0
  36. package/dist/cli-common/mock-ui.js.map +1 -1
  37. package/dist/codiac-constants.d.ts +3 -0
  38. package/dist/codiac-constants.js +3 -0
  39. package/dist/codiac-constants.js.map +1 -1
  40. package/dist/command-base-enterprise.d.ts +23 -2
  41. package/dist/command-base-enterprise.js +82 -26
  42. package/dist/command-base-enterprise.js.map +1 -1
  43. package/dist/command-base-exec.js +4 -2
  44. package/dist/command-base-exec.js.map +1 -1
  45. package/dist/commands/asset/deploy.d.ts +2 -1
  46. package/dist/commands/asset/deploy.js +3 -2
  47. package/dist/commands/asset/deploy.js.map +1 -1
  48. package/dist/commands/asset/list.d.ts +26 -7
  49. package/dist/commands/asset/list.js +127 -112
  50. package/dist/commands/asset/list.js.map +1 -1
  51. package/dist/commands/asset/probe/create.d.ts +26 -5
  52. package/dist/commands/asset/probe/create.js +182 -164
  53. package/dist/commands/asset/probe/create.js.map +1 -1
  54. package/dist/commands/asset/recycle.js +3 -4
  55. package/dist/commands/asset/recycle.js.map +1 -1
  56. package/dist/commands/asset/undeploy.d.ts +24 -9
  57. package/dist/commands/asset/undeploy.js +162 -161
  58. package/dist/commands/asset/undeploy.js.map +1 -1
  59. package/dist/commands/asset/view.js +1 -1
  60. package/dist/commands/asset/view.js.map +1 -1
  61. package/dist/commands/asset/volume/create.d.ts +25 -13
  62. package/dist/commands/asset/volume/create.js +177 -156
  63. package/dist/commands/asset/volume/create.js.map +1 -1
  64. package/dist/commands/asset/volume/delete.d.ts +23 -7
  65. package/dist/commands/asset/volume/delete.js +131 -98
  66. package/dist/commands/asset/volume/delete.js.map +1 -1
  67. package/dist/commands/asset/volume/list.d.ts +24 -8
  68. package/dist/commands/asset/volume/list.js +101 -54
  69. package/dist/commands/asset/volume/list.js.map +1 -1
  70. package/dist/commands/cabinet/cluster/attach.d.ts +32 -0
  71. package/dist/commands/cabinet/cluster/attach.js +144 -0
  72. package/dist/commands/cabinet/cluster/attach.js.map +1 -0
  73. package/dist/commands/cabinet/create.d.ts +1 -0
  74. package/dist/commands/cabinet/create.js +5 -1
  75. package/dist/commands/cabinet/create.js.map +1 -1
  76. package/dist/commands/cabinet/list.d.ts +27 -6
  77. package/dist/commands/cabinet/list.js +130 -121
  78. package/dist/commands/cabinet/list.js.map +1 -1
  79. package/dist/commands/cabinet/obliterate.d.ts +1 -0
  80. package/dist/commands/cabinet/obliterate.js +5 -1
  81. package/dist/commands/cabinet/obliterate.js.map +1 -1
  82. package/dist/commands/cabinet/restore.d.ts +36 -0
  83. package/dist/commands/cabinet/restore.js +186 -0
  84. package/dist/commands/cabinet/restore.js.map +1 -0
  85. package/dist/commands/cluster/agent/configure.d.ts +47 -0
  86. package/dist/commands/cluster/agent/configure.js +320 -0
  87. package/dist/commands/cluster/agent/configure.js.map +1 -0
  88. package/dist/commands/cluster/agent/install.d.ts +32 -0
  89. package/dist/commands/cluster/agent/install.js +152 -0
  90. package/dist/commands/cluster/agent/install.js.map +1 -0
  91. package/dist/commands/cluster/agent/uninstall.d.ts +29 -0
  92. package/dist/commands/cluster/agent/uninstall.js +130 -0
  93. package/dist/commands/cluster/agent/uninstall.js.map +1 -0
  94. package/dist/commands/cluster/bootstrap.d.ts +50 -0
  95. package/dist/commands/cluster/bootstrap.js +310 -0
  96. package/dist/commands/cluster/bootstrap.js.map +1 -0
  97. package/dist/commands/cluster/connect.d.ts +0 -5
  98. package/dist/commands/cluster/connect.js +1 -26
  99. package/dist/commands/cluster/connect.js.map +1 -1
  100. package/dist/commands/cluster/install.d.ts +45 -0
  101. package/dist/commands/cluster/install.js +224 -0
  102. package/dist/commands/cluster/install.js.map +1 -0
  103. package/dist/commands/cluster/stack/capture.js +0 -2
  104. package/dist/commands/cluster/stack/capture.js.map +1 -1
  105. package/dist/commands/cluster/stack/install.d.ts +40 -0
  106. package/dist/commands/cluster/stack/install.js +196 -0
  107. package/dist/commands/cluster/stack/install.js.map +1 -0
  108. package/dist/commands/cluster/start.d.ts +0 -5
  109. package/dist/commands/cluster/start.js +1 -27
  110. package/dist/commands/cluster/start.js.map +1 -1
  111. package/dist/commands/cluster/stop.d.ts +0 -5
  112. package/dist/commands/cluster/stop.js +1 -27
  113. package/dist/commands/cluster/stop.js.map +1 -1
  114. package/dist/commands/config/add.d.ts +9 -11
  115. package/dist/commands/config/add.js +59 -125
  116. package/dist/commands/config/add.js.map +1 -1
  117. package/dist/commands/config/delete.d.ts +22 -11
  118. package/dist/commands/config/delete.js +28 -83
  119. package/dist/commands/config/delete.js.map +1 -1
  120. package/dist/commands/config/deploy.d.ts +26 -8
  121. package/dist/commands/config/deploy.js +169 -198
  122. package/dist/commands/config/deploy.js.map +1 -1
  123. package/dist/commands/config/import.d.ts +27 -22
  124. package/dist/commands/config/import.js +222 -253
  125. package/dist/commands/config/import.js.map +1 -1
  126. package/dist/commands/config/settings/get.d.ts +25 -14
  127. package/dist/commands/config/settings/get.js +30 -123
  128. package/dist/commands/config/settings/get.js.map +1 -1
  129. package/dist/commands/config/view.d.ts +26 -6
  130. package/dist/commands/config/view.js +112 -95
  131. package/dist/commands/config/view.js.map +1 -1
  132. package/dist/commands/csp/logout.d.ts +23 -6
  133. package/dist/commands/csp/logout.js +86 -63
  134. package/dist/commands/csp/logout.js.map +1 -1
  135. package/dist/commands/deploy.d.ts +31 -14
  136. package/dist/commands/deploy.js +264 -385
  137. package/dist/commands/deploy.js.map +1 -1
  138. package/dist/commands/enterprise/list.d.ts +22 -4
  139. package/dist/commands/enterprise/list.js +97 -67
  140. package/dist/commands/enterprise/list.js.map +1 -1
  141. package/dist/commands/env/add.d.ts +26 -7
  142. package/dist/commands/env/add.js +182 -179
  143. package/dist/commands/env/add.js.map +1 -1
  144. package/dist/commands/environment/cluster/attach.d.ts +1 -0
  145. package/dist/commands/environment/cluster/attach.js +5 -1
  146. package/dist/commands/environment/cluster/attach.js.map +1 -1
  147. package/dist/commands/environment/cluster/detach.d.ts +1 -0
  148. package/dist/commands/environment/cluster/detach.js +5 -1
  149. package/dist/commands/environment/cluster/detach.js.map +1 -1
  150. package/dist/commands/environment/create.d.ts +1 -0
  151. package/dist/commands/environment/create.js +5 -1
  152. package/dist/commands/environment/create.js.map +1 -1
  153. package/dist/commands/environment/delete.d.ts +39 -0
  154. package/dist/commands/environment/delete.js +135 -0
  155. package/dist/commands/environment/delete.js.map +1 -0
  156. package/dist/commands/environment/list.d.ts +28 -9
  157. package/dist/commands/environment/list.js +128 -167
  158. package/dist/commands/environment/list.js.map +1 -1
  159. package/dist/commands/host/map.d.ts +29 -19
  160. package/dist/commands/host/map.js +263 -324
  161. package/dist/commands/host/map.js.map +1 -1
  162. package/dist/commands/imageRegistry/capture.d.ts +12 -11
  163. package/dist/commands/imageRegistry/capture.js +49 -113
  164. package/dist/commands/imageRegistry/capture.js.map +1 -1
  165. package/dist/commands/imageRegistry/forget.d.ts +12 -11
  166. package/dist/commands/imageRegistry/forget.js +53 -114
  167. package/dist/commands/imageRegistry/forget.js.map +1 -1
  168. package/dist/commands/imageRegistry/pullSecret/set.d.ts +21 -11
  169. package/dist/commands/imageRegistry/pullSecret/set.js +184 -278
  170. package/dist/commands/imageRegistry/pullSecret/set.js.map +1 -1
  171. package/dist/commands/imageRegistry/pullSecret/unset.d.ts +19 -11
  172. package/dist/commands/imageRegistry/pullSecret/unset.js +117 -190
  173. package/dist/commands/imageRegistry/pullSecret/unset.js.map +1 -1
  174. package/dist/commands/images/add.d.ts +19 -6
  175. package/dist/commands/images/add.js +63 -53
  176. package/dist/commands/images/add.js.map +1 -1
  177. package/dist/commands/kit/create.d.ts +22 -10
  178. package/dist/commands/kit/create.js +119 -121
  179. package/dist/commands/kit/create.js.map +1 -1
  180. package/dist/commands/logout.d.ts +21 -5
  181. package/dist/commands/logout.js +44 -25
  182. package/dist/commands/logout.js.map +1 -1
  183. package/dist/commands/noc/cluster/create.js +22 -10
  184. package/dist/commands/noc/cluster/create.js.map +1 -1
  185. package/dist/commands/noc/cluster/credentials-set.d.ts +38 -0
  186. package/dist/commands/noc/cluster/credentials-set.js +174 -0
  187. package/dist/commands/noc/cluster/credentials-set.js.map +1 -0
  188. package/dist/commands/noc/cluster/define.d.ts +46 -0
  189. package/dist/commands/noc/cluster/define.js +305 -0
  190. package/dist/commands/noc/cluster/define.js.map +1 -0
  191. package/dist/commands/noc/cluster/deinit.d.ts +22 -5
  192. package/dist/commands/noc/cluster/deinit.js +99 -106
  193. package/dist/commands/noc/cluster/deinit.js.map +1 -1
  194. package/dist/commands/noc/cluster/forget.js +2 -4
  195. package/dist/commands/noc/cluster/forget.js.map +1 -1
  196. package/dist/commands/noc/cluster/grant.d.ts +20 -11
  197. package/dist/commands/noc/cluster/grant.js +94 -132
  198. package/dist/commands/noc/cluster/grant.js.map +1 -1
  199. package/dist/commands/noc/cluster/init.d.ts +25 -7
  200. package/dist/commands/noc/cluster/init.js +121 -133
  201. package/dist/commands/noc/cluster/init.js.map +1 -1
  202. package/dist/commands/noc/cluster/journal.d.ts +0 -5
  203. package/dist/commands/noc/cluster/journal.js +1 -26
  204. package/dist/commands/noc/cluster/journal.js.map +1 -1
  205. package/dist/commands/noc/cluster/list.d.ts +23 -5
  206. package/dist/commands/noc/cluster/list.js +107 -111
  207. package/dist/commands/noc/cluster/list.js.map +1 -1
  208. package/dist/commands/noc/cluster/restore.d.ts +36 -0
  209. package/dist/commands/noc/cluster/restore.js +196 -0
  210. package/dist/commands/noc/cluster/restore.js.map +1 -0
  211. package/dist/commands/portal.d.ts +21 -5
  212. package/dist/commands/portal.js +37 -36
  213. package/dist/commands/portal.js.map +1 -1
  214. package/dist/commands/secretStore/capture.d.ts +13 -11
  215. package/dist/commands/secretStore/capture.js +63 -123
  216. package/dist/commands/secretStore/capture.js.map +1 -1
  217. package/dist/commands/secretStore/forget.d.ts +13 -11
  218. package/dist/commands/secretStore/forget.js +55 -111
  219. package/dist/commands/secretStore/forget.js.map +1 -1
  220. package/dist/commands/shell/init.d.ts +15 -0
  221. package/dist/commands/shell/init.js +96 -0
  222. package/dist/commands/shell/init.js.map +1 -0
  223. package/dist/commands/snapshot/deploy.d.ts +22 -42
  224. package/dist/commands/snapshot/deploy.js +173 -269
  225. package/dist/commands/snapshot/deploy.js.map +1 -1
  226. package/dist/commands/snapshot/list.d.ts +26 -5
  227. package/dist/commands/snapshot/list.js +116 -109
  228. package/dist/commands/snapshot/list.js.map +1 -1
  229. package/dist/commands/tenant/create.d.ts +18 -13
  230. package/dist/commands/tenant/create.js +69 -69
  231. package/dist/commands/tenant/create.js.map +1 -1
  232. package/dist/commands/tenant/switch.d.ts +18 -12
  233. package/dist/commands/tenant/switch.js +65 -59
  234. package/dist/commands/tenant/switch.js.map +1 -1
  235. package/dist/commands/whereami.d.ts +18 -8
  236. package/dist/commands/whereami.js +67 -102
  237. package/dist/commands/whereami.js.map +1 -1
  238. package/dist/commands/whoami.d.ts +19 -3
  239. package/dist/commands/whoami.js +44 -13
  240. package/dist/commands/whoami.js.map +1 -1
  241. package/dist/ops/i-user-input-provider.d.ts +20 -1
  242. package/dist/ops/i-user-input-provider.js.map +1 -1
  243. package/dist/ops/test/mock-ui.d.ts +2 -1
  244. package/dist/ops/test/mock-ui.js +3 -0
  245. package/dist/ops/test/mock-ui.js.map +1 -1
  246. package/dist/ops/throwing-user-input-provider.d.ts +2 -1
  247. package/dist/ops/throwing-user-input-provider.js +3 -0
  248. package/dist/ops/throwing-user-input-provider.js.map +1 -1
  249. package/dist/relay/relay-container.js +1 -1
  250. package/dist/uilogic/lrp-watcher-predef.d.ts +2 -1
  251. package/dist/uilogic/lrp-watcher-predef.js +31 -17
  252. package/dist/uilogic/lrp-watcher-predef.js.map +1 -1
  253. package/dist/uilogic/lrp-watcher-utils.d.ts +2 -0
  254. package/dist/uilogic/lrp-watcher-utils.js +2 -0
  255. package/dist/uilogic/lrp-watcher-utils.js.map +1 -1
  256. package/dist/uilogic/rootmap-ui-utils.d.ts +18 -1
  257. package/dist/uilogic/rootmap-ui-utils.js +30 -0
  258. package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
  259. package/dist/uilogic/tenant-contextualizer.js +11 -1
  260. package/dist/uilogic/tenant-contextualizer.js.map +1 -1
  261. package/dist/user-context-loader.d.ts +12 -7
  262. package/dist/user-context-loader.js +89 -43
  263. package/dist/user-context-loader.js.map +1 -1
  264. package/oclif.manifest.json +3991 -1444
  265. package/package.json +2 -2
  266. package/dist/commands/noc/cluster/recreate.d.ts +0 -28
  267. package/dist/commands/noc/cluster/recreate.js +0 -197
  268. package/dist/commands/noc/cluster/recreate.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ import { AtLeast } from '@codiac.io/codiac-common/contracts';
2
+ import { CommandBaseExec, IEnterpriseEntity } from '../../command-base-exec';
3
+ import { RootMap } from '../../apis/codiac-api/contracts';
4
+ import { InteractionModes } from '../../uilogic/config-ui-utils';
5
+ type IClusterInstallRequest = IEnterpriseEntity & {
6
+ enterprise: string;
7
+ clusterName: string;
8
+ asset: string;
9
+ version: string;
10
+ wait?: boolean;
11
+ };
12
+ export default class ClusterInstall extends CommandBaseExec<IClusterInstallRequest> {
13
+ static description: string;
14
+ static aliases: never[];
15
+ static examples: {
16
+ description: string;
17
+ command: string;
18
+ }[];
19
+ static flags: {
20
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
21
+ enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
22
+ asset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
23
+ version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
24
+ wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
25
+ silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
26
+ echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
27
+ 'to-script': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
28
+ };
29
+ static args: {
30
+ cluster: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
31
+ };
32
+ protected infrxAliases: string[] | undefined;
33
+ protected adminOnly: boolean;
34
+ private versionsByAsset;
35
+ captureArgs(): Promise<[Partial<IClusterInstallRequest>, InteractionModes | undefined, boolean]>;
36
+ buildCandidate_silently(partial: AtLeast<IClusterInstallRequest, 'enterprise'>, rootMap: RootMap): Promise<IClusterInstallRequest | undefined>;
37
+ buildCandidate_interactively(partial: AtLeast<IClusterInstallRequest, 'enterprise'>, rootMap: RootMap, takeDefaults: boolean): Promise<IClusterInstallRequest | undefined>;
38
+ private setAsset;
39
+ private setVersion;
40
+ private loadAssetVersions;
41
+ private promptForClusterName;
42
+ buildCommandString(candidate: IClusterInstallRequest, cmd: string[]): string[];
43
+ executeTask(candidate: IClusterInstallRequest): Promise<void>;
44
+ }
45
+ export {};
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
5
+ const cli_common_1 = require("../../cli-common");
6
+ const command_base_exec_1 = require("../../command-base-exec");
7
+ const codiac_constants_1 = require("../../codiac-constants");
8
+ const config_ui_utils_1 = require("../../uilogic/config-ui-utils");
9
+ class ClusterInstall extends command_base_exec_1.CommandBaseExec {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.infrxAliases = ["cluster:install"];
13
+ this.adminOnly = true;
14
+ this.versionsByAsset = {};
15
+ }
16
+ captureArgs() {
17
+ var _a, _b;
18
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
+ const { args, flags } = yield this.parse(ClusterInstall);
20
+ let partial = {};
21
+ if (flags.enterprise)
22
+ partial.enterprise = flags.enterprise;
23
+ if (args.cluster)
24
+ partial.clusterName = args.cluster;
25
+ if (flags.asset)
26
+ partial.asset = flags.asset;
27
+ if (flags.version)
28
+ partial.version = flags.version;
29
+ if (flags.wait)
30
+ partial.wait = true;
31
+ const interactionMode = (this.pipedInput) ? config_ui_utils_1.InteractionModes.silent : (_b = (_a = undefined !== null && undefined !== void 0 ? undefined : (flags.echo ? config_ui_utils_1.InteractionModes.echo : undefined)) !== null && _a !== void 0 ? _a : (flags['to-script'] ? config_ui_utils_1.InteractionModes.toscript : undefined)) !== null && _b !== void 0 ? _b : (flags.silent ? config_ui_utils_1.InteractionModes.silent : undefined);
32
+ return [partial, interactionMode, false];
33
+ });
34
+ }
35
+ buildCandidate_silently(partial, rootMap) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ if (!partial.clusterName)
38
+ throw new Error('Cluster name is required in silent mode.');
39
+ if (!partial.asset)
40
+ throw new Error('Asset name is required in silent mode.');
41
+ if (!partial.version)
42
+ throw new Error('Asset version is required in silent mode.');
43
+ const found = rootMap.clusters.find(c => c.name === partial.clusterName);
44
+ if (!found)
45
+ throw new Error(`No cluster found with name [${partial.clusterName}].`);
46
+ return Object.assign({ enterprise: partial.enterprise, clusterName: partial.clusterName, asset: partial.asset, version: partial.version }, (partial.wait ? { wait: true } : {}));
47
+ });
48
+ }
49
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ partial.clusterName = yield this.promptForClusterName(partial.clusterName, rootMap, takeDefaults);
52
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
53
+ const asset = yield this.setAsset(partial.asset, ent, takeDefaults);
54
+ partial.asset = asset.name;
55
+ partial.version = yield this.setVersion(asset, partial.version, takeDefaults);
56
+ return yield this.buildCandidate_silently(partial, rootMap);
57
+ });
58
+ }
59
+ setAsset(userInput, ent, takeDefaults) {
60
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
+ let output;
62
+ if (userInput !== codiac_constants_1.CliConstants.PROMPT_ME_DESIGNATOR) {
63
+ const isValid = userInput != undefined && ent.assets.some(a => a.name === userInput);
64
+ if (userInput && !isValid) {
65
+ this._ui.userMessage(this._styler.colorWarning(`Asset [${userInput}] not found in enterprise; please select from the list below.`));
66
+ userInput = undefined;
67
+ }
68
+ if (userInput) {
69
+ output = userInput;
70
+ }
71
+ }
72
+ if (output == undefined) {
73
+ let assetChanged;
74
+ let assetType;
75
+ [output, assetChanged, assetType] = yield this.rootMapUtils.promptForAsset(ent.assets, undefined);
76
+ }
77
+ return ent.assets.find(a => a.name === output);
78
+ });
79
+ }
80
+ setVersion(asset, userInput, takeDefaults) {
81
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
82
+ let output;
83
+ let availables;
84
+ if (userInput !== codiac_constants_1.CliConstants.PROMPT_ME_DESIGNATOR) {
85
+ if (userInput != undefined) {
86
+ availables = yield this.loadAssetVersions(asset);
87
+ const isValid = availables.map(v => v.trim().toLowerCase()).includes(userInput.trim().toLowerCase());
88
+ if (!isValid) {
89
+ this._ui.userMessage(this._styler.colorWarning(`Version [${userInput}] not found; please select from the list below.`));
90
+ userInput = undefined;
91
+ }
92
+ }
93
+ if (userInput) {
94
+ output = userInput;
95
+ this._ui.userMessage(`Continuing with ${asset.name}:${output}`);
96
+ }
97
+ }
98
+ if (output == undefined) {
99
+ const sorted = availables !== null && availables !== void 0 ? availables : yield this.loadAssetVersions(asset);
100
+ const fetchTags = (searchString) => tslib_1.__awaiter(this, void 0, void 0, function* () { return sorted.filter(v => v.toLowerCase().includes(searchString !== null && searchString !== void 0 ? searchString : '')).map(v => ({ name: v, value: v })); });
101
+ const fuzzySelector = new cli_common_1.PromptSelectFuzzy(this.logger, this._ui, this._styler);
102
+ output = yield fuzzySelector.go('assetVersion', 'Select the asset version:', false, undefined, false, fetchTags);
103
+ }
104
+ if (output == undefined)
105
+ throw new Error(`No version was selected for asset [${asset.name}].`);
106
+ return output;
107
+ });
108
+ }
109
+ loadAssetVersions(asset) {
110
+ var _a;
111
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
112
+ if (this.versionsByAsset[asset.name])
113
+ return this.versionsByAsset[asset.name];
114
+ this._ui.startSpinner('Loading versions...');
115
+ const result = yield this.genRelayClient.Call.FetchAssetVersions({ image: asset.image, assetType: asset.type });
116
+ if (result.error) {
117
+ this._ui.stopSpinner('failed');
118
+ throw result.error;
119
+ }
120
+ if (result.output)
121
+ this.versionsByAsset[asset.name] = result.output;
122
+ const sorted = (_a = this.versionsByAsset[asset.name]) !== null && _a !== void 0 ? _a : [];
123
+ this._ui.stopSpinner(`found ${sorted.length}`);
124
+ return sorted;
125
+ });
126
+ }
127
+ promptForClusterName(userInput, rootMap, takeDefaults) {
128
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
129
+ const clusters = rootMap.clusters.map(c => c);
130
+ if (clusters.length === 0)
131
+ throw new Error('No clusters found on this enterprise.');
132
+ if (userInput) {
133
+ const found = clusters.find(c => c.name === userInput);
134
+ if (!found) {
135
+ this._ui.userMessage(this._styler.colorWarning(`No cluster found with name [${userInput}]; please select from the list below.`));
136
+ userInput = undefined;
137
+ }
138
+ }
139
+ if (clusters.length === 1 && takeDefaults) {
140
+ this._ui.userMessage(`Cluster: ${this._styler.hilite(clusters[0].name)}`);
141
+ return clusters[0].name;
142
+ }
143
+ const selected = yield this.rootMapUtils.promptForCluster(clusters, userInput);
144
+ return selected.name;
145
+ });
146
+ }
147
+ buildCommandString(candidate, cmd) {
148
+ cmd.push('-e', candidate.enterprise);
149
+ cmd.push(candidate.clusterName);
150
+ cmd.push('-a', candidate.asset);
151
+ cmd.push('-u', candidate.version);
152
+ if (candidate.wait)
153
+ cmd.push('--wait');
154
+ cmd.push('--silent');
155
+ return cmd;
156
+ }
157
+ executeTask(candidate) {
158
+ var _a, _b, _c;
159
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
160
+ try {
161
+ const result = yield this.watcher.triggerAndWatch((correlationId, socketId) => this.genRelayClient.Call.assetDeploy({
162
+ spec: Object.assign({ target: {
163
+ enterprise: candidate.enterprise,
164
+ clusterName: candidate.clusterName,
165
+ }, assets: [{ a: candidate.asset, v: candidate.version }] }, (candidate.wait ? { wait: true } : {})),
166
+ socketId,
167
+ correlationId,
168
+ }));
169
+ if (result.error) {
170
+ const msg = `Error deploying [${candidate.asset}] to cluster [${candidate.clusterName}]: ${(_a = result.message) !== null && _a !== void 0 ? _a : ''} ${(_b = result.error.message) !== null && _b !== void 0 ? _b : ''}`.trimEnd();
171
+ this.logger.error(msg, result.error);
172
+ this._ui.userMessage(`${this._styler.colorCritical('ERROR!')} ${msg}`);
173
+ }
174
+ else if (!result.success) {
175
+ const msg = `Deployment failed for [${candidate.asset}] on cluster [${candidate.clusterName}]: ${(_c = result.message) !== null && _c !== void 0 ? _c : ''}`.trimEnd();
176
+ this.logger.notice(msg, result);
177
+ this._ui.userMessage(`${this._styler.colorCritical('FAILED!')} ${msg}`);
178
+ }
179
+ else {
180
+ const msg = `${this._styler.colorGood('SUCCESS!')} Deployed [${this._styler.hilite(candidate.asset)}] to cluster [${this._styler.hilite(candidate.clusterName)}].`;
181
+ this.logger.notice(msg, result);
182
+ this._ui.userMessage(msg);
183
+ }
184
+ }
185
+ catch (err) {
186
+ throw err;
187
+ }
188
+ finally {
189
+ return;
190
+ }
191
+ });
192
+ }
193
+ }
194
+ exports.default = ClusterInstall;
195
+ ClusterInstall.description = 'Deploys a given asset version to a cluster cabinet, using the async deployment pipeline.';
196
+ ClusterInstall.aliases = [];
197
+ ClusterInstall.examples = [
198
+ {
199
+ description: 'Deploy an asset to a cluster.',
200
+ command: '<%= config.bin %> <%= command.id %> my-cluster -a my-chart -u 1.2.3',
201
+ },
202
+ {
203
+ description: 'Deploy and wait for chart startup to complete.',
204
+ command: '<%= config.bin %> <%= command.id %> my-cluster -a my-chart -u 1.2.3 --wait',
205
+ },
206
+ {
207
+ description: 'Non-interactive (scripted) invocation.',
208
+ command: '<%= config.bin %> <%= command.id %> my-cluster -a my-chart -u 1.2.3 --silent',
209
+ },
210
+ ];
211
+ ClusterInstall.flags = {
212
+ help: core_1.Flags.help({ char: 'h', description: 'Displays the help document for this command.' }),
213
+ enterprise: core_1.Flags.string({ char: 'e', required: false, description: 'Code name of the infrastructure enterprise to target.' }),
214
+ asset: core_1.Flags.string({ char: 'a', required: false, description: 'Name of the asset to deploy.' }),
215
+ version: core_1.Flags.string({ char: 'u', required: false, dependsOn: ['asset'], description: 'Version of the asset to deploy.' }),
216
+ wait: core_1.Flags.boolean({ required: false, description: 'Wait for all chart/asset startup to complete before returning. When omitted, returns immediately without blocking on chart readiness.' }),
217
+ silent: core_1.Flags.boolean({ exclusive: ['echo', 'to-script'], description: 'Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.' }),
218
+ echo: core_1.Flags.boolean({ exclusive: ['to-script', 'silent'], description: 'Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.' }),
219
+ 'to-script': core_1.Flags.boolean({ exclusive: ['echo', 'silent'], description: 'Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.' }),
220
+ };
221
+ ClusterInstall.args = {
222
+ cluster: core_1.Args.string({ description: 'Name of the cluster to deploy to.' }),
223
+ };
224
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/cluster/install.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,6 @@ const command_base_exec_tenant_1 = require("../../../command-base-exec-tenant");
8
8
  const k8s_utils_1 = require("../../../ops/k8s/k8s-utils");
9
9
  const codiac_constants_1 = require("../../../codiac-constants");
10
10
  const prettify_1 = require("../../../prettify");
11
- const clusterProjxn = { pathsIncluded: ["id", "name", "provider", "locationName", "instance", "modified", "modifiedBy"], pathsExcluded: [] };
12
- // -----------------------------------------------------------------
13
11
  class ClusterStackCapture extends command_base_exec_tenant_1.CommandBaseExecTenant {
14
12
  constructor() {
15
13
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/commands/cluster/stack/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../../src/commands/cluster/stack/capture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { RootMap } from '../../../apis/codiac-api/contracts';
2
+ import { CommandBaseExec, IEnterpriseEntity } from '../../../command-base-exec';
3
+ import { AtLeast } from '@codiac.io/codiac-common/contracts';
4
+ import { InteractionModes } from '../../../uilogic/config-ui-utils';
5
+ type IClusterStackInstallRequest = IEnterpriseEntity & {
6
+ enterprise: string;
7
+ clusterName: string;
8
+ stackVersion?: string;
9
+ wait?: boolean;
10
+ };
11
+ export default class ClusterStackInstall extends CommandBaseExec<IClusterStackInstallRequest> {
12
+ static description: string;
13
+ static aliases: never[];
14
+ static examples: {
15
+ description: string;
16
+ command: string;
17
+ }[];
18
+ static flags: {
19
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
20
+ enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
21
+ version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
22
+ wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
23
+ silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
+ echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
25
+ "to-script": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
26
+ };
27
+ static args: {
28
+ cluster: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
29
+ };
30
+ protected infrxAliases: string[] | undefined;
31
+ protected adminOnly: boolean;
32
+ captureArgs(): Promise<[Partial<IClusterStackInstallRequest>, InteractionModes | undefined, boolean]>;
33
+ buildCandidate_silently(partial: AtLeast<IClusterStackInstallRequest, "enterprise">, rootMap: RootMap): Promise<IClusterStackInstallRequest | undefined>;
34
+ buildCandidate_interactively(partial: AtLeast<IClusterStackInstallRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<IClusterStackInstallRequest | undefined>;
35
+ private promptForClusterName;
36
+ private promptForStackVersion;
37
+ buildCommandString(candidate: IClusterStackInstallRequest, cmd: string[]): string[];
38
+ executeTask(candidate: IClusterStackInstallRequest): Promise<void>;
39
+ }
40
+ export {};
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
5
+ const _ = require("lodash");
6
+ const command_base_exec_1 = require("../../../command-base-exec");
7
+ const config_ui_utils_1 = require("../../../uilogic/config-ui-utils");
8
+ class ClusterStackInstall extends command_base_exec_1.CommandBaseExec {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.infrxAliases = ["cluster:stack:install"];
12
+ this.adminOnly = true;
13
+ }
14
+ captureArgs() {
15
+ var _a, _b;
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const { args, flags } = yield this.parse(ClusterStackInstall);
18
+ let partial = {};
19
+ if (flags.enterprise)
20
+ partial.enterprise = flags.enterprise;
21
+ if (args.cluster)
22
+ partial.clusterName = args.cluster;
23
+ if (flags.version)
24
+ partial.stackVersion = flags.version;
25
+ if (flags.wait)
26
+ partial.wait = true;
27
+ const interactionMode = (this.pipedInput) ? config_ui_utils_1.InteractionModes.silent : (_b = (_a = undefined !== null && undefined !== void 0 ? undefined : (flags.echo ? config_ui_utils_1.InteractionModes.echo : undefined)) !== null && _a !== void 0 ? _a : (flags["to-script"] ? config_ui_utils_1.InteractionModes.toscript : undefined)) !== null && _b !== void 0 ? _b : (flags.silent ? config_ui_utils_1.InteractionModes.silent : undefined);
28
+ return [partial, interactionMode, false];
29
+ });
30
+ }
31
+ buildCandidate_silently(partial, rootMap) {
32
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
+ if (!partial.clusterName || _.isEmpty(partial.clusterName)) {
34
+ throw new Error("Cluster name is required in silent mode.");
35
+ }
36
+ const found = rootMap.clusters.find(c => c.name === partial.clusterName);
37
+ if (!found)
38
+ throw new Error(`No cluster found with name [${partial.clusterName}].`);
39
+ return Object.assign(Object.assign({ enterprise: partial.enterprise, clusterName: partial.clusterName }, (partial.stackVersion ? { stackVersion: partial.stackVersion } : {})), (partial.wait !== undefined ? { wait: partial.wait } : {}));
40
+ });
41
+ }
42
+ buildCandidate_interactively(partial, rootMap, takeDefaults) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ partial.clusterName = yield this.promptForClusterName(partial.clusterName, rootMap, takeDefaults);
45
+ partial.stackVersion = yield this.promptForStackVersion(partial.stackVersion, partial.enterprise, takeDefaults);
46
+ return yield this.buildCandidate_silently(partial, rootMap);
47
+ });
48
+ }
49
+ promptForClusterName(userInput, rootMap, takeDefaults) {
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ const clusters = rootMap.clusters.map(c => c);
52
+ if (clusters.length === 0)
53
+ throw new Error("No clusters found on this enterprise.");
54
+ if (userInput) {
55
+ const found = clusters.find(c => c.name === userInput);
56
+ if (!found) {
57
+ this._ui.userMessage(this._styler.colorWarning(`No cluster found with name [${userInput}]; please select from the list below.`));
58
+ userInput = undefined;
59
+ }
60
+ }
61
+ if (clusters.length === 1 && takeDefaults) {
62
+ this._ui.userMessage(`Cluster: ${this._styler.hilite(clusters[0].name)}`);
63
+ return clusters[0].name;
64
+ }
65
+ const selected = yield this.rootMapUtils.promptForCluster(clusters, userInput);
66
+ return selected.name;
67
+ });
68
+ }
69
+ promptForStackVersion(userInput, enterprise, takeDefaults) {
70
+ var _a;
71
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
72
+ if (userInput) {
73
+ this._ui.userMessage(`Stack version: ${this._styler.hilite(userInput)}`);
74
+ return userInput;
75
+ }
76
+ this._ui.startSpinner("Retrieving available stack versions...");
77
+ const result = yield this._codiacApi.EnterpriseVersionConfig.tryReadMany({
78
+ enterprise,
79
+ take: 100,
80
+ sort: "created~desc",
81
+ });
82
+ if (result.error) {
83
+ this._ui.stopSpinner("failed");
84
+ throw result.error;
85
+ }
86
+ const snapshots = (_a = result.output) !== null && _a !== void 0 ? _a : [];
87
+ this._ui.stopSpinner(`found ${snapshots.length}`);
88
+ if (snapshots.length === 0) {
89
+ this._ui.userMessage("No stack versions found. Proceeding with the default-tagged version.");
90
+ return undefined;
91
+ }
92
+ const defaultSnapshot = snapshots.find(s => { var _a; return (_a = s.tags) === null || _a === void 0 ? void 0 : _a.some((t) => t.name === 'default'); });
93
+ if (defaultSnapshot) {
94
+ if (takeDefaults)
95
+ return undefined;
96
+ const useDefault = yield this._ui.promptConfirm("useDefaultVersion", `Install the default stack version: ${this._styler.hilite(defaultSnapshot.version)}?`, true);
97
+ if (useDefault)
98
+ return undefined;
99
+ }
100
+ else {
101
+ this._ui.userMessage(this._styler.colorWarning("No snapshot is tagged as 'default'. Please select a version to install."));
102
+ }
103
+ const choices = snapshots.map(s => {
104
+ var _a, _b;
105
+ const dateStr = new Date(s.created).toISOString().split('T')[0];
106
+ const tagStr = (_b = (_a = s.tags) === null || _a === void 0 ? void 0 : _a.map((t) => t.name).join(", ")) !== null && _b !== void 0 ? _b : "";
107
+ const label = tagStr
108
+ ? `${s.version} (${dateStr}) [${tagStr}] by ${s.createdBy}`
109
+ : `${s.version} (${dateStr}) by ${s.createdBy}`;
110
+ return { name: label, value: s.version };
111
+ });
112
+ return yield this._ui.promptSelect("stackVersion", "Select a stack version to install:", choices);
113
+ });
114
+ }
115
+ buildCommandString(candidate, cmd) {
116
+ cmd.push("-e", candidate.enterprise);
117
+ cmd.push(candidate.clusterName);
118
+ if (candidate.stackVersion)
119
+ cmd.push("--version", candidate.stackVersion);
120
+ if (candidate.wait === true)
121
+ cmd.push("--wait");
122
+ cmd.push("--silent");
123
+ return cmd;
124
+ }
125
+ executeTask(candidate) {
126
+ var _a, _b, _c;
127
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
128
+ try {
129
+ const result = yield this.watcher.triggerAndWatch((correlationId, socketId) => this.genRelayClient.Call.clusterStackInstall({
130
+ spec: Object.assign(Object.assign({ clusterName: candidate.clusterName }, (candidate.stackVersion ? { stackVersion: candidate.stackVersion } : {})), (candidate.wait !== undefined ? { wait: candidate.wait } : {})),
131
+ socketId,
132
+ correlationId,
133
+ }));
134
+ if (result.error) {
135
+ const msg = `Error installing cluster stack on [${candidate.clusterName}]: ${(_a = result.message) !== null && _a !== void 0 ? _a : ""} ${(_b = result.error.message) !== null && _b !== void 0 ? _b : ""}`.trimEnd();
136
+ this.logger.error(msg, result.error);
137
+ this._ui.userMessage(`${this._styler.colorCritical("ERROR!")} ${msg}`);
138
+ }
139
+ else if (!result.success) {
140
+ const msg = `Cluster stack install failed on [${candidate.clusterName}]: ${(_c = result.message) !== null && _c !== void 0 ? _c : ""}`.trimEnd();
141
+ this.logger.notice(msg, result);
142
+ this._ui.userMessage(`${this._styler.colorCritical("FAILED!")} ${msg}`);
143
+ }
144
+ else {
145
+ const msg = `${this._styler.colorGood("SUCCESS!")} Cluster stack installed on [${this._styler.hilite(candidate.clusterName)}].`;
146
+ this.logger.notice(msg, result);
147
+ this._ui.userMessage(msg);
148
+ }
149
+ }
150
+ catch (err) {
151
+ throw err;
152
+ }
153
+ finally {
154
+ return;
155
+ }
156
+ });
157
+ }
158
+ }
159
+ exports.default = ClusterStackInstall;
160
+ ClusterStackInstall.description = 'Installs the cluster stack on the given cluster, deploying all infrastructure workloads defined in the stack snapshot.';
161
+ ClusterStackInstall.aliases = [];
162
+ ClusterStackInstall.examples = [
163
+ {
164
+ description: 'Install the default-tagged cluster stack version.',
165
+ command: '<%= config.bin %> <%= command.id %> my-cluster',
166
+ },
167
+ {
168
+ description: 'Install a specific cluster stack version.',
169
+ command: '<%= config.bin %> <%= command.id %> my-cluster --version 5CJRH7XB',
170
+ },
171
+ {
172
+ description: 'Non-interactive (scripted) invocation.',
173
+ command: '<%= config.bin %> <%= command.id %> my-cluster --silent',
174
+ },
175
+ {
176
+ description: 'Renders the equivalent silent command and then executes.',
177
+ command: '<%= config.bin %> <%= command.id %> my-cluster --echo',
178
+ },
179
+ {
180
+ description: 'Render the equivalent silent command without executing.',
181
+ command: '<%= config.bin %> <%= command.id %> my-cluster --to-script',
182
+ },
183
+ ];
184
+ ClusterStackInstall.flags = {
185
+ help: core_1.Flags.help({ char: 'h', description: 'Displays the help document for this command.' }),
186
+ enterprise: core_1.Flags.string({ char: 'e', required: false, description: 'Code name of the infrastructure enterprise to target.' }),
187
+ version: core_1.Flags.string({ char: 'v', required: false, description: 'Version of the cluster stack snapshot to install. Omit to install the default-tagged version.' }),
188
+ wait: core_1.Flags.boolean({ required: false, description: 'Wait for all helm chart startups to complete before returning. When omitted, helm installs return immediately without blocking on chart readiness.' }),
189
+ silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.' }),
190
+ echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.' }),
191
+ "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.' }),
192
+ };
193
+ ClusterStackInstall.args = {
194
+ cluster: core_1.Args.string({ description: 'Name of the cluster on which to install the stack.' }),
195
+ };
196
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/cluster/stack/install.ts"],"names":[],"mappings":"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"}
@@ -29,9 +29,4 @@ export default class ClusterStart extends CommandBaseExecTenant<ILocalClusterSta
29
29
  buildCandidate_interactively(partial: Partial<ILocalClusterStartRequest>, takeDefaults: boolean, rootMap: RootMap): Promise<ILocalClusterStartRequest | undefined>;
30
30
  buildCommandString(candidate: ILocalClusterStartRequest, cmd: string[]): string[];
31
31
  executeTask(candidate: ILocalClusterStartRequest): Promise<void>;
32
- /** Renders a user-friendly cluster description. */
33
- private describe;
34
- /** Returns the name of the selected cluster.
35
- */
36
- private promptForCluster;
37
32
  }
@@ -9,7 +9,6 @@ const contracts_1 = require("../../apis/codiac-api/contracts");
9
9
  const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
10
10
  const terminal_utils_1 = require("../../ops/terminal-utils");
11
11
  const local_command_runner_1 = require("../../ops/terminal-command-runner/local-command-runner");
12
- const clusterProjxn = { pathsIncluded: ["id", "name", "provider", "locationName", "instance", "modified", "modifiedBy"], pathsExcluded: [] };
13
12
  class ClusterStart extends command_base_exec_tenant_1.CommandBaseExecTenant {
14
13
  constructor() {
15
14
  super(...arguments);
@@ -97,7 +96,7 @@ class ClusterStart extends command_base_exec_tenant_1.CommandBaseExecTenant {
97
96
  selected = clusters[0];
98
97
  }
99
98
  else {
100
- selected = yield this.promptForCluster(clusters, partial.cluster);
99
+ selected = yield this.rootMapUtils.promptForCluster(clusters, partial.cluster, "Local Cluster:");
101
100
  }
102
101
  partial.cluster = selected.name;
103
102
  partial.provider = selected.provider;
@@ -146,31 +145,6 @@ class ClusterStart extends command_base_exec_tenant_1.CommandBaseExecTenant {
146
145
  }
147
146
  });
148
147
  }
149
- /** Renders a user-friendly cluster description. */
150
- describe(cluster) {
151
- return cluster.name.concat(" ", this._styler.dim("(" + cluster.provider + ")"));
152
- }
153
- /** Returns the name of the selected cluster.
154
- */
155
- promptForCluster(clusters, defaultValue) {
156
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
157
- let output;
158
- let keep = false;
159
- if (defaultValue && clusters.find(c => c.name === defaultValue)) {
160
- keep = yield this._ui.promptConfirm("clusterNameConfirm", `Local Cluster: [${this._styler.hilite(defaultValue)}]`, true);
161
- }
162
- if (keep === true) {
163
- output = clusters.find(c => c.name === defaultValue);
164
- }
165
- else {
166
- let choices = clusters
167
- .map(c => { return { name: this.describe(c), value: c.name }; });
168
- let selectedName = (yield this._ui.promptSelect("clusterName", "Select the local cluster:", choices));
169
- output = clusters.find(c => c.name === selectedName);
170
- }
171
- return output;
172
- });
173
- }
174
148
  }
175
149
  exports.default = ClusterStart;
176
150
  ClusterStart.description = 'For local machine clusters only. (Idempotent) Ensures that the specified local machine cluster is running and not inactive. Clusters can consume significant local resources, since they cannot be scaled like they can in the cloud, so this command and `cluster stop` together enable a user to determine which a clusters are actually running or not at any given time.';