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,161 @@
1
+ /* eslint-disable max-len */
2
+ const _ = require('lodash');
3
+ const Command = require('../../Command');
4
+ const { sdk } = require('../../../../logic');
5
+ const ProgressEvents = require('../../helpers/progressEvents');
6
+ const cliProgress = require('cli-progress');
7
+ const { getKubeContext } = require('../../helpers/kubernetes');
8
+ const { DefaultLogFormatter } = require('./../hybrid/helper');
9
+
10
+ const attachAgentToRuntime = async (agent, name) => {
11
+ const rt = await sdk.runtimeEnvs.get({ name });
12
+ if (!rt) {
13
+ throw new Error(`runtime ${name} does not exist on the account`);
14
+ }
15
+ if (!rt.metadata.agent) {
16
+ throw new Error('cannot attach non hybrid runtime');
17
+ }
18
+ const runtimes = _.get(agent, 'runtimes', []);
19
+ const existingRT = _.find(runtimes, value => value === name);
20
+ if (!existingRT) {
21
+ runtimes.push(name);
22
+ await sdk.agents.update({ agentId: agent.id, runtimes });
23
+ } else {
24
+ throw new Error(`Runtime ${name} already attached`);
25
+ }
26
+ };
27
+
28
+ const attachRuntimeCmd = new Command({
29
+ root: true,
30
+ command: 'attach runtime',
31
+ description: 'Attach a runtime to agent',
32
+ usage: 'attach runtime',
33
+ webDocs: {
34
+ category: 'Runtime-Environments',
35
+ title: 'Attach Runtime-Environments',
36
+ weight: 100,
37
+ },
38
+ builder: yargs => yargs
39
+ .env('CF_ARG_') // this means that every process.env.CF_ARG_* will be passed to argv
40
+ .option('runtime-name', {
41
+ describe: 'Runtime\'s name',
42
+ })
43
+ .option('agent-name', {
44
+ describe: 'Agent\'s name',
45
+ })
46
+ .option('agent-id', {
47
+ describe: 'Agent\'s ID',
48
+ })
49
+ .option('runtime-kube-context-name', {
50
+ describe: 'Runtime kubernetes context',
51
+ })
52
+ .option('runtime-kube-namespace', {
53
+ describe: 'Runtime\'s namespace',
54
+ })
55
+ .option('runtime-kube-config-path', {
56
+ describe: 'Path to kubeconfig file for runtime (default is $HOME/.kube/config)',
57
+ })
58
+ .option('agent-kube-context-name', {
59
+ describe: 'Agent kubernetes context',
60
+ })
61
+ .option('agent-kube-namespace', {
62
+ describe: 'Agent\'s namespace',
63
+ })
64
+ .option('agent-kube-config-path', {
65
+ describe: 'Path to kubeconfig file for the agent (default is $HOME/.kube/config)',
66
+ })
67
+ .option('restart-agent', {
68
+ describe: 'restart agent afte install - default false',
69
+ })
70
+ .option('verbose', {
71
+ describe: 'Print logs',
72
+ }),
73
+ handler: async (argv) => {
74
+ const {
75
+ 'agent-name': agentName,
76
+ 'runtime-name': runtimeName,
77
+ 'agent-id': agentId,
78
+ 'runtime-kube-namespace': kubeNamespace,
79
+ 'runtime-kube-config-path': kubeConfigPath,
80
+ 'agent-kube-namespace': agentKubeNamespace,
81
+ 'agent-kube-config-path': agentKubeConfigPath,
82
+ 'runtime-kube-serviceaccount': kubeServiceAccount,
83
+ 'restart-agent': restartAgent,
84
+ verbose,
85
+
86
+ } = argv;
87
+ let {
88
+ 'runtime-kube-context-name': kubeContextName,
89
+ 'agent-kube-context-name': agentKubeContextName,
90
+ } = argv;
91
+ const { terminateProcess } = argv;
92
+ let agent;
93
+ if (_.isNull(runtimeName) || _.isUndefined(runtimeName) || runtimeName === '') {
94
+ throw new Error('runtime name is mandatory');
95
+ }
96
+ if (agentName) {
97
+ agent = await sdk.agents.getByName({ name: agentName });
98
+ } else if (agentId) {
99
+ agent = await sdk.agents.get({ agentId });
100
+ } else {
101
+ throw new Error('agent name or agent id is needed');
102
+ }
103
+ if (agent === '' || !agent) {
104
+ throw new Error('agent was not found');
105
+ }
106
+ if (!kubeNamespace) {
107
+ throw new Error('runtime-kube-namespace is mandatory parameter');
108
+ }
109
+ if (!kubeContextName) {
110
+ kubeContextName = getKubeContext(kubeConfigPath);
111
+ }
112
+ if (!agentKubeContextName) {
113
+ agentKubeContextName = kubeContextName;
114
+ }
115
+
116
+ await attachAgentToRuntime(agent, runtimeName);
117
+
118
+ // call venonactl to attach
119
+
120
+ const events = new ProgressEvents();
121
+ const format = 'downloading [{bar}] {percentage}% | {value}/{total}';
122
+ const progressBar = new cliProgress.SingleBar({ stopOnComplete: true, format }, cliProgress.Presets.shades_classic);
123
+ let totalSize;
124
+ events.onStart((size) => {
125
+ progressBar.start(size, 0);
126
+ totalSize = size;
127
+ });
128
+ events.onProgress((progress) => {
129
+ progressBar.update(progress);
130
+ if (progress >= totalSize) {
131
+ console.log('\n');
132
+ }
133
+ });
134
+ await sdk.runtime.attach({
135
+ kubeContextName,
136
+ kubeServiceAccount,
137
+ kubeNamespace,
138
+ kubeConfigPath,
139
+ agentKubeContextName,
140
+ agentKubeNamespace,
141
+ agentKubeConfigPath,
142
+ runtimeName,
143
+ verbose,
144
+ restartAgent,
145
+ terminateProcess: false,
146
+ events,
147
+ logFormatting: DefaultLogFormatter,
148
+ });
149
+ if (!restartAgent) {
150
+ console.log('Please restart agent\'s pod in order that changes will take effect');
151
+ }
152
+ if (terminateProcess || terminateProcess === undefined) {
153
+ process.exit();
154
+ } else {
155
+ return 0;
156
+ }
157
+ },
158
+ });
159
+
160
+
161
+ module.exports = attachRuntimeCmd;
@@ -0,0 +1,23 @@
1
+ const Command = require('../../Command');
2
+ const createRoot = require('../root/create.cmd');
3
+
4
+ const DEPRECATION_MESSAGE = 'Create runtime-environment command has been deprecated.\nUse codefresh install runtime command instead';
5
+
6
+ const command = new Command({
7
+ command: 'runtime-environments [cluster]',
8
+ aliases: ['re', 'runtime-environment'],
9
+ parent: createRoot,
10
+ description: 'Create a runtime environment',
11
+ webDocs: {
12
+ category: 'Runtime-Environments',
13
+ title: 'Create Runtime-Environments',
14
+ weight: 100,
15
+ },
16
+ handler: async () => {
17
+ console.log(`${DEPRECATION_MESSAGE}`);
18
+ process.exit(1);
19
+ },
20
+ });
21
+
22
+
23
+ module.exports = command;
@@ -0,0 +1,35 @@
1
+ const debug = require('debug')('codefresh:cli:create:pipelines2');
2
+ const Command = require('../../Command');
3
+ const { sdk } = require('../../../../logic');
4
+ const deleteRoot = require('../root/delete.cmd');
5
+
6
+
7
+ const command = new Command({
8
+ command: 'runtime-environments name',
9
+ aliases: ['re', 'runtime-environment'],
10
+ parent: deleteRoot,
11
+ description: 'Delete a runtime-environment',
12
+ webDocs: {
13
+ category: 'Runtime-Environments',
14
+ title: 'Delete Runtime-Environments',
15
+ },
16
+ builder: (yargs) => {
17
+ return yargs
18
+ .positional('name', {
19
+ describe: 'Runtime environment name',
20
+ })
21
+ .option('force', {
22
+ describe: 'Delete runtime environment in force mode',
23
+ type: 'boolean',
24
+ });
25
+ },
26
+ handler: async (argv) => {
27
+ const { name, force } = argv;
28
+ await sdk.runtimeEnvs.delete({ name, force });
29
+ console.log(`Runtime-Environment '${name}' deleted.`);
30
+ },
31
+ });
32
+
33
+
34
+ module.exports = command;
35
+
@@ -0,0 +1,64 @@
1
+ const Command = require('../../Command');
2
+ const jsdiff = require('diff');
3
+ require('colors');
4
+ const { sdk } = require('../../../../logic');
5
+
6
+ const diffRoot = require('../root/diff.cmd');
7
+
8
+
9
+ const command = new Command({
10
+ command: 'runtime-environments [first-re-name] [first-re-version] [second-re-name] [second-re-version]',
11
+ aliases: ['re', 'runtime-environment'],
12
+ parent: diffRoot,
13
+ description: 'Show diff between two runtime environments configuration',
14
+ webDocs: {
15
+ category: 'Runtime-Environments',
16
+ title: 'Diff Runtime-Environments',
17
+ },
18
+ builder: (yargs) => {
19
+ return yargs
20
+ .option('first-name', {
21
+ describe: 'First runtime environment name',
22
+ })
23
+ .option('first-version', {
24
+ describe: 'First runtime environment version',
25
+ })
26
+ .option('second-name', {
27
+ describe: 'Second runtime environment name',
28
+ })
29
+ .option('second-version', {
30
+ describe: 'Second runtime environment version',
31
+ });
32
+ },
33
+ handler: async (argv) => {
34
+ const firstEnvName = argv['first-name'];
35
+ const firstEnvVersion = argv['first-version'];
36
+ const secondEnvName = argv['second-name'];
37
+ const secondEnvVersion = argv['second-version'];
38
+
39
+ const firstEnv = await sdk.runtimeEnvs.get({
40
+ name: firstEnvName,
41
+ version: firstEnvVersion,
42
+ });
43
+
44
+ const secondtEnv = await sdk.runtimeEnvs.get({
45
+ name: secondEnvName,
46
+ version: secondEnvVersion,
47
+ });
48
+
49
+ const firstEnvJson = JSON.stringify(firstEnv, null, '\t');
50
+ const secondEnvJson = JSON.stringify(secondtEnv, null, '\t');
51
+
52
+ const diff = jsdiff.diffJson(firstEnvJson, secondEnvJson);
53
+
54
+ diff.forEach((part) => {
55
+ const color = part.added ? 'green' : part.removed ? 'red' : 'white';
56
+ process.stderr.write(part.value[color]);
57
+ });
58
+
59
+ console.log();
60
+ },
61
+ });
62
+
63
+ module.exports = command;
64
+
@@ -0,0 +1,76 @@
1
+ const Command = require('../../Command');
2
+ const _ = require('lodash');
3
+ const RuntimeEnvironments = require('../../../../logic/entities/RuntimeEnvironments');
4
+ const Output = require('../../../../output/Output');
5
+ const DEFAULTS = require('../../defaults');
6
+ const CFError = require('cf-errors'); // eslint-disable-line
7
+ const getRoot = require('../root/get.cmd');
8
+ const { sdk } = require('../../../../logic');
9
+
10
+
11
+ const command = new Command({
12
+ command: 'runtime-environments [name]',
13
+ aliases: ['re', 'runtime-environment'],
14
+ parent: getRoot,
15
+ description: 'Get a runtime environments configuration',
16
+ webDocs: {
17
+ category: 'Runtime-Environments',
18
+ title: 'Get Runtime-Environments',
19
+ },
20
+ builder: (yargs) => {
21
+ return yargs
22
+ .positional('name', {
23
+ describe: 'Runtime environments name',
24
+ })
25
+ .option('version', {
26
+ describe: 'Runtime environments version',
27
+ })
28
+ .option('history', {
29
+ describe: 'Return all the history of the specific runtime environments',
30
+ type: 'boolean',
31
+ })
32
+ .option('limit', {
33
+ describe: 'Limit amount of returned results',
34
+ default: DEFAULTS.GET_LIMIT_RESULTS,
35
+ })
36
+ .option('page', {
37
+ describe: 'Paginated page',
38
+ default: DEFAULTS.GET_PAGINATED_PAGE,
39
+ })
40
+ .option('extend', {
41
+ describe: 'Return an extend runtime environment ',
42
+ type: 'boolean',
43
+ default: false,
44
+ });
45
+ },
46
+ handler: async (argv) => {
47
+ const { name, version, history, extend, limit, page } = argv;
48
+ const offset = (page - 1) * limit;
49
+ if (history) {
50
+ if (!name) {
51
+ throw new CFError('Name must be provided for history');
52
+ }
53
+ const allHistory = await sdk.runtimeEnvs.get({
54
+ name,
55
+ history,
56
+ });
57
+ console.log(JSON.stringify(allHistory, null, '\t'));
58
+ } else if (name) {
59
+ const currRuntimeEnvironments = await sdk.runtimeEnvs.get({
60
+ name,
61
+ version,
62
+ extend,
63
+ });
64
+ Output.print(RuntimeEnvironments.fromResponse(currRuntimeEnvironments));
65
+ } else {
66
+ const re = await sdk.runtimeEnvs.list({
67
+ limit,
68
+ offset,
69
+ });
70
+ Output.print(_.map(re, RuntimeEnvironments.fromResponse));
71
+ }
72
+ },
73
+ });
74
+
75
+ module.exports = command;
76
+
@@ -0,0 +1,312 @@
1
+ /* eslint-disable max-len */
2
+ const Command = require('../../Command');
3
+ const { sdk } = require('../../../../logic');
4
+ const attachRuntimeCmd = require('./attach.cmd');
5
+ const installRoot = require('../root/install.cmd');
6
+ const { getKubeContext } = require('../../helpers/kubernetes');
7
+ const ProgressEvents = require('../../helpers/progressEvents');
8
+ const cliProgress = require('cli-progress');
9
+ const createClusterCmd = require('../cluster/create.cmd');
10
+ const colors = require('colors');
11
+ const _ = require('lodash');
12
+ const { DefaultLogFormatter, INSTALLATION_DEFAULTS } = require('./../hybrid/helper');
13
+
14
+ const defaultNamespace = 'codefresh';
15
+ const defaultStorageClassPrefix = 'dind-local-volumes-runner';
16
+ const maxRuntimeNameLength = 63;
17
+
18
+ async function newRuntimeName(kubeContextName, kubeNamespace) {
19
+ const defaultName = `${kubeContextName}/${kubeNamespace}`.slice(0, maxRuntimeNameLength);
20
+ const runtimes = await sdk.runtimeEnvs.list({ });
21
+ let name;
22
+
23
+ if (!_.isArray(runtimes) || !_.find(runtimes, re => _.get(re, 'metadata.name') === defaultName)) {
24
+ name = defaultName; // use the default name if there are no collisions
25
+ } else {
26
+ const reNames = new Set(_.map(runtimes, re => _.get(re, 'metadata.name'))); // for fast lookup
27
+ let i = 1;
28
+ let suggestName;
29
+ // eslint-disable-next-line no-constant-condition
30
+ while (true) {
31
+ suggestName = `${defaultName.slice(0, maxRuntimeNameLength - 1 - i.toString().length)}_${i}`;
32
+ if (!reNames.has(suggestName)) {
33
+ break;
34
+ }
35
+ i += 1;
36
+ }
37
+ name = suggestName;
38
+ }
39
+
40
+ return name;
41
+ }
42
+ const installRuntimeCmd = new Command({
43
+ root: false,
44
+ parent: installRoot,
45
+ command: 'runtime',
46
+ description: 'Install and create a runtime on kubernetes cluster',
47
+ webDocs: {
48
+ category: 'Runtime-Environments',
49
+ title: 'Install Runtime-Environment',
50
+ weight: 100,
51
+ },
52
+ builder: yargs => yargs
53
+ .env('CF_ARG_') // this means that every process.env.CF_ARG_* will be passed to argv
54
+ .option('token', {
55
+ describe: 'Agent\'s token',
56
+ })
57
+ .option('agent-name', {
58
+ describe: 'Agent\'s name',
59
+ })
60
+ .option('storage-class-name', {
61
+ describe: 'Set a name of your custom storage class, note: this will not install volume provisioning components',
62
+ })
63
+ .option('runtime-kube-context-name', {
64
+ describe: 'Name of the kubernetes context on which the runtime should be installed (default is current-context) [$CF_ARG_KUBE_CONTEXT_NAME]',
65
+ })
66
+ .option('kube-node-selector', {
67
+ describe: 'The kubernetes node selector "key=value" to be used by runner build resources (default is no node selector) (string)',
68
+ })
69
+ .option('docker-registry', {
70
+ describe: 'The prefix for the container registry that will be used for pulling the required components images. Example: --docker-registry="docker.io"',
71
+ type: 'string',
72
+ })
73
+ .option('set-value', {
74
+ describe: 'Set values for templates, example: --set-value LocalVolumesDir=/mnt/disks/ssd0/codefresh-volumes',
75
+ })
76
+ .option('set-file', {
77
+ describe: 'Set values for templates from file, example: --set-file Storage.GoogleServiceAccount=/path/to/service-account.json',
78
+ })
79
+ .option('dry-run', {
80
+ describe: 'Set to true to simulate installation',
81
+ })
82
+ .option('in-cluster', {
83
+ describe: 'Set flag if runner is been installed from inside a cluster',
84
+ })
85
+ .option('runtime-kube-namespace', {
86
+ describe: 'Name of the namespace on which runtime should be installed [$CF_ARG_KUBE_NAMESPACE]',
87
+ })
88
+ .option('build-annotations', {
89
+ describe: 'The kubernetes metadata.annotations as "key=value" to be used by runner build resources (default is no node selector)',
90
+ })
91
+ .option('runtime-kube-config-path', {
92
+ describe: 'Path to kubeconfig file (default is $HOME/.kube/config)',
93
+ })
94
+ .option('attach-runtime', {
95
+ describe: 'if set to true, auto attach runtime to agent (need to provide ....)',
96
+ })
97
+ .option('agent-kube-config-path', {
98
+ describe: 'Path to kubeconfig file for the agent (default is $HOME/.kube/config)',
99
+ })
100
+ .option('agent-kube-context-name', {
101
+ describe: 'Agent kubernetes context (on attach)',
102
+ })
103
+ .option('agent-kube-namespace', {
104
+ describe: 'Agent\'s namespace (on attach)',
105
+ })
106
+ .option('agent-kube-config-path', {
107
+ describe: 'Path to kubeconfig file for the agent (default is $HOME/.kube/config) (on attach)',
108
+ })
109
+ .option('cluster-service-account', {
110
+ describe: 'service account for cluster default is default',
111
+ })
112
+ .option('make-default-runtime', {
113
+ describe: 'should all pipelines run on the this runtime (default is false)',
114
+ })
115
+ .option('skip-cluster-creation', {
116
+ description: 'If set to true, will skip cluster integration creation for this runtime',
117
+ })
118
+ .option('verbose', {
119
+ describe: 'Print logs',
120
+ }),
121
+ handler: async (argv) => {
122
+ const {
123
+ 'storage-class-name': storageClassName,
124
+ 'agent-name': agentName,
125
+ 'runtime-name': reName,
126
+ 'skip-re-creation': skipRuntimeCreation,
127
+ 'skip-cluster-creation': skipClusterCreation,
128
+ 'dry-run': dryRun,
129
+ 'in-cluster': inCluster,
130
+ 'kube-node-selector': kubeNodeSelector,
131
+ 'runtime-kube-config-path': kubeConfigPath,
132
+ 'set-value': setValue,
133
+ 'set-file': setFile,
134
+ verbose,
135
+ 'build-annotations': buildAnnotations,
136
+ 'attach-runtime': attachRuntime,
137
+ 'cluster-service-account': clusterServiceAccount,
138
+ 'make-default-runtime': shouldMakeDefaultRe,
139
+ 'docker-registry': dockerRegistry,
140
+ terminateProcess,
141
+ } = argv;
142
+
143
+ let {
144
+ 'runtime-kube-context-name': kubeContextName,
145
+ 'agent-kube-context-name': agentKubeContextName,
146
+ 'agent-kube-namespace': agentKubeNamespace,
147
+ 'agent-kube-config-path': agentKubeConfigPath,
148
+ 'runtime-kube-namespace': kubeNamespace,
149
+ token,
150
+ } = argv;
151
+
152
+ if (!kubeNamespace) {
153
+ kubeNamespace = defaultNamespace;
154
+ }
155
+ if (attachRuntime && !agentKubeNamespace) {
156
+ throw new Error('agent-kube-namespace is a mandatory parameter');
157
+ }
158
+
159
+ // parse kubeNodeSelector in form key1=value1,key2=value2 to {key1: value1, key2: value2}
160
+ const kubeNodeSelectorObj = {};
161
+ if (kubeNodeSelector) {
162
+ const nsSplitParts = kubeNodeSelector.split(',');
163
+ nsSplitParts.forEach((nsPart) => {
164
+ const nsRecordSplit = nsPart.split('=');
165
+ if (nsRecordSplit.length !== 2) {
166
+ throw new Error('invalid kube-node-selector parameter');
167
+ }
168
+ kubeNodeSelectorObj[nsRecordSplit[0]] = nsRecordSplit[1];
169
+ });
170
+ }
171
+
172
+ const apiHost = sdk.config.context.url;
173
+ if (!kubeContextName) {
174
+ kubeContextName = getKubeContext(kubeConfigPath);
175
+ }
176
+ const clusterName = kubeContextName || getKubeContext(kubeConfigPath);
177
+ const runtimeName = reName || await newRuntimeName(kubeContextName, kubeNamespace);
178
+
179
+ if (!token) {
180
+ // eslint-disable-next-line prefer-destructuring
181
+ token = sdk.config.context.token;
182
+ }
183
+
184
+ // create RE in codefresh
185
+ if (!skipRuntimeCreation) {
186
+ await sdk.cluster.create({
187
+ namespace: kubeNamespace,
188
+ storageClassName: storageClassName || `${defaultStorageClassPrefix}-${kubeNamespace}`,
189
+ serviceAccount: INSTALLATION_DEFAULTS.RUNTIME_SERVICE_ACCOUNT,
190
+ nodeSelector: kubeNodeSelectorObj,
191
+ annotations: buildAnnotations,
192
+ clusterName,
193
+ runtimeEnvironmentName: runtimeName,
194
+ agent: true,
195
+ });
196
+ console.log(`Runtime environment "${colors.cyan(runtimeName)}" has been created`);
197
+ if (shouldMakeDefaultRe) {
198
+ const re = await sdk.runtimeEnvs.get({
199
+ name: runtimeName,
200
+ });
201
+ await sdk.runtimeEnvs.setDefault({ account: re.accountId, name: re.metadata.name });
202
+ console.log(`Runtime environment "${colors.cyan(runtimeName)}" has been set as the default runtime`);
203
+ }
204
+ }
205
+
206
+ // check if cluster already exists
207
+ let createCluster = false;
208
+ if (!skipClusterCreation) {
209
+ try {
210
+ const clusters = await sdk.clusters.list() || [];
211
+ // should create cluster if it does not exist already
212
+ createCluster = !clusters.find(cluster => cluster.selector === kubeContextName);
213
+ } catch (error) {
214
+ console.log(`Failed to fetch account clusters, cause: ${error.message}`);
215
+ }
216
+ }
217
+
218
+ // create the cluster in codefresh if does not exists
219
+ if (createCluster) {
220
+ console.log(`Adding cluster "${colors.cyan(kubeContextName)}" integration to your Codefresh account`);
221
+ try {
222
+ await createClusterCmd.handler({
223
+ 'kube-context': kubeContextName,
224
+ namespace: kubeNamespace,
225
+ 'behind-firewall': true,
226
+ serviceaccount: clusterServiceAccount || 'default',
227
+ terminateProcess: false,
228
+ });
229
+ } catch (error) {
230
+ console.log(`Failed to register cluster on Codefresh, cause: ${error.message}`);
231
+ }
232
+ }
233
+
234
+ // install RE on cluster
235
+ const runtimeEvents = new ProgressEvents();
236
+ const runtimeFormat = 'downloading runtime installer [{bar}] {percentage}% | {value}/{total}';
237
+ const runtimmrProgressBar = new cliProgress.SingleBar({ stopOnComplete: true, format: runtimeFormat }, cliProgress.Presets.shades_classic);
238
+ let runtimeTotalSize;
239
+ runtimeEvents.onStart((size) => {
240
+ console.log('Downloading runtime installer:\n');
241
+ runtimmrProgressBar.start(size, 0);
242
+ runtimeTotalSize = size;
243
+ });
244
+ runtimeEvents.onProgress((progress) => {
245
+ runtimmrProgressBar.update(progress);
246
+ if (progress >= runtimeTotalSize) {
247
+ console.log('\n');
248
+ }
249
+ });
250
+
251
+ const installRuntimeExitCode = await sdk.runtime.install({
252
+ apiHost,
253
+ name: runtimeName,
254
+ kubeContextName,
255
+ kubeNamespace,
256
+ token,
257
+ dryRun,
258
+ inCluster,
259
+ kubeConfigPath,
260
+ dockerRegistry,
261
+ verbose,
262
+ kubeNodeSelector,
263
+ setValue,
264
+ setFile,
265
+ terminateProcess: !attachRuntime,
266
+ events: runtimeEvents,
267
+ storageClassName: storageClassName && storageClassName.startsWith('dind-local-volumes') ? undefined : storageClassName,
268
+ logFormatting: DefaultLogFormatter,
269
+ });
270
+ // attach RE to agent in codefresh
271
+
272
+ if (installRuntimeExitCode !== 0) {
273
+ throw new Error(`Runtime environment installation failed with exit code: ${installRuntimeExitCode}`);
274
+ }
275
+
276
+ if (attachRuntime) {
277
+ // set defaults for agent options
278
+ if (!agentKubeNamespace) {
279
+ agentKubeNamespace = kubeNamespace;
280
+ }
281
+ if (!agentKubeContextName) {
282
+ agentKubeContextName = kubeContextName;
283
+ }
284
+ if (!agentKubeConfigPath) {
285
+ agentKubeConfigPath = kubeConfigPath;
286
+ }
287
+
288
+ const attachRuntimeStatusCode = await attachRuntimeCmd.handler({
289
+ 'agent-name': agentName,
290
+ 'runtime-name': runtimeName,
291
+ 'runtime-kube-context-name': kubeContextName,
292
+ 'runtime-kube-namespace': kubeNamespace,
293
+ 'runtime-kube-config-path': kubeConfigPath,
294
+ 'agent-kube-context-name': agentKubeContextName,
295
+ 'agent-kube-namespace': agentKubeNamespace,
296
+ 'agent-kube-config-path': agentKubeConfigPath,
297
+ 'restart-agent': true,
298
+ terminateProcess,
299
+ });
300
+ if (attachRuntimeStatusCode !== 0) {
301
+ throw new Error(`Attach runtime failed with exit code ${attachRuntimeStatusCode}`);
302
+ } else {
303
+ return runtimeName;
304
+ }
305
+ } else {
306
+ console.log('Please run agent attach in order to link agent and runtime');
307
+ }
308
+ },
309
+ });
310
+
311
+
312
+ module.exports = installRuntimeCmd;