@codiac.io/codiac-cli 1.2.219 → 1.2.221

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 (1279) hide show
  1. package/README.md +4636 -4651
  2. package/bin/dev +16 -16
  3. package/bin/dev.cmd +2 -2
  4. package/bin/run +3 -3
  5. package/bin/run.cmd +3 -3
  6. package/codiac.json +9 -9
  7. package/dist/apis/codiac-api/common/api-client-base.d.ts +165 -165
  8. package/dist/apis/codiac-api/common/api-client-base.js +547 -547
  9. package/dist/apis/codiac-api/common/api-user-creds.d.ts +7 -7
  10. package/dist/apis/codiac-api/common/api-user-creds.js +18 -18
  11. package/dist/apis/codiac-api/common/config-loader.d.ts +6 -6
  12. package/dist/apis/codiac-api/common/config-loader.js +18 -18
  13. package/dist/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
  14. package/dist/apis/codiac-api/common/endpoint-spec.js +27 -27
  15. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
  16. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
  17. package/dist/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
  18. package/dist/apis/codiac-api/common/security/auth-constants.js +21 -21
  19. package/dist/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
  20. package/dist/apis/codiac-api/common/security/i-auth-client.js +2 -2
  21. package/dist/apis/codiac-api/common/security/token-holder.d.ts +13 -13
  22. package/dist/apis/codiac-api/common/security/token-holder.js +17 -17
  23. package/dist/apis/codiac-api/common/utils.d.ts +23 -23
  24. package/dist/apis/codiac-api/common/utils.js +82 -82
  25. package/dist/apis/codiac-api/contracts/index.d.ts +1 -1
  26. package/dist/apis/codiac-api/contracts/index.js +4 -4
  27. package/dist/apis/codiac-api/gen/client-config.d.ts +10 -10
  28. package/dist/apis/codiac-api/gen/client-config.js +28 -28
  29. package/dist/apis/codiac-api/gen/client.d.ts +1663 -1663
  30. package/dist/apis/codiac-api/gen/client.js +15630 -15629
  31. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  32. package/dist/apis/codiac-api/gen/contracts.d.ts +2722 -2722
  33. package/dist/apis/codiac-api/gen/contracts.js +402 -402
  34. package/dist/apis/codiac-api/index.d.ts +3 -3
  35. package/dist/apis/codiac-api/index.js +8 -8
  36. package/dist/apis/codiac-relay/common/api-client-base.d.ts +165 -165
  37. package/dist/apis/codiac-relay/common/api-client-base.js +547 -547
  38. package/dist/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
  39. package/dist/apis/codiac-relay/common/api-user-creds.js +18 -18
  40. package/dist/apis/codiac-relay/common/config-loader.d.ts +6 -6
  41. package/dist/apis/codiac-relay/common/config-loader.js +18 -18
  42. package/dist/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
  43. package/dist/apis/codiac-relay/common/endpoint-spec.js +27 -27
  44. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
  45. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
  46. package/dist/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
  47. package/dist/apis/codiac-relay/common/security/auth-constants.js +21 -21
  48. package/dist/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
  49. package/dist/apis/codiac-relay/common/security/i-auth-client.js +2 -2
  50. package/dist/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
  51. package/dist/apis/codiac-relay/common/security/token-holder.js +17 -17
  52. package/dist/apis/codiac-relay/common/utils.d.ts +23 -23
  53. package/dist/apis/codiac-relay/common/utils.js +82 -82
  54. package/dist/apis/codiac-relay/contracts/index.d.ts +1 -1
  55. package/dist/apis/codiac-relay/contracts/index.js +4 -4
  56. package/dist/apis/codiac-relay/gen/client-config.d.ts +10 -10
  57. package/dist/apis/codiac-relay/gen/client-config.js +28 -28
  58. package/dist/apis/codiac-relay/gen/client.d.ts +244 -244
  59. package/dist/apis/codiac-relay/gen/client.js +1862 -1862
  60. package/dist/apis/codiac-relay/gen/contracts.d.ts +3115 -3115
  61. package/dist/apis/codiac-relay/gen/contracts.js +434 -434
  62. package/dist/apis/codiac-relay/index.d.ts +3 -3
  63. package/dist/apis/codiac-relay/index.js +8 -8
  64. package/dist/cli-common/ImagesList.js +66 -66
  65. package/dist/cli-common/argument-manager.d.ts +28 -28
  66. package/dist/cli-common/argument-manager.js +194 -194
  67. package/dist/cli-common/built-in-cli-user-input.d.ts +18 -18
  68. package/dist/cli-common/built-in-cli-user-input.js +309 -309
  69. package/dist/cli-common/cli-interfaces.js +6 -6
  70. package/dist/cli-common/command-base.d.ts +74 -72
  71. package/dist/cli-common/command-base.js +197 -182
  72. package/dist/cli-common/command-base.js.map +1 -1
  73. package/dist/cli-common/entities/index.d.ts +1 -1
  74. package/dist/cli-common/entities/index.js +4 -4
  75. package/dist/cli-common/entities/prompt-choice.d.ts +7 -7
  76. package/dist/cli-common/entities/prompt-choice.js +2 -2
  77. package/dist/cli-common/file-selector.d.ts +48 -48
  78. package/dist/cli-common/file-selector.js +186 -186
  79. package/dist/cli-common/i-user-input-provider.js +18 -18
  80. package/dist/cli-common/index.d.ts +4 -4
  81. package/dist/cli-common/index.js +10 -10
  82. package/dist/cli-common/mock-ui.d.ts +27 -27
  83. package/dist/cli-common/mock-ui.js +82 -82
  84. package/dist/cli-common/prompt-select-fuzzy.d.ts +19 -19
  85. package/dist/cli-common/prompt-select-fuzzy.js +118 -118
  86. package/dist/cli-common/tenant-contextualizer.js +435 -435
  87. package/dist/cli-common/test/tenant-contextualizer.spec.js +142 -142
  88. package/dist/cli-entities/output-format-enum.d.ts +7 -7
  89. package/dist/cli-entities/output-format-enum.js +11 -11
  90. package/dist/cli-entities/prompt-choice.js +5 -5
  91. package/dist/codiac-constants.d.ts +48 -38
  92. package/dist/codiac-constants.js +53 -43
  93. package/dist/codiac-constants.js.map +1 -1
  94. package/dist/codiac-entities/asset-binding.d.ts +12 -12
  95. package/dist/codiac-entities/asset-binding.js +17 -17
  96. package/dist/codiac-entities/azure-container-registry.d.ts +4 -4
  97. package/dist/codiac-entities/azure-container-registry.js +2 -2
  98. package/dist/codiac-entities/azure-service-principal.d.ts +23 -23
  99. package/dist/codiac-entities/azure-service-principal.js +23 -23
  100. package/dist/codiac-entities/cloud-account-ref.d.ts +28 -28
  101. package/dist/codiac-entities/cloud-account-ref.js +36 -36
  102. package/dist/codiac-entities/deployment-temp.js +132 -132
  103. package/dist/codiac-entities/i-cloud-account-ref.d.ts +5 -5
  104. package/dist/codiac-entities/i-cloud-account-ref.js +2 -2
  105. package/dist/command-base-enterprise.d.ts +121 -121
  106. package/dist/command-base-enterprise.js +523 -523
  107. package/dist/command-base-tenantless.d.ts +44 -44
  108. package/dist/command-base-tenantless.js +179 -179
  109. package/dist/commands/asset/create.d.ts +42 -42
  110. package/dist/commands/asset/create.js +475 -475
  111. package/dist/commands/asset/destroy.d.ts +20 -20
  112. package/dist/commands/asset/destroy.js +128 -128
  113. package/dist/commands/asset/helm.d.ts +23 -23
  114. package/dist/commands/asset/helm.js +152 -152
  115. package/dist/commands/asset/list.d.ts +28 -28
  116. package/dist/commands/asset/list.js +171 -171
  117. package/dist/commands/asset/probe/create.d.ts +38 -38
  118. package/dist/commands/asset/probe/create.js +186 -186
  119. package/dist/commands/asset/recycle.d.ts +23 -23
  120. package/dist/commands/asset/recycle.js +174 -174
  121. package/dist/commands/asset/view.d.ts +188 -188
  122. package/dist/commands/asset/view.js +1394 -1394
  123. package/dist/commands/asset/volume/create.d.ts +23 -23
  124. package/dist/commands/asset/volume/create.js +175 -175
  125. package/dist/commands/asset/volume/delete.d.ts +19 -19
  126. package/dist/commands/asset/volume/delete.js +111 -111
  127. package/dist/commands/asset/volume/list.d.ts +19 -19
  128. package/dist/commands/asset/volume/list.js +69 -69
  129. package/dist/commands/branch/current.d.ts +10 -10
  130. package/dist/commands/branch/current.js +33 -33
  131. package/dist/commands/branch/list.d.ts +15 -15
  132. package/dist/commands/branch/list.js +55 -55
  133. package/dist/commands/branch.d.ts +12 -12
  134. package/dist/commands/branch.js +41 -41
  135. package/dist/commands/build.d.ts +38 -38
  136. package/dist/commands/build.js +119 -119
  137. package/dist/commands/cabinet/create.d.ts +21 -21
  138. package/dist/commands/cabinet/create.js +107 -107
  139. package/dist/commands/cabinet/list.d.ts +23 -23
  140. package/dist/commands/cabinet/list.js +133 -133
  141. package/dist/commands/cabinet/obliterate.d.ts +20 -20
  142. package/dist/commands/cabinet/obliterate.js +82 -82
  143. package/dist/commands/cli.d.ts +10 -10
  144. package/dist/commands/cli.js +99 -99
  145. package/dist/commands/commit.d.ts +11 -11
  146. package/dist/commands/commit.js +39 -39
  147. package/dist/commands/config/add.d.ts +90 -78
  148. package/dist/commands/config/add.js +671 -559
  149. package/dist/commands/config/add.js.map +1 -1
  150. package/dist/commands/config/delete.d.ts +35 -18
  151. package/dist/commands/config/delete.js +306 -118
  152. package/dist/commands/config/delete.js.map +1 -1
  153. package/dist/commands/config/deploy.d.ts +22 -22
  154. package/dist/commands/config/deploy.js +124 -124
  155. package/dist/commands/config/import.d.ts +27 -27
  156. package/dist/commands/config/import.js +195 -195
  157. package/dist/commands/config/settings/get.d.ts +38 -0
  158. package/dist/commands/config/settings/get.js +297 -0
  159. package/dist/commands/config/settings/get.js.map +1 -0
  160. package/dist/commands/config/view.d.ts +25 -25
  161. package/dist/commands/config/view.js +120 -120
  162. package/dist/commands/csp/login.d.ts +18 -18
  163. package/dist/commands/csp/login.js +122 -122
  164. package/dist/commands/csp/logout.d.ts +15 -15
  165. package/dist/commands/csp/logout.js +73 -73
  166. package/dist/commands/dep/create.d.ts +13 -13
  167. package/dist/commands/dep/create.js +40 -40
  168. package/dist/commands/dep/install.d.ts +9 -9
  169. package/dist/commands/dep/install.js +29 -29
  170. package/dist/commands/dep/list.d.ts +55 -55
  171. package/dist/commands/dep/list.js +97 -97
  172. package/dist/commands/dep/remove.d.ts +12 -12
  173. package/dist/commands/dep/remove.js +61 -61
  174. package/dist/commands/dep/source.d.ts +13 -13
  175. package/dist/commands/dep/source.js +82 -82
  176. package/dist/commands/dep/syncup.d.ts +11 -11
  177. package/dist/commands/dep/syncup.js +53 -53
  178. package/dist/commands/dep/unsource.d.ts +14 -14
  179. package/dist/commands/dep/unsource.js +67 -67
  180. package/dist/commands/dep/upgrade.d.ts +44 -44
  181. package/dist/commands/dep/upgrade.js +243 -243
  182. package/dist/commands/dep.d.ts +12 -12
  183. package/dist/commands/dep.js +50 -50
  184. package/dist/commands/deploy.d.ts +38 -38
  185. package/dist/commands/deploy.js +385 -385
  186. package/dist/commands/enterprise/create.d.ts +20 -20
  187. package/dist/commands/enterprise/create.js +97 -97
  188. package/dist/commands/enterprise/list.d.ts +14 -14
  189. package/dist/commands/enterprise/list.js +83 -83
  190. package/dist/commands/env/add.d.ts +22 -22
  191. package/dist/commands/env/add.js +199 -199
  192. package/dist/commands/environment/create.d.ts +19 -19
  193. package/dist/commands/environment/create.js +88 -88
  194. package/dist/commands/environment/list.d.ts +25 -25
  195. package/dist/commands/environment/list.js +157 -157
  196. package/dist/commands/filestore/capture.d.ts +31 -31
  197. package/dist/commands/filestore/capture.js +341 -341
  198. package/dist/commands/host/map.d.ts +33 -33
  199. package/dist/commands/host/map.js +346 -346
  200. package/dist/commands/identity/delete.d.ts +15 -15
  201. package/dist/commands/identity/delete.js +82 -82
  202. package/dist/commands/identity/list.d.ts +11 -11
  203. package/dist/commands/identity/list.js +42 -42
  204. package/dist/commands/identity.d.ts +22 -22
  205. package/dist/commands/identity.js +76 -76
  206. package/dist/commands/imageRegistry/capture.d.ts +27 -27
  207. package/dist/commands/imageRegistry/capture.js +159 -159
  208. package/dist/commands/imageRegistry/forget.d.ts +23 -23
  209. package/dist/commands/imageRegistry/forget.js +160 -160
  210. package/dist/commands/imageRegistry/pullSecret/set.d.ts +27 -27
  211. package/dist/commands/imageRegistry/pullSecret/set.js +310 -310
  212. package/dist/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
  213. package/dist/commands/imageRegistry/pullSecret/unset.js +242 -242
  214. package/dist/commands/images/add.d.ts +25 -25
  215. package/dist/commands/images/add.js +75 -75
  216. package/dist/commands/images/list.d.ts +14 -14
  217. package/dist/commands/images/list.js +71 -71
  218. package/dist/commands/images/patch.d.ts +14 -14
  219. package/dist/commands/images/patch.js +92 -92
  220. package/dist/commands/images/remove.d.ts +12 -12
  221. package/dist/commands/images/remove.js +37 -37
  222. package/dist/commands/images/version/bump.d.ts +18 -18
  223. package/dist/commands/images/version/bump.js +60 -60
  224. package/dist/commands/images/version.d.ts +16 -16
  225. package/dist/commands/images/version.js +64 -64
  226. package/dist/commands/init.d.ts +17 -17
  227. package/dist/commands/init.js +130 -130
  228. package/dist/commands/kit/create.d.ts +25 -25
  229. package/dist/commands/kit/create.js +141 -141
  230. package/dist/commands/login.d.ts +22 -22
  231. package/dist/commands/login.js +92 -92
  232. package/dist/commands/logout.d.ts +8 -8
  233. package/dist/commands/logout.js +36 -36
  234. package/dist/commands/merge.d.ts +12 -12
  235. package/dist/commands/merge.js +42 -42
  236. package/dist/commands/noc/cluster/create.d.ts +28 -28
  237. package/dist/commands/noc/cluster/create.js +135 -135
  238. package/dist/commands/noc/cluster/deinit.d.ts +17 -17
  239. package/dist/commands/noc/cluster/deinit.js +116 -116
  240. package/dist/commands/noc/cluster/destroy.d.ts +20 -20
  241. package/dist/commands/noc/cluster/destroy.js +137 -137
  242. package/dist/commands/noc/cluster/forget.d.ts +16 -16
  243. package/dist/commands/noc/cluster/forget.js +136 -136
  244. package/dist/commands/noc/cluster/grant.d.ts +24 -24
  245. package/dist/commands/noc/cluster/grant.js +159 -159
  246. package/dist/commands/noc/cluster/init.d.ts +17 -17
  247. package/dist/commands/noc/cluster/init.js +116 -116
  248. package/dist/commands/noc/cluster/list.d.ts +21 -21
  249. package/dist/commands/noc/cluster/list.js +83 -83
  250. package/dist/commands/noc/cluster/recreate.d.ts +28 -28
  251. package/dist/commands/noc/cluster/recreate.js +188 -188
  252. package/dist/commands/pkg/add.d.ts +15 -15
  253. package/dist/commands/pkg/add.js +42 -42
  254. package/dist/commands/pkg/list.d.ts +9 -9
  255. package/dist/commands/pkg/list.js +32 -32
  256. package/dist/commands/pkg/patch.d.ts +13 -13
  257. package/dist/commands/pkg/patch.js +78 -78
  258. package/dist/commands/pkg/remove.d.ts +12 -12
  259. package/dist/commands/pkg/remove.js +69 -69
  260. package/dist/commands/portal.d.ts +11 -11
  261. package/dist/commands/portal.js +81 -81
  262. package/dist/commands/publish.d.ts +21 -21
  263. package/dist/commands/publish.js +51 -51
  264. package/dist/commands/pull.d.ts +13 -13
  265. package/dist/commands/pull.js +29 -29
  266. package/dist/commands/push.d.ts +13 -13
  267. package/dist/commands/push.js +29 -29
  268. package/dist/commands/run.d.ts +35 -35
  269. package/dist/commands/run.js +193 -193
  270. package/dist/commands/secretStore/capture.d.ts +27 -27
  271. package/dist/commands/secretStore/capture.js +174 -174
  272. package/dist/commands/secretStore/forget.d.ts +20 -20
  273. package/dist/commands/secretStore/forget.js +146 -146
  274. package/dist/commands/stage.d.ts +13 -13
  275. package/dist/commands/stage.js +64 -64
  276. package/dist/commands/stash.d.ts +13 -13
  277. package/dist/commands/stash.js +30 -30
  278. package/dist/commands/status.d.ts +12 -12
  279. package/dist/commands/status.js +48 -48
  280. package/dist/commands/stop.d.ts +10 -10
  281. package/dist/commands/stop.js +51 -51
  282. package/dist/commands/switch.d.ts +11 -11
  283. package/dist/commands/switch.js +41 -41
  284. package/dist/commands/sync.d.ts +14 -14
  285. package/dist/commands/sync.js +20 -20
  286. package/dist/commands/tenant/create.d.ts +27 -27
  287. package/dist/commands/tenant/create.js +119 -119
  288. package/dist/commands/tenant/switch.d.ts +24 -24
  289. package/dist/commands/tenant/switch.js +108 -108
  290. package/dist/commands/unstage.d.ts +12 -12
  291. package/dist/commands/unstage.js +57 -57
  292. package/dist/commands/whereami.d.ts +15 -15
  293. package/dist/commands/whereami.js +122 -122
  294. package/dist/commands/whoami.d.ts +8 -8
  295. package/dist/commands/whoami.js +39 -39
  296. package/dist/errors/NoMembershipError.d.ts +8 -8
  297. package/dist/errors/NoMembershipError.js +14 -14
  298. package/dist/index.d.ts +1 -1
  299. package/dist/index.js +16 -16
  300. package/dist/log-update-wrapper.d.ts +24 -24
  301. package/dist/log-update-wrapper.js +28 -28
  302. package/dist/log4js-logger.d.ts +26 -26
  303. package/dist/log4js-logger.js +137 -137
  304. package/dist/ops/INTERFACES_CLI.d.ts +3 -3
  305. package/dist/ops/INTERFACES_CLI.js +7 -7
  306. package/dist/ops/LocalOps.d.ts +417 -417
  307. package/dist/ops/LocalOps.js +3121 -3121
  308. package/dist/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
  309. package/dist/ops/cli-path-walker.js +54 -54
  310. package/dist/ops/codiac-entities/dependency.d.ts +5 -5
  311. package/dist/ops/codiac-entities/dependency.js +10 -10
  312. package/dist/ops/codiac-entities/index.d.ts +1 -1
  313. package/dist/ops/codiac-entities/index.js +4 -4
  314. package/dist/ops/composite-image-registry-client.js +73 -73
  315. package/dist/ops/data/cli-context-repo.d.ts +61 -61
  316. package/dist/ops/data/cli-context-repo.js +269 -269
  317. package/dist/ops/data/index.d.ts +2 -2
  318. package/dist/ops/data/index.js +5 -5
  319. package/dist/ops/data/npm-config-repo.d.ts +13 -13
  320. package/dist/ops/data/npm-config-repo.js +64 -64
  321. package/dist/ops/docker-config.js +130 -130
  322. package/dist/ops/docker-constants.js +21 -21
  323. package/dist/ops/docker-credentials-store.js +237 -237
  324. package/dist/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
  325. package/dist/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
  326. package/dist/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
  327. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
  328. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
  329. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
  330. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
  331. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
  332. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
  333. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
  334. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
  335. package/dist/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
  336. package/dist/ops/docker-registry-api-client/entities/image-repository.js +29 -29
  337. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
  338. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
  339. package/dist/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
  340. package/dist/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
  341. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
  342. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
  343. package/dist/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
  344. package/dist/ops/docker-registry-api-client/entities/manifest.js +20 -20
  345. package/dist/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
  346. package/dist/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
  347. package/dist/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
  348. package/dist/ops/docker-registry-api-client/entities/token-response.js +14 -14
  349. package/dist/ops/docker-registry-api-client/entities/token.d.ts +17 -17
  350. package/dist/ops/docker-registry-api-client/entities/token.js +21 -21
  351. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
  352. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
  353. package/dist/ops/dx-constants.d.ts +26 -26
  354. package/dist/ops/dx-constants.js +42 -42
  355. package/dist/ops/entities/ImageBuildContext.d.ts +12 -12
  356. package/dist/ops/entities/ImageBuildContext.js +18 -18
  357. package/dist/ops/entities/PipelineContext.d.ts +21 -21
  358. package/dist/ops/entities/PipelineContext.js +22 -22
  359. package/dist/ops/entities/TenantContext.d.ts +10 -10
  360. package/dist/ops/entities/TenantContext.js +15 -15
  361. package/dist/ops/entities/ThaulConfig.js +29 -29
  362. package/dist/ops/entities/azure-service-principal.d.ts +23 -23
  363. package/dist/ops/entities/azure-service-principal.js +23 -23
  364. package/dist/ops/entities/better-logger.js +1 -1
  365. package/dist/ops/entities/branch.d.ts +13 -13
  366. package/dist/ops/entities/branch.js +15 -15
  367. package/dist/ops/entities/cli-config.d.ts +48 -48
  368. package/dist/ops/entities/cli-config.js +60 -60
  369. package/dist/ops/entities/docker-image.d.ts +60 -60
  370. package/dist/ops/entities/docker-image.js +2 -2
  371. package/dist/ops/entities/helm-spec.d.ts +15 -15
  372. package/dist/ops/entities/helm-spec.js +22 -22
  373. package/dist/ops/entities/index.d.ts +4 -4
  374. package/dist/ops/entities/index.js +11 -11
  375. package/dist/ops/entities/operation-meta.d.ts +8 -8
  376. package/dist/ops/entities/operation-meta.js +18 -18
  377. package/dist/ops/entities/scaffolding.d.ts +19 -19
  378. package/dist/ops/entities/scaffolding.js +20 -20
  379. package/dist/ops/extensions/azart-identity-adapter.d.ts +19 -19
  380. package/dist/ops/extensions/azart-identity-adapter.js +96 -96
  381. package/dist/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
  382. package/dist/ops/extensions/npm-identity-adapter-base.js +2 -2
  383. package/dist/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
  384. package/dist/ops/extensions/npmjs-identity-adapter.js +63 -63
  385. package/dist/ops/git-ops.d.ts +8 -8
  386. package/dist/ops/git-ops.js +13 -13
  387. package/dist/ops/i-client-for-image-registry.js +16 -16
  388. package/dist/ops/i-identity-handler.d.ts +33 -33
  389. package/dist/ops/i-identity-handler.js +164 -164
  390. package/dist/ops/i-output-styler.js +16 -16
  391. package/dist/ops/index.d.ts +12 -12
  392. package/dist/ops/index.js +14 -14
  393. package/dist/ops/json-utils.js +58 -58
  394. package/dist/ops/no-style-output-styler.js +29 -29
  395. package/dist/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
  396. package/dist/ops/oauth2-client.ts/oauth2-client.js +63 -63
  397. package/dist/ops/project-initializer.d.ts +36 -36
  398. package/dist/ops/project-initializer.js +218 -218
  399. package/dist/ops/scaffolding/base-scaffolding.d.ts +7 -7
  400. package/dist/ops/scaffolding/base-scaffolding.js +20 -20
  401. package/dist/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
  402. package/dist/ops/scaffolding/codiac-api-scaffolding.js +63 -63
  403. package/dist/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
  404. package/dist/ops/scaffolding/typescript-scaffolding.js +162 -162
  405. package/dist/ops/test/mock-ui.d.ts +26 -26
  406. package/dist/ops/test/mock-ui.js +87 -87
  407. package/dist/ops/test/test-extensions.d.ts +13 -13
  408. package/dist/ops/test/test-extensions.js +70 -70
  409. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
  410. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
  411. package/dist/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
  412. package/dist/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
  413. package/dist/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
  414. package/dist/ops/test/when-versions-are-parsed.spec.js +61 -61
  415. package/dist/ops/throwing-user-input-provider.js +36 -36
  416. package/dist/ops/workspace-versioner.d.ts +122 -122
  417. package/dist/ops/workspace-versioner.js +291 -291
  418. package/dist/prettify.d.ts +7 -7
  419. package/dist/prettify.js +23 -23
  420. package/dist/read-stdin.d.ts +2 -2
  421. package/dist/read-stdin.js +28 -28
  422. package/dist/relay/contracts/contracts.d.ts +207 -207
  423. package/dist/relay/contracts/contracts.js +229 -229
  424. package/dist/relay/extended-relay-client.d.ts +27 -27
  425. package/dist/relay/extended-relay-client.js +27 -27
  426. package/dist/relay/relay-container.d.ts +41 -41
  427. package/dist/relay/relay-container.js +297 -297
  428. package/dist/relay/wsclient/relay-socket-listener.d.ts +68 -68
  429. package/dist/relay/wsclient/relay-socket-listener.js +164 -164
  430. package/dist/relay/wsclient/relay-websocket-client.d.ts +33 -33
  431. package/dist/relay/wsclient/relay-websocket-client.js +178 -178
  432. package/dist/relay/wsclient/rx-websocket-subject.d.ts +25 -25
  433. package/dist/relay/wsclient/rx-websocket-subject.js +133 -133
  434. package/dist/relay/wsclient/socket-contracts.d.ts +22 -22
  435. package/dist/relay/wsclient/socket-contracts.js +2 -2
  436. package/dist/standard-probes.d.ts +5 -5
  437. package/dist/standard-probes.js +21 -21
  438. package/dist/uilogic/build-configurator.d.ts +21 -21
  439. package/dist/uilogic/build-configurator.js +110 -110
  440. package/dist/uilogic/cloud-provider-contextualizer.d.ts +46 -46
  441. package/dist/uilogic/cloud-provider-contextualizer.js +193 -193
  442. package/dist/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
  443. package/dist/uilogic/cloud-resource-configurator-factory.js +157 -157
  444. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
  445. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
  446. package/dist/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
  447. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
  448. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
  449. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
  450. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +785 -785
  451. package/dist/uilogic/cloud-resource-configurators/azure-types.js +9 -9
  452. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
  453. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
  454. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
  455. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
  456. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
  457. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
  458. package/dist/uilogic/config-ui-utils.d.ts +112 -0
  459. package/dist/uilogic/config-ui-utils.js +574 -0
  460. package/dist/uilogic/config-ui-utils.js.map +1 -0
  461. package/dist/uilogic/enterprise-contextualizer.d.ts +79 -76
  462. package/dist/uilogic/enterprise-contextualizer.js +700 -670
  463. package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
  464. package/dist/uilogic/environment-contextualizer.d.ts +15 -15
  465. package/dist/uilogic/environment-contextualizer.js +42 -42
  466. package/dist/uilogic/i-cluster-configurator.d.ts +9 -9
  467. package/dist/uilogic/i-cluster-configurator.js +2 -2
  468. package/dist/uilogic/i-login-configurator.d.ts +6 -6
  469. package/dist/uilogic/i-login-configurator.js +2 -2
  470. package/dist/uilogic/i-registry-configurator.d.ts +6 -6
  471. package/dist/uilogic/i-registry-configurator.js +2 -2
  472. package/dist/uilogic/i-secret-store-configurator.d.ts +7 -7
  473. package/dist/uilogic/i-secret-store-configurator.js +2 -2
  474. package/dist/uilogic/image-configurator.d.ts +133 -133
  475. package/dist/uilogic/image-configurator.js +577 -577
  476. package/dist/uilogic/image-contextualizer.d.ts +24 -24
  477. package/dist/uilogic/image-contextualizer.js +89 -89
  478. package/dist/uilogic/image-registry-contextualizer.d.ts +28 -28
  479. package/dist/uilogic/image-registry-contextualizer.js +126 -126
  480. package/dist/uilogic/index.d.ts +9 -9
  481. package/dist/uilogic/index.js +13 -13
  482. package/dist/uilogic/prompt-select-fuzzy.js +138 -138
  483. package/dist/uilogic/render-methods.d.ts +12 -12
  484. package/dist/uilogic/render-methods.js +64 -64
  485. package/dist/uilogic/tenant-contextualizer.d.ts +79 -79
  486. package/dist/uilogic/tenant-contextualizer.js +577 -577
  487. package/dist/user-context-loader.d.ts +60 -60
  488. package/dist/user-context-loader.js +183 -183
  489. package/oclif.manifest.json +331 -59
  490. package/package.json +152 -151
  491. package/scaffolding/api/.gitignore-scaffolding +68 -68
  492. package/scaffolding/api/.vscode/launch.json +16 -16
  493. package/scaffolding/api/.vscode/settings.json +7 -7
  494. package/scaffolding/api/.vscode/tasks.json +15 -15
  495. package/scaffolding/api/src/app-config.json +2 -2
  496. package/scaffolding/api/src/index.ts-scaffolding +13 -13
  497. package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
  498. package/scaffolding/default/.gitignore-scaffolding +2 -2
  499. package/scaffolding/typescript/.gitignore-scaffolding +69 -69
  500. package/scaffolding/typescript/.vscode/launch.json +16 -16
  501. package/scaffolding/typescript/.vscode/settings.json +7 -7
  502. package/scaffolding/typescript/.vscode/tasks.json +15 -15
  503. package/lib/api-command-base.d.ts +0 -0
  504. package/lib/api-command-base.js +0 -52
  505. package/lib/api-command-base.js.map +0 -1
  506. package/lib/apis/codiac-api/common/api-client-base.d.ts +0 -165
  507. package/lib/apis/codiac-api/common/api-client-base.js +0 -548
  508. package/lib/apis/codiac-api/common/api-client-base.js.map +0 -1
  509. package/lib/apis/codiac-api/common/api-user-creds.d.ts +0 -7
  510. package/lib/apis/codiac-api/common/api-user-creds.js +0 -19
  511. package/lib/apis/codiac-api/common/api-user-creds.js.map +0 -1
  512. package/lib/apis/codiac-api/common/config-loader.d.ts +0 -6
  513. package/lib/apis/codiac-api/common/config-loader.js +0 -19
  514. package/lib/apis/codiac-api/common/config-loader.js.map +0 -1
  515. package/lib/apis/codiac-api/common/endpoint-spec.d.ts +0 -17
  516. package/lib/apis/codiac-api/common/endpoint-spec.js +0 -28
  517. package/lib/apis/codiac-api/common/endpoint-spec.js.map +0 -1
  518. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +0 -87
  519. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js +0 -368
  520. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js.map +0 -1
  521. package/lib/apis/codiac-api/common/security/auth-constants.d.ts +0 -15
  522. package/lib/apis/codiac-api/common/security/auth-constants.js +0 -22
  523. package/lib/apis/codiac-api/common/security/auth-constants.js.map +0 -1
  524. package/lib/apis/codiac-api/common/security/i-auth-client.d.ts +0 -44
  525. package/lib/apis/codiac-api/common/security/i-auth-client.js +0 -3
  526. package/lib/apis/codiac-api/common/security/i-auth-client.js.map +0 -1
  527. package/lib/apis/codiac-api/common/security/token-holder.d.ts +0 -13
  528. package/lib/apis/codiac-api/common/security/token-holder.js +0 -18
  529. package/lib/apis/codiac-api/common/security/token-holder.js.map +0 -1
  530. package/lib/apis/codiac-api/common/utils.d.ts +0 -23
  531. package/lib/apis/codiac-api/common/utils.js +0 -83
  532. package/lib/apis/codiac-api/common/utils.js.map +0 -1
  533. package/lib/apis/codiac-api/contracts/index.d.ts +0 -1
  534. package/lib/apis/codiac-api/contracts/index.js +0 -5
  535. package/lib/apis/codiac-api/contracts/index.js.map +0 -1
  536. package/lib/apis/codiac-api/gen/client-config.d.ts +0 -10
  537. package/lib/apis/codiac-api/gen/client-config.js +0 -29
  538. package/lib/apis/codiac-api/gen/client-config.js.map +0 -1
  539. package/lib/apis/codiac-api/gen/client.d.ts +0 -1663
  540. package/lib/apis/codiac-api/gen/client.js +0 -15630
  541. package/lib/apis/codiac-api/gen/client.js.map +0 -1
  542. package/lib/apis/codiac-api/gen/contracts.d.ts +0 -2722
  543. package/lib/apis/codiac-api/gen/contracts.js +0 -403
  544. package/lib/apis/codiac-api/gen/contracts.js.map +0 -1
  545. package/lib/apis/codiac-api/index.d.ts +0 -3
  546. package/lib/apis/codiac-api/index.js +0 -9
  547. package/lib/apis/codiac-api/index.js.map +0 -1
  548. package/lib/apis/codiac-relay/common/api-client-base.d.ts +0 -165
  549. package/lib/apis/codiac-relay/common/api-client-base.js +0 -548
  550. package/lib/apis/codiac-relay/common/api-client-base.js.map +0 -1
  551. package/lib/apis/codiac-relay/common/api-user-creds.d.ts +0 -7
  552. package/lib/apis/codiac-relay/common/api-user-creds.js +0 -19
  553. package/lib/apis/codiac-relay/common/api-user-creds.js.map +0 -1
  554. package/lib/apis/codiac-relay/common/config-loader.d.ts +0 -6
  555. package/lib/apis/codiac-relay/common/config-loader.js +0 -19
  556. package/lib/apis/codiac-relay/common/config-loader.js.map +0 -1
  557. package/lib/apis/codiac-relay/common/endpoint-spec.d.ts +0 -17
  558. package/lib/apis/codiac-relay/common/endpoint-spec.js +0 -28
  559. package/lib/apis/codiac-relay/common/endpoint-spec.js.map +0 -1
  560. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +0 -87
  561. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js +0 -368
  562. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js.map +0 -1
  563. package/lib/apis/codiac-relay/common/security/auth-constants.d.ts +0 -15
  564. package/lib/apis/codiac-relay/common/security/auth-constants.js +0 -22
  565. package/lib/apis/codiac-relay/common/security/auth-constants.js.map +0 -1
  566. package/lib/apis/codiac-relay/common/security/i-auth-client.d.ts +0 -44
  567. package/lib/apis/codiac-relay/common/security/i-auth-client.js +0 -3
  568. package/lib/apis/codiac-relay/common/security/i-auth-client.js.map +0 -1
  569. package/lib/apis/codiac-relay/common/security/token-holder.d.ts +0 -13
  570. package/lib/apis/codiac-relay/common/security/token-holder.js +0 -18
  571. package/lib/apis/codiac-relay/common/security/token-holder.js.map +0 -1
  572. package/lib/apis/codiac-relay/common/utils.d.ts +0 -23
  573. package/lib/apis/codiac-relay/common/utils.js +0 -83
  574. package/lib/apis/codiac-relay/common/utils.js.map +0 -1
  575. package/lib/apis/codiac-relay/contracts/index.d.ts +0 -1
  576. package/lib/apis/codiac-relay/contracts/index.js +0 -5
  577. package/lib/apis/codiac-relay/contracts/index.js.map +0 -1
  578. package/lib/apis/codiac-relay/gen/client-config.d.ts +0 -10
  579. package/lib/apis/codiac-relay/gen/client-config.js +0 -29
  580. package/lib/apis/codiac-relay/gen/client-config.js.map +0 -1
  581. package/lib/apis/codiac-relay/gen/client.d.ts +0 -244
  582. package/lib/apis/codiac-relay/gen/client.js +0 -1863
  583. package/lib/apis/codiac-relay/gen/client.js.map +0 -1
  584. package/lib/apis/codiac-relay/gen/contracts.d.ts +0 -3111
  585. package/lib/apis/codiac-relay/gen/contracts.js +0 -435
  586. package/lib/apis/codiac-relay/gen/contracts.js.map +0 -1
  587. package/lib/apis/codiac-relay/index.d.ts +0 -3
  588. package/lib/apis/codiac-relay/index.js +0 -9
  589. package/lib/apis/codiac-relay/index.js.map +0 -1
  590. package/lib/azure-rest-client.d.ts +0 -6
  591. package/lib/azure-rest-client.js +0 -36
  592. package/lib/azure-rest-client.js.map +0 -1
  593. package/lib/cli-common/ImagesList.d.ts +0 -0
  594. package/lib/cli-common/ImagesList.js +0 -67
  595. package/lib/cli-common/ImagesList.js.map +0 -1
  596. package/lib/cli-common/argument-manager.d.ts +0 -28
  597. package/lib/cli-common/argument-manager.js +0 -195
  598. package/lib/cli-common/argument-manager.js.map +0 -1
  599. package/lib/cli-common/built-in-cli-user-input.d.ts +0 -18
  600. package/lib/cli-common/built-in-cli-user-input.js +0 -310
  601. package/lib/cli-common/built-in-cli-user-input.js.map +0 -1
  602. package/lib/cli-common/cli-interfaces.d.ts +0 -0
  603. package/lib/cli-common/cli-interfaces.js +0 -7
  604. package/lib/cli-common/cli-interfaces.js.map +0 -1
  605. package/lib/cli-common/command-base.d.ts +0 -72
  606. package/lib/cli-common/command-base.js +0 -182
  607. package/lib/cli-common/command-base.js.map +0 -1
  608. package/lib/cli-common/entities/index.d.ts +0 -1
  609. package/lib/cli-common/entities/index.js +0 -5
  610. package/lib/cli-common/entities/index.js.map +0 -1
  611. package/lib/cli-common/entities/prompt-choice.d.ts +0 -7
  612. package/lib/cli-common/entities/prompt-choice.js +0 -3
  613. package/lib/cli-common/entities/prompt-choice.js.map +0 -1
  614. package/lib/cli-common/file-selector.d.ts +0 -48
  615. package/lib/cli-common/file-selector.js +0 -187
  616. package/lib/cli-common/file-selector.js.map +0 -1
  617. package/lib/cli-common/i-user-input-provider.d.ts +0 -0
  618. package/lib/cli-common/i-user-input-provider.js +0 -19
  619. package/lib/cli-common/i-user-input-provider.js.map +0 -1
  620. package/lib/cli-common/index.d.ts +0 -4
  621. package/lib/cli-common/index.js +0 -11
  622. package/lib/cli-common/index.js.map +0 -1
  623. package/lib/cli-common/mock-ui.d.ts +0 -27
  624. package/lib/cli-common/mock-ui.js +0 -83
  625. package/lib/cli-common/mock-ui.js.map +0 -1
  626. package/lib/cli-common/prompt-select-fuzzy.d.ts +0 -19
  627. package/lib/cli-common/prompt-select-fuzzy.js +0 -119
  628. package/lib/cli-common/prompt-select-fuzzy.js.map +0 -1
  629. package/lib/cli-common/tenant-contextualizer.d.ts +0 -0
  630. package/lib/cli-common/tenant-contextualizer.js +0 -436
  631. package/lib/cli-common/tenant-contextualizer.js.map +0 -1
  632. package/lib/cli-common/test/tenant-contextualizer.spec.d.ts +0 -0
  633. package/lib/cli-common/test/tenant-contextualizer.spec.js +0 -143
  634. package/lib/cli-common/test/tenant-contextualizer.spec.js.map +0 -1
  635. package/lib/cli-entities/output-format-enum.d.ts +0 -7
  636. package/lib/cli-entities/output-format-enum.js +0 -12
  637. package/lib/cli-entities/output-format-enum.js.map +0 -1
  638. package/lib/cli-entities/prompt-choice.d.ts +0 -0
  639. package/lib/cli-entities/prompt-choice.js +0 -6
  640. package/lib/cli-entities/prompt-choice.js.map +0 -1
  641. package/lib/codiac-constants.d.ts +0 -35
  642. package/lib/codiac-constants.js +0 -41
  643. package/lib/codiac-constants.js.map +0 -1
  644. package/lib/codiac-entities/asset-binding.d.ts +0 -12
  645. package/lib/codiac-entities/asset-binding.js +0 -18
  646. package/lib/codiac-entities/asset-binding.js.map +0 -1
  647. package/lib/codiac-entities/azure-container-registry.d.ts +0 -4
  648. package/lib/codiac-entities/azure-container-registry.js +0 -3
  649. package/lib/codiac-entities/azure-container-registry.js.map +0 -1
  650. package/lib/codiac-entities/azure-service-principal.d.ts +0 -23
  651. package/lib/codiac-entities/azure-service-principal.js +0 -24
  652. package/lib/codiac-entities/azure-service-principal.js.map +0 -1
  653. package/lib/codiac-entities/cloud-account-ref.d.ts +0 -28
  654. package/lib/codiac-entities/cloud-account-ref.js +0 -37
  655. package/lib/codiac-entities/cloud-account-ref.js.map +0 -1
  656. package/lib/codiac-entities/deployment-temp.d.ts +0 -0
  657. package/lib/codiac-entities/deployment-temp.js +0 -133
  658. package/lib/codiac-entities/deployment-temp.js.map +0 -1
  659. package/lib/codiac-entities/i-cloud-account-ref.d.ts +0 -5
  660. package/lib/codiac-entities/i-cloud-account-ref.js +0 -3
  661. package/lib/codiac-entities/i-cloud-account-ref.js.map +0 -1
  662. package/lib/command-base-enterprise.d.ts +0 -121
  663. package/lib/command-base-enterprise.js +0 -524
  664. package/lib/command-base-enterprise.js.map +0 -1
  665. package/lib/command-base-tenantless.d.ts +0 -44
  666. package/lib/command-base-tenantless.js +0 -180
  667. package/lib/command-base-tenantless.js.map +0 -1
  668. package/lib/commands/asset/create.d.ts +0 -42
  669. package/lib/commands/asset/create.js +0 -467
  670. package/lib/commands/asset/create.js.map +0 -1
  671. package/lib/commands/asset/destroy.d.ts +0 -20
  672. package/lib/commands/asset/destroy.js +0 -129
  673. package/lib/commands/asset/destroy.js.map +0 -1
  674. package/lib/commands/asset/helm.d.ts +0 -23
  675. package/lib/commands/asset/helm.js +0 -153
  676. package/lib/commands/asset/helm.js.map +0 -1
  677. package/lib/commands/asset/list.d.ts +0 -28
  678. package/lib/commands/asset/list.js +0 -172
  679. package/lib/commands/asset/list.js.map +0 -1
  680. package/lib/commands/asset/probe/create.d.ts +0 -38
  681. package/lib/commands/asset/probe/create.js +0 -187
  682. package/lib/commands/asset/probe/create.js.map +0 -1
  683. package/lib/commands/asset/recycle.d.ts +0 -23
  684. package/lib/commands/asset/recycle.js +0 -175
  685. package/lib/commands/asset/recycle.js.map +0 -1
  686. package/lib/commands/asset/view.d.ts +0 -188
  687. package/lib/commands/asset/view.js +0 -1365
  688. package/lib/commands/asset/view.js.map +0 -1
  689. package/lib/commands/asset/volume/create.d.ts +0 -23
  690. package/lib/commands/asset/volume/create.js +0 -176
  691. package/lib/commands/asset/volume/create.js.map +0 -1
  692. package/lib/commands/asset/volume/delete.d.ts +0 -19
  693. package/lib/commands/asset/volume/delete.js +0 -112
  694. package/lib/commands/asset/volume/delete.js.map +0 -1
  695. package/lib/commands/asset/volume/list.d.ts +0 -19
  696. package/lib/commands/asset/volume/list.js +0 -70
  697. package/lib/commands/asset/volume/list.js.map +0 -1
  698. package/lib/commands/branch/current.d.ts +0 -10
  699. package/lib/commands/branch/current.js +0 -34
  700. package/lib/commands/branch/current.js.map +0 -1
  701. package/lib/commands/branch/list.d.ts +0 -15
  702. package/lib/commands/branch/list.js +0 -56
  703. package/lib/commands/branch/list.js.map +0 -1
  704. package/lib/commands/branch.d.ts +0 -12
  705. package/lib/commands/branch.js +0 -42
  706. package/lib/commands/branch.js.map +0 -1
  707. package/lib/commands/build.d.ts +0 -38
  708. package/lib/commands/build.js +0 -120
  709. package/lib/commands/build.js.map +0 -1
  710. package/lib/commands/cabinet/create.d.ts +0 -21
  711. package/lib/commands/cabinet/create.js +0 -108
  712. package/lib/commands/cabinet/create.js.map +0 -1
  713. package/lib/commands/cabinet/list.d.ts +0 -23
  714. package/lib/commands/cabinet/list.js +0 -134
  715. package/lib/commands/cabinet/list.js.map +0 -1
  716. package/lib/commands/cabinet/obliterate.d.ts +0 -20
  717. package/lib/commands/cabinet/obliterate.js +0 -83
  718. package/lib/commands/cabinet/obliterate.js.map +0 -1
  719. package/lib/commands/cli.d.ts +0 -10
  720. package/lib/commands/cli.js +0 -100
  721. package/lib/commands/cli.js.map +0 -1
  722. package/lib/commands/commit.d.ts +0 -11
  723. package/lib/commands/commit.js +0 -40
  724. package/lib/commands/commit.js.map +0 -1
  725. package/lib/commands/config/add.d.ts +0 -78
  726. package/lib/commands/config/add.js +0 -560
  727. package/lib/commands/config/add.js.map +0 -1
  728. package/lib/commands/config/delete.d.ts +0 -18
  729. package/lib/commands/config/delete.js +0 -119
  730. package/lib/commands/config/delete.js.map +0 -1
  731. package/lib/commands/config/deploy.d.ts +0 -22
  732. package/lib/commands/config/deploy.js +0 -125
  733. package/lib/commands/config/deploy.js.map +0 -1
  734. package/lib/commands/config/import.d.ts +0 -27
  735. package/lib/commands/config/import.js +0 -196
  736. package/lib/commands/config/import.js.map +0 -1
  737. package/lib/commands/config/view.d.ts +0 -25
  738. package/lib/commands/config/view.js +0 -121
  739. package/lib/commands/config/view.js.map +0 -1
  740. package/lib/commands/csp/login.d.ts +0 -18
  741. package/lib/commands/csp/login.js +0 -123
  742. package/lib/commands/csp/login.js.map +0 -1
  743. package/lib/commands/csp/logout.d.ts +0 -15
  744. package/lib/commands/csp/logout.js +0 -74
  745. package/lib/commands/csp/logout.js.map +0 -1
  746. package/lib/commands/dep/create.d.ts +0 -13
  747. package/lib/commands/dep/create.js +0 -41
  748. package/lib/commands/dep/create.js.map +0 -1
  749. package/lib/commands/dep/install.d.ts +0 -9
  750. package/lib/commands/dep/install.js +0 -30
  751. package/lib/commands/dep/install.js.map +0 -1
  752. package/lib/commands/dep/list.d.ts +0 -55
  753. package/lib/commands/dep/list.js +0 -98
  754. package/lib/commands/dep/list.js.map +0 -1
  755. package/lib/commands/dep/remove.d.ts +0 -12
  756. package/lib/commands/dep/remove.js +0 -62
  757. package/lib/commands/dep/remove.js.map +0 -1
  758. package/lib/commands/dep/source.d.ts +0 -13
  759. package/lib/commands/dep/source.js +0 -83
  760. package/lib/commands/dep/source.js.map +0 -1
  761. package/lib/commands/dep/syncup.d.ts +0 -11
  762. package/lib/commands/dep/syncup.js +0 -54
  763. package/lib/commands/dep/syncup.js.map +0 -1
  764. package/lib/commands/dep/unsource.d.ts +0 -14
  765. package/lib/commands/dep/unsource.js +0 -68
  766. package/lib/commands/dep/unsource.js.map +0 -1
  767. package/lib/commands/dep/upgrade.d.ts +0 -44
  768. package/lib/commands/dep/upgrade.js +0 -244
  769. package/lib/commands/dep/upgrade.js.map +0 -1
  770. package/lib/commands/dep.d.ts +0 -12
  771. package/lib/commands/dep.js +0 -51
  772. package/lib/commands/dep.js.map +0 -1
  773. package/lib/commands/deploy.d.ts +0 -38
  774. package/lib/commands/deploy.js +0 -386
  775. package/lib/commands/deploy.js.map +0 -1
  776. package/lib/commands/enterprise/create.d.ts +0 -20
  777. package/lib/commands/enterprise/create.js +0 -98
  778. package/lib/commands/enterprise/create.js.map +0 -1
  779. package/lib/commands/enterprise/list.d.ts +0 -14
  780. package/lib/commands/enterprise/list.js +0 -84
  781. package/lib/commands/enterprise/list.js.map +0 -1
  782. package/lib/commands/env/add.d.ts +0 -22
  783. package/lib/commands/env/add.js +0 -200
  784. package/lib/commands/env/add.js.map +0 -1
  785. package/lib/commands/environment/create.d.ts +0 -19
  786. package/lib/commands/environment/create.js +0 -89
  787. package/lib/commands/environment/create.js.map +0 -1
  788. package/lib/commands/environment/list.d.ts +0 -25
  789. package/lib/commands/environment/list.js +0 -158
  790. package/lib/commands/environment/list.js.map +0 -1
  791. package/lib/commands/filestore/capture.d.ts +0 -31
  792. package/lib/commands/filestore/capture.js +0 -342
  793. package/lib/commands/filestore/capture.js.map +0 -1
  794. package/lib/commands/host/map.d.ts +0 -33
  795. package/lib/commands/host/map.js +0 -347
  796. package/lib/commands/host/map.js.map +0 -1
  797. package/lib/commands/identity/delete.d.ts +0 -15
  798. package/lib/commands/identity/delete.js +0 -83
  799. package/lib/commands/identity/delete.js.map +0 -1
  800. package/lib/commands/identity/list.d.ts +0 -11
  801. package/lib/commands/identity/list.js +0 -43
  802. package/lib/commands/identity/list.js.map +0 -1
  803. package/lib/commands/identity.d.ts +0 -22
  804. package/lib/commands/identity.js +0 -77
  805. package/lib/commands/identity.js.map +0 -1
  806. package/lib/commands/imageRegistry/capture.d.ts +0 -27
  807. package/lib/commands/imageRegistry/capture.js +0 -160
  808. package/lib/commands/imageRegistry/capture.js.map +0 -1
  809. package/lib/commands/imageRegistry/forget.d.ts +0 -23
  810. package/lib/commands/imageRegistry/forget.js +0 -161
  811. package/lib/commands/imageRegistry/forget.js.map +0 -1
  812. package/lib/commands/imageRegistry/pullSecret/set.d.ts +0 -27
  813. package/lib/commands/imageRegistry/pullSecret/set.js +0 -300
  814. package/lib/commands/imageRegistry/pullSecret/set.js.map +0 -1
  815. package/lib/commands/imageRegistry/pullSecret/unset.d.ts +0 -24
  816. package/lib/commands/imageRegistry/pullSecret/unset.js +0 -243
  817. package/lib/commands/imageRegistry/pullSecret/unset.js.map +0 -1
  818. package/lib/commands/images/add.d.ts +0 -25
  819. package/lib/commands/images/add.js +0 -76
  820. package/lib/commands/images/add.js.map +0 -1
  821. package/lib/commands/images/list.d.ts +0 -14
  822. package/lib/commands/images/list.js +0 -72
  823. package/lib/commands/images/list.js.map +0 -1
  824. package/lib/commands/images/patch.d.ts +0 -14
  825. package/lib/commands/images/patch.js +0 -93
  826. package/lib/commands/images/patch.js.map +0 -1
  827. package/lib/commands/images/remove.d.ts +0 -12
  828. package/lib/commands/images/remove.js +0 -38
  829. package/lib/commands/images/remove.js.map +0 -1
  830. package/lib/commands/images/version/bump.d.ts +0 -18
  831. package/lib/commands/images/version/bump.js +0 -61
  832. package/lib/commands/images/version/bump.js.map +0 -1
  833. package/lib/commands/images/version.d.ts +0 -16
  834. package/lib/commands/images/version.js +0 -65
  835. package/lib/commands/images/version.js.map +0 -1
  836. package/lib/commands/init.d.ts +0 -17
  837. package/lib/commands/init.js +0 -131
  838. package/lib/commands/init.js.map +0 -1
  839. package/lib/commands/kit/create.d.ts +0 -25
  840. package/lib/commands/kit/create.js +0 -142
  841. package/lib/commands/kit/create.js.map +0 -1
  842. package/lib/commands/login.d.ts +0 -22
  843. package/lib/commands/login.js +0 -93
  844. package/lib/commands/login.js.map +0 -1
  845. package/lib/commands/logout.d.ts +0 -8
  846. package/lib/commands/logout.js +0 -37
  847. package/lib/commands/logout.js.map +0 -1
  848. package/lib/commands/merge.d.ts +0 -12
  849. package/lib/commands/merge.js +0 -43
  850. package/lib/commands/merge.js.map +0 -1
  851. package/lib/commands/noc/cluster/create.d.ts +0 -28
  852. package/lib/commands/noc/cluster/create.js +0 -133
  853. package/lib/commands/noc/cluster/create.js.map +0 -1
  854. package/lib/commands/noc/cluster/deinit.d.ts +0 -17
  855. package/lib/commands/noc/cluster/deinit.js +0 -117
  856. package/lib/commands/noc/cluster/deinit.js.map +0 -1
  857. package/lib/commands/noc/cluster/destroy.d.ts +0 -20
  858. package/lib/commands/noc/cluster/destroy.js +0 -138
  859. package/lib/commands/noc/cluster/destroy.js.map +0 -1
  860. package/lib/commands/noc/cluster/forget.d.ts +0 -16
  861. package/lib/commands/noc/cluster/forget.js +0 -137
  862. package/lib/commands/noc/cluster/forget.js.map +0 -1
  863. package/lib/commands/noc/cluster/grant.d.ts +0 -24
  864. package/lib/commands/noc/cluster/grant.js +0 -160
  865. package/lib/commands/noc/cluster/grant.js.map +0 -1
  866. package/lib/commands/noc/cluster/init.d.ts +0 -17
  867. package/lib/commands/noc/cluster/init.js +0 -117
  868. package/lib/commands/noc/cluster/init.js.map +0 -1
  869. package/lib/commands/noc/cluster/list.d.ts +0 -21
  870. package/lib/commands/noc/cluster/list.js +0 -84
  871. package/lib/commands/noc/cluster/list.js.map +0 -1
  872. package/lib/commands/noc/cluster/recreate.d.ts +0 -28
  873. package/lib/commands/noc/cluster/recreate.js +0 -186
  874. package/lib/commands/noc/cluster/recreate.js.map +0 -1
  875. package/lib/commands/pkg/add.d.ts +0 -15
  876. package/lib/commands/pkg/add.js +0 -43
  877. package/lib/commands/pkg/add.js.map +0 -1
  878. package/lib/commands/pkg/list.d.ts +0 -9
  879. package/lib/commands/pkg/list.js +0 -33
  880. package/lib/commands/pkg/list.js.map +0 -1
  881. package/lib/commands/pkg/patch.d.ts +0 -13
  882. package/lib/commands/pkg/patch.js +0 -79
  883. package/lib/commands/pkg/patch.js.map +0 -1
  884. package/lib/commands/pkg/remove.d.ts +0 -12
  885. package/lib/commands/pkg/remove.js +0 -70
  886. package/lib/commands/pkg/remove.js.map +0 -1
  887. package/lib/commands/portal.d.ts +0 -11
  888. package/lib/commands/portal.js +0 -82
  889. package/lib/commands/portal.js.map +0 -1
  890. package/lib/commands/publish.d.ts +0 -21
  891. package/lib/commands/publish.js +0 -52
  892. package/lib/commands/publish.js.map +0 -1
  893. package/lib/commands/pull.d.ts +0 -13
  894. package/lib/commands/pull.js +0 -30
  895. package/lib/commands/pull.js.map +0 -1
  896. package/lib/commands/push.d.ts +0 -13
  897. package/lib/commands/push.js +0 -30
  898. package/lib/commands/push.js.map +0 -1
  899. package/lib/commands/run.d.ts +0 -35
  900. package/lib/commands/run.js +0 -194
  901. package/lib/commands/run.js.map +0 -1
  902. package/lib/commands/secretStore/capture.d.ts +0 -27
  903. package/lib/commands/secretStore/capture.js +0 -175
  904. package/lib/commands/secretStore/capture.js.map +0 -1
  905. package/lib/commands/secretStore/forget.d.ts +0 -20
  906. package/lib/commands/secretStore/forget.js +0 -147
  907. package/lib/commands/secretStore/forget.js.map +0 -1
  908. package/lib/commands/stage.d.ts +0 -13
  909. package/lib/commands/stage.js +0 -65
  910. package/lib/commands/stage.js.map +0 -1
  911. package/lib/commands/stash.d.ts +0 -13
  912. package/lib/commands/stash.js +0 -31
  913. package/lib/commands/stash.js.map +0 -1
  914. package/lib/commands/status.d.ts +0 -12
  915. package/lib/commands/status.js +0 -49
  916. package/lib/commands/status.js.map +0 -1
  917. package/lib/commands/stop.d.ts +0 -10
  918. package/lib/commands/stop.js +0 -52
  919. package/lib/commands/stop.js.map +0 -1
  920. package/lib/commands/switch.d.ts +0 -11
  921. package/lib/commands/switch.js +0 -42
  922. package/lib/commands/switch.js.map +0 -1
  923. package/lib/commands/sync.d.ts +0 -14
  924. package/lib/commands/sync.js +0 -21
  925. package/lib/commands/sync.js.map +0 -1
  926. package/lib/commands/tenant/create.d.ts +0 -27
  927. package/lib/commands/tenant/create.js +0 -120
  928. package/lib/commands/tenant/create.js.map +0 -1
  929. package/lib/commands/tenant/switch.d.ts +0 -24
  930. package/lib/commands/tenant/switch.js +0 -109
  931. package/lib/commands/tenant/switch.js.map +0 -1
  932. package/lib/commands/unstage.d.ts +0 -12
  933. package/lib/commands/unstage.js +0 -58
  934. package/lib/commands/unstage.js.map +0 -1
  935. package/lib/commands/view/dashboard.d.ts +0 -17
  936. package/lib/commands/view/dashboard.js +0 -88
  937. package/lib/commands/view/dashboard.js.map +0 -1
  938. package/lib/commands/view/pods.d.ts +0 -14
  939. package/lib/commands/view/pods.js +0 -88
  940. package/lib/commands/view/pods.js.map +0 -1
  941. package/lib/commands/whereami.d.ts +0 -15
  942. package/lib/commands/whereami.js +0 -123
  943. package/lib/commands/whereami.js.map +0 -1
  944. package/lib/commands/whoami.d.ts +0 -8
  945. package/lib/commands/whoami.js +0 -40
  946. package/lib/commands/whoami.js.map +0 -1
  947. package/lib/deployment.d.ts +0 -2
  948. package/lib/deployment.js +0 -7
  949. package/lib/deployment.js.map +0 -1
  950. package/lib/errors/NoMembershipError.d.ts +0 -8
  951. package/lib/errors/NoMembershipError.js +0 -15
  952. package/lib/errors/NoMembershipError.js.map +0 -1
  953. package/lib/index.d.ts +0 -1
  954. package/lib/index.js +0 -17
  955. package/lib/index.js.map +0 -1
  956. package/lib/k8s-command-base.d.ts +0 -60
  957. package/lib/k8s-command-base.js +0 -204
  958. package/lib/k8s-command-base.js.map +0 -1
  959. package/lib/log-update-wrapper.d.ts +0 -24
  960. package/lib/log-update-wrapper.js +0 -29
  961. package/lib/log-update-wrapper.js.map +0 -1
  962. package/lib/log4js-logger.d.ts +0 -26
  963. package/lib/log4js-logger.js +0 -138
  964. package/lib/log4js-logger.js.map +0 -1
  965. package/lib/ops/INTERFACES_CLI.d.ts +0 -3
  966. package/lib/ops/INTERFACES_CLI.js +0 -8
  967. package/lib/ops/INTERFACES_CLI.js.map +0 -1
  968. package/lib/ops/LocalOps.d.ts +0 -417
  969. package/lib/ops/LocalOps.js +0 -3122
  970. package/lib/ops/LocalOps.js.map +0 -1
  971. package/lib/ops/azure-container-registry-client/azure-container-registry-client.d.ts +0 -0
  972. package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +0 -148
  973. package/lib/ops/azure-container-registry-client/azure-container-registry-client.js.map +0 -1
  974. package/lib/ops/cli-path-walker.d.ts +0 -0
  975. package/lib/ops/cli-path-walker.js +0 -55
  976. package/lib/ops/cli-path-walker.js.map +0 -1
  977. package/lib/ops/codiac-entities/dependency.d.ts +0 -5
  978. package/lib/ops/codiac-entities/dependency.js +0 -11
  979. package/lib/ops/codiac-entities/dependency.js.map +0 -1
  980. package/lib/ops/codiac-entities/index.d.ts +0 -1
  981. package/lib/ops/codiac-entities/index.js +0 -5
  982. package/lib/ops/codiac-entities/index.js.map +0 -1
  983. package/lib/ops/composite-image-registry-client.d.ts +0 -0
  984. package/lib/ops/composite-image-registry-client.js +0 -74
  985. package/lib/ops/composite-image-registry-client.js.map +0 -1
  986. package/lib/ops/data/cli-context-repo.d.ts +0 -61
  987. package/lib/ops/data/cli-context-repo.js +0 -270
  988. package/lib/ops/data/cli-context-repo.js.map +0 -1
  989. package/lib/ops/data/index.d.ts +0 -2
  990. package/lib/ops/data/index.js +0 -6
  991. package/lib/ops/data/index.js.map +0 -1
  992. package/lib/ops/data/npm-config-repo.d.ts +0 -13
  993. package/lib/ops/data/npm-config-repo.js +0 -65
  994. package/lib/ops/data/npm-config-repo.js.map +0 -1
  995. package/lib/ops/docker-config.d.ts +0 -0
  996. package/lib/ops/docker-config.js +0 -131
  997. package/lib/ops/docker-config.js.map +0 -1
  998. package/lib/ops/docker-constants.d.ts +0 -0
  999. package/lib/ops/docker-constants.js +0 -22
  1000. package/lib/ops/docker-constants.js.map +0 -1
  1001. package/lib/ops/docker-credentials-store.d.ts +0 -0
  1002. package/lib/ops/docker-credentials-store.js +0 -238
  1003. package/lib/ops/docker-credentials-store.js.map +0 -1
  1004. package/lib/ops/docker-registry-api-client/docker-registry-api-client.d.ts +0 -0
  1005. package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +0 -289
  1006. package/lib/ops/docker-registry-api-client/docker-registry-api-client.js.map +0 -1
  1007. package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +0 -7
  1008. package/lib/ops/docker-registry-api-client/entities/blob-sum.js +0 -13
  1009. package/lib/ops/docker-registry-api-client/entities/blob-sum.js.map +0 -1
  1010. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +0 -5
  1011. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +0 -10
  1012. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js.map +0 -1
  1013. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +0 -30
  1014. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +0 -36
  1015. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js.map +0 -1
  1016. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +0 -55
  1017. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +0 -52
  1018. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js.map +0 -1
  1019. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +0 -7
  1020. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +0 -3
  1021. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js.map +0 -1
  1022. package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +0 -31
  1023. package/lib/ops/docker-registry-api-client/entities/image-repository.js +0 -30
  1024. package/lib/ops/docker-registry-api-client/entities/image-repository.js.map +0 -1
  1025. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +0 -8
  1026. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +0 -14
  1027. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js.map +0 -1
  1028. package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +0 -7
  1029. package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +0 -13
  1030. package/lib/ops/docker-registry-api-client/entities/image-tag-list.js.map +0 -1
  1031. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +0 -9
  1032. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +0 -15
  1033. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js.map +0 -1
  1034. package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +0 -15
  1035. package/lib/ops/docker-registry-api-client/entities/manifest.js +0 -21
  1036. package/lib/ops/docker-registry-api-client/entities/manifest.js.map +0 -1
  1037. package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +0 -16
  1038. package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +0 -24
  1039. package/lib/ops/docker-registry-api-client/entities/repository-criteria.js.map +0 -1
  1040. package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +0 -15
  1041. package/lib/ops/docker-registry-api-client/entities/token-response.js +0 -15
  1042. package/lib/ops/docker-registry-api-client/entities/token-response.js.map +0 -1
  1043. package/lib/ops/docker-registry-api-client/entities/token.d.ts +0 -17
  1044. package/lib/ops/docker-registry-api-client/entities/token.js +0 -22
  1045. package/lib/ops/docker-registry-api-client/entities/token.js.map +0 -1
  1046. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +0 -4
  1047. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +0 -10
  1048. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js.map +0 -1
  1049. package/lib/ops/dx-constants.d.ts +0 -26
  1050. package/lib/ops/dx-constants.js +0 -43
  1051. package/lib/ops/dx-constants.js.map +0 -1
  1052. package/lib/ops/entities/ImageBuildContext.d.ts +0 -12
  1053. package/lib/ops/entities/ImageBuildContext.js +0 -19
  1054. package/lib/ops/entities/ImageBuildContext.js.map +0 -1
  1055. package/lib/ops/entities/PipelineContext.d.ts +0 -21
  1056. package/lib/ops/entities/PipelineContext.js +0 -23
  1057. package/lib/ops/entities/PipelineContext.js.map +0 -1
  1058. package/lib/ops/entities/TenantContext.d.ts +0 -10
  1059. package/lib/ops/entities/TenantContext.js +0 -16
  1060. package/lib/ops/entities/TenantContext.js.map +0 -1
  1061. package/lib/ops/entities/ThaulConfig.d.ts +0 -0
  1062. package/lib/ops/entities/ThaulConfig.js +0 -30
  1063. package/lib/ops/entities/ThaulConfig.js.map +0 -1
  1064. package/lib/ops/entities/azure-service-principal.d.ts +0 -23
  1065. package/lib/ops/entities/azure-service-principal.js +0 -24
  1066. package/lib/ops/entities/azure-service-principal.js.map +0 -1
  1067. package/lib/ops/entities/better-logger.d.ts +0 -0
  1068. package/lib/ops/entities/better-logger.js +0 -2
  1069. package/lib/ops/entities/better-logger.js.map +0 -1
  1070. package/lib/ops/entities/branch.d.ts +0 -13
  1071. package/lib/ops/entities/branch.js +0 -16
  1072. package/lib/ops/entities/branch.js.map +0 -1
  1073. package/lib/ops/entities/cli-config.d.ts +0 -48
  1074. package/lib/ops/entities/cli-config.js +0 -61
  1075. package/lib/ops/entities/cli-config.js.map +0 -1
  1076. package/lib/ops/entities/docker-image.d.ts +0 -60
  1077. package/lib/ops/entities/docker-image.js +0 -3
  1078. package/lib/ops/entities/docker-image.js.map +0 -1
  1079. package/lib/ops/entities/helm-spec.d.ts +0 -15
  1080. package/lib/ops/entities/helm-spec.js +0 -23
  1081. package/lib/ops/entities/helm-spec.js.map +0 -1
  1082. package/lib/ops/entities/index.d.ts +0 -4
  1083. package/lib/ops/entities/index.js +0 -12
  1084. package/lib/ops/entities/index.js.map +0 -1
  1085. package/lib/ops/entities/operation-meta.d.ts +0 -8
  1086. package/lib/ops/entities/operation-meta.js +0 -19
  1087. package/lib/ops/entities/operation-meta.js.map +0 -1
  1088. package/lib/ops/entities/scaffolding.d.ts +0 -19
  1089. package/lib/ops/entities/scaffolding.js +0 -21
  1090. package/lib/ops/entities/scaffolding.js.map +0 -1
  1091. package/lib/ops/extensions/azart-identity-adapter.d.ts +0 -19
  1092. package/lib/ops/extensions/azart-identity-adapter.js +0 -97
  1093. package/lib/ops/extensions/azart-identity-adapter.js.map +0 -1
  1094. package/lib/ops/extensions/npm-identity-adapter-base.d.ts +0 -13
  1095. package/lib/ops/extensions/npm-identity-adapter-base.js +0 -3
  1096. package/lib/ops/extensions/npm-identity-adapter-base.js.map +0 -1
  1097. package/lib/ops/extensions/npmjs-identity-adapter.d.ts +0 -13
  1098. package/lib/ops/extensions/npmjs-identity-adapter.js +0 -64
  1099. package/lib/ops/extensions/npmjs-identity-adapter.js.map +0 -1
  1100. package/lib/ops/git-ops.d.ts +0 -8
  1101. package/lib/ops/git-ops.js +0 -14
  1102. package/lib/ops/git-ops.js.map +0 -1
  1103. package/lib/ops/i-client-for-image-registry.d.ts +0 -0
  1104. package/lib/ops/i-client-for-image-registry.js +0 -17
  1105. package/lib/ops/i-client-for-image-registry.js.map +0 -1
  1106. package/lib/ops/i-identity-handler.d.ts +0 -33
  1107. package/lib/ops/i-identity-handler.js +0 -165
  1108. package/lib/ops/i-identity-handler.js.map +0 -1
  1109. package/lib/ops/i-output-styler.d.ts +0 -0
  1110. package/lib/ops/i-output-styler.js +0 -17
  1111. package/lib/ops/i-output-styler.js.map +0 -1
  1112. package/lib/ops/index.d.ts +0 -12
  1113. package/lib/ops/index.js +0 -15
  1114. package/lib/ops/index.js.map +0 -1
  1115. package/lib/ops/json-utils.d.ts +0 -0
  1116. package/lib/ops/json-utils.js +0 -59
  1117. package/lib/ops/json-utils.js.map +0 -1
  1118. package/lib/ops/no-style-output-styler.d.ts +0 -0
  1119. package/lib/ops/no-style-output-styler.js +0 -30
  1120. package/lib/ops/no-style-output-styler.js.map +0 -1
  1121. package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +0 -23
  1122. package/lib/ops/oauth2-client.ts/oauth2-client.js +0 -64
  1123. package/lib/ops/oauth2-client.ts/oauth2-client.js.map +0 -1
  1124. package/lib/ops/project-initializer.d.ts +0 -36
  1125. package/lib/ops/project-initializer.js +0 -219
  1126. package/lib/ops/project-initializer.js.map +0 -1
  1127. package/lib/ops/scaffolding/base-scaffolding.d.ts +0 -7
  1128. package/lib/ops/scaffolding/base-scaffolding.js +0 -21
  1129. package/lib/ops/scaffolding/base-scaffolding.js.map +0 -1
  1130. package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +0 -7
  1131. package/lib/ops/scaffolding/codiac-api-scaffolding.js +0 -64
  1132. package/lib/ops/scaffolding/codiac-api-scaffolding.js.map +0 -1
  1133. package/lib/ops/scaffolding/typescript-scaffolding.d.ts +0 -15
  1134. package/lib/ops/scaffolding/typescript-scaffolding.js +0 -163
  1135. package/lib/ops/scaffolding/typescript-scaffolding.js.map +0 -1
  1136. package/lib/ops/test/mock-ui.d.ts +0 -26
  1137. package/lib/ops/test/mock-ui.js +0 -88
  1138. package/lib/ops/test/mock-ui.js.map +0 -1
  1139. package/lib/ops/test/test-extensions.d.ts +0 -13
  1140. package/lib/ops/test/test-extensions.js +0 -71
  1141. package/lib/ops/test/test-extensions.js.map +0 -1
  1142. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +0 -2
  1143. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +0 -55
  1144. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js.map +0 -1
  1145. package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +0 -2
  1146. package/lib/ops/test/when-git-branchline-is-attempted.spec.js +0 -38
  1147. package/lib/ops/test/when-git-branchline-is-attempted.spec.js.map +0 -1
  1148. package/lib/ops/test/when-versions-are-parsed.spec.d.ts +0 -2
  1149. package/lib/ops/test/when-versions-are-parsed.spec.js +0 -62
  1150. package/lib/ops/test/when-versions-are-parsed.spec.js.map +0 -1
  1151. package/lib/ops/throwing-user-input-provider.d.ts +0 -0
  1152. package/lib/ops/throwing-user-input-provider.js +0 -37
  1153. package/lib/ops/throwing-user-input-provider.js.map +0 -1
  1154. package/lib/ops/workspace-versioner.d.ts +0 -122
  1155. package/lib/ops/workspace-versioner.js +0 -292
  1156. package/lib/ops/workspace-versioner.js.map +0 -1
  1157. package/lib/prettify.d.ts +0 -7
  1158. package/lib/prettify.js +0 -24
  1159. package/lib/prettify.js.map +0 -1
  1160. package/lib/read-stdin.d.ts +0 -2
  1161. package/lib/read-stdin.js +0 -29
  1162. package/lib/read-stdin.js.map +0 -1
  1163. package/lib/relay/contracts/contracts.d.ts +0 -207
  1164. package/lib/relay/contracts/contracts.js +0 -230
  1165. package/lib/relay/contracts/contracts.js.map +0 -1
  1166. package/lib/relay/data/aws-k8s-versions.d.ts +0 -6
  1167. package/lib/relay/data/aws-k8s-versions.js +0 -16
  1168. package/lib/relay/data/aws-k8s-versions.js.map +0 -1
  1169. package/lib/relay/data/aws-node-types.d.ts +0 -37
  1170. package/lib/relay/data/aws-node-types.js +0 -4246
  1171. package/lib/relay/data/aws-node-types.js.map +0 -1
  1172. package/lib/relay/data/aws-regions.d.ts +0 -6
  1173. package/lib/relay/data/aws-regions.js +0 -34
  1174. package/lib/relay/data/aws-regions.js.map +0 -1
  1175. package/lib/relay/extended-relay-client.d.ts +0 -27
  1176. package/lib/relay/extended-relay-client.js +0 -28
  1177. package/lib/relay/extended-relay-client.js.map +0 -1
  1178. package/lib/relay/relay-container.d.ts +0 -41
  1179. package/lib/relay/relay-container.js +0 -298
  1180. package/lib/relay/relay-container.js.map +0 -1
  1181. package/lib/relay/wsclient/relay-socket-listener.d.ts +0 -68
  1182. package/lib/relay/wsclient/relay-socket-listener.js +0 -165
  1183. package/lib/relay/wsclient/relay-socket-listener.js.map +0 -1
  1184. package/lib/relay/wsclient/relay-websocket-client.d.ts +0 -33
  1185. package/lib/relay/wsclient/relay-websocket-client.js +0 -179
  1186. package/lib/relay/wsclient/relay-websocket-client.js.map +0 -1
  1187. package/lib/relay/wsclient/rx-websocket-subject.d.ts +0 -25
  1188. package/lib/relay/wsclient/rx-websocket-subject.js +0 -134
  1189. package/lib/relay/wsclient/rx-websocket-subject.js.map +0 -1
  1190. package/lib/relay/wsclient/socket-contracts.d.ts +0 -22
  1191. package/lib/relay/wsclient/socket-contracts.js +0 -3
  1192. package/lib/relay/wsclient/socket-contracts.js.map +0 -1
  1193. package/lib/standard-probes.d.ts +0 -5
  1194. package/lib/standard-probes.js +0 -22
  1195. package/lib/standard-probes.js.map +0 -1
  1196. package/lib/uilogic/build-configurator.d.ts +0 -21
  1197. package/lib/uilogic/build-configurator.js +0 -111
  1198. package/lib/uilogic/build-configurator.js.map +0 -1
  1199. package/lib/uilogic/cloud-provider-contextualizer.d.ts +0 -46
  1200. package/lib/uilogic/cloud-provider-contextualizer.js +0 -194
  1201. package/lib/uilogic/cloud-provider-contextualizer.js.map +0 -1
  1202. package/lib/uilogic/cloud-resource-configurator-factory.d.ts +0 -41
  1203. package/lib/uilogic/cloud-resource-configurator-factory.js +0 -158
  1204. package/lib/uilogic/cloud-resource-configurator-factory.js.map +0 -1
  1205. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +0 -11
  1206. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +0 -16
  1207. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +0 -1
  1208. package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +0 -5
  1209. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +0 -536
  1210. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +0 -1
  1211. package/lib/uilogic/cloud-resource-configurators/aws-regions.d.ts +0 -10
  1212. package/lib/uilogic/cloud-resource-configurators/aws-regions.js +0 -34
  1213. package/lib/uilogic/cloud-resource-configurators/aws-regions.js.map +0 -1
  1214. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +0 -38
  1215. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +0 -348
  1216. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +0 -1
  1217. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.d.ts +0 -0
  1218. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +0 -78
  1219. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js.map +0 -1
  1220. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +0 -42
  1221. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +0 -248
  1222. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js.map +0 -1
  1223. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +0 -110
  1224. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +0 -782
  1225. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +0 -1
  1226. package/lib/uilogic/cloud-resource-configurators/azure-types.d.ts +0 -0
  1227. package/lib/uilogic/cloud-resource-configurators/azure-types.js +0 -10
  1228. package/lib/uilogic/cloud-resource-configurators/azure-types.js.map +0 -1
  1229. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +0 -24
  1230. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +0 -106
  1231. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +0 -1
  1232. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +0 -16
  1233. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js +0 -45
  1234. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js.map +0 -1
  1235. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +0 -18
  1236. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +0 -62
  1237. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js.map +0 -1
  1238. package/lib/uilogic/enterprise-contextualizer.d.ts +0 -76
  1239. package/lib/uilogic/enterprise-contextualizer.js +0 -671
  1240. package/lib/uilogic/enterprise-contextualizer.js.map +0 -1
  1241. package/lib/uilogic/environment-contextualizer.d.ts +0 -15
  1242. package/lib/uilogic/environment-contextualizer.js +0 -43
  1243. package/lib/uilogic/environment-contextualizer.js.map +0 -1
  1244. package/lib/uilogic/i-cluster-configurator.d.ts +0 -9
  1245. package/lib/uilogic/i-cluster-configurator.js +0 -3
  1246. package/lib/uilogic/i-cluster-configurator.js.map +0 -1
  1247. package/lib/uilogic/i-login-configurator.d.ts +0 -6
  1248. package/lib/uilogic/i-login-configurator.js +0 -3
  1249. package/lib/uilogic/i-login-configurator.js.map +0 -1
  1250. package/lib/uilogic/i-registry-configurator.d.ts +0 -6
  1251. package/lib/uilogic/i-registry-configurator.js +0 -3
  1252. package/lib/uilogic/i-registry-configurator.js.map +0 -1
  1253. package/lib/uilogic/i-secret-store-configurator.d.ts +0 -7
  1254. package/lib/uilogic/i-secret-store-configurator.js +0 -3
  1255. package/lib/uilogic/i-secret-store-configurator.js.map +0 -1
  1256. package/lib/uilogic/image-configurator.d.ts +0 -133
  1257. package/lib/uilogic/image-configurator.js +0 -578
  1258. package/lib/uilogic/image-configurator.js.map +0 -1
  1259. package/lib/uilogic/image-contextualizer.d.ts +0 -24
  1260. package/lib/uilogic/image-contextualizer.js +0 -90
  1261. package/lib/uilogic/image-contextualizer.js.map +0 -1
  1262. package/lib/uilogic/image-registry-contextualizer.d.ts +0 -28
  1263. package/lib/uilogic/image-registry-contextualizer.js +0 -127
  1264. package/lib/uilogic/image-registry-contextualizer.js.map +0 -1
  1265. package/lib/uilogic/index.d.ts +0 -9
  1266. package/lib/uilogic/index.js +0 -14
  1267. package/lib/uilogic/index.js.map +0 -1
  1268. package/lib/uilogic/prompt-select-fuzzy.d.ts +0 -0
  1269. package/lib/uilogic/prompt-select-fuzzy.js +0 -139
  1270. package/lib/uilogic/prompt-select-fuzzy.js.map +0 -1
  1271. package/lib/uilogic/render-methods.d.ts +0 -12
  1272. package/lib/uilogic/render-methods.js +0 -65
  1273. package/lib/uilogic/render-methods.js.map +0 -1
  1274. package/lib/uilogic/tenant-contextualizer.d.ts +0 -79
  1275. package/lib/uilogic/tenant-contextualizer.js +0 -578
  1276. package/lib/uilogic/tenant-contextualizer.js.map +0 -1
  1277. package/lib/user-context-loader.d.ts +0 -60
  1278. package/lib/user-context-loader.js +0 -184
  1279. package/lib/user-context-loader.js.map +0 -1
@@ -1,1365 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogStreamer = exports.K8sContainerRef = exports.TermArgs = exports.ConfigFileArgs = exports.ExecArgs = exports.K8S_POD_PHASES = exports.InteractionModes = exports.AssetContentType = exports.PROMPT_ME_DESIGNATOR = void 0;
4
- const tslib_1 = require("tslib");
5
- //import * as path from 'path';
6
- const stream = require("stream");
7
- const core_1 = require("@oclif/core");
8
- const _ = require("lodash");
9
- const SplitCmd = require('split-cmd');
10
- const request = require("request");
11
- const semver = require("semver");
12
- const k8s = require("@kubernetes/client-node");
13
- const codiac_relay_contracts_1 = require("@codiac.io/codiac-relay-contracts");
14
- const command_base_enterprise_1 = require("../../command-base-enterprise");
15
- const render = require("../../uilogic/render-methods");
16
- const cloud_provider_contextualizer_1 = require("../../uilogic/cloud-provider-contextualizer");
17
- const client_node_1 = require("@kubernetes/client-node");
18
- const web_socket_handler_1 = require("@kubernetes/client-node/dist/web-socket-handler");
19
- const codiac_ops_common_1 = require("@codiac.io/codiac-ops-common");
20
- // let logUpdate: any;
21
- // (async function () {
22
- // logUpdate = (await import("log-update")).default;
23
- // })()
24
- // import * as logUpdate from "log-update";
25
- // import logUpdate from "log-update";
26
- // const logUpdate = (await import("log-update/index.js")).default
27
- // import { logUpdate } from "log-update";
28
- // const logUpdate = require("log-update");
29
- const log_update_wrapper_1 = require("../../log-update-wrapper");
30
- const codiac_constants_1 = require("../../codiac-constants");
31
- // const { selectFiles, COMPLETED, CANCELLED } = require('select-files-cli'); // gd js wo ts...
32
- // const { selectFiles, COMPLETED, CANCELLED } = require('../../uilogic/file-selector'); // gd js wo ts...
33
- /** The value provided as input that indicates
34
- * a user's desire to be prompted with a list from which choose the value(s),
35
- * instead of entering them manually or taking a default. */
36
- exports.PROMPT_ME_DESIGNATOR = "?";
37
- var AssetContentType;
38
- (function (AssetContentType) {
39
- AssetContentType["logs"] = "logs";
40
- AssetContentType["term"] = "term";
41
- AssetContentType["exec"] = "exec";
42
- AssetContentType["env"] = "env";
43
- AssetContentType["config"] = "config";
44
- AssetContentType["status"] = "status";
45
- // | "footprint-usage" | "infrx"
46
- // | "ingress-domains" | "ingress-nslookup" | "ingress-routes" | "ingress-logs" | "ssl-certs" | "ssl-logs" | "ssl-cert-history";
47
- })(AssetContentType = exports.AssetContentType || (exports.AssetContentType = {}));
48
- const DEFAULT_TERMINAL_STARTER = "bash";
49
- /** The quantity of lines of backlog to include in the log output. */
50
- const DEFAULT_LOG_TAIL = 10;
51
- var InteractionModes;
52
- (function (InteractionModes) {
53
- InteractionModes["echo"] = "echo";
54
- InteractionModes["toscript"] = "toscript";
55
- InteractionModes["silent"] = "silent";
56
- })(InteractionModes = exports.InteractionModes || (exports.InteractionModes = {}));
57
- /** This belongs to k8s - not us, but @kubernetes/client-node has no enum or constants for these magic strings...
58
- *
59
- * @see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
60
- */
61
- var K8S_POD_PHASES;
62
- (function (K8S_POD_PHASES) {
63
- K8S_POD_PHASES["Pending"] = "Pending";
64
- K8S_POD_PHASES["Running"] = "Running";
65
- K8S_POD_PHASES["Succeeded"] = "Succeeded";
66
- K8S_POD_PHASES["Failed"] = "Failed";
67
- K8S_POD_PHASES["Unknown"] = "Unknown";
68
- })(K8S_POD_PHASES = exports.K8S_POD_PHASES || (exports.K8S_POD_PHASES = {}));
69
- class AssetView extends command_base_enterprise_1.CommandBaseEnterprise {
70
- constructor() {
71
- super(...arguments);
72
- this.takeDefaults = false;
73
- }
74
- get uiCloudPvd() {
75
- if (this._uiCloudPvd_backer === undefined) {
76
- this._uiCloudPvd_backer = this.ioc.get(cloud_provider_contextualizer_1.CloudProviderContextualizer);
77
- }
78
- return this._uiCloudPvd_backer;
79
- }
80
- bootstrap() {
81
- super.bootstrap();
82
- cloud_provider_contextualizer_1.CloudProviderContextualizer.bootstrap(this.ioc); // (idempotent) this is a dependency of the configurators
83
- }
84
- run() {
85
- var _a, _b, _c;
86
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
- try {
88
- // ==================================================
89
- // 1. Bootstrap
90
- // ==================================================
91
- this.bootstrap();
92
- // this._relayContainer?.ready$
93
- // .subscribe(async (ready: boolean) => {
94
- // ==================================================
95
- // 2. Gather cli input
96
- // ==================================================
97
- const { args, flags } = yield this.parse(AssetView);
98
- const interactionMode = (_b = (_a = (flags.echo ? InteractionModes.echo : undefined)) !== null && _a !== void 0 ? _a : (flags.toscript ? InteractionModes.toscript : undefined)) !== null && _b !== void 0 ? _b : (flags.silent ? InteractionModes.silent : undefined);
99
- this.takeDefaults = (_c = flags.takeDefaults) !== null && _c !== void 0 ? _c : false;
100
- let partialReq = {};
101
- partialReq.enterprise = flags.enterprise;
102
- partialReq.asset = flags.asset;
103
- partialReq.environment = flags.environment;
104
- partialReq.cabinet = flags.cabinet;
105
- partialReq.content = (flags.type) ? AssetContentType[flags.type] : undefined;
106
- partialReq.replica = flags.replica;
107
- let givenCmd;
108
- if (args.cmd) {
109
- givenCmd = args.cmd;
110
- let isep = this.argv.indexOf("--");
111
- if (isep >= 0) {
112
- if (isep + 1 < this.argv.length) {
113
- givenCmd = this.argv.slice(isep + 1);
114
- }
115
- else {
116
- givenCmd = undefined;
117
- }
118
- }
119
- }
120
- let contentOptions = {
121
- follow: flags.logsFollow,
122
- tailLines: flags.logsTail,
123
- /* tty: flags.tty, */
124
- command: givenCmd,
125
- terminalStartup: flags.terminal,
126
- rootPathName: flags.configFile
127
- };
128
- // ==================================================
129
- // 3. Assemble candidate
130
- // ==================================================
131
- let candidate;
132
- let cmd;
133
- if (interactionMode == InteractionModes.silent) {
134
- candidate = yield this.buildCandidate_silently(partialReq, partialReq.content, contentOptions);
135
- }
136
- else {
137
- [candidate, cmd] = yield this.buildCandidate_interactively(partialReq, contentOptions, partialReq.content);
138
- }
139
- // ==================================================
140
- // 4. Render ultimate command string
141
- // ==================================================
142
- if (interactionMode == InteractionModes.echo || interactionMode == InteractionModes.toscript) {
143
- if (cmd && cmd.length > 0) {
144
- this._ui.userMessage(cmd.join(" "));
145
- }
146
- }
147
- // ==================================================
148
- // 5. Execute
149
- // ==================================================
150
- if (interactionMode != InteractionModes.toscript) {
151
- yield this.renderSelectedContent(candidate.context, candidate.contentType, candidate.k8sEntities, candidate.contentOptions, candidate.replicas);
152
- }
153
- // return;
154
- // });
155
- return;
156
- }
157
- catch (err) {
158
- this.handleError(err);
159
- throw err;
160
- }
161
- });
162
- }
163
- buildCandidate_silently(partialReq, content, contentOptions) {
164
- var _a, _b, _c, _d, _e, _f;
165
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
166
- this.__ui = new codiac_ops_common_1.ThrowingUserInputProvider(this.logger);
167
- if (content === undefined || _.isEmpty(partialReq.content))
168
- throw new Error(`No content type specified.`);
169
- if (partialReq.enterprise === undefined || _.isEmpty(partialReq.enterprise))
170
- throw new Error(`No enterprise specified.`);
171
- if (partialReq.asset === undefined || _.isEmpty(partialReq.asset))
172
- throw new Error(`No asset specified.`);
173
- if (partialReq.environment === undefined || _.isEmpty(partialReq.environment))
174
- throw new Error(`No environment specified.`);
175
- if (partialReq.cabinet === undefined || _.isEmpty(partialReq.cabinet))
176
- throw new Error(`No cabinet specified.`);
177
- // Replica should not be required
178
- // (though this can be confusing when there's more than one;
179
- // the user will have to know they're only getting a single replica of logs,
180
- // and they need to know they might have to call out for one.
181
- // if (partialReq.replica === undefined || _.isEmpty(partialReq.replica)) throw new Error(`No replica specified.`);
182
- let options;
183
- switch (partialReq.content) {
184
- case AssetContentType.logs:
185
- options = (contentOptions !== null && contentOptions !== void 0 ? contentOptions : {});
186
- // defaults?
187
- break;
188
- case AssetContentType.exec:
189
- if (_.isEmpty(contentOptions.command))
190
- throw new Error(`No command specified.`);
191
- options = {
192
- command: contentOptions.command,
193
- tty: (_a = contentOptions.tty) !== null && _a !== void 0 ? _a : false
194
- };
195
- break;
196
- case AssetContentType.config:
197
- if (_.isEmpty(contentOptions.rootPathName))
198
- throw new Error(`No file specified.`);
199
- options = {
200
- rootPathName: contentOptions.rootPathName
201
- };
202
- break;
203
- case AssetContentType.term:
204
- options = {
205
- terminalStartup: (_b = contentOptions.terminalStartup) !== null && _b !== void 0 ? _b : DEFAULT_TERMINAL_STARTER
206
- };
207
- break;
208
- case AssetContentType.env: /* env has no user input */
209
- default:
210
- options = {};
211
- break;
212
- }
213
- // Retrieve the list of replicas for the given cabinet.
214
- let rootMap = yield this.getRootMap(partialReq.enterprise);
215
- let env = this.deriveEnvironmentFrom(partialReq.enterprise, partialReq.cabinet, rootMap); // this is fkng stupid. Put this value into the cab value
216
- let cabObj = this.getCabinetInfrx(partialReq.enterprise, env.name, partialReq.cabinet, rootMap);
217
- if (cabObj.infrx == undefined || _.isEmpty(cabObj.infrx))
218
- throw new Error(`Cannot connect to cabinet ${cabObj.name}: it has no infrastructure record.`);
219
- let k8sObj = { namespace: cabObj.infrx.namespace };
220
- let replicas = yield this.fetchReplicas(partialReq, cabObj.infrx.namespace);
221
- if (replicas.length > 0) {
222
- // Set first as default
223
- partialReq.replica = (_d = (_c = replicas[0].metadata) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : "unnamed";
224
- k8sObj = {
225
- namespace: cabObj.infrx.namespace,
226
- pod: partialReq.replica,
227
- container: (_f = (_e = replicas[0].spec) === null || _e === void 0 ? void 0 : _e.containers[0].name) !== null && _f !== void 0 ? _f : "unnamed"
228
- };
229
- // Select a replica unless it's an asset-level operation
230
- if (content !== AssetContentType.status) {
231
- // This method falls back to first found as default, throws if not enough info is provided
232
- k8sObj = yield this.promptForReplica(replicas, undefined, partialReq.replica);
233
- partialReq.replica = k8sObj.pod;
234
- }
235
- }
236
- // Assemble
237
- let candidate = {
238
- context: {
239
- enterprise: partialReq.enterprise,
240
- environment: partialReq.environment,
241
- asset: partialReq.asset,
242
- cabinet: partialReq.cabinet,
243
- replica: partialReq.replica
244
- },
245
- contentType: content,
246
- contentOptions: options,
247
- k8sEntities: k8sObj,
248
- replicas: replicas
249
- };
250
- return candidate;
251
- });
252
- }
253
- buildCandidate_interactively(partialReq, contentOptions, content) {
254
- var _a, _b, _c, _d;
255
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
256
- this._userCntx = yield this.establishTenantContext(this._userCntx);
257
- let enterprise = (yield this.establishEnterpriseContext()).enterprise;
258
- partialReq.enterprise = enterprise.code;
259
- let rootMap = yield this.getRootMap(enterprise.code);
260
- let replicas;
261
- let k8sObj;
262
- let confirmed = false;
263
- let optionsArgs = [];
264
- do {
265
- // 1. Select Asset
266
- partialReq.asset = yield this.promptForAsset(enterprise.assets, partialReq.asset);
267
- // 2. Cabinet
268
- let cabObj = yield this.promptForCabinet(partialReq.enterprise, rootMap, partialReq.cabinet);
269
- partialReq.cabinet = cabObj.name;
270
- partialReq.environment = this.deriveEnvironmentFrom(partialReq.enterprise, partialReq.cabinet, rootMap).name;
271
- let cluster = this.deriveClusterFrom(partialReq.enterprise, partialReq.environment, partialReq.cabinet, rootMap);
272
- // partialReq.cabinet = await this.establishCabinetContext(partialReq.cabinet);
273
- if (cabObj.infrx == undefined || _.isEmpty(cabObj.infrx))
274
- throw new Error(`Cannot connect to cabinet ${cabObj.name}: it has no infrastructure record.`);
275
- k8sObj = { namespace: cabObj.infrx.namespace };
276
- // 3. Content type
277
- content = yield this.promptForContentType(content);
278
- // 4. Content-specific arguments
279
- // MarkStartHere("implement prompt-me designator.")
280
- // MarkStartHere("Support the current logger or ioc ctr inside the ws event handlers");
281
- // MarkStartHere("Need UI to operate a different stream than stdout (so piping stdout wont include the ui content");
282
- [contentOptions, optionsArgs] = yield this.promptForContentOptions(content, partialReq, contentOptions);
283
- // 5. Authenticate with CSP
284
- this.uiCloudPvd.takeDefaults = this.takeDefaults;
285
- yield this.uiCloudPvd.promptForCloudProviderCreds(this.ioc, cluster.provider);
286
- // 6. Replica (Pod)
287
- if (cabObj.infrx == undefined || _.isEmpty(cabObj.infrx))
288
- throw new Error(`Cannot connect to cabinet ${cabObj.name}: it has no infrastructure record.`);
289
- replicas = yield this.fetchReplicas(partialReq, cabObj.infrx.namespace);
290
- if (replicas.length > 0) {
291
- // Set first as default
292
- partialReq.replica = (_b = (_a = replicas[0].metadata) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "unnamed";
293
- k8sObj = {
294
- namespace: cabObj.infrx.namespace,
295
- pod: partialReq.replica,
296
- container: (_d = (_c = replicas[0].spec) === null || _c === void 0 ? void 0 : _c.containers[0].name) !== null && _d !== void 0 ? _d : "unnamed"
297
- };
298
- // Select a replica unless it's an asset-level operation
299
- if (content !== AssetContentType.status) {
300
- k8sObj = yield this.promptForReplica(replicas, undefined, partialReq.replica);
301
- partialReq.replica = k8sObj.pod;
302
- }
303
- }
304
- // 7. Confirm or loop back around to enterprise
305
- confirmed = true; // This is a readonly ui (no danger), and we want to enable fast switching among diff content types, so let's not waste time confirming. // await this._ui.promptConfirm("confirm", "Apply? ");
306
- } while (!confirmed);
307
- // We're hard-coding instead of casting here to validate at build-time that each partial property is fully-hydrated.
308
- // Assemble
309
- let candidate = {
310
- context: {
311
- enterprise: partialReq.enterprise,
312
- environment: partialReq.environment,
313
- asset: partialReq.asset,
314
- cabinet: partialReq.cabinet,
315
- replica: partialReq.replica
316
- },
317
- contentType: content,
318
- contentOptions: contentOptions,
319
- k8sEntities: k8sObj,
320
- replicas: replicas
321
- };
322
- // Build command string
323
- let cmd = ["cod", "asset", "view"];
324
- cmd.push("--silent");
325
- cmd.push("-e", candidate.context.enterprise);
326
- cmd.push("-a", candidate.context.asset);
327
- cmd.push("-n", candidate.context.environment);
328
- cmd.push("-c", candidate.context.cabinet);
329
- if (candidate.context.replica)
330
- cmd.push("-r", candidate.context.replica);
331
- cmd.push("-t", candidate.contentType);
332
- cmd.push(...optionsArgs);
333
- return [candidate, cmd];
334
- });
335
- }
336
- promptForContentOptions(contentType, context, defaults) {
337
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
338
- let cmdArgs = [];
339
- try {
340
- switch (contentType) {
341
- case AssetContentType.logs:
342
- let logArgs = yield this.promptForLogOptions(defaults);
343
- if (logArgs.follow)
344
- cmdArgs.push("-f");
345
- if (logArgs.tailLines)
346
- cmdArgs.push(...["-l", "" + logArgs.tailLines]);
347
- return [logArgs, cmdArgs];
348
- case AssetContentType.exec:
349
- let execArgs = yield this.promptForExecOptions(defaults);
350
- cmdArgs.push(...execArgs.command);
351
- return [execArgs, cmdArgs];
352
- case AssetContentType.config:
353
- this.enterpriseContextor.takeDefaults = this.takeDefaults;
354
- let rootPathName = (yield this.enterpriseContextor.promptForTargetFile(context.enterprise, context.asset, defaults === null || defaults === void 0 ? void 0 : defaults.rootPathName));
355
- let cfgArgs = { rootPathName: rootPathName };
356
- cmdArgs.push("-F", rootPathName);
357
- return [cfgArgs, cmdArgs];
358
- case AssetContentType.term:
359
- let termArgs = yield this.promptForTerminalOptions(defaults);
360
- if (termArgs.terminalStartup)
361
- cmdArgs.push(...["--terminal", termArgs.terminalStartup]);
362
- return [termArgs, cmdArgs];
363
- default:
364
- return [{}, []];
365
- }
366
- }
367
- catch (err) {
368
- throw err;
369
- }
370
- });
371
- }
372
- promptForLogOptions(defaults) {
373
- var _a, _b;
374
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
375
- let options = (defaults !== null && defaults !== void 0 ? defaults : {});
376
- options.follow = (_a = options.follow) !== null && _a !== void 0 ? _a : true;
377
- if (!this.takeDefaults) {
378
- options.follow = yield this._ui.promptConfirm("follow", "Stream logs? ", options.follow);
379
- }
380
- options.tailLines = (_b = options.tailLines) !== null && _b !== void 0 ? _b : DEFAULT_LOG_TAIL;
381
- if (!this.takeDefaults) {
382
- options.tailLines = yield this._ui.prompt("tail", "Lines of backlog (-1 for all):", true, options.tailLines);
383
- }
384
- return options;
385
- });
386
- }
387
- promptForExecOptions(defaults) {
388
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
389
- let options = (defaults !== null && defaults !== void 0 ? defaults : {});
390
- // Command
391
- let cmdStr;
392
- let keep = this.takeDefaults;
393
- if (!_.isEmpty(options.command) && !this.takeDefaults) {
394
- cmdStr = (typeof options.command === 'string') ? options.command : options.command.join(" ");
395
- keep = yield this._ui.promptConfirm("keepCommand", `Command: ${this._styler.hilite(cmdStr)} `);
396
- }
397
- if (keep && !_.isEmpty(options.command)) {
398
- // do nothing
399
- }
400
- else {
401
- options.command = (yield this._ui.prompt("command", "Command: ", true, cmdStr));
402
- options.command = SplitCmd.split(options.command); // no types declarations - f#$&*ing script kiddie.
403
- // the one above trips on the --output flag in this: kubectl get pods -n cod-zombie-v1 -l assetNamme=codiac-api --output=jsonpath="{.items[*]['metadata.name', 'status.capacity']}"
404
- // something safer than: options.command = options.command.split(" ");
405
- }
406
- return options;
407
- });
408
- }
409
- promptForTerminalOptions(defaults) {
410
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
411
- let options = (defaults !== null && defaults !== void 0 ? defaults : {});
412
- // Command
413
- let keep = this.takeDefaults;
414
- if (!_.isEmpty(options.terminalStartup) && !this.takeDefaults) {
415
- keep = yield this._ui.promptConfirm("keepStartup", `Terminal Startup: ${this._styler.hilite(options.terminalStartup)} `);
416
- }
417
- if (keep && !_.isEmpty(options.terminalStartup)) {
418
- // do nothing
419
- }
420
- else {
421
- options.terminalStartup = (yield this._ui.prompt("startup", "Terminal Startup: ", true, options.terminalStartup));
422
- }
423
- return options;
424
- });
425
- }
426
- promptForContentType(defaultValue) {
427
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
428
- try {
429
- let output;
430
- let choices = Object.keys(AssetContentType);
431
- let keep = this.takeDefaults;
432
- if (defaultValue && choices.find(x => x == defaultValue) && !this.takeDefaults) {
433
- keep = yield this._ui.promptConfirm("keepType", `Type of content: ${this._styler.hilite(defaultValue)} `);
434
- }
435
- if (keep && defaultValue !== undefined) {
436
- output = defaultValue;
437
- }
438
- else {
439
- output = (yield this._ui.promptSelect("type", "Type of content: ", choices));
440
- }
441
- return output;
442
- }
443
- catch (err) {
444
- throw err;
445
- }
446
- });
447
- }
448
- promptForAsset(assets, defaultValue) {
449
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
450
- try {
451
- let output;
452
- let choices = assets.map(a => { return { name: a.name, value: a.name }; });
453
- choices = _.orderBy(choices, c => c.name);
454
- /** If we changed the input they provided, we need their confirmation (whether or not they said takeDefaults) */
455
- let changedUserInput = false;
456
- if (choices.length === 1) {
457
- if (defaultValue != choices[0].value) {
458
- changedUserInput = !_.isEmpty(defaultValue);
459
- defaultValue = choices[0].value;
460
- }
461
- }
462
- let keep = this.takeDefaults;
463
- if (defaultValue && choices.find(x => x.value == defaultValue) && (changedUserInput || !this.takeDefaults)) {
464
- keep = yield this._ui.promptConfirm("keepAsset", `Asset: ${this._styler.hilite(defaultValue)} `);
465
- }
466
- if (keep && defaultValue !== undefined) {
467
- output = defaultValue;
468
- }
469
- else {
470
- output = (yield this._ui.promptSelect("asset", "Asset: ", choices));
471
- }
472
- return output;
473
- }
474
- catch (err) {
475
- throw err;
476
- }
477
- });
478
- }
479
- promptForCabinet(enterprise, rootMap, defaultValue) {
480
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
481
- try {
482
- let output;
483
- // render cab tree with all lines selectable
484
- let cabTree = this.buildCabinetTree(rootMap);
485
- let choices = this.buildSelectChoicesFrom(cabTree);
486
- // ISSUES:
487
- // 0. Remove the freaking lines from the selected value.
488
- // 1. Remember the last cabinet (user's enterprise context).
489
- // 2. We should only render the cabinets that actually contain a deployment of the asset (or dim the others and loop back if selected)
490
- // 3. The picklist should render the cluster (provider, name, location)
491
- // 4. PERHAPS? The version of the asset running in the selected cabinet should get rendered (either in the picklist or after the cab is selected)
492
- /** If we changed the input they provided, we need their confirmation (whether or not they said takeDefaults) */
493
- const CAB_PREFIX = "cabinet|";
494
- let cabChoices = choices.filter(c => c.value.startsWith(CAB_PREFIX));
495
- let changedUserInput = false;
496
- if (cabChoices.length === 1) {
497
- if (defaultValue != cabChoices[0].value.slice(CAB_PREFIX.length)) {
498
- changedUserInput = !_.isEmpty(defaultValue);
499
- defaultValue = cabChoices[0].value.slice(CAB_PREFIX.length);
500
- }
501
- }
502
- let keep = this.takeDefaults;
503
- if (defaultValue && Boolean(choices.find(x => x.value === `${CAB_PREFIX}${defaultValue}`)) && (changedUserInput || !this.takeDefaults)) {
504
- keep = yield this._ui.promptConfirm("keepCabinet", `Cabinet: ${this._styler.hilite(defaultValue)} `);
505
- }
506
- if (keep && defaultValue !== undefined) {
507
- output = defaultValue;
508
- }
509
- else {
510
- let scope;
511
- let target;
512
- do {
513
- if (scope === "environment") {
514
- // we could just filter it down from here...
515
- }
516
- let selection = (yield this._ui.promptSelect("cabinet", "Cabinet: ", choices, false, false));
517
- let parts = selection.split("|");
518
- scope = parts[0];
519
- target = parts[1];
520
- } while (scope !== "cabinet"); // ensure they select a cabinet
521
- output = target;
522
- }
523
- let env = this.deriveEnvironmentFrom(enterprise, output, rootMap); // this is fkng stupid. Put this value into the cab value
524
- let cabObj = this.getCabinetInfrx(enterprise, env.name, output, rootMap);
525
- // return output;
526
- return cabObj;
527
- }
528
- catch (err) {
529
- throw (err);
530
- }
531
- });
532
- }
533
- deriveEnvironmentFrom(enterprise, cabinet, rootMap) {
534
- try {
535
- let ent = rootMap.enterprises.find(e => e.name === enterprise);
536
- if (ent === undefined)
537
- throw new Error(`Cannot find environment: did not recognize enterprise [${enterprise}]`);
538
- let enviro = ent.environments.find(x => x.cabinets.find(c => c.name === cabinet));
539
- if (enviro === undefined)
540
- throw new Error(`Cannot find environment: did not recognize cabinet [${cabinet}]`);
541
- return enviro;
542
- }
543
- catch (err) {
544
- throw err;
545
- }
546
- }
547
- deriveClusterFrom(enterprise, environment, cabinet, rootMap) {
548
- try {
549
- let ent = rootMap.enterprises.find(e => e.name === enterprise);
550
- if (ent === undefined)
551
- throw new Error(`Cannot find cluster: did not recognize enterprise [${enterprise}]`);
552
- let enviro = ent.environments.find(x => x.cabinets.find(c => c.name === cabinet));
553
- if (enviro === undefined)
554
- throw new Error(`Cannot find cluster: did not recognize cabinet [${cabinet}]`);
555
- let cabObj = enviro.cabinets.find(c => c.name === cabinet);
556
- if (cabObj == undefined)
557
- throw new Error(`Cannot find cluster: did not recognize cabinet [${cabinet}]`);
558
- if (cabObj.cluster == undefined)
559
- throw new Error(`Cannot find cluster: cabinet [${cabinet}] does not have a cluster specified.`);
560
- let cluster = rootMap.clusters.find(c => c.name == cabObj.cluster);
561
- if (cluster == undefined)
562
- throw new Error(`Did not recognize cluster [${cabObj.cluster}]`);
563
- return cluster;
564
- }
565
- catch (err) {
566
- throw err;
567
- }
568
- }
569
- buildSelectChoicesFrom(tree) {
570
- try {
571
- let choices = [];
572
- // the value is no good here - need scope and target both available
573
- render.renderStringTree(tree, (txt, item) => choices.push({ name: txt, value: item.value }));
574
- // // This is one way to do it
575
- // for (let item of tree) {
576
- //
577
- // let thisChoice: PromptChoice = { name: item.text, value: item.text };
578
- // choices.push(thisChoice);
579
- //
580
- // if (item.children && item.children.length > 0) {
581
- // let children = this.buildSelectChoicesFrom(item.children);
582
- // choices.push(...children);
583
- // }
584
- // }
585
- return choices;
586
- }
587
- catch (err) {
588
- throw err;
589
- }
590
- }
591
- /** sets each value to "scope|target".
592
- *
593
- * This is MOSTLY a COPY-PASTE from the CabinetList command!!! This view is prob gonna be pretty common - consider promoting it to a shared utility. */
594
- buildCabinetTree(rootMap, existings) {
595
- var _a, _b, _c, _d;
596
- let tree = [];
597
- for (let ent of rootMap.enterprises) {
598
- let entBranch = { text: `${ent.name} enterprise:`, value: `${codiac_relay_contracts_1.ScopeLevel.enterprise}|${ent.name}` };
599
- let entSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.enterprise && s.target === ent.name);
600
- if (entSetting !== undefined) {
601
- let valueSuffix = this.ellipsis(35, (_a = entSetting.value) !== null && _a !== void 0 ? _a : "[set to undefined]");
602
- valueSuffix = `(${valueSuffix})`;
603
- entBranch.text = entBranch.text.concat(" ", this._styler.dim(valueSuffix));
604
- }
605
- for (let env of _.sortBy(ent.environments, e => e.sequence, e => e.name)) {
606
- let envBranch = { text: `${env.name}`, value: `${codiac_relay_contracts_1.ScopeLevel.environment}|${env.name}` };
607
- let envSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.environment && s.target === env.name);
608
- if (envSetting !== undefined) {
609
- let valueSuffix = this.ellipsis(35, (_b = envSetting.value) !== null && _b !== void 0 ? _b : "[set to undefined]");
610
- valueSuffix = `(${valueSuffix})`;
611
- envBranch.text = envBranch.text.concat(" ", this._styler.dim(valueSuffix));
612
- }
613
- for (let cab of env.cabinets) {
614
- // let cwg = rootMap.clusters.find(c => c.name === cab.cluster);
615
- // let clusterDesc = cwg ? ` (${cab.cluster}, ${cwg.provider} ${cwg.locationName})` : "";
616
- let cabBranch = {
617
- text: `${cab.name}`,
618
- value: `${codiac_relay_contracts_1.ScopeLevel.cabinet}|${cab.name}`
619
- };
620
- let cabSetting = existings === null || existings === void 0 ? void 0 : existings.find(s => s.scope === codiac_relay_contracts_1.ScopeLevel.cabinet && s.target === cab.name);
621
- if (cabSetting !== undefined) {
622
- let valueSuffix = this.ellipsis(35, (_c = cabSetting.value) !== null && _c !== void 0 ? _c : "[set to undefined]");
623
- valueSuffix = `(${valueSuffix})`;
624
- cabBranch.text = cabBranch.text.concat(" ", this._styler.dim(valueSuffix));
625
- }
626
- if (envBranch.children === undefined)
627
- envBranch.children = [];
628
- (_d = envBranch.children) === null || _d === void 0 ? void 0 : _d.push(cabBranch);
629
- }
630
- if (entBranch.children === undefined)
631
- entBranch.children = [];
632
- entBranch.children.push(envBranch);
633
- }
634
- tree.push(entBranch);
635
- }
636
- return tree;
637
- }
638
- /** Truncates the string to the given length with an ellipses as suffix */
639
- ellipsis(maxLength, value) {
640
- let output = value;
641
- if (output.length > maxLength) {
642
- let ellipsis = "..."; // Rather use the ellipsis character but String.fromCharCode(133) is returning a problematic character.
643
- output = output.slice(0, maxLength - 1 - ellipsis.length).concat(ellipsis);
644
- }
645
- return output;
646
- }
647
- /**
648
- *
649
- * @param enterprise
650
- * @param environment
651
- * @param cabinet
652
- * @param asset
653
- * @param ctrInPod (Optional, defaults to the first one in the spec) The name of the running container (not the image) inside the pod (relevant only when there's more than one).
654
- * @param defaultValue
655
- * @returns
656
- */
657
- promptForReplica(replicas, ctrInPod, defaultValue) {
658
- var _a, _b, _c, _d, _e;
659
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
660
- try {
661
- let podName;
662
- // params: enterprise: string, environment: string, cabinet: string, asset: string
663
- // // Retrieve replicas
664
- // this._ui.startSpinner(`Fetching ${asset} replicas in ${environment}/${cabinet}...`)
665
- // let reps = await this.genRelayClient.Call.assetStatus({ assetName: asset, cabinetName: cabinet, enterpriseCode: enterprise, environment: environment });
666
- // this._ui.stopSpinner((reps.successes) ? `${reps.successes.length} found.` : "failed.")
667
- // if (reps.error) throw reps.error;
668
- // if (reps.successes == undefined || reps.successes.length === 0) throw new Error(`No ${asset} replicas exist in cabinet ${environment}/${cabinet}. ${reps.message ?? ""}`);
669
- //
670
- // let replicas = reps.successes[0].currentVersion.pods; // <--- HEY!!! Relay shouldnt be exposing raw k8s contracts here - this shd be a codiac contract
671
- let choices = replicas.filter(r => { var _a; return ((_a = r.metadata) === null || _a === void 0 ? void 0 : _a.name) !== undefined; })
672
- .map(r => { var _a, _b, _c; return ({ name: `${(_a = r.metadata.name) !== null && _a !== void 0 ? _a : ""} (${(_b = r.status) === null || _b === void 0 ? void 0 : _b.phase})`, value: (_c = r.metadata.name) !== null && _c !== void 0 ? _c : "" }); });
673
- // Select a replica...
674
- if (choices.length === 0) {
675
- this._ui.userMessage(`No replicas found.`);
676
- podName = "unknown";
677
- // return undefined; // <--- this is what we should do here.
678
- }
679
- else if (choices.length === 1) {
680
- podName = choices[0].value;
681
- this._ui.userMessage(`1 replica found: ${this._styler.hilite(podName)}`);
682
- }
683
- else {
684
- let keep = this.takeDefaults;
685
- if (defaultValue && Boolean(choices.find(x => x.value === defaultValue)) && !this.takeDefaults) {
686
- keep = yield this._ui.promptConfirm("keepReplica", `Replica: ${this._styler.hilite(defaultValue)} `);
687
- }
688
- if (keep && defaultValue !== undefined) {
689
- podName = defaultValue;
690
- }
691
- else {
692
- podName = (yield this._ui.promptSelect("replica", "Replica...", choices, false, false)); // Assertion operator ok here - we're not allowing undefined options.
693
- }
694
- }
695
- let replica = (replicas.find(r => { var _a; return ((_a = r.metadata) === null || _a === void 0 ? void 0 : _a.name) === podName; })); // Assertion ok: selection was already limited to this list.
696
- // Select the container inside...
697
- let containerName;
698
- if ((((_a = replica.spec) === null || _a === void 0 ? void 0 : _a.containers) == undefined) || (((_b = replica.spec) === null || _b === void 0 ? void 0 : _b.containers.length) === 0))
699
- throw new Error("No containers are specified in that replica");
700
- if (!_.isEmpty(ctrInPod)) {
701
- let found = replica.spec.containers.find(c => c.name === ctrInPod);
702
- if (!found)
703
- throw new Error(`Container [${ctrInPod}] not found in that replica`);
704
- containerName = found.name;
705
- }
706
- else {
707
- containerName = replica.spec.containers[0].name;
708
- if (((_c = replica.spec) === null || _c === void 0 ? void 0 : _c.containers.length) > 1) {
709
- // TODO: promptSelect from the list of containers
710
- this._ui.userMessage(`${(_d = replica.spec) === null || _d === void 0 ? void 0 : _d.containers.length} containers in that replica; selected ${containerName}`);
711
- }
712
- }
713
- let k8sCtr = {
714
- namespace: (_e = replica.metadata) === null || _e === void 0 ? void 0 : _e.namespace,
715
- pod: podName,
716
- container: containerName
717
- };
718
- return k8sCtr;
719
- }
720
- catch (err) {
721
- throw err;
722
- }
723
- });
724
- }
725
- renderSelectedContent(context, contentType, k8sEntities, contentOptions, replicas) {
726
- var _a;
727
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
728
- try {
729
- switch (contentType) {
730
- case (AssetContentType.logs):
731
- if (context.replica == undefined)
732
- throw new Error("No replica selected.");
733
- if (k8sEntities.pod == undefined || k8sEntities.container == undefined)
734
- throw new Error("No replica selected.");
735
- yield this.showLogs(context, contentOptions);
736
- break;
737
- case (AssetContentType.term):
738
- if (context.replica == undefined)
739
- throw new Error("No replica selected.");
740
- if (k8sEntities.pod == undefined || k8sEntities.container == undefined)
741
- throw new Error("No replica selected.");
742
- let termArgs = { tty: true, command: (_a = contentOptions === null || contentOptions === void 0 ? void 0 : contentOptions.terminalStartup) !== null && _a !== void 0 ? _a : DEFAULT_TERMINAL_STARTER };
743
- yield this.runExec(context, termArgs, k8sEntities);
744
- break;
745
- case (AssetContentType.exec):
746
- if (context.replica == undefined)
747
- throw new Error("No replica selected.");
748
- if (k8sEntities.pod == undefined || k8sEntities.container == undefined)
749
- throw new Error("No replica selected.");
750
- let execArgs = contentOptions;
751
- execArgs.tty = false; // and we want a run-once behavior so the ws closes after the command completes.
752
- yield this.runExec(context, execArgs, k8sEntities);
753
- break;
754
- case (AssetContentType.config):
755
- if (context.replica == undefined)
756
- throw new Error("No replica selected.");
757
- if (k8sEntities.pod == undefined || k8sEntities.container == undefined)
758
- throw new Error("No replica selected.");
759
- let cfgInput = contentOptions;
760
- if (!cfgInput.rootPathName.startsWith("/"))
761
- cfgInput.rootPathName = "/".concat(cfgInput.rootPathName);
762
- let cfgExec = { tty: false, command: ["cat", cfgInput.rootPathName] };
763
- yield this.runExec(context, cfgExec, k8sEntities);
764
- break;
765
- case (AssetContentType.env):
766
- if (context.replica == undefined)
767
- throw new Error("No replica selected.");
768
- if (k8sEntities.pod == undefined || k8sEntities.container == undefined)
769
- throw new Error("No replica selected.");
770
- let envArgs = { tty: false, command: "env" };
771
- yield this.runExec(context, envArgs, k8sEntities);
772
- break;
773
- case (AssetContentType.status):
774
- // await this.watchEvents(context, k8sEntities.namespace, replicas);
775
- yield this.watchStatus_NEW(context, k8sEntities.namespace, replicas);
776
- // await this.watchStatus(context, k8sEntities.namespace, replicas);
777
- // await this.watchReplicaSet(context, k8sEntities.namespace);
778
- // await this.showStatus(context, k8sEntities.namespace, replicas);
779
- break;
780
- default:
781
- this.logger.debug(`Content type ${contentType} is not yet supported.`, [context, contentType, contentOptions]);
782
- this._ui.userMessage(`Content type ${contentType} is not yet supported.`);
783
- }
784
- return;
785
- }
786
- catch (err) {
787
- throw (err);
788
- }
789
- });
790
- }
791
- getKubeConfig(context) {
792
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
793
- // Retrieve cluster connection specs
794
- let res = yield this.genRelayClient.Call.getClusterConnectionSpecs({
795
- enterprise: context.enterprise,
796
- environment: context.environment,
797
- cabinet: context.cabinet
798
- });
799
- if (res.error)
800
- throw res.error;
801
- if (res.output == undefined || _.isEmpty(res.output)) {
802
- this.log(`Failed loading cluster spec: ${res.message}.`);
803
- throw new Error(`Failed loading cluster spec: ${res.message}.`);
804
- }
805
- // Create the k8s client
806
- let k8sConfig = new client_node_1.KubeConfig();
807
- k8sConfig.loadFromString(res.output);
808
- return k8sConfig;
809
- });
810
- }
811
- getK8sClient(context, kube) {
812
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
813
- let k8sConfig = kube !== null && kube !== void 0 ? kube : (yield this.getKubeConfig(context));
814
- let theirApi = k8sConfig.makeApiClient(k8s.CoreV1Api);
815
- return theirApi;
816
- });
817
- }
818
- /** Gets the cluster cnxn specs from the relay, then makes the k8s call from the cli.
819
- *
820
- * Throws any errors. */
821
- fetchReplicas(context, namespace, k8sClient) {
822
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
823
- try {
824
- let theirApi = k8sClient !== null && k8sClient !== void 0 ? k8sClient : yield this.getK8sClient(context);
825
- // Fetch from the cluster
826
- let podResult = yield theirApi.listNamespacedPod(namespace, undefined, undefined, undefined, undefined, `${codiac_constants_1.CodiacLabels.LABEL_ASSET_NAME}=${context.asset}`);
827
- let replicas = podResult.body.items;
828
- // let replicas = _.orderBy(podResult.body.items, p => p.metadata?.labels?.assetVersion, 'desc'); // NOTE: this isnt a semantic version sort
829
- try {
830
- // Might need a semver.coerce() in here...
831
- replicas = replicas.sort((a, b) => { var _a, _b, _c, _d, _e, _f; return semver.rcompare((_c = (_b = (_a = a.metadata) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.assetVersion) !== null && _c !== void 0 ? _c : "", (_f = (_e = (_d = b.metadata) === null || _d === void 0 ? void 0 : _d.labels) === null || _e === void 0 ? void 0 : _e.assetVersion) !== null && _f !== void 0 ? _f : ""); }); // removes semvers so they can be sorted uniquely
832
- }
833
- catch (err) {
834
- replicas = _.orderBy(replicas, p => { var _a, _b, _c; return (_c = (_b = (_a = p.metadata) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.assetVersion) !== null && _c !== void 0 ? _c : ""; }); // TODO: we need this ALSO sorted by replica set (ie: name or labels["pod-template-hash"])
835
- }
836
- return replicas;
837
- }
838
- catch (err) {
839
- throw err;
840
- }
841
- });
842
- }
843
- // protected async watchEvents(context: AssetReplicaContext, namespace: string, replicas?: k8s.V1Pod[] | undefined): Promise<void> {
844
- // // let selector = `${CodiacLabels.LABEL_ASSET_NAME}=${context.asset}`;
845
- // let selector = `app=${context.asset}`;
846
- // let creds = await this.getKubeConfig(context);
847
- // let k8sClient = creds.makeApiClient(k8s.EventsV1Api);
848
- // let watcher = new Watch(creds);
849
- // watcher.watch(
850
- // '/apis/events.k8s.io/v1/namespaces/{namespace}/events',
851
- // )
852
- // let res = await k8sClient.listNamespacedEvent(namespace, undefined, undefined, undefined, undefined, selector,
853
- // undefined, undefined, undefined, undefined, true, undefined);
854
- // }
855
- watchStatus_NEW(context, namespace, replicas) {
856
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
857
- // let selector = `${CodiacLabels.LABEL_ASSET_NAME}=${context.asset}`;
858
- let selector = `app=${context.asset}`;
859
- let kube = yield this.getKubeConfig(context);
860
- let k8sClient = yield this.getK8sClient(context);
861
- (0, log_update_wrapper_1.logUpdate)(`Watching ${this._styler.hilite(context.asset)} in ${context.environment}/${context.cabinet}... (ctrl-c to quit)`);
862
- log_update_wrapper_1.logUpdate.done();
863
- (0, log_update_wrapper_1.logUpdate)(`...empty...`);
864
- // This approach DOES return what's different in the cached list,
865
- // but doesnt stream updates from the cluster - it only runs a first request,
866
- // meaning you need to call this repeatedly - this looks not fully-baked...?
867
- let informer = (0, client_node_1.makeInformer)(kube, `/api/v1/namespaces/${namespace}/pods`, () => k8sClient.listNamespacedPod(namespace, undefined, undefined, undefined, undefined, selector)
868
- // () => k8sClient.listNamespacedPod(namespace, undefined, undefined, undefined, undefined, selector, undefined, undefined, undefined, undefined, true),
869
- // selector
870
- );
871
- // informer.on('add', (obj: k8s.V1Pod) => { console.log(`Added: ${obj.metadata!.name}`); });
872
- // informer.on('update', (obj: k8s.V1Pod) => { console.log(`Updated: ${obj.metadata!.name}`); });
873
- informer.on('change', (obj) => {
874
- // console.log(`Changed: ${obj.metadata!.name}`);
875
- let canvas = { table: "", curver: "" };
876
- let replicas = informer.list(namespace);
877
- if (replicas.length > 0) {
878
- for (let pod of replicas) {
879
- this.renderReplicaStatusRow(pod, canvas);
880
- }
881
- }
882
- else {
883
- canvas.table = "(no instances found)";
884
- }
885
- log_update_wrapper_1.logUpdate.clear();
886
- (0, log_update_wrapper_1.logUpdate)(canvas.table);
887
- });
888
- // informer.on('delete', (obj: k8s.V1Pod) => { console.log(`Deleted: ${obj.metadata!.name}`); });
889
- informer.on('error', (err) => {
890
- if (err.statusCode === 401) {
891
- // TODO: reach out to the relay to refresh the user token in the kubeconfig.
892
- log_update_wrapper_1.logUpdate.clear();
893
- (0, log_update_wrapper_1.logUpdate)(`Authentication error; please refresh your credentials.`);
894
- }
895
- else {
896
- log_update_wrapper_1.logUpdate.clear();
897
- console.error(err);
898
- }
899
- // Restart informer after 5sec
900
- setTimeout(() => {
901
- informer.start();
902
- }, 5000);
903
- });
904
- informer.start();
905
- // let watch: boolean = true;
906
- // listNamespacedPod() with "watch" just floats out into space with no return
907
- // let podResult = await k8sClient.listNamespacedPod(namespace, undefined, undefined, undefined, undefined,
908
- // `${CodiacLabels.LABEL_ASSET_NAME}=${context.asset}`, undefined, undefined, undefined, undefined, watch);
909
- // while (podResult) {
910
- // logUpdate(`${podResult.body.items.length} pods returned`); // Thanks, nice and ambiguous; lets give them something actionable here instead.
911
- // }
912
- });
913
- }
914
- watchReplicaSet(context, namespace, replicaSets) {
915
- var _a, _b, _c, _d, _e, _f, _g;
916
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
917
- let k8sConfig = (yield this.getKubeConfig(context));
918
- let k8sClient = k8sConfig.makeApiClient(k8s.AppsV1Api);
919
- // let selector = `${CodiacLabels.LABEL_ASSET_NAME}=${context.asset}`;
920
- let selector = `app=${context.asset}`;
921
- let watch = true;
922
- do {
923
- let content = "";
924
- log_update_wrapper_1.logUpdate.clear();
925
- try {
926
- let podResult = yield k8sClient.listNamespacedReplicaSet(namespace, undefined, undefined, undefined, undefined, selector);
927
- let output = podResult.body.items;
928
- for (let item of output) {
929
- if (item.status) {
930
- content = content.concat(`${(_b = (_a = item.metadata) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "unnamed"} ${(_c = item.status.availableReplicas) !== null && _c !== void 0 ? _c : 0}/${item.status.replicas}`, "\n");
931
- }
932
- else {
933
- content = content.concat(`no status for ${(_e = (_d = item.metadata) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : "unnamed"}`, "\n");
934
- }
935
- }
936
- }
937
- catch (err) {
938
- content = content.concat(`Error ${(_f = err.name) !== null && _f !== void 0 ? _f : ""} ${(_g = err.message) !== null && _g !== void 0 ? _g : ""}`, "\n");
939
- }
940
- (0, log_update_wrapper_1.logUpdate)(content);
941
- yield this.unblockAndSleep(0.5);
942
- } while (watch);
943
- });
944
- }
945
- watchStatus(context, namespace, replicas) {
946
- var _a, _b, _c, _d, _e, _f, _g;
947
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
948
- let watch = true;
949
- let k8sClient = yield this.getK8sClient(context);
950
- let pods = replicas;
951
- let spinChars = ["|", "/", "-", "\\"];
952
- let spinIndex = -1;
953
- (0, log_update_wrapper_1.logUpdate)(`Status for ${context.asset} in ${context.environment}/${context.cabinet}... (ctrl-c to quit)`);
954
- log_update_wrapper_1.logUpdate.done();
955
- do {
956
- // await this.showStatus(context, namespace, pods, k8sClient);
957
- spinIndex++;
958
- if (spinIndex >= spinChars.length)
959
- spinIndex = 0;
960
- let spinner = spinChars[spinIndex];
961
- // TODO: trap failures here and if status currently exists, render the error and leave the existing
962
- let table = "";
963
- try {
964
- pods = pods !== null && pods !== void 0 ? pods : yield this.fetchReplicas(context, namespace, k8sClient);
965
- if (pods && pods.length > 0) {
966
- log_update_wrapper_1.logUpdate.clear();
967
- let curver = ""; // current asset version being listed
968
- // let deployed = res.successes[0].currentVersion.deployed;
969
- for (let replica of pods) {
970
- let replicaName = (_b = (_a = replica.metadata) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "unnamed";
971
- let podHash = ((_c = replica.metadata) === null || _c === void 0 ? void 0 : _c.labels) ? (_d = replica.metadata) === null || _d === void 0 ? void 0 : _d.labels["pod-template-hash"] : undefined;
972
- let replicaId = podHash ? replicaName.slice(replicaName.indexOf(podHash)) : replicaName;
973
- let assetVersion = ((_e = replica.metadata) === null || _e === void 0 ? void 0 : _e.labels) ? (_f = replica.metadata) === null || _f === void 0 ? void 0 : _f.labels[codiac_constants_1.CodiacLabels.LABEL_ASSET_VERSION] : undefined;
974
- // Version separator
975
- if (assetVersion !== undefined && assetVersion !== curver) {
976
- curver = assetVersion;
977
- table = table.concat(`${spinner} ${assetVersion}`, "\n");
978
- }
979
- // Each replica
980
- if (replica.status) {
981
- let state = this.renderPodState(replica);
982
- let condition = this.renderCondition(replica);
983
- let restarts = (replica.status.containerStatuses && replica.status.containerStatuses.length > 0) ? replica.status.containerStatuses[0].restartCount : 0;
984
- table = table.concat(` ${replicaId}) ${state} ${condition} started (${replica.status.startTime}) ${restarts} restarts\n`); // , deployed (${deployed})`)
985
- }
986
- }
987
- }
988
- else {
989
- table = table.concat(`No running instances found.`);
990
- }
991
- }
992
- catch (err) {
993
- table = table.concat(`Error refreshing... ${(_g = err.message) !== null && _g !== void 0 ? _g : err.name}\n`);
994
- }
995
- (0, log_update_wrapper_1.logUpdate)(table);
996
- pods = undefined;
997
- yield this.unblockAndSleep(0.5);
998
- } while (watch);
999
- });
1000
- }
1001
- /** Mutates canvas */
1002
- renderReplicaStatusRow(replica, canvas) {
1003
- var _a, _b, _c, _d, _e, _f;
1004
- let replicaName = (_b = (_a = replica.metadata) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "unnamed";
1005
- let podHash = ((_c = replica.metadata) === null || _c === void 0 ? void 0 : _c.labels) ? (_d = replica.metadata) === null || _d === void 0 ? void 0 : _d.labels["pod-template-hash"] : undefined;
1006
- let replicaId = podHash ? replicaName.slice(replicaName.indexOf(podHash)) : replicaName;
1007
- let assetVersion = ((_e = replica.metadata) === null || _e === void 0 ? void 0 : _e.labels) ? (_f = replica.metadata) === null || _f === void 0 ? void 0 : _f.labels[codiac_constants_1.CodiacLabels.LABEL_ASSET_VERSION] : undefined;
1008
- // Version separator
1009
- if (assetVersion !== undefined && assetVersion !== canvas.curver) {
1010
- canvas.curver = assetVersion;
1011
- canvas.table = canvas.table.concat(`${assetVersion}`, "\n");
1012
- }
1013
- // Each replica
1014
- if (replica.status) {
1015
- let state = this.renderPodState(replica);
1016
- let condition = this.renderCondition(replica);
1017
- let restarts = (replica.status.containerStatuses && replica.status.containerStatuses.length > 0) ? replica.status.containerStatuses[0].restartCount : 0;
1018
- canvas.table = canvas.table.concat(` ${replicaId}) ${state} ${condition} started (${replica.status.startTime}) ${restarts} restarts\n`); // , deployed (${deployed})`)
1019
- }
1020
- }
1021
- renderCondition(replica) {
1022
- var _a;
1023
- let cond = "";
1024
- if (replica.status) {
1025
- if (((_a = replica.status) === null || _a === void 0 ? void 0 : _a.conditions) && replica.status.conditions.length > 0) {
1026
- let latestCond = _.orderBy(replica.status.conditions, x => x.lastTransitionTime, "desc")[0];
1027
- cond = latestCond.type;
1028
- if (latestCond.reason) {
1029
- cond = cond.concat(" (", latestCond.reason, ")");
1030
- }
1031
- if (latestCond.message) {
1032
- // TODO: Revisit; message is prob too much info to jam into a cli output line.
1033
- cond = cond.concat(" ('", latestCond.message, "')");
1034
- }
1035
- cond = cond.concat(` since (${latestCond.lastTransitionTime})`);
1036
- }
1037
- }
1038
- return cond;
1039
- }
1040
- renderPodState(replica) {
1041
- var _a, _b, _c, _d;
1042
- let state = "[no status found]";
1043
- if ((_a = replica.metadata) === null || _a === void 0 ? void 0 : _a.deletionTimestamp) {
1044
- state = "Terminating";
1045
- }
1046
- else if (replica.status) {
1047
- state = "";
1048
- // Pod phase
1049
- if (replica.status.phase) {
1050
- state = replica.status.phase;
1051
- }
1052
- if (replica.status.reason) {
1053
- state = state.concat(" (", replica.status.reason, ")");
1054
- }
1055
- if (replica.status.message) {
1056
- state = state.concat(" ('", replica.status.message, "')");
1057
- }
1058
- // container state
1059
- if (replica.status.containerStatuses && replica.status.containerStatuses.length > 0) {
1060
- let ctrStatus = replica.status.containerStatuses[0];
1061
- // state = state.concat(" ", JSON.stringify(ctrStatus.state), "\n");
1062
- if ((_b = ctrStatus.state) === null || _b === void 0 ? void 0 : _b.waiting) {
1063
- if (ctrStatus.state.waiting.reason) {
1064
- state = state.concat(" (", ctrStatus.state.waiting.reason, ")");
1065
- }
1066
- if (ctrStatus.state.waiting.message) {
1067
- state = state.concat(" ('", ctrStatus.state.waiting.message, "')");
1068
- }
1069
- }
1070
- else if ((_c = ctrStatus.state) === null || _c === void 0 ? void 0 : _c.terminated) {
1071
- if (ctrStatus.state.terminated.reason) {
1072
- state = state.concat(" (", ctrStatus.state.terminated.reason, ")");
1073
- }
1074
- if (ctrStatus.state.terminated.message) {
1075
- state = state.concat(" (", ctrStatus.state.terminated.message, ")");
1076
- }
1077
- }
1078
- else if ((_d = ctrStatus.state) === null || _d === void 0 ? void 0 : _d.running) {
1079
- }
1080
- }
1081
- }
1082
- return state;
1083
- }
1084
- unblockAndSleep(durationInSecs) {
1085
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1086
- return new Promise(resolve => {
1087
- setTimeout(() => resolve(), durationInSecs * 1000);
1088
- });
1089
- });
1090
- }
1091
- /** Fetches pods if not already provided. */
1092
- showStatus(context, namespace, replicas, k8sApi) {
1093
- var _a, _b, _c;
1094
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1095
- try {
1096
- let k8sClient = k8sApi !== null && k8sApi !== void 0 ? k8sApi : yield this.getK8sClient(context);
1097
- let pods = replicas !== null && replicas !== void 0 ? replicas : yield this.fetchReplicas(context, namespace, k8sClient);
1098
- if (pods && pods.length > 0) {
1099
- // let deployed = res.successes[0].currentVersion.deployed;
1100
- console.log(`Status for ${context.asset} ${(pods.length > 0) ? " instances" : ""} running in ${context.environment}/${context.cabinet}`);
1101
- for (let replica of pods) {
1102
- let replicaName = (_b = (_a = replica.metadata) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "unnamed";
1103
- if (((_c = replica.status) === null || _c === void 0 ? void 0 : _c.conditions) && replica.status.conditions.length > 0) {
1104
- let latestCond = _.orderBy(replica.status.conditions, x => x.lastTransitionTime, "desc")[0];
1105
- console.log(`${replicaName} ${latestCond.type} since (${latestCond.lastTransitionTime}) started (${replica.status.startTime}) ${replica.status.containerStatuses[0].restartCount} restarts`); // , deployed (${deployed})`)
1106
- }
1107
- else {
1108
- console.log("Condition not available"); // Thanks, nice and ambiguous; lets give them something actionable here instead.
1109
- }
1110
- }
1111
- }
1112
- else {
1113
- this._ui.userMessage(`No running instances found.`);
1114
- }
1115
- return;
1116
- }
1117
- catch (err) {
1118
- throw err;
1119
- }
1120
- });
1121
- }
1122
- showLogs(context, logOptions) {
1123
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1124
- try {
1125
- // SHOW LOGS
1126
- let req = Object.assign(Object.assign({}, context), { logOptions: logOptions });
1127
- let cnxnResult = yield this.genRelayClient.Call.getLogStreamSpecs(req);
1128
- if (cnxnResult.error)
1129
- throw cnxnResult.error;
1130
- if (cnxnResult.output == undefined)
1131
- throw new Error(`Failed without error getting log stream connection specs.`);
1132
- const logStream = new stream.PassThrough();
1133
- logStream.on("data", (chunk) => {
1134
- // use write rather than console.log to prevent double line feed
1135
- process.stdout.write(chunk);
1136
- });
1137
- let streamer = new LogStreamer(this.logger);
1138
- let requestOptions = cnxnResult.output;
1139
- // Deserialize from strings into Buffers after their trip over the wire
1140
- if (cnxnResult.output.ca)
1141
- requestOptions.ca = Buffer.from(cnxnResult.output.ca);
1142
- else
1143
- this.logger.warn(`Cluster connection specs retrieved for log streaming did not have a ca.`);
1144
- if (cnxnResult.output.cert)
1145
- requestOptions.cert = Buffer.from(cnxnResult.output.cert);
1146
- else
1147
- this.logger.warn(`Cluster connection specs retrieved for log streaming did not have a cert.`);
1148
- if (cnxnResult.output.key)
1149
- requestOptions.key = Buffer.from(cnxnResult.output.key);
1150
- else
1151
- this.logger.warn(`Cluster connection specs retrieved for log streaming did not have a key.`);
1152
- streamer.go(requestOptions, logStream); // shouldn't we be awaiting this?
1153
- }
1154
- catch (err) {
1155
- throw err;
1156
- }
1157
- });
1158
- }
1159
- /**
1160
- * @param context Fully qualified path, in terms of Codiac entities, to identify a single replica of an asset in a cabinet.
1161
- * @param execArgs Parameters identifying the ultimate command to run and the console behavior.
1162
- * @param K8sEntities The identifying names of the relevant kubernetes objects, corresponding to the asset replica context, that fully qualify the desired container. */
1163
- runExec(context, execArgs, k8sEntities) {
1164
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1165
- try {
1166
- let k8sCnxnResult = yield this.genRelayClient.Call.getClusterConnectionSpecs(context);
1167
- if (k8sCnxnResult.error)
1168
- throw k8sCnxnResult.error;
1169
- if (k8sCnxnResult.output === undefined || _.isEmpty(k8sCnxnResult.output))
1170
- throw new Error(`Retrieval of cluster connection spec failed without error.`);
1171
- let spec = k8sCnxnResult.output;
1172
- let kc = new k8s.KubeConfig();
1173
- kc.loadFromString(spec);
1174
- // ======================================================================================================
1175
- // We have to resume here because the console keystrokes are not getting through,
1176
- // even though a POC running just the exec (without all the other ui code we're running)
1177
- // doesnt have the input problem.
1178
- //
1179
- // TODO: Find out why we need this stdin resumed.
1180
- // Most likely because it was piped into an spawned child process that has since ended.
1181
- //
1182
- process.stdin.resume(); // Somehwere we probably lost track of a stdin
1183
- //
1184
- //
1185
- // ======================================================================================================
1186
- const exec = new k8s.Exec(kc);
1187
- const ws = yield exec.exec(k8sEntities.namespace, k8sEntities.pod, k8sEntities.container, execArgs.command, process.stdout, process.stderr, process.stdin, execArgs.tty, (status) => {
1188
- // tslint:disable-next-line:no-console
1189
- // console.log("Exited with status:");
1190
- // // tslint:disable-next-line:no-console
1191
- this.logger.debug(`Executed terminal cmd. Status: ${status.status} ${status.reason}`, JSON.stringify(status, null, 2));
1192
- });
1193
- ws.onopen = function open() {
1194
- process.stdout.write("connected");
1195
- };
1196
- ws.onclose = function close(evt) {
1197
- // process.stdout.write("disconnected");
1198
- process.exit(evt.code);
1199
- return;
1200
- };
1201
- ws.onmessage = this.routeK8sWebSocketMessage;
1202
- // function incoming(msg: any) {
1203
- // let buf = Buffer.from(msg.data);
1204
- // // The k8s client prefixes the buffer with the stream number at position 0...
1205
- // let streamNumBuf = buf.readInt8();
1206
- // let payload = buf.toString('utf8', 1); // <-- start at pos 1 to skip the stream number.
1207
- // switch (streamNumBuf) {
1208
- // case WebSocketHandler.StdoutStream /* 1 */:
1209
- // process.stdout.write(payload);
1210
- // break;
1211
- // case WebSocketHandler.StderrStream /* 2 */:
1212
- // process.stderr.write(`ERROR: ` + payload);
1213
- // break;
1214
- // case WebSocketHandler.StatusStream /* 3 */:
1215
- // let k8sStatus = JSON.parse(payload) as V1Status;
1216
- // process.stdout.write(`STATUS: ${k8sStatus.status}: ${k8sStatus.message}`);
1217
- // break;
1218
- // default:
1219
- // process.stderr.write(`feedback on ${streamNumBuf}`)
1220
- // }
1221
- // return;
1222
- // };
1223
- // This never gets hit. Instead, onmessage gets hit with a message designated for stderr stream.
1224
- ws.onerror = function error(err) {
1225
- process.stdout.write(`Error: ${err.message}`);
1226
- ws.close();
1227
- };
1228
- // Gotta do a process.exit(code) to give the control back.
1229
- // THese dont fire
1230
- // ws.once('exit', (code) => process.exit(code));
1231
- // ws.once('end', (code) => process.stdout.write("end event fired"));
1232
- return;
1233
- }
1234
- catch (err) {
1235
- throw err;
1236
- }
1237
- });
1238
- }
1239
- /** Parses the stream number from the incoming message,
1240
- * and writes the data to the designated target stream.
1241
- *
1242
- * (The k8s client prefixes the buffer with the stream number at position 0)
1243
- */
1244
- routeK8sWebSocketMessage(msg) {
1245
- var _a;
1246
- let buf = Buffer.from(msg.data);
1247
- // The k8s client prefixes the buffer with the stream number at position 0...
1248
- let streamNumBuf = buf.readInt8();
1249
- let payload = buf.toString('utf8', 1); // <-- start at pos 1 to skip the stream number.
1250
- switch (streamNumBuf) {
1251
- case web_socket_handler_1.WebSocketHandler.StdoutStream /* 1 */:
1252
- process.stdout.write(payload);
1253
- break;
1254
- case web_socket_handler_1.WebSocketHandler.StderrStream /* 2 */:
1255
- process.stderr.write(`ERROR: ` + payload);
1256
- break;
1257
- case web_socket_handler_1.WebSocketHandler.StatusStream /* 3 */:
1258
- let k8sStatus = JSON.parse(payload);
1259
- if (((_a = k8sStatus.status) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "failure") {
1260
- if (k8sStatus.reason !== "NonZeroExitCode") {
1261
- process.stdout.write(`STATUS: ${k8sStatus.status}: ${k8sStatus.message}`);
1262
- }
1263
- }
1264
- break;
1265
- default:
1266
- process.stderr.write(`feedback on ${streamNumBuf}`);
1267
- }
1268
- return;
1269
- }
1270
- }
1271
- exports.default = AssetView;
1272
- AssetView.description = 'Renders a selected type of content for an asset';
1273
- AssetView.aliases = ['asset:monitor', "asset:mon", "asset:get"];
1274
- AssetView.flags = {
1275
- help: core_1.Flags.help({ char: 'h' }),
1276
- enterprise: core_1.Flags.string({ char: 'e', description: 'The name of the enterprise containing the asset being viewed.' }),
1277
- asset: core_1.Flags.string({ char: 'a', description: 'The name of the asset to view.' }),
1278
- environment: core_1.Flags.string({ char: 'n', description: 'The name of the environment in which the cabinet resides.' }),
1279
- cabinet: core_1.Flags.string({ char: 'c', description: 'The name of the cabinet from which the content is to be drawn.' }),
1280
- replica: core_1.Flags.string({ char: 'r', description: 'The name of one of the asset instances currently running in the cabinet.' }),
1281
- type: core_1.Flags.string({ char: 't', options: [...Object.keys(AssetContentType)], description: 'The type of content to retrieve.' }),
1282
- terminal: core_1.Flags.string({ options: ["bash", "sh"], description: 'Command used to start the terminal (defaults to "bash")' }),
1283
- logsFollow: core_1.Flags.boolean({ char: 'f', default: false, description: '(requires type=logs) Follow (aka watch, tail, stream) the output.' }),
1284
- logsTail: core_1.Flags.integer({ char: 'l', default: 10, description: '(requires type=logs) Lines of recent logs to include in the output. Enter -1 to include the entire log history stored in the container.' }),
1285
- configFile: core_1.Flags.string({ char: 'F', description: '(requires type=config) The root pathname to the config file to fetch.' }),
1286
- silent: core_1.Flags.boolean({ exclusive: ["echo", "toscript"], description: 'Non-Interactive mode; executes without any user interaction and fails on any missing or invalid arguments.' }),
1287
- echo: core_1.Flags.boolean({ exclusive: ["toscript", "silent"], description: 'Echo interaction mode; renders the equivalent non-interactive cli command for future use before final execution.' }),
1288
- toscript: core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Toscript interaction mode; renders the equivalent non-interactive cli command WITHOUT any execution.' }),
1289
- takeDefaults: core_1.Flags.boolean({ exclusive: ["silent"], description: "Prevents prompting for confirmation on parameters that were passed in or were set to default values." })
1290
- // tty: Flags.boolean({ char: 'i', default: false, description: '(requires type=exec) Specifies an interactive console session.' })
1291
- };
1292
- AssetView.strict = false; // disables argument validation so we can support variable-length arguments.
1293
- AssetView.args = {
1294
- cmd: core_1.Args.string({ description: '(requires type=exec) command and its space-separated arguments to run in the target replica.' })
1295
- };
1296
- class ExecArgs {
1297
- constructor(command, tty = true) {
1298
- this.command = command;
1299
- this.tty = tty;
1300
- }
1301
- }
1302
- exports.ExecArgs = ExecArgs;
1303
- class ConfigFileArgs {
1304
- constructor(rootPathName) {
1305
- this.rootPathName = rootPathName;
1306
- }
1307
- }
1308
- exports.ConfigFileArgs = ConfigFileArgs;
1309
- class TermArgs {
1310
- /**
1311
- *
1312
- * @param terminalStartup The type of terminal to open. This command may change depending on what terminal or command shell types are available in the image.
1313
- */
1314
- constructor(terminalStartup) {
1315
- this.terminalStartup = terminalStartup;
1316
- }
1317
- }
1318
- exports.TermArgs = TermArgs;
1319
- /** Idnetifies a container, in a pod, in a namespace, in a cluster. */
1320
- class K8sContainerRef {
1321
- constructor(namespace, podName,
1322
- /** This should be optional. When there's only one container in a pod,
1323
- * we should be able to derive this from the pod spec. */
1324
- containerName) {
1325
- this.namespace = namespace;
1326
- this.podName = podName;
1327
- this.containerName = containerName;
1328
- }
1329
- }
1330
- exports.K8sContainerRef = K8sContainerRef;
1331
- class LogStreamer {
1332
- constructor(logger) {
1333
- this.logger = logger;
1334
- }
1335
- go(requestOptions, stream) {
1336
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
1337
- return new Promise((resolve, reject) => {
1338
- const req = request(requestOptions, (error, response, body) => {
1339
- if (error) {
1340
- reject(error);
1341
- }
1342
- else if (response.statusCode !== 200) {
1343
- this.logger.detail(`Error connecting to log stream`, body);
1344
- let details;
1345
- try {
1346
- const k8sStatus = client_node_1.ObjectSerializer.deserialize(JSON.parse(body), 'V1Status');
1347
- details = `${k8sStatus.status}${k8sStatus.reason ? " (" + k8sStatus.reason + ")" : ""} ${k8sStatus.message}`;
1348
- }
1349
- catch (_a) {
1350
- details = "See cli log for details.";
1351
- }
1352
- reject(new Error(`Error connecting to log stream. ${details}`));
1353
- }
1354
- }).on('response', (response) => {
1355
- if (response.statusCode === 200) {
1356
- req.pipe(stream);
1357
- resolve(req);
1358
- }
1359
- });
1360
- });
1361
- });
1362
- }
1363
- }
1364
- exports.LogStreamer = LogStreamer;
1365
- //# sourceMappingURL=view.js.map