codefresh 0.78.2

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 (713) hide show
  1. package/.dockerignore +14 -0
  2. package/.eslintrc.js +20 -0
  3. package/.gitattributes +29 -0
  4. package/.nvmrc +1 -0
  5. package/Dockerfile +39 -0
  6. package/LICENSE +21 -0
  7. package/README.md +55 -0
  8. package/__mocks__/requestretry.js +35 -0
  9. package/brew/template.rb +15 -0
  10. package/check-version.js +13 -0
  11. package/cli.gif +0 -0
  12. package/codefresh-arm.yml +54 -0
  13. package/codefresh-release.yml +173 -0
  14. package/codefresh.yml +120 -0
  15. package/docs/archetypes/default.md +6 -0
  16. package/docs/config.toml +44 -0
  17. package/docs/content/_header.md +6 -0
  18. package/docs/content/_index.md +19 -0
  19. package/docs/content/contexts/spec/_index.md +28 -0
  20. package/docs/content/contexts/spec/config.md +30 -0
  21. package/docs/content/contexts/spec/helm-repository.md +16 -0
  22. package/docs/content/contexts/spec/secret-yaml.md +32 -0
  23. package/docs/content/contexts/spec/secret.md +30 -0
  24. package/docs/content/contexts/spec/yaml.md +30 -0
  25. package/docs/content/external-resources.md +8 -0
  26. package/docs/content/getting-started/_index.md +28 -0
  27. package/docs/content/installation/_index.md +13 -0
  28. package/docs/content/installation/docker.md +15 -0
  29. package/docs/content/installation/homebrew.md +29 -0
  30. package/docs/content/installation/npm.md +22 -0
  31. package/docs/content/installation/yarn.md +22 -0
  32. package/docs/content/more/_index.md +7 -0
  33. package/docs/content/operate on resources/_index.md +10 -0
  34. package/docs/content/pipelines/Run Pipeline.md +38 -0
  35. package/docs/content/pipelines/spec.md +190 -0
  36. package/docs/docs.spec.js +8 -0
  37. package/docs/index.js +407 -0
  38. package/docs/layouts/partials/menu-footer.html +13 -0
  39. package/docs/themes/docdock/LICENSE.md +22 -0
  40. package/docs/themes/docdock/README.md +129 -0
  41. package/docs/themes/docdock/archetypes/default.md +9 -0
  42. package/docs/themes/docdock/archetypes/slide.md +46 -0
  43. package/docs/themes/docdock/exampleSite/config.toml +68 -0
  44. package/docs/themes/docdock/exampleSite/content/_index.md +50 -0
  45. package/docs/themes/docdock/exampleSite/content/content-organisation/_index.md +138 -0
  46. package/docs/themes/docdock/exampleSite/content/content-organisation/customize-style/_index.md +66 -0
  47. package/docs/themes/docdock/exampleSite/content/content-organisation/customize-style/disable.md +24 -0
  48. package/docs/themes/docdock/exampleSite/content/content-organisation/customize-style/theme-variants.md +35 -0
  49. package/docs/themes/docdock/exampleSite/content/content-organisation/customize-style/themestyle.md +25 -0
  50. package/docs/themes/docdock/exampleSite/content/content-organisation/extramenu.md +28 -0
  51. package/docs/themes/docdock/exampleSite/content/content-organisation/logo.md +12 -0
  52. package/docs/themes/docdock/exampleSite/content/create-page/_index.md +54 -0
  53. package/docs/themes/docdock/exampleSite/content/create-page/homepage.md +8 -0
  54. package/docs/themes/docdock/exampleSite/content/create-page/myslide.md +48 -0
  55. package/docs/themes/docdock/exampleSite/content/create-page/page-images.md +28 -0
  56. package/docs/themes/docdock/exampleSite/content/create-page/page-slide.md +114 -0
  57. package/docs/themes/docdock/exampleSite/content/credits.md +44 -0
  58. package/docs/themes/docdock/exampleSite/content/getting-start/_index.md +12 -0
  59. package/docs/themes/docdock/exampleSite/content/getting-start/configuration.md +56 -0
  60. package/docs/themes/docdock/exampleSite/content/getting-start/installation.md +83 -0
  61. package/docs/themes/docdock/exampleSite/content/search/_index.md +13 -0
  62. package/docs/themes/docdock/exampleSite/content/shortcodes/_index.md +10 -0
  63. package/docs/themes/docdock/exampleSite/content/shortcodes/alert.md +30 -0
  64. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.files/BachGavotteShort.mp3 +0 -0
  65. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.files/Carroll_AliceAuPaysDesMerveilles.pdf +0 -0
  66. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.files/adivorciarsetoca00cape.pdf +0 -0
  67. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.files/hugo.png +0 -0
  68. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.files/movieselectricsheep-flock-244-32500-2.mp4 +0 -0
  69. package/docs/themes/docdock/exampleSite/content/shortcodes/attachments.md +59 -0
  70. package/docs/themes/docdock/exampleSite/content/shortcodes/button.md +37 -0
  71. package/docs/themes/docdock/exampleSite/content/shortcodes/children/_index.md +46 -0
  72. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-1/_index.md +6 -0
  73. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.md +6 -0
  74. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.md +6 -0
  75. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.md +6 -0
  76. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.md +6 -0
  77. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-2/_index.md +11 -0
  78. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-2/test3.md +6 -0
  79. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-3/_index.md +6 -0
  80. package/docs/themes/docdock/exampleSite/content/shortcodes/children/children-4/_index.md +7 -0
  81. package/docs/themes/docdock/exampleSite/content/shortcodes/children/test.md +6 -0
  82. package/docs/themes/docdock/exampleSite/content/shortcodes/excerpt-include.md +25 -0
  83. package/docs/themes/docdock/exampleSite/content/shortcodes/excerpt.md +39 -0
  84. package/docs/themes/docdock/exampleSite/content/shortcodes/expand.md +41 -0
  85. package/docs/themes/docdock/exampleSite/content/shortcodes/icon.md +1254 -0
  86. package/docs/themes/docdock/exampleSite/content/shortcodes/mermaid.md +98 -0
  87. package/docs/themes/docdock/exampleSite/content/shortcodes/notice.md +61 -0
  88. package/docs/themes/docdock/exampleSite/content/shortcodes/panel.md +60 -0
  89. package/docs/themes/docdock/exampleSite/content/shortcodes/revealjs.md +119 -0
  90. package/docs/themes/docdock/exampleSite/content/showcase.md +15 -0
  91. package/docs/themes/docdock/exampleSite/layouts/partials/custom-head.html +10 -0
  92. package/docs/themes/docdock/exampleSite/layouts/partials/menu-footer.html +13 -0
  93. package/docs/themes/docdock/exampleSite/layouts/shortcodes/ghcontributors.html +31 -0
  94. package/docs/themes/docdock/exampleSite/static/menu-entry-icon.png +0 -0
  95. package/docs/themes/docdock/exampleSite/static/showcase/bitfan.site.png +0 -0
  96. package/docs/themes/docdock/exampleSite/static/showcase/invincible.site.png +0 -0
  97. package/docs/themes/docdock/exampleSite/static/style-flex.png +0 -0
  98. package/docs/themes/docdock/exampleSite/static/style-original.png +0 -0
  99. package/docs/themes/docdock/exampleSite/static/variant-gold.png +0 -0
  100. package/docs/themes/docdock/exampleSite/static/variant-gray.png +0 -0
  101. package/docs/themes/docdock/exampleSite/static/variant-green.png +0 -0
  102. package/docs/themes/docdock/i18n/en.toml +44 -0
  103. package/docs/themes/docdock/i18n/es.toml +26 -0
  104. package/docs/themes/docdock/i18n/fr.toml +44 -0
  105. package/docs/themes/docdock/i18n/nb.toml +38 -0
  106. package/docs/themes/docdock/images/screenshot.png +0 -0
  107. package/docs/themes/docdock/images/tn.png +0 -0
  108. package/docs/themes/docdock/layouts/404.html +39 -0
  109. package/docs/themes/docdock/layouts/_default/baseof.html +32 -0
  110. package/docs/themes/docdock/layouts/_default/li.html +22 -0
  111. package/docs/themes/docdock/layouts/_default/list.html +20 -0
  112. package/docs/themes/docdock/layouts/_default/single.html +3 -0
  113. package/docs/themes/docdock/layouts/index.html +30 -0
  114. package/docs/themes/docdock/layouts/index.json +12 -0
  115. package/docs/themes/docdock/layouts/partials/breadcrumb.html +8 -0
  116. package/docs/themes/docdock/layouts/partials/custom-content-footer.html +6 -0
  117. package/docs/themes/docdock/layouts/partials/custom-footer.html +0 -0
  118. package/docs/themes/docdock/layouts/partials/custom-head.html +2 -0
  119. package/docs/themes/docdock/layouts/partials/flex/body-aftercontent.html +54 -0
  120. package/docs/themes/docdock/layouts/partials/flex/body-beforecontent.html +68 -0
  121. package/docs/themes/docdock/layouts/partials/flex/head.html +17 -0
  122. package/docs/themes/docdock/layouts/partials/flex/scripts.html +11 -0
  123. package/docs/themes/docdock/layouts/partials/flex/selectnavigation.html +58 -0
  124. package/docs/themes/docdock/layouts/partials/header.html +10 -0
  125. package/docs/themes/docdock/layouts/partials/language-selector.html +18 -0
  126. package/docs/themes/docdock/layouts/partials/menu-footer.html +0 -0
  127. package/docs/themes/docdock/layouts/partials/menu.html +82 -0
  128. package/docs/themes/docdock/layouts/partials/next-prev-page.html +44 -0
  129. package/docs/themes/docdock/layouts/partials/original/body-aftercontent.html +13 -0
  130. package/docs/themes/docdock/layouts/partials/original/body-beforecontent.html +128 -0
  131. package/docs/themes/docdock/layouts/partials/original/head.html +23 -0
  132. package/docs/themes/docdock/layouts/partials/original/scripts.html +10 -0
  133. package/docs/themes/docdock/layouts/partials/pagination.html +9 -0
  134. package/docs/themes/docdock/layouts/shortcodes/alert.html +6 -0
  135. package/docs/themes/docdock/layouts/shortcodes/anchor.html +1 -0
  136. package/docs/themes/docdock/layouts/shortcodes/anchorlink.html +1 -0
  137. package/docs/themes/docdock/layouts/shortcodes/attachmentlink.html +5 -0
  138. package/docs/themes/docdock/layouts/shortcodes/attachments.html +33 -0
  139. package/docs/themes/docdock/layouts/shortcodes/button.html +6 -0
  140. package/docs/themes/docdock/layouts/shortcodes/children.html +104 -0
  141. package/docs/themes/docdock/layouts/shortcodes/code.html +1 -0
  142. package/docs/themes/docdock/layouts/shortcodes/emoticon.html +29 -0
  143. package/docs/themes/docdock/layouts/shortcodes/excerpt-include.html +14 -0
  144. package/docs/themes/docdock/layouts/shortcodes/excerpt.html +7 -0
  145. package/docs/themes/docdock/layouts/shortcodes/expand.html +16 -0
  146. package/docs/themes/docdock/layouts/shortcodes/header.html +16 -0
  147. package/docs/themes/docdock/layouts/shortcodes/icon.html +13 -0
  148. package/docs/themes/docdock/layouts/shortcodes/image.html +5 -0
  149. package/docs/themes/docdock/layouts/shortcodes/info.html +10 -0
  150. package/docs/themes/docdock/layouts/shortcodes/label.html +1 -0
  151. package/docs/themes/docdock/layouts/shortcodes/mermaid.html +3 -0
  152. package/docs/themes/docdock/layouts/shortcodes/note.html +4 -0
  153. package/docs/themes/docdock/layouts/shortcodes/notice.html +1 -0
  154. package/docs/themes/docdock/layouts/shortcodes/pagelink.html +12 -0
  155. package/docs/themes/docdock/layouts/shortcodes/pagetreesearch.html +1 -0
  156. package/docs/themes/docdock/layouts/shortcodes/panel.html +5 -0
  157. package/docs/themes/docdock/layouts/shortcodes/recently-updated.html +7 -0
  158. package/docs/themes/docdock/layouts/shortcodes/relref.html +14 -0
  159. package/docs/themes/docdock/layouts/shortcodes/revealjs.html +66 -0
  160. package/docs/themes/docdock/layouts/shortcodes/section.html +1 -0
  161. package/docs/themes/docdock/layouts/shortcodes/task.html +10 -0
  162. package/docs/themes/docdock/layouts/shortcodes/tasklist.html +4 -0
  163. package/docs/themes/docdock/layouts/shortcodes/tip.html +10 -0
  164. package/docs/themes/docdock/layouts/shortcodes/toc.html +2 -0
  165. package/docs/themes/docdock/layouts/shortcodes/unknow.html +1 -0
  166. package/docs/themes/docdock/layouts/shortcodes/userlink.html +1 -0
  167. package/docs/themes/docdock/layouts/shortcodes/viewppt.html +5 -0
  168. package/docs/themes/docdock/layouts/shortcodes/viewxls.html +5 -0
  169. package/docs/themes/docdock/layouts/shortcodes/warning.html +12 -0
  170. package/docs/themes/docdock/layouts/shortcodes/well.html +1 -0
  171. package/docs/themes/docdock/layouts/slide/single.html +38 -0
  172. package/docs/themes/docdock/static/css/auto-complete.css +49 -0
  173. package/docs/themes/docdock/static/css/bootstrap.min.css +1884 -0
  174. package/docs/themes/docdock/static/css/featherlight.min.css +8 -0
  175. package/docs/themes/docdock/static/css/font-awesome.min.css +4 -0
  176. package/docs/themes/docdock/static/css/horsey.css +35 -0
  177. package/docs/themes/docdock/static/css/hybrid.css +102 -0
  178. package/docs/themes/docdock/static/css/nucleus.css +617 -0
  179. package/docs/themes/docdock/static/fonts/FontAwesome.otf +0 -0
  180. package/docs/themes/docdock/static/fonts/Inconsolata.eot +0 -0
  181. package/docs/themes/docdock/static/fonts/Inconsolata.svg +359 -0
  182. package/docs/themes/docdock/static/fonts/Inconsolata.ttf +0 -0
  183. package/docs/themes/docdock/static/fonts/Inconsolata.woff +0 -0
  184. package/docs/themes/docdock/static/fonts/Lato-Bold.ttf +0 -0
  185. package/docs/themes/docdock/static/fonts/Lato-Bold.woff2 +0 -0
  186. package/docs/themes/docdock/static/fonts/Lato-Regular.ttf +0 -0
  187. package/docs/themes/docdock/static/fonts/Lato-Regular.woff2 +0 -0
  188. package/docs/themes/docdock/static/fonts/Novecentosanswide-Normal-webfont.eot +0 -0
  189. package/docs/themes/docdock/static/fonts/Novecentosanswide-Normal-webfont.svg +1019 -0
  190. package/docs/themes/docdock/static/fonts/Novecentosanswide-Normal-webfont.ttf +0 -0
  191. package/docs/themes/docdock/static/fonts/Novecentosanswide-Normal-webfont.woff +0 -0
  192. package/docs/themes/docdock/static/fonts/Novecentosanswide-Normal-webfont.woff2 +0 -0
  193. package/docs/themes/docdock/static/fonts/Novecentosanswide-UltraLight-webfont.eot +0 -0
  194. package/docs/themes/docdock/static/fonts/Novecentosanswide-UltraLight-webfont.svg +918 -0
  195. package/docs/themes/docdock/static/fonts/Novecentosanswide-UltraLight-webfont.ttf +0 -0
  196. package/docs/themes/docdock/static/fonts/Novecentosanswide-UltraLight-webfont.woff +0 -0
  197. package/docs/themes/docdock/static/fonts/Novecentosanswide-UltraLight-webfont.woff2 +0 -0
  198. package/docs/themes/docdock/static/fonts/Roboto-Italic.ttf +0 -0
  199. package/docs/themes/docdock/static/fonts/Roboto-Medium.ttf +0 -0
  200. package/docs/themes/docdock/static/fonts/Roboto-Regular.ttf +0 -0
  201. package/docs/themes/docdock/static/fonts/RobotoMono-Medium.ttf +0 -0
  202. package/docs/themes/docdock/static/fonts/RobotoMono-Regular.ttf +0 -0
  203. package/docs/themes/docdock/static/fonts/Work_Sans_200.eot +0 -0
  204. package/docs/themes/docdock/static/fonts/Work_Sans_200.svg +332 -0
  205. package/docs/themes/docdock/static/fonts/Work_Sans_200.ttf +0 -0
  206. package/docs/themes/docdock/static/fonts/Work_Sans_200.woff +0 -0
  207. package/docs/themes/docdock/static/fonts/Work_Sans_200.woff2 +0 -0
  208. package/docs/themes/docdock/static/fonts/Work_Sans_300.eot +0 -0
  209. package/docs/themes/docdock/static/fonts/Work_Sans_300.svg +331 -0
  210. package/docs/themes/docdock/static/fonts/Work_Sans_300.ttf +0 -0
  211. package/docs/themes/docdock/static/fonts/Work_Sans_300.woff +0 -0
  212. package/docs/themes/docdock/static/fonts/Work_Sans_300.woff2 +0 -0
  213. package/docs/themes/docdock/static/fonts/Work_Sans_500.eot +0 -0
  214. package/docs/themes/docdock/static/fonts/Work_Sans_500.svg +333 -0
  215. package/docs/themes/docdock/static/fonts/Work_Sans_500.ttf +0 -0
  216. package/docs/themes/docdock/static/fonts/Work_Sans_500.woff +0 -0
  217. package/docs/themes/docdock/static/fonts/Work_Sans_500.woff2 +0 -0
  218. package/docs/themes/docdock/static/fonts/fontawesome-webfont.eot +0 -0
  219. package/docs/themes/docdock/static/fonts/fontawesome-webfont.svg +2671 -0
  220. package/docs/themes/docdock/static/fonts/fontawesome-webfont.ttf +0 -0
  221. package/docs/themes/docdock/static/fonts/fontawesome-webfont.woff +0 -0
  222. package/docs/themes/docdock/static/fonts/fontawesome-webfont.woff2 +0 -0
  223. package/docs/themes/docdock/static/fonts/glyphicons-halflings-regular.eot +0 -0
  224. package/docs/themes/docdock/static/fonts/glyphicons-halflings-regular.svg +288 -0
  225. package/docs/themes/docdock/static/fonts/glyphicons-halflings-regular.ttf +0 -0
  226. package/docs/themes/docdock/static/fonts/glyphicons-halflings-regular.woff +0 -0
  227. package/docs/themes/docdock/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  228. package/docs/themes/docdock/static/images/clippy.svg +4 -0
  229. package/docs/themes/docdock/static/images/favicon.png +0 -0
  230. package/docs/themes/docdock/static/images/gopher-404.jpg +0 -0
  231. package/docs/themes/docdock/static/js/auto-complete.js +223 -0
  232. package/docs/themes/docdock/static/js/clipboard.min.js +7 -0
  233. package/docs/themes/docdock/static/js/docdock.js +309 -0
  234. package/docs/themes/docdock/static/js/featherlight.min.js +8 -0
  235. package/docs/themes/docdock/static/js/highlight.pack.js +2 -0
  236. package/docs/themes/docdock/static/js/html5shiv-printshiv.min.js +4 -0
  237. package/docs/themes/docdock/static/js/jquery-2.x.min.js +4 -0
  238. package/docs/themes/docdock/static/js/lunr.min.js +6 -0
  239. package/docs/themes/docdock/static/js/modernizr.custom.71422.js +4 -0
  240. package/docs/themes/docdock/static/js/search.js +91 -0
  241. package/docs/themes/docdock/static/mermaid/mermaid.css +273 -0
  242. package/docs/themes/docdock/static/mermaid/mermaid.dark.css +275 -0
  243. package/docs/themes/docdock/static/mermaid/mermaid.forest.css +353 -0
  244. package/docs/themes/docdock/static/mermaid/mermaid.js +30 -0
  245. package/docs/themes/docdock/static/none.html +0 -0
  246. package/docs/themes/docdock/static/revealjs/.travis.yml +5 -0
  247. package/docs/themes/docdock/static/revealjs/CONTRIBUTING.md +23 -0
  248. package/docs/themes/docdock/static/revealjs/Gruntfile.js +192 -0
  249. package/docs/themes/docdock/static/revealjs/LICENSE +19 -0
  250. package/docs/themes/docdock/static/revealjs/README.md +1238 -0
  251. package/docs/themes/docdock/static/revealjs/bower.json +27 -0
  252. package/docs/themes/docdock/static/revealjs/css/print/paper.css +203 -0
  253. package/docs/themes/docdock/static/revealjs/css/print/pdf.css +178 -0
  254. package/docs/themes/docdock/static/revealjs/css/reveal.css +1555 -0
  255. package/docs/themes/docdock/static/revealjs/css/reveal.scss +1717 -0
  256. package/docs/themes/docdock/static/revealjs/css/theme/README.md +21 -0
  257. package/docs/themes/docdock/static/revealjs/css/theme/beige.css +268 -0
  258. package/docs/themes/docdock/static/revealjs/css/theme/black.css +264 -0
  259. package/docs/themes/docdock/static/revealjs/css/theme/blood.css +287 -0
  260. package/docs/themes/docdock/static/revealjs/css/theme/league.css +270 -0
  261. package/docs/themes/docdock/static/revealjs/css/theme/moon.css +268 -0
  262. package/docs/themes/docdock/static/revealjs/css/theme/night.css +262 -0
  263. package/docs/themes/docdock/static/revealjs/css/theme/serif.css +264 -0
  264. package/docs/themes/docdock/static/revealjs/css/theme/simple.css +267 -0
  265. package/docs/themes/docdock/static/revealjs/css/theme/sky.css +271 -0
  266. package/docs/themes/docdock/static/revealjs/css/theme/solarized.css +268 -0
  267. package/docs/themes/docdock/static/revealjs/css/theme/source/beige.scss +39 -0
  268. package/docs/themes/docdock/static/revealjs/css/theme/source/black.scss +49 -0
  269. package/docs/themes/docdock/static/revealjs/css/theme/source/blood.scss +78 -0
  270. package/docs/themes/docdock/static/revealjs/css/theme/source/league.scss +34 -0
  271. package/docs/themes/docdock/static/revealjs/css/theme/source/moon.scss +57 -0
  272. package/docs/themes/docdock/static/revealjs/css/theme/source/night.scss +34 -0
  273. package/docs/themes/docdock/static/revealjs/css/theme/source/serif.scss +35 -0
  274. package/docs/themes/docdock/static/revealjs/css/theme/source/simple.scss +43 -0
  275. package/docs/themes/docdock/static/revealjs/css/theme/source/sky.scss +46 -0
  276. package/docs/themes/docdock/static/revealjs/css/theme/source/solarized.scss +63 -0
  277. package/docs/themes/docdock/static/revealjs/css/theme/source/white.scss +49 -0
  278. package/docs/themes/docdock/static/revealjs/css/theme/template/mixins.scss +29 -0
  279. package/docs/themes/docdock/static/revealjs/css/theme/template/settings.scss +43 -0
  280. package/docs/themes/docdock/static/revealjs/css/theme/template/theme.scss +316 -0
  281. package/docs/themes/docdock/static/revealjs/css/theme/white.css +264 -0
  282. package/docs/themes/docdock/static/revealjs/demo.html +410 -0
  283. package/docs/themes/docdock/static/revealjs/index.html +49 -0
  284. package/docs/themes/docdock/static/revealjs/js/reveal.js +5239 -0
  285. package/docs/themes/docdock/static/revealjs/lib/css/zenburn.css +80 -0
  286. package/docs/themes/docdock/static/revealjs/lib/font/league-gothic/LICENSE +2 -0
  287. package/docs/themes/docdock/static/revealjs/lib/font/league-gothic/league-gothic.css +10 -0
  288. package/docs/themes/docdock/static/revealjs/lib/font/league-gothic/league-gothic.eot +0 -0
  289. package/docs/themes/docdock/static/revealjs/lib/font/league-gothic/league-gothic.ttf +0 -0
  290. package/docs/themes/docdock/static/revealjs/lib/font/league-gothic/league-gothic.woff +0 -0
  291. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/LICENSE +45 -0
  292. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
  293. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  294. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
  295. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
  296. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  297. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
  298. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  299. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  300. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  301. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  302. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  303. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  304. package/docs/themes/docdock/static/revealjs/lib/font/source-sans-pro/source-sans-pro.css +39 -0
  305. package/docs/themes/docdock/static/revealjs/lib/js/classList.js +2 -0
  306. package/docs/themes/docdock/static/revealjs/lib/js/head.min.js +9 -0
  307. package/docs/themes/docdock/static/revealjs/lib/js/html5shiv.js +7 -0
  308. package/docs/themes/docdock/static/revealjs/package.json +43 -0
  309. package/docs/themes/docdock/static/revealjs/plugin/highlight/highlight.js +77 -0
  310. package/docs/themes/docdock/static/revealjs/plugin/markdown/example.html +129 -0
  311. package/docs/themes/docdock/static/revealjs/plugin/markdown/example.md +31 -0
  312. package/docs/themes/docdock/static/revealjs/plugin/markdown/markdown.js +412 -0
  313. package/docs/themes/docdock/static/revealjs/plugin/markdown/marked.js +6 -0
  314. package/docs/themes/docdock/static/revealjs/plugin/math/math.js +67 -0
  315. package/docs/themes/docdock/static/revealjs/plugin/multiplex/client.js +13 -0
  316. package/docs/themes/docdock/static/revealjs/plugin/multiplex/index.js +64 -0
  317. package/docs/themes/docdock/static/revealjs/plugin/multiplex/master.js +34 -0
  318. package/docs/themes/docdock/static/revealjs/plugin/multiplex/package.json +19 -0
  319. package/docs/themes/docdock/static/revealjs/plugin/notes/notes.html +759 -0
  320. package/docs/themes/docdock/static/revealjs/plugin/notes/notes.js +155 -0
  321. package/docs/themes/docdock/static/revealjs/plugin/notes-server/client.js +65 -0
  322. package/docs/themes/docdock/static/revealjs/plugin/notes-server/index.js +69 -0
  323. package/docs/themes/docdock/static/revealjs/plugin/notes-server/notes.html +585 -0
  324. package/docs/themes/docdock/static/revealjs/plugin/print-pdf/print-pdf.js +69 -0
  325. package/docs/themes/docdock/static/revealjs/plugin/search/search.js +206 -0
  326. package/docs/themes/docdock/static/revealjs/plugin/zoom-js/zoom.js +272 -0
  327. package/docs/themes/docdock/static/revealjs/test/examples/assets/image1.png +0 -0
  328. package/docs/themes/docdock/static/revealjs/test/examples/assets/image2.png +0 -0
  329. package/docs/themes/docdock/static/revealjs/test/examples/barebones.html +41 -0
  330. package/docs/themes/docdock/static/revealjs/test/examples/embedded-media.html +49 -0
  331. package/docs/themes/docdock/static/revealjs/test/examples/math.html +185 -0
  332. package/docs/themes/docdock/static/revealjs/test/examples/slide-backgrounds.html +144 -0
  333. package/docs/themes/docdock/static/revealjs/test/examples/slide-transitions.html +101 -0
  334. package/docs/themes/docdock/static/revealjs/test/qunit-1.12.0.css +244 -0
  335. package/docs/themes/docdock/static/revealjs/test/qunit-1.12.0.js +2212 -0
  336. package/docs/themes/docdock/static/revealjs/test/simple.md +12 -0
  337. package/docs/themes/docdock/static/revealjs/test/test-markdown-element-attributes.html +134 -0
  338. package/docs/themes/docdock/static/revealjs/test/test-markdown-element-attributes.js +46 -0
  339. package/docs/themes/docdock/static/revealjs/test/test-markdown-external.html +36 -0
  340. package/docs/themes/docdock/static/revealjs/test/test-markdown-external.js +24 -0
  341. package/docs/themes/docdock/static/revealjs/test/test-markdown-options.html +41 -0
  342. package/docs/themes/docdock/static/revealjs/test/test-markdown-options.js +26 -0
  343. package/docs/themes/docdock/static/revealjs/test/test-markdown-slide-attributes.html +128 -0
  344. package/docs/themes/docdock/static/revealjs/test/test-markdown-slide-attributes.js +47 -0
  345. package/docs/themes/docdock/static/revealjs/test/test-markdown.html +52 -0
  346. package/docs/themes/docdock/static/revealjs/test/test-markdown.js +15 -0
  347. package/docs/themes/docdock/static/revealjs/test/test-pdf.html +83 -0
  348. package/docs/themes/docdock/static/revealjs/test/test-pdf.js +15 -0
  349. package/docs/themes/docdock/static/revealjs/test/test.html +86 -0
  350. package/docs/themes/docdock/static/revealjs/test/test.js +597 -0
  351. package/docs/themes/docdock/static/scss/flex/article.scss +356 -0
  352. package/docs/themes/docdock/static/scss/flex/fonts.scss +38 -0
  353. package/docs/themes/docdock/static/scss/flex/footer.scss +45 -0
  354. package/docs/themes/docdock/static/scss/flex/header.scss +89 -0
  355. package/docs/themes/docdock/static/scss/flex/main.scss +164 -0
  356. package/docs/themes/docdock/static/scss/flex/medias.scss +74 -0
  357. package/docs/themes/docdock/static/scss/flex/menu.scss +126 -0
  358. package/docs/themes/docdock/static/scss/flex/shortcode.children.scss +34 -0
  359. package/docs/themes/docdock/static/scss/flex/shortcode.notice.scss +63 -0
  360. package/docs/themes/docdock/static/scss/flex/style.scss +14 -0
  361. package/docs/themes/docdock/static/scss/original/_colours.scss +14 -0
  362. package/docs/themes/docdock/static/scss/original/_functions.scss +89 -0
  363. package/docs/themes/docdock/static/scss/original/_variables.scss +137 -0
  364. package/docs/themes/docdock/static/scss/original/fonts.scss +23 -0
  365. package/docs/themes/docdock/static/scss/original/main.scss +1233 -0
  366. package/docs/themes/docdock/static/scss/original/print.scss +29 -0
  367. package/docs/themes/docdock/static/scss/original/responsive.scss +124 -0
  368. package/docs/themes/docdock/static/scss/original/shortcodes.scss +32 -0
  369. package/docs/themes/docdock/static/scss/original/sidebar.scss +276 -0
  370. package/docs/themes/docdock/static/scss/original/style.scss +16 -0
  371. package/docs/themes/docdock/static/theme-flex/ribbon.png +0 -0
  372. package/docs/themes/docdock/static/theme-flex/script.js +277 -0
  373. package/docs/themes/docdock/static/theme-flex/style.css +728 -0
  374. package/docs/themes/docdock/static/theme-original/script.js +133 -0
  375. package/docs/themes/docdock/static/theme-original/style.css +1411 -0
  376. package/docs/themes/docdock/static/theme-original/variant-blue.css +0 -0
  377. package/docs/themes/docdock/static/theme-original/variant-gold.css +61 -0
  378. package/docs/themes/docdock/static/theme-original/variant-gray.css +61 -0
  379. package/docs/themes/docdock/static/theme-original/variant-green.css +61 -0
  380. package/docs/themes/docdock/theme.toml +22 -0
  381. package/lib/binary/components.js +77 -0
  382. package/lib/binary/downloader.js +170 -0
  383. package/lib/binary/index.js +11 -0
  384. package/lib/binary/runner.js +30 -0
  385. package/lib/interface/cli/Command.js +331 -0
  386. package/lib/interface/cli/codefresh +24 -0
  387. package/lib/interface/cli/commad-line-interface.js +90 -0
  388. package/lib/interface/cli/commands/agent/apply.cmd.js +61 -0
  389. package/lib/interface/cli/commands/agent/create.cmd.js +39 -0
  390. package/lib/interface/cli/commands/agent/delete.cmd.js +40 -0
  391. package/lib/interface/cli/commands/agent/get.cmd.js +44 -0
  392. package/lib/interface/cli/commands/agent/helper.js +28 -0
  393. package/lib/interface/cli/commands/agent/install.cmd.js +205 -0
  394. package/lib/interface/cli/commands/agent/uninstall.cmd.js +92 -0
  395. package/lib/interface/cli/commands/analyzer/analyze.cmd.js +34 -0
  396. package/lib/interface/cli/commands/analyzer/analyzer.logic.js +24 -0
  397. package/lib/interface/cli/commands/annotation/annotation.logic.js +59 -0
  398. package/lib/interface/cli/commands/annotation/annotation.sdk.spec.js +64 -0
  399. package/lib/interface/cli/commands/annotation/create.cmd.js +39 -0
  400. package/lib/interface/cli/commands/annotation/delete.cmd.js +38 -0
  401. package/lib/interface/cli/commands/annotation/get.cmd.js +42 -0
  402. package/lib/interface/cli/commands/app-proxy/helper.js +63 -0
  403. package/lib/interface/cli/commands/app-proxy/install.cmd.js +204 -0
  404. package/lib/interface/cli/commands/app-proxy/uninstall.cmd.js +175 -0
  405. package/lib/interface/cli/commands/app-proxy/upgrade.cmd.js +110 -0
  406. package/lib/interface/cli/commands/audit/download.cmd.js +57 -0
  407. package/lib/interface/cli/commands/auth/create-context.cmd.js +54 -0
  408. package/lib/interface/cli/commands/auth/current-context.cmd.js +25 -0
  409. package/lib/interface/cli/commands/auth/get-contexts.cmd.js +27 -0
  410. package/lib/interface/cli/commands/auth/use-context.cmd.js +42 -0
  411. package/lib/interface/cli/commands/board/apply.cmd.js +61 -0
  412. package/lib/interface/cli/commands/board/board.sdk.spec.js +87 -0
  413. package/lib/interface/cli/commands/board/create.cmd.js +33 -0
  414. package/lib/interface/cli/commands/board/delete.cmd.js +42 -0
  415. package/lib/interface/cli/commands/board/get.cmd.js +62 -0
  416. package/lib/interface/cli/commands/cli-config/cli-config.cmd.js +41 -0
  417. package/lib/interface/cli/commands/cli-config/ops/get.cmd.js +52 -0
  418. package/lib/interface/cli/commands/cli-config/ops/help.cmd.js +36 -0
  419. package/lib/interface/cli/commands/cli-config/ops/profile.cmd.js +49 -0
  420. package/lib/interface/cli/commands/cli-config/ops/set.cmd.js +65 -0
  421. package/lib/interface/cli/commands/cluster/cluster.sdk.spec.js +61 -0
  422. package/lib/interface/cli/commands/cluster/create.cmd.js +85 -0
  423. package/lib/interface/cli/commands/cluster/delete.cmd.js +39 -0
  424. package/lib/interface/cli/commands/cluster/get.cmd.js +30 -0
  425. package/lib/interface/cli/commands/completion/bash.sh.hbs +27 -0
  426. package/lib/interface/cli/commands/completion/completion.cmd.js +66 -0
  427. package/lib/interface/cli/commands/completion/zsh.sh.hbs +20 -0
  428. package/lib/interface/cli/commands/components/update.cmd.js +30 -0
  429. package/lib/interface/cli/commands/composition/composition.sdk.spec.js +95 -0
  430. package/lib/interface/cli/commands/composition/create.cmd.js +67 -0
  431. package/lib/interface/cli/commands/composition/create.completion.js +15 -0
  432. package/lib/interface/cli/commands/composition/delete.cmd.js +40 -0
  433. package/lib/interface/cli/commands/composition/get.cmd.js +43 -0
  434. package/lib/interface/cli/commands/composition/replace.cmd.js +76 -0
  435. package/lib/interface/cli/commands/composition/replace.completion.js +15 -0
  436. package/lib/interface/cli/commands/context/apply.cmd.js +51 -0
  437. package/lib/interface/cli/commands/context/context.sdk.spec.js +158 -0
  438. package/lib/interface/cli/commands/context/create/createConfig.cmd.js +54 -0
  439. package/lib/interface/cli/commands/context/create/createSecret.cmd.js +54 -0
  440. package/lib/interface/cli/commands/context/create/createSecretYaml.cmd.js +53 -0
  441. package/lib/interface/cli/commands/context/create/createYaml.cmd.js +53 -0
  442. package/lib/interface/cli/commands/context/create/git/base.cmd.js +38 -0
  443. package/lib/interface/cli/commands/context/create/git/types/bitbucket.cmd.js +64 -0
  444. package/lib/interface/cli/commands/context/create/git/types/github.cmd.js +79 -0
  445. package/lib/interface/cli/commands/context/create/git/types/gitlab.cmd.js +71 -0
  446. package/lib/interface/cli/commands/context/create/git/types/stash.cmd.js +69 -0
  447. package/lib/interface/cli/commands/context/create/helm-repo/base.cmd.js +24 -0
  448. package/lib/interface/cli/commands/context/create/helm-repo/types/http.cmd.js +60 -0
  449. package/lib/interface/cli/commands/context/create/helm-repo/types/s3.cmd.js +97 -0
  450. package/lib/interface/cli/commands/context/create/secret-store/base.cmd.js +33 -0
  451. package/lib/interface/cli/commands/context/create/secret-store/types/hashicorp-vault.cmd.js +141 -0
  452. package/lib/interface/cli/commands/context/create/secret-store/types/kubernetes-runtime.cmd.js +67 -0
  453. package/lib/interface/cli/commands/context/create/secret-store/types/kubernetes.cmd.js +67 -0
  454. package/lib/interface/cli/commands/context/create.cmd.js +23 -0
  455. package/lib/interface/cli/commands/context/delete.cmd.js +39 -0
  456. package/lib/interface/cli/commands/context/get.cmd.js +68 -0
  457. package/lib/interface/cli/commands/environment/delete.cmd.js +28 -0
  458. package/lib/interface/cli/commands/environment/environment.sdk.spec.js +40 -0
  459. package/lib/interface/cli/commands/environment/get.cmd.js +43 -0
  460. package/lib/interface/cli/commands/gitops/argocd/install.js +9 -0
  461. package/lib/interface/cli/commands/gitops/argocd/uninstall.js +11 -0
  462. package/lib/interface/cli/commands/gitops/argocd/upgrade.js +9 -0
  463. package/lib/interface/cli/commands/gitops/codefresh/install.js +50 -0
  464. package/lib/interface/cli/commands/gitops/codefresh/uninstall.js +14 -0
  465. package/lib/interface/cli/commands/gitops/codefresh/upgrade.js +9 -0
  466. package/lib/interface/cli/commands/gitops/common/install.js +62 -0
  467. package/lib/interface/cli/commands/gitops/common/uninstall.js +39 -0
  468. package/lib/interface/cli/commands/gitops/common/upgrade.js +45 -0
  469. package/lib/interface/cli/commands/gitops/install.cmd.js +111 -0
  470. package/lib/interface/cli/commands/gitops/install.spec.js +77 -0
  471. package/lib/interface/cli/commands/gitops/uninstall.cmd.js +56 -0
  472. package/lib/interface/cli/commands/gitops/upgrade.cmd.js +56 -0
  473. package/lib/interface/cli/commands/helm/chart/helm-charts.sdk.spec.js +65 -0
  474. package/lib/interface/cli/commands/helm/chart/install-chart.cmd.js +103 -0
  475. package/lib/interface/cli/commands/helm/chart/promote-chart.cmd.js +123 -0
  476. package/lib/interface/cli/commands/helm/helm.sdk.spec.js +81 -0
  477. package/lib/interface/cli/commands/helm/release/delete-release.cmd.js +102 -0
  478. package/lib/interface/cli/commands/helm/release/helm-releases.sdk.spec.js +53 -0
  479. package/lib/interface/cli/commands/helm/release/rollback-release.cmd.js +87 -0
  480. package/lib/interface/cli/commands/helm/release/test-release.cmd.js +93 -0
  481. package/lib/interface/cli/commands/helm/release/util.js +16 -0
  482. package/lib/interface/cli/commands/helm/repo/apply.cmd.js +54 -0
  483. package/lib/interface/cli/commands/helm/repo/create.cmd.js +46 -0
  484. package/lib/interface/cli/commands/helm/repo/delete.cmd.js +37 -0
  485. package/lib/interface/cli/commands/helm/repo/get.cmd.js +61 -0
  486. package/lib/interface/cli/commands/helm/repo/helm-repo.sdk.spec.js +58 -0
  487. package/lib/interface/cli/commands/helm/set-helm-config.cmd.js +93 -0
  488. package/lib/interface/cli/commands/hybrid/InstallationPlan.js +216 -0
  489. package/lib/interface/cli/commands/hybrid/delete.cmd.js +336 -0
  490. package/lib/interface/cli/commands/hybrid/execute-test-pipeline.cmd.js +37 -0
  491. package/lib/interface/cli/commands/hybrid/helper.js +1122 -0
  492. package/lib/interface/cli/commands/hybrid/info.cmd.js +27 -0
  493. package/lib/interface/cli/commands/hybrid/init.cmd.js +958 -0
  494. package/lib/interface/cli/commands/hybrid/installation-process.js +51 -0
  495. package/lib/interface/cli/commands/hybrid/key-helper.js +82 -0
  496. package/lib/interface/cli/commands/hybrid/migration.js +192 -0
  497. package/lib/interface/cli/commands/hybrid/pipeline-helper.js +71 -0
  498. package/lib/interface/cli/commands/hybrid/upgrade.cmd.js +195 -0
  499. package/lib/interface/cli/commands/image/annotate.cmd.js +61 -0
  500. package/lib/interface/cli/commands/image/get.cmd.js +122 -0
  501. package/lib/interface/cli/commands/image/image.sdk.spec.js +134 -0
  502. package/lib/interface/cli/commands/image/tag.cmd.js +50 -0
  503. package/lib/interface/cli/commands/image/untag.cmd.js +47 -0
  504. package/lib/interface/cli/commands/imagePullSecret/generate.cmd.js +49 -0
  505. package/lib/interface/cli/commands/imagePullSecret/imagePullSecret.sdk.spec.js +21 -0
  506. package/lib/interface/cli/commands/monitor/install.cmd.js +160 -0
  507. package/lib/interface/cli/commands/monitor/uninstall.cmd.js +78 -0
  508. package/lib/interface/cli/commands/offline-logs/base.cmd.js +33 -0
  509. package/lib/interface/cli/commands/offline-logs/ensure-index.cmd.js +44 -0
  510. package/lib/interface/cli/commands/offline-logs/ensure-index.spec.js +76 -0
  511. package/lib/interface/cli/commands/offline-logs/offload-to-collection.cmd.js +188 -0
  512. package/lib/interface/cli/commands/offline-logs/offload-to-file.cmd.js +175 -0
  513. package/lib/interface/cli/commands/offline-logs/offload-to-file.spec.js +59 -0
  514. package/lib/interface/cli/commands/offline-logs/utils.js +159 -0
  515. package/lib/interface/cli/commands/pipeline/delete.cmd.js +31 -0
  516. package/lib/interface/cli/commands/pipeline/get.cmd.js +125 -0
  517. package/lib/interface/cli/commands/pipeline/get.completion.js +14 -0
  518. package/lib/interface/cli/commands/pipeline/pipeline.sdk.spec.js +137 -0
  519. package/lib/interface/cli/commands/pipeline/run.base.js +153 -0
  520. package/lib/interface/cli/commands/pipeline/run.cf.js +58 -0
  521. package/lib/interface/cli/commands/pipeline/run.cmd.js +165 -0
  522. package/lib/interface/cli/commands/pipeline/run.completion.js +15 -0
  523. package/lib/interface/cli/commands/pipeline/run.local.js +200 -0
  524. package/lib/interface/cli/commands/project/apply.cmd.js +92 -0
  525. package/lib/interface/cli/commands/project/create.cmd.js +70 -0
  526. package/lib/interface/cli/commands/project/delete.cmd.js +39 -0
  527. package/lib/interface/cli/commands/project/get.cmd.js +67 -0
  528. package/lib/interface/cli/commands/project/project.sdk.spec.js +111 -0
  529. package/lib/interface/cli/commands/registry/create/create.standard.cmd.js +53 -0
  530. package/lib/interface/cli/commands/registry/create.cmd.js +20 -0
  531. package/lib/interface/cli/commands/registry/delete.cmd.js +29 -0
  532. package/lib/interface/cli/commands/registry/get.cmd.js +30 -0
  533. package/lib/interface/cli/commands/registry/registry.sdk.spec.js +43 -0
  534. package/lib/interface/cli/commands/repo/add.cmd.js +90 -0
  535. package/lib/interface/cli/commands/repo/delete.cmd.js +43 -0
  536. package/lib/interface/cli/commands/repo/get.cmd.js +101 -0
  537. package/lib/interface/cli/commands/repo/repo.sdk.spec.js +94 -0
  538. package/lib/interface/cli/commands/root/add.cmd.js +18 -0
  539. package/lib/interface/cli/commands/root/annotate.cmd.js +17 -0
  540. package/lib/interface/cli/commands/root/apply.cmd.js +38 -0
  541. package/lib/interface/cli/commands/root/apply.completion.js +15 -0
  542. package/lib/interface/cli/commands/root/auth.cmd.js +31 -0
  543. package/lib/interface/cli/commands/root/components.cmd.js +17 -0
  544. package/lib/interface/cli/commands/root/create.cmd.js +42 -0
  545. package/lib/interface/cli/commands/root/create.completion.js +15 -0
  546. package/lib/interface/cli/commands/root/delete.cmd.js +52 -0
  547. package/lib/interface/cli/commands/root/delete.completion.js +15 -0
  548. package/lib/interface/cli/commands/root/diff.cmd.js +38 -0
  549. package/lib/interface/cli/commands/root/diff.completion.js +15 -0
  550. package/lib/interface/cli/commands/root/download.cmd.js +18 -0
  551. package/lib/interface/cli/commands/root/generate.cmd.js +18 -0
  552. package/lib/interface/cli/commands/root/get.cmd.js +72 -0
  553. package/lib/interface/cli/commands/root/get.completion.js +19 -0
  554. package/lib/interface/cli/commands/root/install.cmd.js +17 -0
  555. package/lib/interface/cli/commands/root/replace.cmd.js +72 -0
  556. package/lib/interface/cli/commands/root/replace.completion.js +15 -0
  557. package/lib/interface/cli/commands/root/root.sdk.spec.js +197 -0
  558. package/lib/interface/cli/commands/root/runner.cmd.js +18 -0
  559. package/lib/interface/cli/commands/root/synchronize.cmd.js +17 -0
  560. package/lib/interface/cli/commands/root/uninstall.cmd.js +17 -0
  561. package/lib/interface/cli/commands/root/upgrade.cmd.js +38 -0
  562. package/lib/interface/cli/commands/root/validate.cmd.js +119 -0
  563. package/lib/interface/cli/commands/root/validate.completion.js +10 -0
  564. package/lib/interface/cli/commands/root/version.cmd.js +48 -0
  565. package/lib/interface/cli/commands/runtimeEnvironments/apply.cmd.js +111 -0
  566. package/lib/interface/cli/commands/runtimeEnvironments/attach.cmd.js +161 -0
  567. package/lib/interface/cli/commands/runtimeEnvironments/create.cmd.js +23 -0
  568. package/lib/interface/cli/commands/runtimeEnvironments/delete.cmd.js +35 -0
  569. package/lib/interface/cli/commands/runtimeEnvironments/diff.cmd.js +64 -0
  570. package/lib/interface/cli/commands/runtimeEnvironments/get.cmd.js +76 -0
  571. package/lib/interface/cli/commands/runtimeEnvironments/install.cmd.js +312 -0
  572. package/lib/interface/cli/commands/runtimeEnvironments/runtimeEnvironments.sdk.spec.js +61 -0
  573. package/lib/interface/cli/commands/runtimeEnvironments/uninstall.cmd.js +149 -0
  574. package/lib/interface/cli/commands/section/apply.cmd.js +85 -0
  575. package/lib/interface/cli/commands/section/create.cmd.js +69 -0
  576. package/lib/interface/cli/commands/section/delete.cmd.js +61 -0
  577. package/lib/interface/cli/commands/section/get.cmd.js +79 -0
  578. package/lib/interface/cli/commands/section/section.sdk.spec.js +143 -0
  579. package/lib/interface/cli/commands/step/delete.cmd.js +30 -0
  580. package/lib/interface/cli/commands/step/get.cmd.js +131 -0
  581. package/lib/interface/cli/commands/step/get.completion.js +14 -0
  582. package/lib/interface/cli/commands/step/step.sdk.spec.js +67 -0
  583. package/lib/interface/cli/commands/systemRuntimeEnvironments/apply.cmd.js +69 -0
  584. package/lib/interface/cli/commands/systemRuntimeEnvironments/delete.cmd.js +44 -0
  585. package/lib/interface/cli/commands/systemRuntimeEnvironments/diff.cmd.js +74 -0
  586. package/lib/interface/cli/commands/systemRuntimeEnvironments/get.cmd.js +103 -0
  587. package/lib/interface/cli/commands/systemRuntimeEnvironments/systemRuntimeEnvironments.sdk.spec.js +128 -0
  588. package/lib/interface/cli/commands/team/add.user.cmd.js +39 -0
  589. package/lib/interface/cli/commands/team/create.cmd.js +53 -0
  590. package/lib/interface/cli/commands/team/get.cmd.js +30 -0
  591. package/lib/interface/cli/commands/team/remove.user.cmd.js +39 -0
  592. package/lib/interface/cli/commands/team/synchronize.cmd.js +76 -0
  593. package/lib/interface/cli/commands/team/team.sdk.spec.js +65 -0
  594. package/lib/interface/cli/commands/tokens/apply.cmd.js +50 -0
  595. package/lib/interface/cli/commands/tokens/create.cmd.js +67 -0
  596. package/lib/interface/cli/commands/tokens/delete.cmd.js +43 -0
  597. package/lib/interface/cli/commands/tokens/get.cmd.js +38 -0
  598. package/lib/interface/cli/commands/tokens/tokens.sdk.spec.js +43 -0
  599. package/lib/interface/cli/commands/trigger/create.cmd.js +44 -0
  600. package/lib/interface/cli/commands/trigger/delete.cmd.js +39 -0
  601. package/lib/interface/cli/commands/trigger/event/create.cmd.js +60 -0
  602. package/lib/interface/cli/commands/trigger/event/delete.cmd.js +34 -0
  603. package/lib/interface/cli/commands/trigger/event/get.cmd.js +59 -0
  604. package/lib/interface/cli/commands/trigger/event/trigger-event.sdk.spec.js +51 -0
  605. package/lib/interface/cli/commands/trigger/get.cmd.js +47 -0
  606. package/lib/interface/cli/commands/trigger/trigger.sdk.spec.js +73 -0
  607. package/lib/interface/cli/commands/trigger/type/get.cmd.js +54 -0
  608. package/lib/interface/cli/commands/trigger/type/trigger-type.sdk.spec.js +33 -0
  609. package/lib/interface/cli/commands/workflow/approve.cmd.js +31 -0
  610. package/lib/interface/cli/commands/workflow/approve.cmd.spec.js +47 -0
  611. package/lib/interface/cli/commands/workflow/deny.cmd.js +31 -0
  612. package/lib/interface/cli/commands/workflow/deny.cmd.spec.js +47 -0
  613. package/lib/interface/cli/commands/workflow/get.cmd.js +161 -0
  614. package/lib/interface/cli/commands/workflow/logs.cmd.js +38 -0
  615. package/lib/interface/cli/commands/workflow/restart.cmd.js +37 -0
  616. package/lib/interface/cli/commands/workflow/terminate.cmd.js +31 -0
  617. package/lib/interface/cli/commands/workflow/wait.cmd.js +77 -0
  618. package/lib/interface/cli/commands/workflow/workflow-data-item/create.cmd.js +44 -0
  619. package/lib/interface/cli/commands/workflow/workflow-data-item/get.cmd.js +72 -0
  620. package/lib/interface/cli/commands/workflow/workflow.sdk.spec.js +123 -0
  621. package/lib/interface/cli/completion/completion.spec.js +313 -0
  622. package/lib/interface/cli/completion/generate +102 -0
  623. package/lib/interface/cli/completion/helpers.js +90 -0
  624. package/lib/interface/cli/completion/index.js +89 -0
  625. package/lib/interface/cli/completion/tree.json +1 -0
  626. package/lib/interface/cli/defaults.js +18 -0
  627. package/lib/interface/cli/helpers/auth.js +62 -0
  628. package/lib/interface/cli/helpers/cli-config.js +110 -0
  629. package/lib/interface/cli/helpers/entitiesManifests.js +60 -0
  630. package/lib/interface/cli/helpers/general.js +235 -0
  631. package/lib/interface/cli/helpers/helm.js +51 -0
  632. package/lib/interface/cli/helpers/helpers.sdk.spec.js +201 -0
  633. package/lib/interface/cli/helpers/helpers.unit.spec.js +105 -0
  634. package/lib/interface/cli/helpers/image.js +66 -0
  635. package/lib/interface/cli/helpers/kubernetes.js +61 -0
  636. package/lib/interface/cli/helpers/logs.js +99 -0
  637. package/lib/interface/cli/helpers/progressEvents.js +25 -0
  638. package/lib/interface/cli/helpers/sys-re.js +76 -0
  639. package/lib/interface/cli/helpers/validation.js +92 -0
  640. package/lib/logic/cli-config/Manager.js +187 -0
  641. package/lib/logic/cli-config/Model.js +82 -0
  642. package/lib/logic/cli-config/errors/MultiplePropertiesError.js +8 -0
  643. package/lib/logic/cli-config/errors/NoPropertyError.js +8 -0
  644. package/lib/logic/cli-config/errors/NotFullPropertyError.js +8 -0
  645. package/lib/logic/cli-config/errors/PipelineValidationError.js +12 -0
  646. package/lib/logic/cli-config/errors/SchemaValidationError.js +14 -0
  647. package/lib/logic/cli-config/errors/awaitTo.js +16 -0
  648. package/lib/logic/cli-config/errors/helpers.js +23 -0
  649. package/lib/logic/cli-config/errors/index.js +13 -0
  650. package/lib/logic/cli-config/manager.spec.js +152 -0
  651. package/lib/logic/cli-config/schema.json +61 -0
  652. package/lib/logic/entities/Agent.js +52 -0
  653. package/lib/logic/entities/Annotation.js +24 -0
  654. package/lib/logic/entities/Board.js +22 -0
  655. package/lib/logic/entities/Cluster.js +22 -0
  656. package/lib/logic/entities/CodefreshRepo.js +22 -0
  657. package/lib/logic/entities/Composition.js +22 -0
  658. package/lib/logic/entities/Context.js +31 -0
  659. package/lib/logic/entities/Entity.js +48 -0
  660. package/lib/logic/entities/Environment.js +38 -0
  661. package/lib/logic/entities/GitRepo.js +21 -0
  662. package/lib/logic/entities/HelmRepo.js +23 -0
  663. package/lib/logic/entities/Image.js +13 -0
  664. package/lib/logic/entities/Pipeline.js +22 -0
  665. package/lib/logic/entities/Project.js +25 -0
  666. package/lib/logic/entities/Registry.js +35 -0
  667. package/lib/logic/entities/RuntimeEnvironments.js +30 -0
  668. package/lib/logic/entities/Section.js +23 -0
  669. package/lib/logic/entities/StepType.js +27 -0
  670. package/lib/logic/entities/StepTypeVersion.js +19 -0
  671. package/lib/logic/entities/Team.js +36 -0
  672. package/lib/logic/entities/Token.js +25 -0
  673. package/lib/logic/entities/Trigger.js +21 -0
  674. package/lib/logic/entities/TriggerEvent.js +28 -0
  675. package/lib/logic/entities/TriggerType.js +25 -0
  676. package/lib/logic/entities/Workflow.js +63 -0
  677. package/lib/logic/entities/WorkflowDataItem.js +48 -0
  678. package/lib/logic/index.js +7 -0
  679. package/lib/logic/sdk/index.js +5 -0
  680. package/lib/output/Formatter.js +42 -0
  681. package/lib/output/Output.js +88 -0
  682. package/lib/output/Style.js +96 -0
  683. package/lib/output/__mocks__/Output.js +8 -0
  684. package/lib/output/formatters/Annotations.formatter.js +7 -0
  685. package/lib/output/formatters/Board.formatter.js +7 -0
  686. package/lib/output/formatters/CodefreshRepo.formatter.js +7 -0
  687. package/lib/output/formatters/Composition.formatter.js +8 -0
  688. package/lib/output/formatters/Environment.formatter.js +17 -0
  689. package/lib/output/formatters/GitRepo.formatter.js +7 -0
  690. package/lib/output/formatters/HelmRepo.formatter.js +9 -0
  691. package/lib/output/formatters/Image.formatter.js +12 -0
  692. package/lib/output/formatters/Pipeline.formatter.js +8 -0
  693. package/lib/output/formatters/Project.formatter.js +10 -0
  694. package/lib/output/formatters/Registry.formatter.js +7 -0
  695. package/lib/output/formatters/Section.formatter.js +8 -0
  696. package/lib/output/formatters/StepType.formatter.js +8 -0
  697. package/lib/output/formatters/Team.formatter.js +13 -0
  698. package/lib/output/formatters/Token.formatter.js +11 -0
  699. package/lib/output/formatters/TriggerEvent.formatter.js +12 -0
  700. package/lib/output/formatters/TriggerType.formatter.js +12 -0
  701. package/lib/output/formatters/Workflow.formatter.js +28 -0
  702. package/lib/output/formatters/index.js +38 -0
  703. package/lib/output/types/id.output.js +16 -0
  704. package/lib/output/types/json.output.js +22 -0
  705. package/lib/output/types/name.output.js +16 -0
  706. package/lib/output/types/table.output.js +107 -0
  707. package/lib/output/types/table.output.spec.js +93 -0
  708. package/lib/output/types/yaml.output.js +30 -0
  709. package/openapi.json +8645 -0
  710. package/package.json +105 -0
  711. package/run-check-version.js +3 -0
  712. package/test-setup.js +34 -0
  713. package/yarn.lock +6124 -0
@@ -0,0 +1,33 @@
1
+ const yargs = require("yargs");
2
+ const Command = require("../../Command");
3
+
4
+ const command = new Command({
5
+ command: "offline-logs",
6
+ root: true,
7
+ description: "Manages offline logs",
8
+ webDocs: {
9
+ category: "Logs category",
10
+ subCategory: "Logs sub category",
11
+ title: "Archives old logs to file or collection.",
12
+ },
13
+ builder: (yargs) => {
14
+ // set options which are used in both sub-commands
15
+ return yargs
16
+ .env("RUNTIME_MONGO")
17
+ .option("uri", {
18
+ describe:
19
+ "Mongodb URI. If not provided, will be parsed from environment variable RUNTIME_MONGO_URI.",
20
+ type: "string",
21
+ })
22
+ .option("db", {
23
+ describe:
24
+ "Database name. If not provided, will be parsed from environment variable RUNTIME_MONGO_DB.",
25
+ type: "string",
26
+ });
27
+ },
28
+ handler: () => {
29
+ yargs.showHelp();
30
+ },
31
+ });
32
+
33
+ module.exports = command;
@@ -0,0 +1,44 @@
1
+ const { MongoClient } = require("mongodb");
2
+ const Command = require("../../Command");
3
+ const cmd = require("./base.cmd");
4
+ const utils = require('./utils')
5
+
6
+ const command = new Command({
7
+ command: "ensure-index",
8
+ parent: cmd,
9
+ description:
10
+ "Checks whether a collection has indexes and gives the user an option to add them. Adding an index may improve performance of some of the read operations.",
11
+ webDocs: {
12
+ category: "Logs",
13
+ title: "Ensures one or more offline-logs collections has indexes",
14
+ },
15
+ builder: (yargs) =>
16
+ yargs.example(
17
+ 'codefresh offline-logs ensure-index --uri "mongodb://192.168.99.100:27017" --db logs'
18
+ ),
19
+ handler: async (argv) => {
20
+ const { uri, db } = argv;
21
+ const client = new MongoClient( uri, { useUnifiedTopology: true } );
22
+ await client.connect();
23
+ const database = client.db(db);
24
+ const failedCollections = [];
25
+ const errors = [];
26
+ for (const collection of utils.defaultCollections) {
27
+ try {
28
+ await utils.ensureIndex(database, collection);
29
+ } catch (error) {
30
+ console.error(`failed to ensure index of collection '${collection}', error: ${error.message}`);
31
+ failedCollections.push(collection);
32
+ errors.push(error);
33
+ }
34
+ }
35
+ client.close();
36
+ if (failedCollections.length) {
37
+ throw new Error(
38
+ `failed to ensure indexes of ${failedCollections.join(', ')}, ${errors.join(', ')}`
39
+ );
40
+ }
41
+ },
42
+ });
43
+
44
+ module.exports = command;
@@ -0,0 +1,76 @@
1
+ const utils = require('./utils')
2
+
3
+ describe("ensure-index", () => {
4
+ describe("ensureIndex", () => {
5
+ utils.getUserInput = jest.fn()
6
+ const mockCollection = {
7
+ indexExists: jest.fn(),
8
+ estimatedDocumentCount: jest.fn().mockReturnValue(700),
9
+ createIndex: jest.fn(),
10
+ };
11
+ const mockDatabase = {
12
+ collection() {
13
+ return mockCollection;
14
+ },
15
+ };
16
+
17
+ beforeEach(() => {
18
+ mockCollection.indexExists.mockClear();
19
+ mockCollection.estimatedDocumentCount.mockClear();
20
+ mockCollection.createIndex.mockClear();
21
+ utils.getUserInput.mockClear();
22
+ });
23
+
24
+ it("index does not exists and user says yes on prompt", async () => {
25
+ //setup
26
+ mockCollection.indexExists.mockReturnValue(false);
27
+ utils.getUserInput.mockReturnValue(true);
28
+ const collection = 'whatever';
29
+ const expectedIndexObj = { accountId: 1, jobId: 1 }
30
+ const expectedOptions = { background: true }
31
+
32
+ //execute
33
+ await utils.ensureIndex(mockDatabase, collection);
34
+
35
+ //check
36
+ expect(mockCollection.indexExists).toBeCalledTimes(1);
37
+ expect(mockCollection.indexExists).toBeCalledWith("accountId_1_jobId_1");
38
+ expect(mockCollection.estimatedDocumentCount).toBeCalledTimes(1);
39
+ expect(utils.getUserInput).toBeCalledTimes(1);
40
+ expect(mockCollection.createIndex).toBeCalledTimes(1);
41
+ expect(mockCollection.createIndex).toBeCalledWith(expectedIndexObj, expectedOptions)
42
+ });
43
+ it("index does not exists and user says no on prompt", async () => {
44
+ //setup
45
+ mockCollection.indexExists.mockReturnValue(false);
46
+ utils.getUserInput.mockReturnValue(false);
47
+ const collection = 'whatever';
48
+
49
+ //execute
50
+ await utils.ensureIndex(mockDatabase, collection);
51
+
52
+ //check
53
+ expect(mockCollection.indexExists).toBeCalledTimes(1);
54
+ expect(mockCollection.indexExists).toBeCalledWith("accountId_1_jobId_1");
55
+ expect(mockCollection.estimatedDocumentCount).toBeCalledTimes(1);
56
+ expect(utils.getUserInput).toBeCalledTimes(1);
57
+ expect(mockCollection.createIndex).toBeCalledTimes(0);
58
+ });
59
+ it("index exists", async () => {
60
+ //setup
61
+ mockCollection.indexExists.mockReturnValue(true);
62
+ const collection = 'whatever';
63
+
64
+ //execute
65
+ await utils.ensureIndex(mockDatabase, collection);
66
+
67
+ //check
68
+ expect(mockCollection.indexExists).toBeCalledTimes(1);
69
+ expect(mockCollection.indexExists).toBeCalledWith("accountId_1_jobId_1");
70
+ expect(mockCollection.estimatedDocumentCount).toBeCalledTimes(0);
71
+ expect(utils.getUserInput).toBeCalledTimes(0);
72
+ expect(mockCollection.createIndex).toBeCalledTimes(0);
73
+ });
74
+
75
+ });
76
+ });
@@ -0,0 +1,188 @@
1
+ const { MongoClient, ObjectId } = require("mongodb");
2
+ const moment = require("moment");
3
+ const semver = require("semver");
4
+ const Command = require("../../Command");
5
+ const cmd = require("./base.cmd");
6
+ const {
7
+ objectIdFromDate,
8
+ defaultCollections,
9
+ findMinLog,
10
+ checkCursorState,
11
+ createRangeStr,
12
+ getMinDate,
13
+ } = require("./utils");
14
+
15
+ const MERGE_RELEASE_VERSION = "4.2.0";
16
+
17
+ const offloadToCollection = async function (
18
+ sourceDBObj,
19
+ collection,
20
+ targetDB,
21
+ cutoffDate
22
+ ) {
23
+ const sourceCollectionObj = sourceDBObj.collection(collection);
24
+
25
+ const cutoffDateObj = moment(cutoffDate).add(1, "days").startOf("day");
26
+
27
+ if (!cutoffDateObj.isValid()) {
28
+ throw new Error("please enter a valid date in ISO 8601 format");
29
+ }
30
+
31
+ const cutoffDateId = objectIdFromDate(cutoffDateObj.toDate());
32
+
33
+ const minLog = await findMinLog(
34
+ sourceCollectionObj,
35
+ cutoffDateId,
36
+ collection
37
+ );
38
+
39
+ if (!minLog) {
40
+ console.info(
41
+ `No logs to archive in collection ${collection} from the given date.`
42
+ );
43
+ return;
44
+ }
45
+
46
+ const lowerBound = getMinDate(minLog);
47
+ const upperBound = moment(cutoffDateObj);
48
+ const targetCollection = `${createRangeStr(
49
+ lowerBound,
50
+ upperBound,
51
+ collection
52
+ )}-archive`;
53
+
54
+ const mongoInfo = await sourceDBObj.admin().serverInfo();
55
+ const mongoServerVersion = await mongoInfo.version;
56
+
57
+ if (semver.lte(MERGE_RELEASE_VERSION, mongoServerVersion)) {
58
+ await archiveWithMerge(
59
+ sourceCollectionObj,
60
+ cutoffDateId,
61
+ targetDB,
62
+ targetCollection,
63
+ collection
64
+ );
65
+ } else {
66
+ await archiveWithOut(
67
+ sourceCollectionObj,
68
+ cutoffDateId,
69
+ targetCollection,
70
+ collection
71
+ );
72
+ }
73
+ };
74
+ ///////////////////////////////////////////////////////////////////////////////////
75
+ const archiveWithMerge = async function (
76
+ sourceCollectionObj,
77
+ cutoffDateId,
78
+ targetDB,
79
+ targetCollection,
80
+ collection
81
+ ) {
82
+ var result = sourceCollectionObj.aggregate([
83
+ { $match: { _id: { $lte: ObjectId(cutoffDateId) } } },
84
+ {
85
+ $merge: {
86
+ into: { db: targetDB, coll: targetCollection },
87
+ on: "_id",
88
+ whenMatched: "keepExisting",
89
+ whenNotMatched: "insert",
90
+ },
91
+ },
92
+ ]);
93
+
94
+ await result.toArray();
95
+
96
+ checkCursorState(result, collection, targetCollection);
97
+
98
+ await sourceCollectionObj.deleteMany({
99
+ _id: { $lte: ObjectId(cutoffDateId) },
100
+ });
101
+ };
102
+ ///////////////////////////////////////////////////////////////////////////////////
103
+ const archiveWithOut = async function (
104
+ sourceCollectionObj,
105
+ cutoffDateId,
106
+ targetCollection,
107
+ collection
108
+ ) {
109
+ var result = sourceCollectionObj.aggregate([
110
+ { $match: { _id: { $lte: ObjectId(cutoffDateId) } } },
111
+ { $out: targetCollection },
112
+ ]);
113
+
114
+ await result.toArray();
115
+
116
+ checkCursorState(result, collection, targetCollection);
117
+
118
+ await sourceCollectionObj.deleteMany({
119
+ _id: { $lte: ObjectId(cutoffDateId) },
120
+ });
121
+ };
122
+ ///////////////////////////////////////////////////////////////////////////////////
123
+ const command = new Command({
124
+ command: "offload-to-collection",
125
+ parent: cmd,
126
+ description:
127
+ "Archiving logs from one or more source collections to target collections.",
128
+ webDocs: {
129
+ category: "Logs",
130
+ title: "Offload To Collection",
131
+ },
132
+ builder: (yargs) =>
133
+ yargs
134
+ .option("targetDB", {
135
+ alias: "tdb",
136
+ describe:
137
+ "This option is available only for mongodb version 4.2 and up. for older versions it will be ignored. \
138
+ Target database name, if none inserted, db will be defined as target.",
139
+ type: "string",
140
+ })
141
+ .option("cutoffDate", {
142
+ alias: "cod",
143
+ describe:
144
+ "The date in ISO format (yyyy-MM-dd) from which logs will be archived (going backwards, including logs from that day).",
145
+ demandOption: true,
146
+ type: "string",
147
+ })
148
+ .example(
149
+ 'codefresh offline-logs offload-to-collection --uri "mongodb://192.168.99.100:27017" --db logs --cod "2021-07-08" '
150
+ ),
151
+ handler: async (argv) => {
152
+ const { uri, db, targetDB, cutoffDate } = argv;
153
+
154
+ const client = new MongoClient(uri, { useUnifiedTopology: true });
155
+ try {
156
+ await client.connect();
157
+ const failedCollections = [];
158
+ const errors = [];
159
+ const sourceDBObj = client.db(db);
160
+ const promises = defaultCollections.map(async (collection) => {
161
+ try {
162
+ await offloadToCollection(
163
+ sourceDBObj,
164
+ collection,
165
+ targetDB || db,
166
+ cutoffDate
167
+ );
168
+ } catch (error) {
169
+ failedCollections.push(collection);
170
+ errors.push(error);
171
+ }
172
+ });
173
+ await Promise.all(promises);
174
+
175
+ if (failedCollections.length) {
176
+ throw new Error(
177
+ `failed to offload from collections: ${failedCollections.join(
178
+ ", "
179
+ )}. ${errors.join(", ")}`
180
+ );
181
+ }
182
+ } finally {
183
+ client.close();
184
+ }
185
+ },
186
+ });
187
+
188
+ module.exports = command;
@@ -0,0 +1,175 @@
1
+ const { MongoClient, ObjectId } = require("mongodb");
2
+ const moment = require("moment");
3
+ const Command = require("../../Command");
4
+ const cmd = require("./base.cmd");
5
+ const {
6
+ objectIdFromDate,
7
+ writeLogsToFile,
8
+ checkRemnant,
9
+ findMinLog,
10
+ getMinDate,
11
+ defaultCollections,
12
+ } = require("./utils");
13
+
14
+ const offloadToFile = async function (
15
+ database,
16
+ collection,
17
+ chunkDuration,
18
+ cutoffDate,
19
+ path
20
+ ) {
21
+ const collectionObj = database.collection(collection);
22
+
23
+ if (chunkDuration <= 0) {
24
+ throw new Error("please enter a valid chunkDuration ( > 0)");
25
+ }
26
+ let chunkSize = chunkDuration;
27
+
28
+ // the cutoff date will be the start of the next day from user input (archive will include the given cutoff date)
29
+ const cutoffDateObj = moment(cutoffDate, moment.ISO_8601, true)
30
+ .add(1, "days")
31
+ .startOf("day");
32
+ if (!cutoffDateObj.isValid()) {
33
+ throw new Error("please enter a valid date in ISO 8601 format");
34
+ }
35
+ const cutoffDateId = objectIdFromDate(cutoffDateObj.toDate());
36
+
37
+ const minLog = await findMinLog(collectionObj, cutoffDateId, collection);
38
+
39
+ if (!minLog) {
40
+ console.info(
41
+ `No logs to archive in Collection ${collection} from the given date.`
42
+ );
43
+ return;
44
+ }
45
+
46
+ const minDate = getMinDate(minLog);
47
+
48
+ for (
49
+ let lowerBound = moment(minDate);
50
+ lowerBound < cutoffDateObj;
51
+ lowerBound.add(chunkSize, "days")
52
+ ) {
53
+ //in case total days period is not devided with chunkSize, the last chunk size needs to be smaller.
54
+ const remnant = checkRemnant(lowerBound, cutoffDateObj);
55
+
56
+ if (remnant < chunkSize && remnant > 0) {
57
+ chunkSize = remnant;
58
+ }
59
+ const upperBound = moment(lowerBound).add(chunkSize, "days");
60
+
61
+ const lowerBoundId = objectIdFromDate(lowerBound.toDate());
62
+ const upperBoundId = objectIdFromDate(upperBound.toDate());
63
+
64
+ const logsToArchive = await collectionObj
65
+ .find({
66
+ _id: {
67
+ $gte: ObjectId(lowerBoundId),
68
+ $lt: ObjectId(upperBoundId),
69
+ },
70
+ })
71
+ .toArray();
72
+
73
+ if (logsToArchive.length > 0) {
74
+ writeLogsToFile(upperBound, lowerBound, collection, logsToArchive, path);
75
+
76
+ await collectionObj.deleteMany({
77
+ _id: {
78
+ $gte: ObjectId(lowerBoundId),
79
+ $lt: ObjectId(upperBoundId),
80
+ },
81
+ });
82
+ }
83
+ }
84
+ };
85
+
86
+ const command = new Command({
87
+ command: "offload-to-file",
88
+ parent: cmd,
89
+ description:
90
+ "Archiving logs from one or more source collections to files by chunks of days.",
91
+ webDocs: {
92
+ category: "Logs",
93
+ title: "Offload To File",
94
+ },
95
+ builder: (yargs) =>
96
+ yargs
97
+ .option("chunkDuration", {
98
+ alias: "chdur",
99
+ describe:
100
+ "Chunk size in days, each chunk will be archived into a different file.",
101
+ default: 1,
102
+ type: "number",
103
+ })
104
+ .option("cutoffDate", {
105
+ alias: "cod",
106
+ describe:
107
+ "The date in ISO format (yyyy-MM-dd) from which logs will be archived (going backwards, including logs from that day).",
108
+ demandOption: true,
109
+ type: "string",
110
+ })
111
+ .option("path", {
112
+ describe: "Directory path to which archive files will be saved.",
113
+ default: ".",
114
+ type: "string",
115
+ })
116
+ .option("collections", {
117
+ alias: "c",
118
+ describe: "Source collections names",
119
+ default: defaultCollections,
120
+ array: true,
121
+ type: "string",
122
+ coerce(arg) {
123
+ for (const collection of arg) {
124
+ if (
125
+ !collection.includes("logs") &&
126
+ !collection.includes("metadata")
127
+ ) {
128
+ throw new Error("invalid collection name");
129
+ }
130
+ return arg;
131
+ }
132
+ },
133
+ })
134
+ .example(
135
+ 'codefresh offline-logs offload-to-file --uri "mongodb://192.168.99.100:27017" --db logs --collections archive-logs --cod "2021-07-08" --chdur 3 --path "./" '
136
+ ),
137
+ handler: async (argv) => {
138
+ const { uri, cutoffDate, chunkDuration, path, db, collections } = argv;
139
+ const client = new MongoClient(uri, { useUnifiedTopology: true });
140
+ try {
141
+ await client.connect();
142
+ const failedCollections = [];
143
+ const errors = [];
144
+ const database = client.db(db);
145
+ const promises = collections.map(async (collection) => {
146
+ try {
147
+ await offloadToFile(
148
+ database,
149
+ collection,
150
+ chunkDuration,
151
+ cutoffDate,
152
+ path
153
+ );
154
+ } catch (e) {
155
+ console.log(e);
156
+ failedCollections.push(collection);
157
+ errors.push(error);
158
+ }
159
+ });
160
+ await Promise.all(promises);
161
+
162
+ if (failedCollections.length) {
163
+ throw new Error(
164
+ `failed to offload from collections: ${failedCollections.join(
165
+ ", "
166
+ )}. ${errors.join(", ")}`
167
+ );
168
+ }
169
+ } finally {
170
+ client.close();
171
+ }
172
+ },
173
+ });
174
+
175
+ module.exports = command;
@@ -0,0 +1,59 @@
1
+ const moment = require('moment')
2
+ const { writeLogsToFile, checkRemnant } = require('./utils');
3
+ const fs = require('fs')
4
+
5
+ describe('offload-to-file', () => {
6
+ describe('writeLogsToFile', () => {
7
+ it('writes the input data to file', () => {
8
+ fs.writeFileSync = jest.fn((path, data) => {
9
+ return {path, data};
10
+ });
11
+ const upperBound = '2021-08-10';
12
+ const lowerBound = '2021-08-01';
13
+ const collection = 'logs';
14
+ const logsToArchive = [1, 2, 3, 4];
15
+ const expectedStr = JSON.stringify(logsToArchive)
16
+ const path = 'some/path';
17
+ writeLogsToFile(upperBound, lowerBound, collection, logsToArchive, path);
18
+ expect(fs.writeFileSync.mock.calls.length).toBe(1);
19
+ expect(fs.writeFileSync.mock.calls[0][0]).toContain(path);
20
+ expect(fs.writeFileSync.mock.calls[0][1]).toBe(expectedStr);
21
+ });
22
+ it('creates the correct file name', () => {
23
+ fs.writeFileSync = jest.fn((path, data) => {
24
+ return {path, data};
25
+ });
26
+ const upperBound = '2021-08-10';
27
+ const lowerBound = '2021-08-01';
28
+ const collection = 'logs';
29
+ const logsToArchive = [1, 2, 3, 4];
30
+ const expectedPath = 'some/path/2021-08-01-2021-08-09-logs.json'
31
+ const path = 'some/path';
32
+ writeLogsToFile(upperBound, lowerBound, collection, logsToArchive, path);
33
+ expect(fs.writeFileSync.mock.calls.length).toBe(1);
34
+ expect(fs.writeFileSync.mock.calls[0][0]).toBe(expectedPath);
35
+ });
36
+ it('checks leap year date calculation', () => {
37
+ fs.writeFileSync = jest.fn((path, data) => {
38
+ return {path, data};
39
+ });
40
+ const upperBound = '2020-03-01';
41
+ const lowerBound = '2020-02-01';
42
+ const collection = 'logs';
43
+ const logsToArchive = [1, 2, 3, 4];
44
+ const expectedPath = 'some/path/2020-02-01-2020-02-29-logs.json'
45
+ const path = 'some/path';
46
+ writeLogsToFile(upperBound, lowerBound, collection, logsToArchive, path);
47
+ expect(fs.writeFileSync.mock.calls.length).toBe(1);
48
+ expect(fs.writeFileSync.mock.calls[0][0]).toBe(expectedPath);
49
+ });
50
+ });
51
+ describe('checkRemnant', () => {
52
+ it('checkes days remnant to make sure time range is not going off boundaries', () => {
53
+ const lowerBound = '2020-08-01';
54
+ const cutoffDateObj = moment('2020-08-01').add(1, 'days').startOf("day");
55
+ const result = checkRemnant(lowerBound, cutoffDateObj);
56
+ expect(result).toBe(1);
57
+ });
58
+ });
59
+ });