@catladder/cli 1.164.0 → 1.165.1

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 (396) hide show
  1. package/dist/bundles/catci/index.js +2 -2
  2. package/dist/bundles/catenv/index.js +3 -3
  3. package/dist/bundles/cli/index.js +23 -18
  4. package/dist/cli/src/apps/catci/catci.js +19 -91
  5. package/dist/cli/src/apps/catci/catci.js.map +1 -1
  6. package/dist/cli/src/apps/catci/commands/security/auditDocument.js +73 -79
  7. package/dist/cli/src/apps/catci/commands/security/auditDocument.js.map +1 -1
  8. package/dist/cli/src/apps/catci/commands/security/commands.js +94 -169
  9. package/dist/cli/src/apps/catci/commands/security/commands.js.map +1 -1
  10. package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js +42 -102
  11. package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js.map +1 -1
  12. package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js +19 -67
  13. package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js.map +1 -1
  14. package/dist/cli/src/apps/catenv/catenv.js +18 -64
  15. package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
  16. package/dist/cli/src/apps/catenv/printVariables.js +36 -123
  17. package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
  18. package/dist/cli/src/apps/catenv/utils.js +26 -112
  19. package/dist/cli/src/apps/catenv/utils.js.map +1 -1
  20. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +28 -132
  21. package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
  22. package/dist/cli/src/apps/catenv/writeEnvDTs.js +49 -150
  23. package/dist/cli/src/apps/catenv/writeEnvDTs.js.map +1 -1
  24. package/dist/cli/src/apps/cli/cli.js +31 -76
  25. package/dist/cli/src/apps/cli/cli.js.map +1 -1
  26. package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js +106 -180
  27. package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js.map +1 -1
  28. package/dist/cli/src/apps/cli/commands/cloudSQL/index.js +4 -43
  29. package/dist/cli/src/apps/cli/commands/cloudSQL/index.js.map +1 -1
  30. package/dist/cli/src/apps/cli/commands/general/index.js +67 -191
  31. package/dist/cli/src/apps/cli/commands/general/index.js.map +1 -1
  32. package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js +4 -49
  33. package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js.map +1 -1
  34. package/dist/cli/src/apps/cli/commands/general/portForward.js +36 -93
  35. package/dist/cli/src/apps/cli/commands/general/portForward.js.map +1 -1
  36. package/dist/cli/src/apps/cli/commands/mongodb/index.js +8 -47
  37. package/dist/cli/src/apps/cli/commands/mongodb/index.js.map +1 -1
  38. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js +86 -183
  39. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js.map +1 -1
  40. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js +30 -90
  41. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js.map +1 -1
  42. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js +50 -114
  43. package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js.map +1 -1
  44. package/dist/cli/src/apps/cli/commands/mongodb/utils/index.js +58 -192
  45. package/dist/cli/src/apps/cli/commands/mongodb/utils/index.js.map +1 -1
  46. package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js +118 -197
  47. package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js.map +1 -1
  48. package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js +81 -160
  49. package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
  50. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +134 -397
  51. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  52. package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js +40 -140
  53. package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js.map +1 -1
  54. package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js +23 -92
  55. package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js.map +1 -1
  56. package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js +10 -71
  57. package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js.map +1 -1
  58. package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js +7 -54
  59. package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js.map +1 -1
  60. package/dist/cli/src/apps/cli/commands/project/commandGetShell.js +27 -89
  61. package/dist/cli/src/apps/cli/commands/project/commandGetShell.js.map +1 -1
  62. package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js +65 -180
  63. package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js.map +1 -1
  64. package/dist/cli/src/apps/cli/commands/project/commandListPods.js +13 -72
  65. package/dist/cli/src/apps/cli/commands/project/commandListPods.js.map +1 -1
  66. package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js +38 -104
  67. package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js.map +1 -1
  68. package/dist/cli/src/apps/cli/commands/project/commandNamespace.js +8 -67
  69. package/dist/cli/src/apps/cli/commands/project/commandNamespace.js.map +1 -1
  70. package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js +16 -77
  71. package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js.map +1 -1
  72. package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js +18 -81
  73. package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js.map +1 -1
  74. package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js +14 -74
  75. package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js.map +1 -1
  76. package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js +6 -53
  77. package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js.map +1 -1
  78. package/dist/cli/src/apps/cli/commands/project/commandOpenGrafana.js +16 -77
  79. package/dist/cli/src/apps/cli/commands/project/commandOpenGrafana.js.map +1 -1
  80. package/dist/cli/src/apps/cli/commands/project/commandOpenGrafanaPod.js +28 -93
  81. package/dist/cli/src/apps/cli/commands/project/commandOpenGrafanaPod.js.map +1 -1
  82. package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js +11 -71
  83. package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js.map +1 -1
  84. package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js +23 -92
  85. package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js.map +1 -1
  86. package/dist/cli/src/apps/cli/commands/project/commandPortForward.js +71 -163
  87. package/dist/cli/src/apps/cli/commands/project/commandPortForward.js.map +1 -1
  88. package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js +6 -55
  89. package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js.map +1 -1
  90. package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js +17 -112
  91. package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js.map +1 -1
  92. package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js +15 -66
  93. package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js.map +1 -1
  94. package/dist/cli/src/apps/cli/commands/project/commandSetup.js +6 -55
  95. package/dist/cli/src/apps/cli/commands/project/commandSetup.js.map +1 -1
  96. package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js +47 -135
  97. package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js.map +1 -1
  98. package/dist/cli/src/apps/cli/commands/project/index.js +54 -93
  99. package/dist/cli/src/apps/cli/commands/project/index.js.map +1 -1
  100. package/dist/cli/src/apps/cli/commands/project/setup/index.js +39 -127
  101. package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
  102. package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js +35 -100
  103. package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
  104. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +52 -129
  105. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
  106. package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js +19 -68
  107. package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js.map +1 -1
  108. package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js +106 -147
  109. package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
  110. package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js +7 -80
  111. package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js.map +1 -1
  112. package/dist/cli/src/apps/cli/commands/project/utils/autocompletions.js +16 -105
  113. package/dist/cli/src/apps/cli/commands/project/utils/autocompletions.js.map +1 -1
  114. package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js +28 -79
  115. package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js.map +1 -1
  116. package/dist/cli/src/apps/cli/commands/project/utils/ensureNamespace.js +32 -89
  117. package/dist/cli/src/apps/cli/commands/project/utils/ensureNamespace.js.map +1 -1
  118. package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js +9 -53
  119. package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js.map +1 -1
  120. package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js +26 -92
  121. package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js.map +1 -1
  122. package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js +13 -62
  123. package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js.map +1 -1
  124. package/dist/cli/src/apps/cli/verify/index.js +10 -62
  125. package/dist/cli/src/apps/cli/verify/index.js.map +1 -1
  126. package/dist/cli/src/catci.js +1 -1
  127. package/dist/cli/src/catci.js.map +1 -1
  128. package/dist/cli/src/catenv.js +8 -8
  129. package/dist/cli/src/catenv.js.map +1 -1
  130. package/dist/cli/src/cli.js +1 -1
  131. package/dist/cli/src/cli.js.map +1 -1
  132. package/dist/cli/src/config/getProjectConfig.js +118 -278
  133. package/dist/cli/src/config/getProjectConfig.js.map +1 -1
  134. package/dist/cli/src/config/parseChoice.js +3 -19
  135. package/dist/cli/src/config/parseChoice.js.map +1 -1
  136. package/dist/cli/src/gcloud/artifactsRegistry.js +10 -54
  137. package/dist/cli/src/gcloud/artifactsRegistry.js.map +1 -1
  138. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js +21 -60
  139. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js.map +1 -1
  140. package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.js +12 -57
  141. package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.js.map +1 -1
  142. package/dist/cli/src/gcloud/cloudSql/copyDb.js +30 -56
  143. package/dist/cli/src/gcloud/cloudSql/copyDb.js.map +1 -1
  144. package/dist/cli/src/gcloud/cloudSql/startProxy.js +41 -123
  145. package/dist/cli/src/gcloud/cloudSql/startProxy.js.map +1 -1
  146. package/dist/cli/src/gcloud/enableServices.js +6 -82
  147. package/dist/cli/src/gcloud/enableServices.js.map +1 -1
  148. package/dist/cli/src/gcloud/openDashboard.js +12 -95
  149. package/dist/cli/src/gcloud/openDashboard.js.map +1 -1
  150. package/dist/cli/src/gcloud/serviceAccounts.js +63 -186
  151. package/dist/cli/src/gcloud/serviceAccounts.js.map +1 -1
  152. package/dist/cli/src/k8sApi/index.js +9 -9
  153. package/dist/cli/src/k8sApi/index.js.map +1 -1
  154. package/dist/cli/src/kubernetes/index.js +20 -81
  155. package/dist/cli/src/kubernetes/index.js.map +1 -1
  156. package/dist/cli/src/kubernetes/openKubernetesDashboards.js +32 -86
  157. package/dist/cli/src/kubernetes/openKubernetesDashboards.js.map +1 -1
  158. package/dist/cli/src/kubernetes/portForward.js +5 -50
  159. package/dist/cli/src/kubernetes/portForward.js.map +1 -1
  160. package/dist/cli/src/packageInfos.js +2 -2
  161. package/dist/cli/src/packageInfos.js.map +1 -1
  162. package/dist/cli/src/utils/boxWithAscii.js +6 -6
  163. package/dist/cli/src/utils/boxWithAscii.js.map +1 -1
  164. package/dist/cli/src/utils/cluster.js +8 -61
  165. package/dist/cli/src/utils/cluster.js.map +1 -1
  166. package/dist/cli/src/utils/editAsFile.js +21 -75
  167. package/dist/cli/src/utils/editAsFile.js.map +1 -1
  168. package/dist/cli/src/utils/files.js +11 -57
  169. package/dist/cli/src/utils/files.js.map +1 -1
  170. package/dist/cli/src/utils/getEditor.js +15 -71
  171. package/dist/cli/src/utils/getEditor.js.map +1 -1
  172. package/dist/cli/src/utils/gitlab.js +176 -466
  173. package/dist/cli/src/utils/gitlab.js.map +1 -1
  174. package/dist/cli/src/utils/log.js +2 -2
  175. package/dist/cli/src/utils/log.js.map +1 -1
  176. package/dist/cli/src/utils/portForwards.js +32 -120
  177. package/dist/cli/src/utils/portForwards.js.map +1 -1
  178. package/dist/cli/src/utils/preferences/index.js +27 -108
  179. package/dist/cli/src/utils/preferences/index.js.map +1 -1
  180. package/dist/cli/src/utils/projects/index.js +28 -116
  181. package/dist/cli/src/utils/projects/index.js.map +1 -1
  182. package/dist/cli/src/utils/promise.js +4 -55
  183. package/dist/cli/src/utils/promise.js.map +1 -1
  184. package/dist/cli/src/utils/shell.js +19 -75
  185. package/dist/cli/src/utils/shell.js.map +1 -1
  186. package/dist/pipeline/src/bash/BashExpression.js +20 -52
  187. package/dist/pipeline/src/bash/BashExpression.js.map +1 -1
  188. package/dist/pipeline/src/bash/bashExpressionPerPipelineType.js +1 -1
  189. package/dist/pipeline/src/bash/bashExpressionPerPipelineType.js.map +1 -1
  190. package/dist/pipeline/src/bash/bashYaml.js +13 -10
  191. package/dist/pipeline/src/bash/bashYaml.js.map +1 -1
  192. package/dist/pipeline/src/bash/getInjectVarsScript.js +5 -27
  193. package/dist/pipeline/src/bash/getInjectVarsScript.js.map +1 -1
  194. package/dist/pipeline/src/bash/replaceAsync.js +29 -79
  195. package/dist/pipeline/src/bash/replaceAsync.js.map +1 -1
  196. package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js +29 -60
  197. package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js.map +1 -1
  198. package/dist/pipeline/src/build/base/createAppBuildJob.js +40 -72
  199. package/dist/pipeline/src/build/base/createAppBuildJob.js.map +1 -1
  200. package/dist/pipeline/src/build/base/createArtifactsConfig.js +11 -40
  201. package/dist/pipeline/src/build/base/createArtifactsConfig.js.map +1 -1
  202. package/dist/pipeline/src/build/base/index.js +36 -62
  203. package/dist/pipeline/src/build/base/index.js.map +1 -1
  204. package/dist/pipeline/src/build/base/writeBuildInfo.js +2 -2
  205. package/dist/pipeline/src/build/base/writeBuildInfo.js.map +1 -1
  206. package/dist/pipeline/src/build/base/writeDotEnv.js +13 -36
  207. package/dist/pipeline/src/build/base/writeDotEnv.js.map +1 -1
  208. package/dist/pipeline/src/build/custom/buildJob.js +8 -33
  209. package/dist/pipeline/src/build/custom/buildJob.js.map +1 -1
  210. package/dist/pipeline/src/build/custom/index.js +4 -29
  211. package/dist/pipeline/src/build/custom/index.js.map +1 -1
  212. package/dist/pipeline/src/build/custom/testJob.js +41 -50
  213. package/dist/pipeline/src/build/custom/testJob.js.map +1 -1
  214. package/dist/pipeline/src/build/docker.js +72 -104
  215. package/dist/pipeline/src/build/docker.js.map +1 -1
  216. package/dist/pipeline/src/build/index.js +17 -17
  217. package/dist/pipeline/src/build/index.js.map +1 -1
  218. package/dist/pipeline/src/build/node/buildJob.js +24 -45
  219. package/dist/pipeline/src/build/node/buildJob.js.map +1 -1
  220. package/dist/pipeline/src/build/node/cache.js +31 -54
  221. package/dist/pipeline/src/build/node/cache.js.map +1 -1
  222. package/dist/pipeline/src/build/node/index.js +9 -34
  223. package/dist/pipeline/src/build/node/index.js.map +1 -1
  224. package/dist/pipeline/src/build/node/meteor.js +17 -41
  225. package/dist/pipeline/src/build/node/meteor.js.map +1 -1
  226. package/dist/pipeline/src/build/node/testJob.js +69 -66
  227. package/dist/pipeline/src/build/node/testJob.js.map +1 -1
  228. package/dist/pipeline/src/build/node/yarn.js +35 -51
  229. package/dist/pipeline/src/build/node/yarn.js.map +1 -1
  230. package/dist/pipeline/src/build/rails/build.js +22 -57
  231. package/dist/pipeline/src/build/rails/build.js.map +1 -1
  232. package/dist/pipeline/src/build/rails/index.js +4 -29
  233. package/dist/pipeline/src/build/rails/index.js.map +1 -1
  234. package/dist/pipeline/src/build/rails/test.js +60 -66
  235. package/dist/pipeline/src/build/rails/test.js.map +1 -1
  236. package/dist/pipeline/src/build/sbom.js +12 -12
  237. package/dist/pipeline/src/build/sbom.js.map +1 -1
  238. package/dist/pipeline/src/build/types.js +2 -6
  239. package/dist/pipeline/src/build/types.js.map +1 -1
  240. package/dist/pipeline/src/config/configruedEnvs.js +18 -47
  241. package/dist/pipeline/src/config/configruedEnvs.js.map +1 -1
  242. package/dist/pipeline/src/config/readConfig.js +26 -101
  243. package/dist/pipeline/src/config/readConfig.js.map +1 -1
  244. package/dist/pipeline/src/context/createAllComponentsContext.js +16 -63
  245. package/dist/pipeline/src/context/createAllComponentsContext.js.map +1 -1
  246. package/dist/pipeline/src/context/createComponentContext.js +93 -170
  247. package/dist/pipeline/src/context/createComponentContext.js.map +1 -1
  248. package/dist/pipeline/src/context/createWorkspaceContext.js +30 -80
  249. package/dist/pipeline/src/context/createWorkspaceContext.js.map +1 -1
  250. package/dist/pipeline/src/context/getBuildInfoVariables.js +12 -31
  251. package/dist/pipeline/src/context/getBuildInfoVariables.js.map +1 -1
  252. package/dist/pipeline/src/context/getEnvConfig.js +4 -4
  253. package/dist/pipeline/src/context/getEnvConfig.js.map +1 -1
  254. package/dist/pipeline/src/context/getEnvType.js +2 -2
  255. package/dist/pipeline/src/context/getEnvType.js.map +1 -1
  256. package/dist/pipeline/src/context/getEnvironment.js +17 -64
  257. package/dist/pipeline/src/context/getEnvironment.js.map +1 -1
  258. package/dist/pipeline/src/context/getEnvironmentContext.js +21 -22
  259. package/dist/pipeline/src/context/getEnvironmentContext.js.map +1 -1
  260. package/dist/pipeline/src/context/getEnvironmentVariables.js +109 -169
  261. package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
  262. package/dist/pipeline/src/context/getLabels.js +12 -15
  263. package/dist/pipeline/src/context/getLabels.js.map +1 -1
  264. package/dist/pipeline/src/context/getReviewSlug.js +7 -7
  265. package/dist/pipeline/src/context/getReviewSlug.js.map +1 -1
  266. package/dist/pipeline/src/context/resolveReferences.js +51 -172
  267. package/dist/pipeline/src/context/resolveReferences.js.map +1 -1
  268. package/dist/pipeline/src/context/transformJobOnlyVars.js +22 -69
  269. package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
  270. package/dist/pipeline/src/context/utils/envVars.js +13 -39
  271. package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
  272. package/dist/pipeline/src/deploy/base/deploy.js +60 -82
  273. package/dist/pipeline/src/deploy/base/deploy.js.map +1 -1
  274. package/dist/pipeline/src/deploy/base/index.js +11 -34
  275. package/dist/pipeline/src/deploy/base/index.js.map +1 -1
  276. package/dist/pipeline/src/deploy/base/rollback.js +11 -15
  277. package/dist/pipeline/src/deploy/base/rollback.js.map +1 -1
  278. package/dist/pipeline/src/deploy/base/stop.js +11 -15
  279. package/dist/pipeline/src/deploy/base/stop.js.map +1 -1
  280. package/dist/pipeline/src/deploy/cloudRun/artifactsRegistry.js +41 -64
  281. package/dist/pipeline/src/deploy/cloudRun/artifactsRegistry.js.map +1 -1
  282. package/dist/pipeline/src/deploy/cloudRun/cleanup.js +8 -33
  283. package/dist/pipeline/src/deploy/cloudRun/cleanup.js.map +1 -1
  284. package/dist/pipeline/src/deploy/cloudRun/cloudRunRevisions.js +25 -30
  285. package/dist/pipeline/src/deploy/cloudRun/cloudRunRevisions.js.map +1 -1
  286. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +92 -136
  287. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
  288. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js +44 -61
  289. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js.map +1 -1
  290. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js +25 -53
  291. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js.map +1 -1
  292. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +36 -47
  293. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
  294. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +22 -39
  295. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
  296. package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js +27 -33
  297. package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js.map +1 -1
  298. package/dist/pipeline/src/deploy/cloudRun/createJobs/volumes.js +7 -34
  299. package/dist/pipeline/src/deploy/cloudRun/createJobs/volumes.js.map +1 -1
  300. package/dist/pipeline/src/deploy/cloudRun/index.js +38 -75
  301. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  302. package/dist/pipeline/src/deploy/cloudRun/utils/createArgsString.js +14 -42
  303. package/dist/pipeline/src/deploy/cloudRun/utils/createArgsString.js.map +1 -1
  304. package/dist/pipeline/src/deploy/cloudRun/utils/database.js +14 -30
  305. package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
  306. package/dist/pipeline/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +5 -5
  307. package/dist/pipeline/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js.map +1 -1
  308. package/dist/pipeline/src/deploy/cloudRun/utils/getServiceName.js +1 -3
  309. package/dist/pipeline/src/deploy/cloudRun/utils/getServiceName.js.map +1 -1
  310. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +1 -3
  311. package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
  312. package/dist/pipeline/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +1 -1
  313. package/dist/pipeline/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js.map +1 -1
  314. package/dist/pipeline/src/deploy/cloudSql/utils.js +4 -4
  315. package/dist/pipeline/src/deploy/cloudSql/utils.js.map +1 -1
  316. package/dist/pipeline/src/deploy/custom/deployJob.js +18 -37
  317. package/dist/pipeline/src/deploy/custom/deployJob.js.map +1 -1
  318. package/dist/pipeline/src/deploy/custom/index.js +4 -4
  319. package/dist/pipeline/src/deploy/custom/index.js.map +1 -1
  320. package/dist/pipeline/src/deploy/dockerTag/deployJob.js +16 -48
  321. package/dist/pipeline/src/deploy/dockerTag/deployJob.js.map +1 -1
  322. package/dist/pipeline/src/deploy/dockerTag/index.js +4 -4
  323. package/dist/pipeline/src/deploy/dockerTag/index.js.map +1 -1
  324. package/dist/pipeline/src/deploy/index.js +4 -4
  325. package/dist/pipeline/src/deploy/index.js.map +1 -1
  326. package/dist/pipeline/src/deploy/kubernetes/additionalSecretKeys.js +6 -7
  327. package/dist/pipeline/src/deploy/kubernetes/additionalSecretKeys.js.map +1 -1
  328. package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.js +13 -13
  329. package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.js.map +1 -1
  330. package/dist/pipeline/src/deploy/kubernetes/deployJob.js +64 -72
  331. package/dist/pipeline/src/deploy/kubernetes/deployJob.js.map +1 -1
  332. package/dist/pipeline/src/deploy/kubernetes/index.js +21 -47
  333. package/dist/pipeline/src/deploy/kubernetes/index.js.map +1 -1
  334. package/dist/pipeline/src/deploy/kubernetes/kubeEnv.js +13 -36
  335. package/dist/pipeline/src/deploy/kubernetes/kubeEnv.js.map +1 -1
  336. package/dist/pipeline/src/deploy/kubernetes/kubeValues.js +23 -60
  337. package/dist/pipeline/src/deploy/kubernetes/kubeValues.js.map +1 -1
  338. package/dist/pipeline/src/deploy/kubernetes/mongodb.js +38 -48
  339. package/dist/pipeline/src/deploy/kubernetes/mongodb.js.map +1 -1
  340. package/dist/pipeline/src/deploy/kubernetes/processSecretsAsFiles.js +15 -17
  341. package/dist/pipeline/src/deploy/kubernetes/processSecretsAsFiles.js.map +1 -1
  342. package/dist/pipeline/src/deploy/sbom.js +9 -11
  343. package/dist/pipeline/src/deploy/sbom.js.map +1 -1
  344. package/dist/pipeline/src/deploy/types/index.js +1 -5
  345. package/dist/pipeline/src/deploy/types/index.js.map +1 -1
  346. package/dist/pipeline/src/deploy/utils.js +7 -7
  347. package/dist/pipeline/src/deploy/utils.js.map +1 -1
  348. package/dist/pipeline/src/packageInfos.js +2 -2
  349. package/dist/pipeline/src/packageInfos.js.map +1 -1
  350. package/dist/pipeline/src/pipeline/createAllJobs.js +39 -132
  351. package/dist/pipeline/src/pipeline/createAllJobs.js.map +1 -1
  352. package/dist/pipeline/src/pipeline/createChildPipeline.js +24 -71
  353. package/dist/pipeline/src/pipeline/createChildPipeline.js.map +1 -1
  354. package/dist/pipeline/src/pipeline/createJobsForComponent.js +18 -62
  355. package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
  356. package/dist/pipeline/src/pipeline/createJobsForWorkspace.js +3 -3
  357. package/dist/pipeline/src/pipeline/createJobsForWorkspace.js.map +1 -1
  358. package/dist/pipeline/src/pipeline/createMainPipeline.js +57 -141
  359. package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
  360. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +43 -137
  361. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  362. package/dist/pipeline/src/pipeline/getPipelineStages.js +8 -31
  363. package/dist/pipeline/src/pipeline/getPipelineStages.js.map +1 -1
  364. package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js +150 -216
  365. package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js.map +1 -1
  366. package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +14 -26
  367. package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
  368. package/dist/pipeline/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +11 -11
  369. package/dist/pipeline/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js.map +1 -1
  370. package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js +8 -9
  371. package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js.map +1 -1
  372. package/dist/pipeline/src/pipeline/gitlab/sortGitLabJobDefProps.js +11 -20
  373. package/dist/pipeline/src/pipeline/gitlab/sortGitLabJobDefProps.js.map +1 -1
  374. package/dist/pipeline/src/pipeline/packageManager.js +59 -133
  375. package/dist/pipeline/src/pipeline/packageManager.js.map +1 -1
  376. package/dist/pipeline/src/pipeline/yarn/yarnUtils.js +30 -120
  377. package/dist/pipeline/src/pipeline/yarn/yarnUtils.js.map +1 -1
  378. package/dist/pipeline/src/runner/index.js +2 -4
  379. package/dist/pipeline/src/runner/index.js.map +1 -1
  380. package/dist/pipeline/src/types/config.js +4 -28
  381. package/dist/pipeline/src/types/config.js.map +1 -1
  382. package/dist/pipeline/src/types/context.js +2 -2
  383. package/dist/pipeline/src/types/context.js.map +1 -1
  384. package/dist/pipeline/src/utils/gitlab.js +19 -42
  385. package/dist/pipeline/src/utils/gitlab.js.map +1 -1
  386. package/dist/pipeline/src/utils/index.js +6 -34
  387. package/dist/pipeline/src/utils/index.js.map +1 -1
  388. package/dist/pipeline/src/utils/jsonParse.js +2 -2
  389. package/dist/pipeline/src/utils/jsonParse.js.map +1 -1
  390. package/dist/pipeline/src/utils/removeUndefined.js +1 -22
  391. package/dist/pipeline/src/utils/removeUndefined.js.map +1 -1
  392. package/dist/pipeline/src/utils/writeFiles.js +17 -68
  393. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  394. package/dist/tsconfig.tsbuildinfo +1 -1
  395. package/package.json +2 -2
  396. package/tsconfig.json +2 -2
@@ -1,496 +1,206 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
- if (ar || !(i in from)) {
68
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
- ar[i] = from[i];
70
- }
71
- }
72
- return to.concat(ar || Array.prototype.slice.call(from));
73
- };
74
- var __values = (this && this.__values) || function(o) {
75
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
76
- if (m) return m.call(o);
77
- if (o && typeof o.length === "number") return {
78
- next: function () {
79
- if (o && i >= o.length) o = void 0;
80
- return { value: o && o[i++], done: !o };
81
- }
82
- };
83
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
84
- };
85
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
86
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
87
4
  };
88
5
  Object.defineProperty(exports, "__esModule", { value: true });
89
6
  exports.upsertAllVariables = exports.clearBackups = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
90
- var pipeline_1 = require("../../../pipeline/src/index.js");
91
- var child_process_promise_1 = require("child-process-promise");
92
- var lodash_1 = require("lodash");
93
- var memoizee_1 = __importDefault(require("memoizee"));
94
- var node_fetch_1 = __importDefault(require("node-fetch"));
95
- var open_1 = __importDefault(require("open"));
96
- var preferences_1 = require("./preferences");
97
- var TOKEN_KEY = "gitlab-personal-access-token";
98
- var hasGitlabToken = function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0: return [4 /*yield*/, (0, preferences_1.hasPreference)(TOKEN_KEY)];
101
- case 1: return [2 /*return*/, _a.sent()];
102
- }
103
- }); }); };
7
+ const pipeline_1 = require("../../../pipeline/src/index.js");
8
+ const child_process_promise_1 = require("child-process-promise");
9
+ const lodash_1 = require("lodash");
10
+ const memoizee_1 = __importDefault(require("memoizee"));
11
+ const node_fetch_1 = __importDefault(require("node-fetch"));
12
+ const open_1 = __importDefault(require("open"));
13
+ const preferences_1 = require("./preferences");
14
+ const TOKEN_KEY = "gitlab-personal-access-token";
15
+ const hasGitlabToken = async () => await (0, preferences_1.hasPreference)(TOKEN_KEY);
104
16
  exports.hasGitlabToken = hasGitlabToken;
105
- var setupGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
106
- var shouldContinue, personalToken;
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0:
110
- vorpal.log("");
111
- vorpal.log("☝ in order to access the api, we need a personal access token");
112
- vorpal.log("Its best to create one specifically for catladder");
113
- vorpal.log("");
114
- vorpal.log("☝ we open up the settings page for you!");
115
- vorpal.log("");
116
- return [4 /*yield*/, vorpal.prompt({
117
- default: true,
118
- message: "Ok",
119
- name: "shouldContinue",
120
- type: "prompt",
121
- })];
122
- case 1:
123
- shouldContinue = (_a.sent()).shouldContinue;
124
- (0, open_1.default)("https://git.panter.ch/-/profile/personal_access_tokens");
125
- vorpal.log("Please type in gitlab's personal access token");
126
- return [4 /*yield*/, vorpal.prompt({
127
- type: "string",
128
- name: "personalToken",
129
- default: "",
130
- message: "Your personal access token ",
131
- })];
132
- case 2:
133
- personalToken = (_a.sent()).personalToken;
134
- if (!personalToken) return [3 /*break*/, 4];
135
- return [4 /*yield*/, (0, preferences_1.setPreference)(TOKEN_KEY, personalToken)];
136
- case 3:
137
- _a.sent();
138
- _a.label = 4;
139
- case 4: return [2 /*return*/];
140
- }
17
+ const setupGitlabToken = async (vorpal) => {
18
+ vorpal.log("");
19
+ vorpal.log("☝ in order to access the api, we need a personal access token");
20
+ vorpal.log("Its best to create one specifically for catladder");
21
+ vorpal.log("");
22
+ vorpal.log("☝ we open up the settings page for you!");
23
+ vorpal.log("");
24
+ const { shouldContinue } = await vorpal.prompt({
25
+ default: true,
26
+ message: "Ok",
27
+ name: "shouldContinue",
28
+ type: "prompt",
29
+ });
30
+ (0, open_1.default)("https://git.panter.ch/-/profile/personal_access_tokens");
31
+ vorpal.log("Please type in gitlab's personal access token");
32
+ const { personalToken } = await vorpal.prompt({
33
+ type: "string",
34
+ name: "personalToken",
35
+ default: "",
36
+ message: "Your personal access token ",
141
37
  });
142
- }); };
38
+ if (personalToken) {
39
+ await (0, preferences_1.setPreference)(TOKEN_KEY, personalToken);
40
+ }
41
+ };
143
42
  exports.setupGitlabToken = setupGitlabToken;
144
- var getGitlabToken = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
145
- return __generator(this, function (_a) {
146
- switch (_a.label) {
147
- case 0: return [4 /*yield*/, (0, exports.hasGitlabToken)()];
148
- case 1:
149
- if (!!(_a.sent())) return [3 /*break*/, 3];
150
- if (!vorpal) {
151
- console.error("⚠️ gitlab token missing, please run catladder to set it up");
152
- process.exit(1);
153
- }
154
- return [4 /*yield*/, (0, exports.setupGitlabToken)(vorpal)];
155
- case 2:
156
- _a.sent();
157
- _a.label = 3;
158
- case 3: return [2 /*return*/, (0, preferences_1.getPreference)(TOKEN_KEY)];
43
+ const getGitlabToken = async (vorpal) => {
44
+ if (!(await (0, exports.hasGitlabToken)())) {
45
+ if (!vorpal) {
46
+ console.error("⚠️ gitlab token missing, please run catladder to set it up");
47
+ process.exit(1);
159
48
  }
160
- });
161
- }); };
162
- exports.getGitlabToken = getGitlabToken;
163
- var doGitlabRequest = function (vorpal_1, path_1) {
164
- var args_1 = [];
165
- for (var _i = 2; _i < arguments.length; _i++) {
166
- args_1[_i - 2] = arguments[_i];
49
+ await (0, exports.setupGitlabToken)(vorpal);
167
50
  }
168
- return __awaiter(void 0, __spreadArray([vorpal_1, path_1], __read(args_1), false), void 0, function (vorpal, path, data, method) {
169
- var rootToken, result, _a, _b, _c, _d, _e;
170
- if (data === void 0) { data = undefined; }
171
- if (method === void 0) { method = "GET"; }
172
- return __generator(this, function (_f) {
173
- switch (_f.label) {
174
- case 0: return [4 /*yield*/, (0, exports.getGitlabToken)(vorpal)];
175
- case 1:
176
- rootToken = _f.sent();
177
- return [4 /*yield*/, (0, node_fetch_1.default)("https://git.panter.ch/api/v4/".concat(path), {
178
- method: method,
179
- headers: {
180
- "Content-Type": "application/json",
181
- "Private-Token": rootToken,
182
- },
183
- body: data ? JSON.stringify(data) : undefined,
184
- })];
185
- case 2:
186
- result = _f.sent();
187
- if (result.status >= 200 && result.status < 400) {
188
- if (result.headers.get("content-type") === "application/json") {
189
- return [2 /*return*/, result.json()];
190
- }
191
- return [2 /*return*/, null];
192
- }
193
- if (result.status === 404) {
194
- throw new Error("not found");
195
- }
196
- _a = Error.bind;
197
- _c = (_b = "Could not send request to gitlab api ".concat(path, ": ").concat(result.status, " \"").concat(result.statusText, "\".\nResponse: ")).concat;
198
- _e = (_d = JSON).stringify;
199
- return [4 /*yield*/, result.json()];
200
- case 3: throw new (_a.apply(Error, [void 0, _c.apply(_b, [_e.apply(_d, [_f.sent(), null, 2])])]))();
201
- }
202
- });
51
+ return (0, preferences_1.getPreference)(TOKEN_KEY);
52
+ };
53
+ exports.getGitlabToken = getGitlabToken;
54
+ const doGitlabRequest = async (vorpal, path, data = undefined, method = "GET") => {
55
+ const rootToken = await (0, exports.getGitlabToken)(vorpal);
56
+ //const method = data ? (update ? "PUT" : "POST") : "GET";
57
+ const result = await (0, node_fetch_1.default)(`https://git.panter.ch/api/v4/${path}`, {
58
+ method,
59
+ headers: {
60
+ "Content-Type": "application/json",
61
+ "Private-Token": rootToken,
62
+ },
63
+ body: data ? JSON.stringify(data) : undefined,
203
64
  });
65
+ if (result.status >= 200 && result.status < 400) {
66
+ if (result.headers.get("content-type") === "application/json") {
67
+ return result.json();
68
+ }
69
+ return null;
70
+ }
71
+ if (result.status === 404) {
72
+ throw new Error("not found");
73
+ }
74
+ throw new Error(`Could not send request to gitlab api ${path}: ${result.status} "${result.statusText}".\nResponse: ${JSON.stringify(await result.json(), null, 2)}`);
204
75
  };
205
76
  exports.doGitlabRequest = doGitlabRequest;
206
- var getProjectInfo = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
207
- var gitRemoteOriginUrl, projectPath, project;
208
- return __generator(this, function (_a) {
209
- switch (_a.label) {
210
- case 0: return [4 /*yield*/, (0, child_process_promise_1.exec)("git config --get remote.origin.url")];
211
- case 1:
212
- gitRemoteOriginUrl = (_a.sent()).stdout.trim();
213
- projectPath = /(https:\/\/|git@)git\.panter\.ch[:/]([^.]*)(\.git)?/g.exec(gitRemoteOriginUrl);
214
- return [4 /*yield*/, (0, exports.doGitlabRequest)(vorpal, "projects/".concat(encodeURIComponent(projectPath[2])))];
215
- case 2:
216
- project = _a.sent();
217
- return [2 /*return*/, project];
218
- }
219
- });
220
- }); };
77
+ const getProjectInfo = async (vorpal) => {
78
+ const gitRemoteOriginUrl = (await (0, child_process_promise_1.exec)("git config --get remote.origin.url")).stdout.trim();
79
+ const projectPath = /(https:\/\/|git@)git\.panter\.ch[:/]([^.]*)(\.git)?/g.exec(gitRemoteOriginUrl);
80
+ const project = await (0, exports.doGitlabRequest)(vorpal, `projects/${encodeURIComponent(projectPath[2])}`);
81
+ return project;
82
+ };
221
83
  exports.getProjectInfo = getProjectInfo;
222
- exports.getAllVariables = (0, memoizee_1.default)(function (vorpal_1) {
223
- var args_1 = [];
224
- for (var _i = 1; _i < arguments.length; _i++) {
225
- args_1[_i - 1] = arguments[_i];
226
- }
227
- return __awaiter(void 0, __spreadArray([vorpal_1], __read(args_1), false), void 0, function (vorpal, n) {
228
- var id, all, result, page, promises;
229
- if (n === void 0) { n = 5; }
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0: return [4 /*yield*/, (0, exports.getProjectInfo)(vorpal)];
233
- case 1:
234
- id = (_a.sent()).id;
235
- all = [];
236
- result = [];
237
- page = 1;
238
- _a.label = 2;
239
- case 2:
240
- promises = Array.from({ length: n }, function (_, i) {
241
- return (0, exports.doGitlabRequest)(vorpal, "projects/".concat(id, "/variables?per_page=100&page=").concat(page + i));
242
- });
243
- return [4 /*yield*/, Promise.all(promises)];
244
- case 3:
245
- // Wait for all promises to resolve
246
- result = _a.sent();
247
- // Increment the page by N
248
- page += n;
249
- // Flatten the result array and add it to 'all'
250
- all = __spreadArray(__spreadArray([], __read(all), false), __read(result.flat()), false);
251
- _a.label = 4;
252
- case 4:
253
- if (result.length > 0 && result[result.length - 1].length > 0) return [3 /*break*/, 2];
254
- _a.label = 5;
255
- case 5: return [2 /*return*/, all];
256
- }
84
+ exports.getAllVariables = (0, memoizee_1.default)(async (vorpal, n = 5) => {
85
+ const { id } = await (0, exports.getProjectInfo)(vorpal);
86
+ let all = [];
87
+ let result = [];
88
+ let page = 1;
89
+ do {
90
+ // Create an array of promises for N pages
91
+ const promises = Array.from({ length: n }, (_, i) => {
92
+ return (0, exports.doGitlabRequest)(vorpal, `projects/${id}/variables?per_page=100&page=${page + i}`);
257
93
  });
258
- });
94
+ // Wait for all promises to resolve
95
+ result = await Promise.all(promises);
96
+ // Increment the page by N
97
+ page += n;
98
+ // Flatten the result array and add it to 'all'
99
+ all = [...all, ...result.flat()];
100
+ // Continue only if the last page had results
101
+ } while (result.length > 0 && result[result.length - 1].length > 0);
102
+ return all;
259
103
  }, { promise: true });
260
- var getVariableValueByRawName = function (vorpal, rawName) { return __awaiter(void 0, void 0, void 0, function () {
261
- var allVariables;
104
+ const getVariableValueByRawName = async (vorpal, rawName) => {
262
105
  var _a;
263
- return __generator(this, function (_b) {
264
- switch (_b.label) {
265
- case 0: return [4 /*yield*/, (0, exports.getAllVariables)(vorpal)];
266
- case 1:
267
- allVariables = _b.sent();
268
- return [2 /*return*/, (_a = allVariables.find(function (v) { return v.key === rawName; })) === null || _a === void 0 ? void 0 : _a.value];
269
- }
270
- });
271
- }); };
106
+ const allVariables = await (0, exports.getAllVariables)(vorpal);
107
+ return (_a = allVariables.find((v) => v.key === rawName)) === null || _a === void 0 ? void 0 : _a.value;
108
+ };
272
109
  exports.getVariableValueByRawName = getVariableValueByRawName;
273
- var maskableRegex = new RegExp("^[a-zA-Z0-9_+=/@:.~-]{8,}$"); // SEE https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/spec/frontend/ci_variable_list/components/ci_variable_modal_spec.js#L20
274
- var isMaskable = function (value) { return maskableRegex.test(value); };
275
- var createVariable = function (vorpal_1, projectId_1, key_1, value_1) {
276
- var args_1 = [];
277
- for (var _i = 4; _i < arguments.length; _i++) {
278
- args_1[_i - 4] = arguments[_i];
279
- }
280
- return __awaiter(void 0, __spreadArray([vorpal_1, projectId_1, key_1, value_1], __read(args_1), false), void 0, function (vorpal, projectId, key, value, masked, environment_scope) {
281
- if (masked === void 0) { masked = true; }
282
- if (environment_scope === void 0) { environment_scope = "*"; }
283
- return __generator(this, function (_a) {
284
- switch (_a.label) {
285
- case 0: return [4 /*yield*/, (0, exports.doGitlabRequest)(vorpal, "projects/".concat(projectId, "/variables"), {
286
- key: key,
287
- value: value,
288
- masked: masked && isMaskable(value),
289
- environment_scope: environment_scope,
290
- }, "POST")];
291
- case 1: return [2 /*return*/, _a.sent()];
292
- }
293
- });
294
- });
110
+ const maskableRegex = new RegExp("^[a-zA-Z0-9_+=/@:.~-]{8,}$"); // SEE https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/spec/frontend/ci_variable_list/components/ci_variable_modal_spec.js#L20
111
+ const isMaskable = (value) => maskableRegex.test(value);
112
+ const createVariable = async (vorpal, projectId, key, value, masked = true, environment_scope = "*") => {
113
+ return await (0, exports.doGitlabRequest)(vorpal, `projects/${projectId}/variables`, {
114
+ key,
115
+ value,
116
+ masked: masked && isMaskable(value),
117
+ environment_scope,
118
+ }, "POST");
295
119
  };
296
- var updateVariable = function (vorpal_1, projectId_1, key_1, value_1) {
297
- var args_1 = [];
298
- for (var _i = 4; _i < arguments.length; _i++) {
299
- args_1[_i - 4] = arguments[_i];
300
- }
301
- return __awaiter(void 0, __spreadArray([vorpal_1, projectId_1, key_1, value_1], __read(args_1), false), void 0, function (vorpal, projectId, key, value, masked) {
302
- if (masked === void 0) { masked = true; }
303
- return __generator(this, function (_a) {
304
- switch (_a.label) {
305
- case 0: return [4 /*yield*/, (0, exports.doGitlabRequest)(vorpal, "projects/".concat(projectId, "/variables/").concat(key), {
306
- value: value,
307
- masked: masked && isMaskable(value),
308
- }, "PUT")];
309
- case 1: return [2 /*return*/, _a.sent()];
310
- }
311
- });
312
- });
120
+ const updateVariable = async (vorpal, projectId, key, value, masked = true) => {
121
+ return await (0, exports.doGitlabRequest)(vorpal, `projects/${projectId}/variables/${key}`, {
122
+ value,
123
+ masked: masked && isMaskable(value),
124
+ }, "PUT");
125
+ };
126
+ const deleteVariable = async (vorpal, projectId, key) => {
127
+ return await (0, exports.doGitlabRequest)(vorpal, `projects/${projectId}/variables/${key}`, undefined, "DELETE");
313
128
  };
314
- var deleteVariable = function (vorpal, projectId, key) { return __awaiter(void 0, void 0, void 0, function () {
315
- return __generator(this, function (_a) {
316
- switch (_a.label) {
317
- case 0: return [4 /*yield*/, (0, exports.doGitlabRequest)(vorpal, "projects/".concat(projectId, "/variables/").concat(key), undefined, "DELETE")];
318
- case 1: return [2 /*return*/, _a.sent()];
129
+ const getAllCatladderEnvVarsInGitlab = async (vorpal) => {
130
+ const allVariables = await (0, exports.getAllVariables)(vorpal).then((v) => v.reduce((acc, variable) => {
131
+ var _a, _b, _c, _d;
132
+ const { key } = variable;
133
+ if (key.startsWith("CL_")) {
134
+ const matchBackup = key.match(/(CL_.*)_backup_([0-9]+)/);
135
+ if (matchBackup) {
136
+ const key = matchBackup[1];
137
+ const timestamp = Number(matchBackup[2]);
138
+ const backups = [...((_b = (_a = acc[key]) === null || _a === void 0 ? void 0 : _a.backups) !== null && _b !== void 0 ? _b : []), timestamp];
139
+ return {
140
+ ...acc,
141
+ [key]: {
142
+ ...((_c = acc[key]) !== null && _c !== void 0 ? _c : {}), // add value
143
+ backups,
144
+ },
145
+ };
146
+ }
147
+ return {
148
+ ...acc,
149
+ [key]: {
150
+ backups: [],
151
+ ...((_d = acc[key]) !== null && _d !== void 0 ? _d : {}), // may add backups
152
+ value: variable.value,
153
+ },
154
+ };
319
155
  }
320
- });
321
- }); };
322
- var getAllCatladderEnvVarsInGitlab = function (vorpal) { return __awaiter(void 0, void 0, void 0, function () {
323
- var allVariables;
324
- return __generator(this, function (_a) {
325
- switch (_a.label) {
326
- case 0: return [4 /*yield*/, (0, exports.getAllVariables)(vorpal).then(function (v) {
327
- return v.reduce(function (acc, variable) {
328
- var _a, _b;
329
- var _c, _d, _e, _f;
330
- var key = variable.key;
331
- if (key.startsWith("CL_")) {
332
- var matchBackup = key.match(/(CL_.*)_backup_([0-9]+)/);
333
- if (matchBackup) {
334
- var key_1 = matchBackup[1];
335
- var timestamp = Number(matchBackup[2]);
336
- var backups = __spreadArray(__spreadArray([], __read(((_d = (_c = acc[key_1]) === null || _c === void 0 ? void 0 : _c.backups) !== null && _d !== void 0 ? _d : [])), false), [timestamp], false);
337
- return __assign(__assign({}, acc), (_a = {}, _a[key_1] = __assign(__assign({}, ((_e = acc[key_1]) !== null && _e !== void 0 ? _e : {})), { // add value
338
- backups: backups }), _a));
339
- }
340
- return __assign(__assign({}, acc), (_b = {}, _b[key] = __assign(__assign({ backups: [] }, ((_f = acc[key]) !== null && _f !== void 0 ? _f : {})), { value: variable.value }), _b));
341
- }
342
- return acc;
343
- }, {});
344
- })];
345
- case 1:
346
- allVariables = _a.sent();
347
- return [2 /*return*/, allVariables];
156
+ return acc;
157
+ }, {}));
158
+ return allVariables;
159
+ };
160
+ const getBackupKey = (fullKey, timestamp) => `${fullKey}_backup_${timestamp}`;
161
+ const clearBackups = async (vorpal, keep) => {
162
+ const existingVariables = await getAllCatladderEnvVarsInGitlab(vorpal);
163
+ const { id } = await (0, exports.getProjectInfo)(vorpal);
164
+ for (const [key, { backups }] of Object.entries(existingVariables)) {
165
+ const backupsSorted = backups.sort((a, b) => b - a);
166
+ //const toKeep = backupsSorted.slice(0, keep);
167
+ const toDelete = backupsSorted.slice(keep);
168
+ for (const timestamp of toDelete) {
169
+ await deleteVariable(vorpal, id, getBackupKey(key, timestamp));
348
170
  }
349
- });
350
- }); };
351
- var getBackupKey = function (fullKey, timestamp) {
352
- return "".concat(fullKey, "_backup_").concat(timestamp);
171
+ }
353
172
  };
354
- var clearBackups = function (vorpal, keep) { return __awaiter(void 0, void 0, void 0, function () {
355
- var existingVariables, id, _a, _b, _c, key, backups, backupsSorted, toDelete, toDelete_1, toDelete_1_1, timestamp, e_1_1, e_2_1;
356
- var e_2, _d, e_1, _e;
357
- return __generator(this, function (_f) {
358
- switch (_f.label) {
359
- case 0: return [4 /*yield*/, getAllCatladderEnvVarsInGitlab(vorpal)];
360
- case 1:
361
- existingVariables = _f.sent();
362
- return [4 /*yield*/, (0, exports.getProjectInfo)(vorpal)];
363
- case 2:
364
- id = (_f.sent()).id;
365
- _f.label = 3;
366
- case 3:
367
- _f.trys.push([3, 14, 15, 16]);
368
- _a = __values(Object.entries(existingVariables)), _b = _a.next();
369
- _f.label = 4;
370
- case 4:
371
- if (!!_b.done) return [3 /*break*/, 13];
372
- _c = __read(_b.value, 2), key = _c[0], backups = _c[1].backups;
373
- backupsSorted = backups.sort(function (a, b) { return b - a; });
374
- toDelete = backupsSorted.slice(keep);
375
- _f.label = 5;
376
- case 5:
377
- _f.trys.push([5, 10, 11, 12]);
378
- toDelete_1 = (e_1 = void 0, __values(toDelete)), toDelete_1_1 = toDelete_1.next();
379
- _f.label = 6;
380
- case 6:
381
- if (!!toDelete_1_1.done) return [3 /*break*/, 9];
382
- timestamp = toDelete_1_1.value;
383
- return [4 /*yield*/, deleteVariable(vorpal, id, getBackupKey(key, timestamp))];
384
- case 7:
385
- _f.sent();
386
- _f.label = 8;
387
- case 8:
388
- toDelete_1_1 = toDelete_1.next();
389
- return [3 /*break*/, 6];
390
- case 9: return [3 /*break*/, 12];
391
- case 10:
392
- e_1_1 = _f.sent();
393
- e_1 = { error: e_1_1 };
394
- return [3 /*break*/, 12];
395
- case 11:
396
- try {
397
- if (toDelete_1_1 && !toDelete_1_1.done && (_e = toDelete_1.return)) _e.call(toDelete_1);
398
- }
399
- finally { if (e_1) throw e_1.error; }
400
- return [7 /*endfinally*/];
401
- case 12:
402
- _b = _a.next();
403
- return [3 /*break*/, 4];
404
- case 13: return [3 /*break*/, 16];
405
- case 14:
406
- e_2_1 = _f.sent();
407
- e_2 = { error: e_2_1 };
408
- return [3 /*break*/, 16];
409
- case 15:
410
- try {
411
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
173
+ exports.clearBackups = clearBackups;
174
+ const upsertAllVariables = async (vorpal, variables, env, componentName, backup = true, masked = true) => {
175
+ var _a;
176
+ const { id } = await (0, exports.getProjectInfo)(vorpal);
177
+ // we list all existing variables. We also gather backup versions, but its currently unused
178
+ const existingVariables = await getAllCatladderEnvVarsInGitlab(vorpal);
179
+ for (const [key, value] of Object.entries(variables !== null && variables !== void 0 ? variables : {})) {
180
+ const fullKey = (0, pipeline_1.getSecretVarName)(env, componentName, key);
181
+ const valueSanitized = (0, lodash_1.isObject)(value) ? JSON.stringify(value) : `${value}`;
182
+ const exists = (0, lodash_1.has)(existingVariables, fullKey);
183
+ const oldValue = (_a = existingVariables[fullKey]) === null || _a === void 0 ? void 0 : _a.value;
184
+ const changed = oldValue !== valueSanitized;
185
+ if (changed) {
186
+ if (exists) {
187
+ vorpal.log(`changed: ${key}`);
188
+ await updateVariable(vorpal, id, fullKey, valueSanitized, masked);
189
+ // write backup
190
+ if (backup) {
191
+ await createVariable(vorpal, id, getBackupKey(fullKey, new Date().getTime()), oldValue, masked, "_backup");
412
192
  }
413
- finally { if (e_2) throw e_2.error; }
414
- return [7 /*endfinally*/];
415
- case 16: return [2 /*return*/];
193
+ }
194
+ else {
195
+ vorpal.log(`new : ${key}`);
196
+ await createVariable(vorpal, id, fullKey, valueSanitized, masked);
197
+ }
198
+ }
199
+ else {
200
+ vorpal.log(`skip : ${key}`);
416
201
  }
417
- });
418
- }); };
419
- exports.clearBackups = clearBackups;
420
- var upsertAllVariables = function (vorpal_1, variables_1, env_1, componentName_1) {
421
- var args_1 = [];
422
- for (var _i = 4; _i < arguments.length; _i++) {
423
- args_1[_i - 4] = arguments[_i];
424
202
  }
425
- return __awaiter(void 0, __spreadArray([vorpal_1, variables_1, env_1, componentName_1], __read(args_1), false), void 0, function (vorpal, variables, env, componentName, backup, masked) {
426
- var id, existingVariables, _a, _b, _c, key, value, fullKey, valueSanitized, exists, oldValue, changed, e_3_1;
427
- var e_3, _d;
428
- var _e;
429
- if (backup === void 0) { backup = true; }
430
- if (masked === void 0) { masked = true; }
431
- return __generator(this, function (_f) {
432
- switch (_f.label) {
433
- case 0: return [4 /*yield*/, (0, exports.getProjectInfo)(vorpal)];
434
- case 1:
435
- id = (_f.sent()).id;
436
- return [4 /*yield*/, getAllCatladderEnvVarsInGitlab(vorpal)];
437
- case 2:
438
- existingVariables = _f.sent();
439
- _f.label = 3;
440
- case 3:
441
- _f.trys.push([3, 14, 15, 16]);
442
- _a = __values(Object.entries(variables !== null && variables !== void 0 ? variables : {})), _b = _a.next();
443
- _f.label = 4;
444
- case 4:
445
- if (!!_b.done) return [3 /*break*/, 13];
446
- _c = __read(_b.value, 2), key = _c[0], value = _c[1];
447
- fullKey = (0, pipeline_1.getSecretVarName)(env, componentName, key);
448
- valueSanitized = (0, lodash_1.isObject)(value) ? JSON.stringify(value) : "".concat(value);
449
- exists = (0, lodash_1.has)(existingVariables, fullKey);
450
- oldValue = (_e = existingVariables[fullKey]) === null || _e === void 0 ? void 0 : _e.value;
451
- changed = oldValue !== valueSanitized;
452
- if (!changed) return [3 /*break*/, 11];
453
- if (!exists) return [3 /*break*/, 8];
454
- vorpal.log("changed: ".concat(key));
455
- return [4 /*yield*/, updateVariable(vorpal, id, fullKey, valueSanitized, masked)];
456
- case 5:
457
- _f.sent();
458
- if (!backup) return [3 /*break*/, 7];
459
- return [4 /*yield*/, createVariable(vorpal, id, getBackupKey(fullKey, new Date().getTime()), oldValue, masked, "_backup")];
460
- case 6:
461
- _f.sent();
462
- _f.label = 7;
463
- case 7: return [3 /*break*/, 10];
464
- case 8:
465
- vorpal.log("new : ".concat(key));
466
- return [4 /*yield*/, createVariable(vorpal, id, fullKey, valueSanitized, masked)];
467
- case 9:
468
- _f.sent();
469
- _f.label = 10;
470
- case 10: return [3 /*break*/, 12];
471
- case 11:
472
- vorpal.log("skip : ".concat(key));
473
- _f.label = 12;
474
- case 12:
475
- _b = _a.next();
476
- return [3 /*break*/, 4];
477
- case 13: return [3 /*break*/, 16];
478
- case 14:
479
- e_3_1 = _f.sent();
480
- e_3 = { error: e_3_1 };
481
- return [3 /*break*/, 16];
482
- case 15:
483
- try {
484
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
485
- }
486
- finally { if (e_3) throw e_3.error; }
487
- return [7 /*endfinally*/];
488
- case 16:
489
- exports.getAllVariables.clear();
490
- return [2 /*return*/];
491
- }
492
- });
493
- });
203
+ exports.getAllVariables.clear();
494
204
  };
495
205
  exports.upsertAllVariables = upsertAllVariables;
496
206
  //# sourceMappingURL=gitlab.js.map