heroku 9.0.0-dev.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/README.md +6 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +20 -0
  13. package/lib/commands/addons/create.js +96 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +28 -0
  37. package/lib/commands/apps/create.js +201 -0
  38. package/lib/commands/apps/destroy.d.ts +15 -0
  39. package/lib/commands/apps/destroy.js +47 -0
  40. package/lib/commands/apps/errors.d.ts +13 -0
  41. package/lib/commands/apps/errors.js +120 -0
  42. package/lib/commands/apps/favorites/add.d.ts +2 -1
  43. package/lib/commands/apps/favorites/add.js +1 -0
  44. package/lib/commands/apps/favorites/remove.d.ts +2 -1
  45. package/lib/commands/apps/favorites/remove.js +1 -0
  46. package/lib/commands/apps/index.d.ts +16 -0
  47. package/lib/commands/apps/index.js +119 -0
  48. package/lib/commands/apps/info.d.ts +19 -0
  49. package/lib/commands/apps/info.js +162 -0
  50. package/lib/commands/apps/join.d.ts +11 -0
  51. package/lib/commands/apps/join.js +25 -0
  52. package/lib/commands/apps/leave.d.ts +12 -0
  53. package/lib/commands/apps/leave.js +25 -0
  54. package/lib/commands/apps/lock.d.ts +11 -0
  55. package/lib/commands/apps/lock.js +30 -0
  56. package/lib/commands/apps/open.d.ts +15 -0
  57. package/lib/commands/apps/open.js +30 -0
  58. package/lib/commands/apps/rename.d.ts +16 -0
  59. package/lib/commands/apps/rename.js +51 -0
  60. package/lib/commands/apps/stacks/index.d.ts +3 -2
  61. package/lib/commands/apps/stacks/index.js +2 -1
  62. package/lib/commands/apps/stacks/set.d.ts +4 -4
  63. package/lib/commands/apps/stacks/set.js +1 -1
  64. package/lib/commands/apps/transfer.d.ts +17 -0
  65. package/lib/commands/apps/transfer.js +91 -0
  66. package/lib/commands/apps/unlock.d.ts +11 -0
  67. package/lib/commands/apps/unlock.js +30 -0
  68. package/lib/commands/auth/token.js +2 -1
  69. package/lib/commands/authorizations/create.d.ts +3 -3
  70. package/lib/commands/authorizations/create.js +5 -1
  71. package/lib/commands/authorizations/info.d.ts +1 -1
  72. package/lib/commands/authorizations/info.js +5 -1
  73. package/lib/commands/authorizations/revoke.d.ts +1 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.d.ts +1 -1
  76. package/lib/commands/authorizations/rotate.js +5 -1
  77. package/lib/commands/authorizations/update.d.ts +4 -4
  78. package/lib/commands/authorizations/update.js +5 -1
  79. package/lib/commands/autocomplete/doctor.js +2 -2
  80. package/lib/commands/autocomplete/options.d.ts +2 -2
  81. package/lib/commands/autocomplete/options.js +2 -2
  82. package/lib/commands/autocomplete/script.d.ts +1 -1
  83. package/lib/commands/buildpacks/add.d.ts +4 -4
  84. package/lib/commands/buildpacks/clear.d.ts +2 -2
  85. package/lib/commands/buildpacks/index.d.ts +2 -2
  86. package/lib/commands/buildpacks/info.d.ts +1 -1
  87. package/lib/commands/buildpacks/remove.d.ts +4 -4
  88. package/lib/commands/buildpacks/search.d.ts +4 -4
  89. package/lib/commands/buildpacks/set.d.ts +4 -4
  90. package/lib/commands/buildpacks/versions.d.ts +1 -1
  91. package/lib/commands/certs/add.d.ts +16 -0
  92. package/lib/commands/certs/add.js +98 -0
  93. package/lib/commands/certs/auto/disable.d.ts +11 -0
  94. package/lib/commands/certs/auto/disable.js +34 -0
  95. package/lib/commands/certs/auto/enable.d.ts +11 -0
  96. package/lib/commands/certs/auto/enable.js +51 -0
  97. package/lib/commands/certs/auto/index.d.ts +12 -0
  98. package/lib/commands/certs/auto/index.js +94 -0
  99. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  100. package/lib/commands/certs/auto/refresh.js +19 -0
  101. package/lib/commands/certs/generate.d.ts +26 -0
  102. package/lib/commands/certs/generate.js +111 -0
  103. package/lib/commands/certs/index.d.ts +10 -0
  104. package/lib/commands/certs/index.js +26 -0
  105. package/lib/commands/certs/info.d.ts +13 -0
  106. package/lib/commands/certs/info.js +43 -0
  107. package/lib/commands/certs/remove.d.ts +13 -0
  108. package/lib/commands/certs/remove.js +32 -0
  109. package/lib/commands/certs/update.d.ts +18 -0
  110. package/lib/commands/certs/update.js +54 -0
  111. package/lib/commands/ci/config/get.d.ts +4 -3
  112. package/lib/commands/ci/config/get.js +3 -2
  113. package/lib/commands/ci/config/index.d.ts +3 -2
  114. package/lib/commands/ci/config/index.js +3 -2
  115. package/lib/commands/ci/config/set.d.ts +3 -2
  116. package/lib/commands/ci/config/set.js +2 -1
  117. package/lib/commands/ci/config/unset.d.ts +3 -3
  118. package/lib/commands/ci/config/unset.js +3 -3
  119. package/lib/commands/ci/debug.d.ts +2 -2
  120. package/lib/commands/ci/index.d.ts +3 -2
  121. package/lib/commands/ci/index.js +1 -0
  122. package/lib/commands/ci/info.d.ts +5 -4
  123. package/lib/commands/ci/info.js +1 -0
  124. package/lib/commands/ci/last.d.ts +4 -3
  125. package/lib/commands/ci/last.js +1 -0
  126. package/lib/commands/ci/open.d.ts +3 -2
  127. package/lib/commands/ci/open.js +1 -0
  128. package/lib/commands/ci/rerun.d.ts +4 -3
  129. package/lib/commands/ci/rerun.js +1 -0
  130. package/lib/commands/ci/run.d.ts +2 -2
  131. package/lib/commands/clients/create.d.ts +2 -2
  132. package/lib/commands/clients/destroy.d.ts +1 -1
  133. package/lib/commands/clients/info.d.ts +1 -1
  134. package/lib/commands/clients/rotate.d.ts +1 -1
  135. package/lib/commands/clients/update.d.ts +3 -3
  136. package/lib/commands/config/edit.d.ts +3 -3
  137. package/lib/commands/config/get.d.ts +3 -3
  138. package/lib/commands/config/index.d.ts +2 -2
  139. package/lib/commands/config/set.d.ts +12 -0
  140. package/lib/commands/config/set.js +60 -0
  141. package/lib/commands/config/unset.d.ts +2 -2
  142. package/lib/commands/console.d.ts +4 -4
  143. package/lib/commands/container/index.d.ts +6 -0
  144. package/lib/commands/container/index.js +13 -0
  145. package/lib/commands/container/login.d.ts +9 -0
  146. package/lib/commands/container/login.js +57 -0
  147. package/lib/commands/container/logout.d.ts +9 -0
  148. package/lib/commands/container/logout.js +37 -0
  149. package/lib/commands/container/pull.d.ts +14 -0
  150. package/lib/commands/container/pull.js +43 -0
  151. package/lib/commands/container/push.d.ts +16 -0
  152. package/lib/commands/container/push.js +103 -0
  153. package/lib/commands/container/release.d.ts +14 -0
  154. package/lib/commands/container/release.js +91 -0
  155. package/lib/commands/container/rm.d.ts +13 -0
  156. package/lib/commands/container/rm.js +39 -0
  157. package/lib/commands/container/run.d.ts +15 -0
  158. package/lib/commands/container/run.js +66 -0
  159. package/lib/commands/dashboard.d.ts +7 -0
  160. package/lib/commands/dashboard.js +164 -0
  161. package/lib/commands/domains/add.d.ts +4 -4
  162. package/lib/commands/domains/clear.d.ts +2 -2
  163. package/lib/commands/domains/index.d.ts +10 -10
  164. package/lib/commands/domains/info.d.ts +3 -3
  165. package/lib/commands/domains/remove.d.ts +3 -3
  166. package/lib/commands/domains/update.d.ts +4 -4
  167. package/lib/commands/domains/wait.d.ts +3 -3
  168. package/lib/commands/drains/add.d.ts +12 -0
  169. package/lib/commands/drains/add.js +23 -0
  170. package/lib/commands/drains/index.d.ts +11 -0
  171. package/lib/commands/drains/index.js +50 -0
  172. package/lib/commands/drains/remove.d.ts +13 -0
  173. package/lib/commands/drains/remove.js +22 -0
  174. package/lib/commands/features/disable.d.ts +12 -0
  175. package/lib/commands/features/disable.js +30 -0
  176. package/lib/commands/features/enable.d.ts +12 -0
  177. package/lib/commands/features/enable.js +29 -0
  178. package/lib/commands/features/index.d.ts +10 -0
  179. package/lib/commands/features/index.js +37 -0
  180. package/lib/commands/features/info.d.ts +13 -0
  181. package/lib/commands/features/info.js +33 -0
  182. package/lib/commands/git/clone.d.ts +3 -3
  183. package/lib/commands/git/credentials.d.ts +1 -1
  184. package/lib/commands/git/remote.d.ts +2 -2
  185. package/lib/commands/keys/add.d.ts +14 -0
  186. package/lib/commands/keys/add.js +101 -0
  187. package/lib/commands/keys/clear.d.ts +5 -0
  188. package/lib/commands/keys/clear.js +17 -0
  189. package/lib/commands/keys/index.d.ts +9 -0
  190. package/lib/commands/keys/index.js +36 -0
  191. package/lib/commands/keys/remove.d.ts +9 -0
  192. package/lib/commands/keys/remove.js +29 -0
  193. package/lib/commands/labs/enable.d.ts +13 -0
  194. package/lib/commands/labs/enable.js +47 -0
  195. package/lib/commands/labs/index.d.ts +11 -0
  196. package/lib/commands/labs/index.js +71 -0
  197. package/lib/commands/labs/info.d.ts +14 -0
  198. package/lib/commands/labs/info.js +49 -0
  199. package/lib/commands/local/index.d.ts +5 -5
  200. package/lib/commands/local/index.js +8 -3
  201. package/lib/commands/local/run.d.ts +2 -2
  202. package/lib/commands/local/run.js +8 -3
  203. package/lib/commands/logs.d.ts +6 -6
  204. package/lib/commands/maintenance/index.d.ts +10 -0
  205. package/lib/commands/maintenance/index.js +19 -0
  206. package/lib/commands/maintenance/off.d.ts +10 -0
  207. package/lib/commands/maintenance/off.js +20 -0
  208. package/lib/commands/maintenance/on.d.ts +10 -0
  209. package/lib/commands/maintenance/on.js +20 -0
  210. package/lib/commands/members/add.d.ts +13 -0
  211. package/lib/commands/members/add.js +33 -0
  212. package/lib/commands/members/index.d.ts +12 -0
  213. package/lib/commands/members/index.js +76 -0
  214. package/lib/commands/members/remove.d.ts +10 -0
  215. package/lib/commands/members/remove.js +58 -0
  216. package/lib/commands/members/set.d.ts +11 -0
  217. package/lib/commands/members/set.js +21 -0
  218. package/lib/commands/notifications/index.d.ts +13 -0
  219. package/lib/commands/notifications/index.js +62 -0
  220. package/lib/commands/orgs/index.d.ts +11 -0
  221. package/lib/commands/orgs/index.js +27 -0
  222. package/lib/commands/orgs/open.d.ts +10 -0
  223. package/lib/commands/orgs/open.js +24 -0
  224. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  225. package/lib/commands/pg/backups/cancel.js +49 -0
  226. package/lib/commands/pg/backups/capture.d.ts +15 -0
  227. package/lib/commands/pg/backups/capture.js +65 -0
  228. package/lib/commands/pg/backups/delete.d.ts +15 -0
  229. package/lib/commands/pg/backups/delete.js +38 -0
  230. package/lib/commands/pg/backups/download.d.ts +14 -0
  231. package/lib/commands/pg/backups/download.js +58 -0
  232. package/lib/commands/pg/backups/index.d.ts +20 -0
  233. package/lib/commands/pg/backups/index.js +129 -0
  234. package/lib/commands/pg/backups/info.d.ts +17 -0
  235. package/lib/commands/pg/backups/info.js +92 -0
  236. package/lib/commands/pg/backups/restore.d.ts +19 -0
  237. package/lib/commands/pg/backups/restore.js +107 -0
  238. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  239. package/lib/commands/pg/backups/schedule.js +82 -0
  240. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  241. package/lib/commands/pg/backups/schedules.js +31 -0
  242. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  243. package/lib/commands/pg/backups/unschedule.js +44 -0
  244. package/lib/commands/pg/backups/url.d.ts +13 -0
  245. package/lib/commands/pg/backups/url.js +41 -0
  246. package/lib/commands/pg/bloat.d.ts +13 -0
  247. package/lib/commands/pg/bloat.js +87 -0
  248. package/lib/commands/pg/blocking.d.ts +13 -0
  249. package/lib/commands/pg/blocking.js +42 -0
  250. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  251. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  252. package/lib/commands/pg/copy.d.ts +18 -0
  253. package/lib/commands/pg/copy.js +86 -0
  254. package/lib/commands/pg/credentials/create.d.ts +14 -0
  255. package/lib/commands/pg/credentials/create.js +40 -0
  256. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  257. package/lib/commands/pg/credentials/destroy.js +48 -0
  258. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  259. package/lib/commands/pg/credentials/repair-default.js +39 -0
  260. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  261. package/lib/commands/pg/credentials/rotate.js +82 -0
  262. package/lib/commands/pg/credentials/url.d.ts +14 -0
  263. package/lib/commands/pg/credentials/url.js +64 -0
  264. package/lib/commands/pg/credentials.d.ts +16 -0
  265. package/lib/commands/pg/credentials.js +61 -0
  266. package/lib/commands/pg/diagnose.d.ts +18 -0
  267. package/lib/commands/pg/diagnose.js +109 -0
  268. package/lib/commands/pg/info.d.ts +14 -0
  269. package/lib/commands/pg/info.js +92 -0
  270. package/lib/commands/pg/kill.d.ts +15 -0
  271. package/lib/commands/pg/kill.js +32 -0
  272. package/lib/commands/pg/killall.d.ts +13 -0
  273. package/lib/commands/pg/killall.js +26 -0
  274. package/lib/commands/pg/links/create.d.ts +15 -0
  275. package/lib/commands/pg/links/create.js +58 -0
  276. package/lib/commands/pg/links/destroy.d.ts +16 -0
  277. package/lib/commands/pg/links/destroy.js +42 -0
  278. package/lib/commands/pg/links/index.d.ts +13 -0
  279. package/lib/commands/pg/links/index.js +59 -0
  280. package/lib/commands/pg/locks.d.ts +15 -0
  281. package/lib/commands/pg/locks.js +53 -0
  282. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  283. package/lib/commands/pg/maintenance/index.js +29 -0
  284. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  285. package/lib/commands/pg/maintenance/run.js +37 -0
  286. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  287. package/lib/commands/pg/maintenance/window.js +41 -0
  288. package/lib/commands/pg/outliers.d.ts +19 -0
  289. package/lib/commands/pg/outliers.js +97 -0
  290. package/lib/commands/pg/promote.d.ts +14 -0
  291. package/lib/commands/pg/promote.js +169 -0
  292. package/lib/commands/pg/ps.d.ts +14 -0
  293. package/lib/commands/pg/ps.js +52 -0
  294. package/lib/commands/pg/psql.d.ts +16 -0
  295. package/lib/commands/pg/psql.js +49 -0
  296. package/lib/commands/pg/pull.d.ts +18 -0
  297. package/lib/commands/pg/pull.js +87 -0
  298. package/lib/commands/pg/push.d.ts +18 -0
  299. package/lib/commands/pg/push.js +84 -0
  300. package/lib/commands/pg/reset.d.ts +15 -0
  301. package/lib/commands/pg/reset.js +44 -0
  302. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  303. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  304. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  305. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  306. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  307. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  308. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  309. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  310. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  311. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  312. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  313. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  314. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  315. package/lib/commands/pg/settings/auto-explain.js +38 -0
  316. package/lib/commands/pg/settings/index.d.ts +13 -0
  317. package/lib/commands/pg/settings/index.js +34 -0
  318. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  319. package/lib/commands/pg/settings/log-connections.js +34 -0
  320. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  321. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  322. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  323. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  324. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  325. package/lib/commands/pg/settings/log-statement.js +30 -0
  326. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  327. package/lib/commands/pg/settings/track-functions.js +29 -0
  328. package/lib/commands/pg/unfollow.d.ts +14 -0
  329. package/lib/commands/pg/unfollow.js +40 -0
  330. package/lib/commands/pg/upgrade.d.ts +15 -0
  331. package/lib/commands/pg/upgrade.js +58 -0
  332. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  333. package/lib/commands/pg/vacuum-stats.js +65 -0
  334. package/lib/commands/pg/wait.d.ts +15 -0
  335. package/lib/commands/pg/wait.js +79 -0
  336. package/lib/commands/pipelines/add.d.ts +4 -4
  337. package/lib/commands/pipelines/connect.d.ts +2 -2
  338. package/lib/commands/pipelines/connect.js +1 -1
  339. package/lib/commands/pipelines/create.d.ts +5 -5
  340. package/lib/commands/pipelines/destroy.d.ts +1 -1
  341. package/lib/commands/pipelines/diff.d.ts +2 -2
  342. package/lib/commands/pipelines/diff.js +1 -1
  343. package/lib/commands/pipelines/info.d.ts +1 -1
  344. package/lib/commands/pipelines/open.d.ts +1 -1
  345. package/lib/commands/pipelines/promote.d.ts +3 -3
  346. package/lib/commands/pipelines/remove.d.ts +2 -2
  347. package/lib/commands/pipelines/rename.d.ts +2 -2
  348. package/lib/commands/pipelines/setup.d.ts +3 -3
  349. package/lib/commands/pipelines/transfer.d.ts +3 -3
  350. package/lib/commands/pipelines/update.d.ts +3 -3
  351. package/lib/commands/ps/autoscale/disable.d.ts +2 -2
  352. package/lib/commands/ps/autoscale/enable.d.ts +5 -5
  353. package/lib/commands/ps/index.d.ts +15 -0
  354. package/lib/commands/ps/index.js +195 -0
  355. package/lib/commands/ps/restart.d.ts +17 -0
  356. package/lib/commands/ps/restart.js +38 -0
  357. package/lib/commands/ps/scale.d.ts +13 -0
  358. package/lib/commands/ps/scale.js +108 -0
  359. package/lib/commands/ps/stop.d.ts +17 -0
  360. package/lib/commands/ps/stop.js +33 -0
  361. package/lib/commands/ps/type.d.ts +12 -0
  362. package/lib/commands/ps/type.js +163 -0
  363. package/lib/commands/ps/wait.d.ts +4 -4
  364. package/lib/commands/rake.d.ts +4 -4
  365. package/lib/commands/redis/cli.d.ts +15 -0
  366. package/lib/commands/redis/cli.js +204 -0
  367. package/lib/commands/redis/credentials.d.ts +14 -0
  368. package/lib/commands/redis/credentials.js +32 -0
  369. package/lib/commands/redis/info.d.ts +15 -0
  370. package/lib/commands/redis/info.js +25 -0
  371. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  372. package/lib/commands/redis/keyspace-notifications.js +47 -0
  373. package/lib/commands/redis/maintenance.d.ts +16 -0
  374. package/lib/commands/redis/maintenance.js +63 -0
  375. package/lib/commands/redis/maxmemory.d.ts +14 -0
  376. package/lib/commands/redis/maxmemory.js +40 -0
  377. package/lib/commands/redis/promote.d.ts +13 -0
  378. package/lib/commands/redis/promote.js +39 -0
  379. package/lib/commands/redis/stats-reset.d.ts +14 -0
  380. package/lib/commands/redis/stats-reset.js +36 -0
  381. package/lib/commands/redis/timeout.d.ts +14 -0
  382. package/lib/commands/redis/timeout.js +35 -0
  383. package/lib/commands/redis/upgrade.d.ts +15 -0
  384. package/lib/commands/redis/upgrade.js +37 -0
  385. package/lib/commands/redis/wait.d.ts +14 -0
  386. package/lib/commands/redis/wait.js +60 -0
  387. package/lib/commands/releases/index.d.ts +14 -0
  388. package/lib/commands/releases/index.js +124 -0
  389. package/lib/commands/releases/info.d.ts +15 -0
  390. package/lib/commands/releases/info.js +56 -0
  391. package/lib/commands/releases/output.d.ts +13 -0
  392. package/lib/commands/releases/output.js +37 -0
  393. package/lib/commands/releases/rollback.d.ts +14 -0
  394. package/lib/commands/releases/rollback.js +48 -0
  395. package/lib/commands/reviewapps/disable.d.ts +3 -3
  396. package/lib/commands/reviewapps/enable.d.ts +3 -3
  397. package/lib/commands/run/detached.d.ts +7 -8
  398. package/lib/commands/run/detached.js +16 -20
  399. package/lib/commands/run/index.d.ts +10 -11
  400. package/lib/commands/run/index.js +16 -17
  401. package/lib/commands/run/inside.d.ts +5 -7
  402. package/lib/commands/run/inside.js +10 -14
  403. package/lib/commands/sessions/destroy.d.ts +1 -1
  404. package/lib/commands/spaces/create.d.ts +22 -0
  405. package/lib/commands/spaces/create.js +73 -0
  406. package/lib/commands/spaces/destroy.d.ts +14 -0
  407. package/lib/commands/spaces/destroy.js +49 -0
  408. package/lib/commands/spaces/drains/get.d.ts +12 -0
  409. package/lib/commands/spaces/drains/get.js +27 -0
  410. package/lib/commands/spaces/drains/set.d.ts +14 -0
  411. package/lib/commands/spaces/drains/set.js +29 -0
  412. package/lib/commands/spaces/hosts.d.ts +14 -0
  413. package/lib/commands/spaces/hosts.js +37 -0
  414. package/lib/commands/spaces/index.d.ts +16 -0
  415. package/lib/commands/spaces/index.js +55 -0
  416. package/lib/commands/spaces/info.d.ts +14 -0
  417. package/lib/commands/spaces/info.js +47 -0
  418. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  419. package/lib/commands/spaces/peerings/accept.js +36 -0
  420. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  421. package/lib/commands/spaces/peerings/destroy.js +45 -0
  422. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  423. package/lib/commands/spaces/peerings/index.js +33 -0
  424. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  425. package/lib/commands/spaces/peerings/info.js +59 -0
  426. package/lib/commands/spaces/ps.d.ts +15 -0
  427. package/lib/commands/spaces/ps.js +82 -0
  428. package/lib/commands/spaces/rename.d.ts +11 -0
  429. package/lib/commands/spaces/rename.js +26 -0
  430. package/lib/commands/spaces/topology.d.ts +32 -0
  431. package/lib/commands/spaces/topology.js +89 -0
  432. package/lib/commands/spaces/transfer.d.ts +11 -0
  433. package/lib/commands/spaces/transfer.js +35 -0
  434. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  435. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  436. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  437. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  438. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  439. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  440. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  441. package/lib/commands/spaces/vpn/config.js +54 -0
  442. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  443. package/lib/commands/spaces/vpn/connect.js +48 -0
  444. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  445. package/lib/commands/spaces/vpn/connections.js +57 -0
  446. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  447. package/lib/commands/spaces/vpn/destroy.js +38 -0
  448. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  449. package/lib/commands/spaces/vpn/info.js +82 -0
  450. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  451. package/lib/commands/spaces/vpn/update.js +39 -0
  452. package/lib/commands/spaces/vpn/wait.d.ts +16 -0
  453. package/lib/commands/spaces/vpn/wait.js +70 -0
  454. package/lib/commands/spaces/wait.d.ts +17 -0
  455. package/lib/commands/spaces/wait.js +89 -0
  456. package/lib/commands/status.js +4 -4
  457. package/lib/commands/teams/index.d.ts +9 -0
  458. package/lib/commands/teams/index.js +29 -0
  459. package/lib/commands/webhooks/add.d.ts +8 -8
  460. package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
  461. package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
  462. package/lib/commands/webhooks/events/index.d.ts +3 -3
  463. package/lib/commands/webhooks/events/info.d.ts +4 -4
  464. package/lib/commands/webhooks/index.d.ts +3 -3
  465. package/lib/commands/webhooks/info.d.ts +4 -4
  466. package/lib/commands/webhooks/remove.d.ts +4 -4
  467. package/lib/commands/webhooks/update.d.ts +9 -9
  468. package/lib/global_telemetry.js +10 -4
  469. package/lib/hooks/postrun/performance_analytics.js +5 -4
  470. package/lib/hooks/prerun/analytics.js +3 -0
  471. package/lib/lib/addons/addons_wait.d.ts +78 -0
  472. package/lib/lib/addons/addons_wait.js +56 -0
  473. package/lib/lib/addons/create_addon.d.ts +7 -0
  474. package/lib/lib/addons/create_addon.js +59 -0
  475. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  476. package/lib/lib/addons/destroy_addon.js +48 -0
  477. package/lib/lib/addons/resolve.d.ts +39 -0
  478. package/lib/lib/addons/resolve.js +180 -0
  479. package/lib/lib/addons/util.d.ts +9 -0
  480. package/lib/lib/addons/util.js +72 -0
  481. package/lib/lib/apps/app-transfer.d.ts +10 -0
  482. package/lib/lib/apps/app-transfer.js +35 -0
  483. package/lib/lib/apps/error_info.d.ts +7 -0
  484. package/lib/lib/apps/error_info.js +185 -0
  485. package/lib/lib/autocomplete/base.d.ts +1 -1
  486. package/lib/lib/autocomplete/completions.d.ts +5 -1
  487. package/lib/lib/autocomplete/completions.js +6 -1
  488. package/lib/lib/certs/certificate_details.d.ts +2 -0
  489. package/lib/lib/certs/certificate_details.js +37 -0
  490. package/lib/lib/certs/display_table.d.ts +2 -0
  491. package/lib/lib/certs/display_table.js +51 -0
  492. package/lib/lib/certs/domains.d.ts +3 -0
  493. package/lib/lib/certs/domains.js +45 -0
  494. package/lib/lib/certs/flags.d.ts +7 -0
  495. package/lib/lib/certs/flags.js +42 -0
  496. package/lib/lib/certs/format_date.d.ts +1 -0
  497. package/lib/lib/certs/format_date.js +11 -0
  498. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  499. package/lib/lib/certs/get_cert_and_key.js +11 -0
  500. package/lib/lib/ci/git.d.ts +7 -1
  501. package/lib/lib/ci/git.js +44 -1
  502. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  503. package/lib/lib/ci/source.js +3 -3
  504. package/lib/lib/ci/test-run.js +2 -2
  505. package/lib/lib/config/quote.js +1 -1
  506. package/lib/lib/confirmCommand.d.ts +1 -0
  507. package/lib/lib/confirmCommand.js +23 -0
  508. package/lib/lib/container/debug.d.ts +2 -0
  509. package/lib/lib/container/debug.js +5 -0
  510. package/lib/lib/container/docker_helper.d.ts +24 -0
  511. package/lib/lib/container/docker_helper.js +168 -0
  512. package/lib/lib/container/helpers.d.ts +8 -0
  513. package/lib/lib/container/helpers.js +26 -0
  514. package/lib/lib/container/streamer.d.ts +1 -0
  515. package/lib/lib/container/streamer.js +31 -0
  516. package/lib/lib/domains/domains.d.ts +6 -0
  517. package/lib/lib/domains/domains.js +104 -0
  518. package/lib/lib/git/git.d.ts +3 -0
  519. package/lib/lib/git/git.js +22 -3
  520. package/lib/lib/local/run-foreman.d.ts +1 -0
  521. package/lib/lib/local/run-foreman.js +229 -1
  522. package/lib/lib/members/util.d.ts +3 -0
  523. package/lib/lib/members/util.js +25 -0
  524. package/lib/lib/members/utils.d.ts +2 -0
  525. package/lib/lib/members/utils.js +14 -0
  526. package/lib/lib/notify.d.ts +1 -0
  527. package/lib/lib/notify.js +23 -0
  528. package/lib/lib/orgs/utils.d.ts +5 -0
  529. package/lib/lib/orgs/utils.js +24 -0
  530. package/lib/lib/pg/backups.d.ts +17 -0
  531. package/lib/lib/pg/backups.js +164 -0
  532. package/lib/lib/pg/bastion.d.ts +29 -0
  533. package/lib/lib/pg/bastion.js +121 -0
  534. package/lib/lib/pg/config.d.ts +2 -0
  535. package/lib/lib/pg/config.js +13 -0
  536. package/lib/lib/pg/download.d.ts +5 -0
  537. package/lib/lib/pg/download.js +34 -0
  538. package/lib/lib/pg/fetcher.d.ts +39 -0
  539. package/lib/lib/pg/fetcher.js +138 -0
  540. package/lib/lib/pg/host.d.ts +1 -0
  541. package/lib/lib/pg/host.js +7 -0
  542. package/lib/lib/pg/psql.d.ts +48 -0
  543. package/lib/lib/pg/psql.js +252 -0
  544. package/lib/lib/pg/push_pull.d.ts +13 -0
  545. package/lib/lib/pg/push_pull.js +118 -0
  546. package/lib/lib/pg/setter.d.ts +16 -0
  547. package/lib/lib/pg/setter.js +65 -0
  548. package/lib/lib/pg/types.d.ts +230 -0
  549. package/lib/lib/pg/types.js +2 -0
  550. package/lib/lib/pg/util.d.ts +36 -0
  551. package/lib/lib/pg/util.js +183 -0
  552. package/lib/lib/redis/api.d.ts +65 -0
  553. package/lib/lib/redis/api.js +122 -0
  554. package/lib/lib/releases/output.d.ts +1 -0
  555. package/lib/lib/releases/output.js +14 -0
  556. package/lib/lib/releases/releases.d.ts +6 -0
  557. package/lib/lib/releases/releases.js +32 -0
  558. package/lib/lib/releases/status_helper.d.ts +5 -0
  559. package/lib/lib/releases/status_helper.js +25 -0
  560. package/lib/lib/run/dyno.js +2 -2
  561. package/lib/lib/run/log-displayer.d.ts +1 -1
  562. package/lib/lib/spaces/format.d.ts +4 -0
  563. package/lib/lib/spaces/format.js +60 -0
  564. package/lib/lib/spaces/hosts.d.ts +9 -0
  565. package/lib/lib/spaces/hosts.js +34 -0
  566. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  567. package/lib/lib/spaces/outbound-rules.js +78 -0
  568. package/lib/lib/spaces/parsers.d.ts +8 -0
  569. package/lib/lib/spaces/parsers.js +17 -0
  570. package/lib/lib/spaces/peering.d.ts +4 -0
  571. package/lib/lib/spaces/peering.js +53 -0
  572. package/lib/lib/spaces/spaces.d.ts +4 -0
  573. package/lib/lib/spaces/spaces.js +37 -0
  574. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  575. package/lib/lib/spaces/vpn-connections.js +22 -0
  576. package/lib/lib/teamUtils.d.ts +3 -0
  577. package/lib/lib/teamUtils.js +18 -0
  578. package/lib/lib/time.d.ts +2 -0
  579. package/lib/lib/time.js +29 -0
  580. package/lib/lib/types/app_errors.d.ts +6 -0
  581. package/lib/lib/types/app_errors.js +2 -0
  582. package/lib/lib/types/domain.d.ts +61 -0
  583. package/lib/lib/types/domain.js +5 -0
  584. package/lib/lib/types/notifications.d.ts +20 -0
  585. package/lib/lib/types/notifications.js +2 -0
  586. package/lib/lib/utils/multisort.d.ts +32 -0
  587. package/lib/lib/utils/multisort.js +66 -0
  588. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  589. package/lib/lib/utils/uuid-validate.js +7 -0
  590. package/lib/user-config.js +2 -2
  591. package/oclif.manifest.json +12686 -2676
  592. package/package.json +115 -65
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const DockerHelper = require("../../lib/container/docker_helper");
6
+ const debug_1 = require("../../lib/container/debug");
7
+ async function dockerLogin(registry, password) {
8
+ const [major, minor] = await DockerHelper.version();
9
+ if (major > 17 || (major === 17 && minor >= 7)) {
10
+ return dockerLoginStdin(registry, password);
11
+ }
12
+ return dockerLoginArgv(registry, password);
13
+ }
14
+ function dockerLoginStdin(registry, password) {
15
+ const args = [
16
+ 'login',
17
+ '--username=_',
18
+ '--password-stdin',
19
+ registry,
20
+ ];
21
+ return DockerHelper.cmd('docker', args, { input: password });
22
+ }
23
+ function dockerLoginArgv(registry, password) {
24
+ const args = [
25
+ 'login',
26
+ '--username=_',
27
+ `--password=${password}`,
28
+ registry,
29
+ ];
30
+ return DockerHelper.cmd('docker', args);
31
+ }
32
+ class Login extends command_1.Command {
33
+ async run() {
34
+ const { flags } = await this.parse(Login);
35
+ const { verbose } = flags;
36
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
37
+ const registry = `registry.${herokuHost}`;
38
+ const password = this.heroku.auth;
39
+ if (verbose) {
40
+ debug_1.debug.enabled = true;
41
+ }
42
+ if (!password)
43
+ throw new Error('not logged in');
44
+ try {
45
+ await dockerLogin(registry, password);
46
+ }
47
+ catch (error) {
48
+ core_1.ux.error(`Login failed${error.message ? ` with: ${error.message}` : ''}.`, { exit: 1 });
49
+ }
50
+ }
51
+ }
52
+ exports.default = Login;
53
+ Login.topic = 'container';
54
+ Login.description = 'log in to Heroku Container Registry';
55
+ Login.flags = {
56
+ verbose: command_1.flags.boolean({ char: 'v' }),
57
+ };
@@ -0,0 +1,9 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Logout extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static flags: {
6
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const DockerHelper = require("../../lib/container/docker_helper");
6
+ const debug_1 = require("../../lib/container/debug");
7
+ function dockerLogout(registry) {
8
+ const args = [
9
+ 'logout',
10
+ registry,
11
+ ];
12
+ return DockerHelper.cmd('docker', args);
13
+ }
14
+ class Logout extends command_1.Command {
15
+ async run() {
16
+ const { flags } = await this.parse(Logout);
17
+ const { verbose } = flags;
18
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
19
+ const registry = `registry.${herokuHost}`;
20
+ if (verbose) {
21
+ debug_1.debug.enabled = true;
22
+ }
23
+ try {
24
+ await dockerLogout(registry);
25
+ }
26
+ catch (error) {
27
+ const { message } = error;
28
+ core_1.ux.error(`Error: docker logout exited${message ? ` with: ${message}` : ''}.`);
29
+ }
30
+ }
31
+ }
32
+ exports.default = Logout;
33
+ Logout.topic = 'container';
34
+ Logout.description = 'log out from Heroku Container Registry';
35
+ Logout.flags = {
36
+ verbose: command_1.flags.boolean({ char: 'v' }),
37
+ };
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Pull extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static usage: string;
6
+ static example: string;
7
+ static strict: boolean;
8
+ static flags: {
9
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const DockerHelper = require("../../lib/container/docker_helper");
6
+ const helpers_1 = require("../../lib/container/helpers");
7
+ const debug_1 = require("../../lib/container/debug");
8
+ const color_1 = require("@heroku-cli/color");
9
+ class Pull extends command_1.Command {
10
+ async run() {
11
+ const { argv, flags } = await this.parse(Pull);
12
+ const { verbose, app } = flags;
13
+ if (argv.length === 0) {
14
+ this.error(`Error: Requires one or more process types\n${Pull.example}`);
15
+ }
16
+ const { body: appBody } = await this.heroku.get(`/apps/${app}`);
17
+ (0, helpers_1.ensureContainerStack)(appBody, 'pull');
18
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
19
+ const registry = `registry.${herokuHost}`;
20
+ if (verbose) {
21
+ debug_1.debug.enabled = true;
22
+ }
23
+ for (const process of argv) {
24
+ const tag = `${registry}/${app}/${process}`;
25
+ core_1.ux.styledHeader(`Pulling ${process} as ${tag}`);
26
+ await DockerHelper.pullImage(tag);
27
+ }
28
+ }
29
+ }
30
+ exports.default = Pull;
31
+ Pull.topic = 'container';
32
+ Pull.description = 'pulls an image from an app\'s process type';
33
+ Pull.usage = 'container:pull -a APP [-v] PROCESS_TYPE...';
34
+ Pull.example = `
35
+ ${color_1.default.cmd('$ heroku container:pull web')} # Pulls the web image from the app
36
+ ${color_1.default.cmd('$ heroku container:pull web worker')} # Pulls both the web and worker images from the app
37
+ ${color_1.default.cmd('$ heroku container:pull web:latest')} # Pulls the latest tag from the web image`;
38
+ Pull.strict = false;
39
+ Pull.flags = {
40
+ app: command_1.flags.app({ required: true }),
41
+ remote: command_1.flags.remote(),
42
+ verbose: command_1.flags.boolean({ char: 'v' }),
43
+ };
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Push extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static strict: boolean;
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ recursive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ arg: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ 'context-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
13
+ };
14
+ static examples: string[];
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const DockerHelper = require("../../lib/container/docker_helper");
6
+ const helpers_1 = require("../../lib/container/helpers");
7
+ const debug_1 = require("../../lib/container/debug");
8
+ async function selectJobs(jobs, processTypes, recursive) {
9
+ let filteredJobs = {};
10
+ let selectedJobs = [];
11
+ if (Object.keys(jobs).length === 0) {
12
+ return selectedJobs;
13
+ }
14
+ if (recursive) {
15
+ if (processTypes.length > 0) {
16
+ filteredJobs = DockerHelper.filterByProcessType(jobs, processTypes);
17
+ }
18
+ selectedJobs = await DockerHelper.chooseJobs(filteredJobs);
19
+ }
20
+ else if (jobs.standard) {
21
+ jobs.standard.forEach(pj => {
22
+ pj.resource = pj.resource.replace(/standard$/, processTypes[0]);
23
+ });
24
+ selectedJobs = jobs.standard || [];
25
+ }
26
+ return selectedJobs;
27
+ }
28
+ class Push extends command_1.Command {
29
+ async run() {
30
+ const { argv: processTypes, flags } = await this.parse(Push);
31
+ const { verbose, app, recursive, arg, 'context-path': contextPath } = flags;
32
+ if (verbose) {
33
+ debug_1.debug.enabled = true;
34
+ }
35
+ if (processTypes.length === 0 && !recursive) {
36
+ core_1.ux.error('Requires either --recursive or one or more process types', { exit: 1 });
37
+ }
38
+ if (processTypes.length > 1 && !recursive) {
39
+ core_1.ux.error('Requires exactly one target process type, or --recursive option', { exit: 1 });
40
+ }
41
+ const { body: appBody } = await this.heroku.get(`/apps/${app}`);
42
+ (0, helpers_1.ensureContainerStack)(appBody, 'push');
43
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
44
+ const registry = `registry.${herokuHost}`;
45
+ const dockerfiles = DockerHelper.getDockerfiles(process.cwd(), recursive);
46
+ const possibleJobs = DockerHelper.getJobs(`${registry}/${app}`, dockerfiles);
47
+ const jobs = await selectJobs(possibleJobs, processTypes, recursive);
48
+ if (jobs.length === 0) {
49
+ core_1.ux.error('No images to push', { exit: 1 });
50
+ }
51
+ const buildArgs = (arg === undefined) ? [] : arg.split(',');
52
+ try {
53
+ for (const job of jobs) {
54
+ if (job.name === 'standard') {
55
+ core_1.ux.styledHeader(`Building ${processTypes} (${job.dockerfile})`);
56
+ }
57
+ else {
58
+ core_1.ux.styledHeader(`Building ${job.name} (${job.dockerfile})`);
59
+ }
60
+ await DockerHelper.buildImage(job.dockerfile, job.resource, buildArgs, contextPath);
61
+ }
62
+ }
63
+ catch (error) {
64
+ core_1.ux.error(`docker build exited with ${error}`, { exit: 1 });
65
+ }
66
+ try {
67
+ for (const job of jobs) {
68
+ if (job.name === 'standard') {
69
+ core_1.ux.styledHeader(`Pushing ${processTypes} (${job.dockerfile})`);
70
+ }
71
+ else {
72
+ core_1.ux.styledHeader(`Pushing ${job.name} (${job.dockerfile})`);
73
+ }
74
+ await DockerHelper.pushImage(job.resource);
75
+ }
76
+ const plural = jobs.length !== 1;
77
+ core_1.ux.log(`Your image${plural ? 's have' : ' has'} been successfully pushed. You can now release ${plural ? 'them' : 'it'} with the 'container:release' command.`);
78
+ }
79
+ catch (error) {
80
+ core_1.ux.error(`docker push exited with ${error}`, { exit: 1 });
81
+ }
82
+ }
83
+ }
84
+ exports.default = Push;
85
+ Push.topic = 'container';
86
+ Push.description = 'builds, then pushes Docker images to deploy your Heroku app';
87
+ Push.strict = false;
88
+ Push.flags = {
89
+ app: command_1.flags.app({ required: true }),
90
+ verbose: command_1.flags.boolean({ char: 'v' }),
91
+ recursive: command_1.flags.boolean({ char: 'R', description: 'pushes Dockerfile.<process> found in current and subdirectories' }),
92
+ arg: command_1.flags.string({ description: 'set build-time variables' }),
93
+ 'context-path': command_1.flags.string({ description: 'path to use as build context (defaults to Dockerfile dir)' }),
94
+ remote: command_1.flags.remote({ char: 'r' }),
95
+ };
96
+ Push.examples = [
97
+ '$ heroku container:push web # Pushes Dockerfile to web process type',
98
+ '$ heroku container:push worker # Pushes Dockerfile to worker process type',
99
+ '$ heroku container:push web worker --recursive # Pushes Dockerfile.web and Dockerfile.worker',
100
+ '$ heroku container:push --recursive # Pushes Dockerfile.*',
101
+ '$ heroku container:push web --arg ENV=live,HTTPS=on # Build-time variables',
102
+ '$ heroku container:push --recursive --context-path . # Pushes Dockerfile.* using current dir as build context',
103
+ ];
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class ContainerRelease extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static usage: string;
6
+ static example: string;
7
+ static strict: boolean;
8
+ static flags: {
9
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const debug_1 = require("../../lib/container/debug");
7
+ const streamer_1 = require("../../lib/container/streamer");
8
+ const helpers_1 = require("../../lib/container/helpers");
9
+ class ContainerRelease extends command_1.Command {
10
+ async run() {
11
+ const { flags, argv } = await this.parse(ContainerRelease);
12
+ const { app, verbose } = flags;
13
+ if (argv.length === 0) {
14
+ this.error(`Error: Requires one or more process types\n ${ContainerRelease.example}`);
15
+ }
16
+ if (verbose) {
17
+ debug_1.debug.enabled = true;
18
+ }
19
+ const { body: appBody } = await this.heroku.get(`/apps/${app}`);
20
+ (0, helpers_1.ensureContainerStack)(appBody, 'release');
21
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
22
+ const updateData = [];
23
+ for (const process of argv) {
24
+ const image = `${app}/${process}`;
25
+ const tag = 'latest';
26
+ const { body: imageResp } = await this.heroku.get(`/v2/${image}/manifests/${tag}`, {
27
+ hostname: `registry.${herokuHost}`,
28
+ headers: {
29
+ Accept: 'application/vnd.docker.distribution.manifest.v2+json',
30
+ Authorization: `Basic ${Buffer.from(`:${this.heroku.auth}`).toString('base64')}`,
31
+ }
32
+ });
33
+ let imageID;
34
+ let v1Comp;
35
+ switch (imageResp.schemaVersion) {
36
+ case 1:
37
+ v1Comp = JSON.parse(imageResp.history[0].v1Compatibility);
38
+ imageID = v1Comp.id;
39
+ break;
40
+ case 2:
41
+ imageID = imageResp.config.digest;
42
+ break;
43
+ }
44
+ updateData.push({
45
+ type: process, docker_image: imageID,
46
+ });
47
+ }
48
+ core_1.ux.action.start(`Releasing images ${argv.join(',')} to ${app}`);
49
+ await this.heroku.patch(`/apps/${app}/formation`, {
50
+ body: { updates: updateData }, headers: {
51
+ Accept: 'application/vnd.heroku+json; version=3.docker-releases',
52
+ },
53
+ });
54
+ core_1.ux.action.stop();
55
+ const { body: oldReleases } = await this.heroku.get(`/apps/${app}/releases`, {
56
+ partial: true, headers: { Range: 'version ..; max=2, order=desc' },
57
+ });
58
+ const oldRelease = oldReleases[0];
59
+ const { body: updatedReleases } = await this.heroku.get(`/apps/${app}/releases`, {
60
+ partial: true, headers: { Range: 'version ..; max=1, order=desc' },
61
+ });
62
+ const release = updatedReleases[0];
63
+ if ((!oldRelease && !release) || (oldRelease && (oldRelease.id === release.id))) {
64
+ return;
65
+ }
66
+ if (release.status === 'failed') {
67
+ core_1.ux.error('Error: release command failed', { exit: 1 });
68
+ }
69
+ else if ((release.status === 'pending') && release.output_stream_url) {
70
+ core_1.ux.log('Running release command...');
71
+ await (0, streamer_1.streamer)(release.output_stream_url, process.stdout);
72
+ const { body: finishedRelease } = await this.heroku.request(`/apps/${app}/releases/${release.id}`);
73
+ if (finishedRelease.status === 'failed') {
74
+ core_1.ux.error('Error: release command failed', { exit: 1 });
75
+ }
76
+ }
77
+ }
78
+ }
79
+ exports.default = ContainerRelease;
80
+ ContainerRelease.topic = 'container';
81
+ ContainerRelease.description = 'Releases previously pushed Docker images to your Heroku app';
82
+ ContainerRelease.usage = 'container:release';
83
+ ContainerRelease.example = `
84
+ ${color_1.default.cmd('heroku container:release web')} # Releases the previously pushed web process type
85
+ ${color_1.default.cmd('heroku container:release web worker')} # Releases the previously pushed web and worker process types`;
86
+ ContainerRelease.strict = false;
87
+ ContainerRelease.flags = {
88
+ app: command_1.flags.app({ required: true }),
89
+ remote: command_1.flags.remote(),
90
+ verbose: command_1.flags.boolean({ char: 'v' }),
91
+ };
@@ -0,0 +1,13 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Rm extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static usage: string;
6
+ static example: string;
7
+ static strict: boolean;
8
+ static flags: {
9
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const color_1 = require("@heroku-cli/color");
6
+ const helpers_1 = require("../../lib/container/helpers");
7
+ class Rm extends command_1.Command {
8
+ async run() {
9
+ const { argv, flags } = await this.parse(Rm);
10
+ const { app } = flags;
11
+ if (argv.length === 0) {
12
+ this.error(`Error: Requires one or more process types\n${Rm.example}`);
13
+ }
14
+ const { body: appBody } = await this.heroku.get(`/apps/${app}`);
15
+ (0, helpers_1.ensureContainerStack)(appBody, 'rm');
16
+ for (const process of argv) {
17
+ core_1.ux.action.start(`Removing container ${process} for ${color_1.default.app(app)}`);
18
+ await this.heroku.patch(`/apps/${app}/formation/${process}`, {
19
+ headers: {
20
+ Accept: 'application/vnd.heroku+json; version=3.docker-releases',
21
+ },
22
+ body: { docker_image: null },
23
+ });
24
+ core_1.ux.action.stop();
25
+ }
26
+ }
27
+ }
28
+ exports.default = Rm;
29
+ Rm.topic = 'container';
30
+ Rm.description = 'remove the process type from your app';
31
+ Rm.usage = 'container:rm -a APP [-v] PROCESS_TYPE...';
32
+ Rm.example = `
33
+ ${color_1.default.cmd('heroku container:rm web')} # Destroys the web container
34
+ ${color_1.default.cmd('heroku container:rm web worker')} # Destroys the web and worker containers`;
35
+ Rm.strict = false;
36
+ Rm.flags = {
37
+ app: command_1.flags.app({ required: true }),
38
+ remote: command_1.flags.remote(),
39
+ };
@@ -0,0 +1,15 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Run extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static usage: string;
6
+ static example: string;
7
+ static strict: boolean;
8
+ static flags: {
9
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
11
+ port: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
12
+ verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ run(): Promise<void>;
15
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const DockerHelper = require("../../lib/container/docker_helper");
6
+ const helpers_1 = require("../../lib/container/helpers");
7
+ const debug_1 = require("../../lib/container/debug");
8
+ const color_1 = require("@heroku-cli/color");
9
+ class Run extends command_1.Command {
10
+ async run() {
11
+ const { argv, flags } = await this.parse(Run);
12
+ const { verbose, app, port } = flags;
13
+ if (argv.length === 0) {
14
+ this.error(`Error: Requires one process type\n${Run.example}`);
15
+ }
16
+ if (verbose) {
17
+ debug_1.debug.enabled = true;
18
+ }
19
+ const { body: appBody } = await this.heroku.get(`/apps/${app}`);
20
+ (0, helpers_1.ensureContainerStack)(appBody, 'run');
21
+ const processType = argv.shift();
22
+ const command = argv.join(' ');
23
+ const herokuHost = process.env.HEROKU_HOST || 'heroku.com';
24
+ const registry = `registry.${herokuHost}`;
25
+ const dockerfiles = DockerHelper.getDockerfiles(process.cwd(), false);
26
+ const possibleJobs = DockerHelper.getJobs(`${registry}/${app}`, dockerfiles);
27
+ let jobs = [];
28
+ if (possibleJobs.standard) {
29
+ possibleJobs.standard.forEach((pj) => {
30
+ pj.resource = pj.resource.replace(/standard$/, processType);
31
+ });
32
+ jobs = possibleJobs.standard || [];
33
+ }
34
+ if (jobs.length === 0) {
35
+ core_1.ux.error('No images to run');
36
+ }
37
+ const job = jobs[0];
38
+ if (command.length === 0) {
39
+ core_1.ux.styledHeader(`Running ${job.resource}`);
40
+ }
41
+ else {
42
+ core_1.ux.styledHeader(`Running '${command}' on ${job.resource}`);
43
+ }
44
+ try {
45
+ await DockerHelper.runImage(job.resource, command, port);
46
+ }
47
+ catch (error) {
48
+ core_1.ux.error(`docker run exited with ${error}`);
49
+ }
50
+ }
51
+ }
52
+ exports.default = Run;
53
+ Run.topic = 'container';
54
+ Run.description = 'builds, then runs the docker image locally';
55
+ Run.usage = 'container:run -a APP [-v] PROCESS_TYPE...';
56
+ Run.example = `
57
+ ${color_1.default.cmd('$ heroku container:pull web')} # Pulls the web image from the app
58
+ ${color_1.default.cmd('$ heroku container:pull web worker')} # Pulls both the web and worker images from the app
59
+ ${color_1.default.cmd('$ heroku container:pull web:latest')} # Pulls the latest tag from the web image`;
60
+ Run.strict = false;
61
+ Run.flags = {
62
+ app: command_1.flags.app({ required: true }),
63
+ remote: command_1.flags.remote(),
64
+ port: command_1.flags.integer({ char: 'p', description: 'port the app will run on', default: 5000 }),
65
+ verbose: command_1.flags.boolean({ char: 'v' }),
66
+ };
@@ -0,0 +1,7 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Dashboard extends Command {
3
+ static topic: string;
4
+ static description: string;
5
+ static hidden: boolean;
6
+ run(): Promise<void>;
7
+ }