@catladder/pipeline 0.0.0-more-collapse-deeb54d7 → 0.0.0-multiple-gitlab-includes-3df5566d

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 (597) hide show
  1. package/README.md +17 -0
  2. package/dist/bash/BashExpression.d.ts +36 -0
  3. package/dist/bash/BashExpression.js +114 -0
  4. package/dist/bash/bashEscape.d.ts +34 -0
  5. package/dist/bash/bashEscape.js +114 -0
  6. package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
  7. package/dist/bash/bashExpressionPerPipelineType.js +11 -0
  8. package/dist/bash/bashYaml.d.ts +10 -0
  9. package/dist/bash/bashYaml.js +69 -0
  10. package/dist/bash/getInjectVarsScript.d.ts +2 -0
  11. package/dist/bash/getInjectVarsScript.js +47 -0
  12. package/dist/bash/index.d.ts +2 -0
  13. package/dist/bash/index.js +26 -0
  14. package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
  15. package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
  16. package/dist/build/base/__tests__/createArtifactsConfig.test.js +3 -1
  17. package/dist/build/base/constants.d.ts +0 -1
  18. package/dist/build/base/constants.js +4 -3
  19. package/dist/build/base/createAppBuildJob.d.ts +5 -3
  20. package/dist/build/base/createAppBuildJob.js +18 -15
  21. package/dist/build/base/createArtifactsConfig.d.ts +1 -1
  22. package/dist/build/base/createArtifactsConfig.js +3 -1
  23. package/dist/build/base/createBuildJobDefinition.d.ts +6 -0
  24. package/dist/build/base/createBuildJobDefinition.js +58 -0
  25. package/dist/build/base/index.d.ts +7 -4
  26. package/dist/build/base/index.js +17 -6
  27. package/dist/build/base/writeBuildInfo.d.ts +2 -2
  28. package/dist/build/base/writeBuildInfo.js +4 -3
  29. package/dist/build/base/writeDotEnv.d.ts +3 -2
  30. package/dist/build/base/writeDotEnv.js +30 -6
  31. package/dist/build/cache/createJobCache.d.ts +7 -0
  32. package/dist/build/cache/createJobCache.js +115 -0
  33. package/dist/build/cache/getAllCacheConfigsFromConfig.d.ts +3 -0
  34. package/dist/build/cache/getAllCacheConfigsFromConfig.js +64 -0
  35. package/dist/build/cache/transformLegacyJobCache.d.ts +3 -0
  36. package/dist/build/cache/transformLegacyJobCache.js +29 -0
  37. package/dist/build/custom/__tests__/testJob.test.js +15 -16
  38. package/dist/build/custom/buildJob.d.ts +2 -2
  39. package/dist/build/custom/buildJob.js +8 -67
  40. package/dist/build/custom/index.d.ts +2 -2
  41. package/dist/build/custom/index.js +3 -1
  42. package/dist/build/custom/testJob.d.ts +4 -4
  43. package/dist/build/custom/testJob.js +25 -21
  44. package/dist/build/docker.d.ts +48 -39
  45. package/dist/build/docker.js +112 -37
  46. package/dist/build/index.d.ts +14 -7
  47. package/dist/build/index.js +44 -16
  48. package/dist/build/node/buildJob.d.ts +6 -2
  49. package/dist/build/node/buildJob.js +39 -48
  50. package/dist/build/node/cache.d.ts +4 -5
  51. package/dist/build/node/cache.js +18 -23
  52. package/dist/build/node/constants.d.ts +0 -1
  53. package/dist/build/node/constants.js +5 -4
  54. package/dist/build/node/index.d.ts +4 -4
  55. package/dist/build/node/index.js +3 -1
  56. package/dist/build/node/meteor.d.ts +2 -2
  57. package/dist/build/node/meteor.js +10 -12
  58. package/dist/build/node/testJob.d.ts +3 -2
  59. package/dist/build/node/testJob.js +29 -19
  60. package/dist/build/node/yarn.d.ts +3 -2
  61. package/dist/build/node/yarn.js +13 -13
  62. package/dist/build/rails/build.d.ts +2 -2
  63. package/dist/build/rails/build.js +24 -8
  64. package/dist/build/rails/index.d.ts +2 -2
  65. package/dist/build/rails/index.js +3 -1
  66. package/dist/build/rails/test.d.ts +2 -2
  67. package/dist/build/rails/test.js +20 -12
  68. package/dist/build/sbom.d.ts +2 -2
  69. package/dist/build/sbom.js +9 -6
  70. package/dist/build/types.d.ts +152 -47
  71. package/dist/build/types.js +10 -2
  72. package/dist/catladder-gitlab.js +129 -49
  73. package/dist/config/__tests__/configruedEnvs.test.js +3 -1
  74. package/dist/config/__tests__/getAllEnvs.test.js +79 -0
  75. package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +1 -0
  76. package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +73 -0
  77. package/dist/config/configruedEnvs.js +3 -1
  78. package/dist/config/index.js +13 -7
  79. package/dist/config/readConfig.d.ts +2 -2
  80. package/dist/config/readConfig.js +191 -40
  81. package/dist/constants.js +5 -3
  82. package/dist/context/createAllComponentsContext.d.ts +12 -0
  83. package/dist/{pipeline/commitInfo/getCommitInfo.js → context/createAllComponentsContext.js} +35 -19
  84. package/dist/context/createComponentContext.d.ts +11 -0
  85. package/dist/context/createComponentContext.js +255 -0
  86. package/dist/context/createWorkspaceContext.d.ts +16 -0
  87. package/dist/context/createWorkspaceContext.js +173 -0
  88. package/dist/context/getBuildInfoVariables.d.ts +6 -0
  89. package/dist/context/getBuildInfoVariables.js +55 -0
  90. package/dist/context/getEnvConfig.js +5 -2
  91. package/dist/context/getEnvType.js +3 -1
  92. package/dist/context/getEnvironment.d.ts +3 -3
  93. package/dist/context/getEnvironment.js +11 -12
  94. package/dist/context/getEnvironmentContext.d.ts +7 -3
  95. package/dist/context/getEnvironmentContext.js +21 -11
  96. package/dist/context/getEnvironmentVariables.d.ts +22 -5
  97. package/dist/context/getEnvironmentVariables.js +81 -49
  98. package/dist/context/getLabels.d.ts +2 -2
  99. package/dist/context/getLabels.js +9 -7
  100. package/dist/context/getReviewSlug.d.ts +4 -0
  101. package/dist/context/getReviewSlug.js +21 -0
  102. package/dist/context/index.d.ts +2 -4
  103. package/dist/context/index.js +15 -162
  104. package/dist/context/transformJobOnlyVars.d.ts +5 -2
  105. package/dist/context/transformJobOnlyVars.js +4 -2
  106. package/dist/context/utils/envVars.d.ts +1 -1
  107. package/dist/context/utils/envVars.js +5 -2
  108. package/dist/defaults/index.js +3 -1
  109. package/dist/deploy/base/deploy.d.ts +3 -3
  110. package/dist/deploy/base/deploy.js +38 -22
  111. package/dist/deploy/base/index.d.ts +3 -5
  112. package/dist/deploy/base/index.js +3 -1
  113. package/dist/deploy/base/rollback.d.ts +3 -3
  114. package/dist/deploy/base/rollback.js +13 -9
  115. package/dist/deploy/base/stop.d.ts +3 -3
  116. package/dist/deploy/base/stop.js +16 -11
  117. package/dist/deploy/base/types.d.ts +1 -1
  118. package/dist/deploy/base/types.js +3 -1
  119. package/dist/deploy/base/variables.d.ts +0 -1
  120. package/dist/deploy/base/variables.js +4 -3
  121. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +19 -0
  122. package/dist/deploy/cloudRun/artifactsRegistry.js +125 -0
  123. package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
  124. package/dist/deploy/cloudRun/cleanup.js +53 -0
  125. package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
  126. package/dist/deploy/cloudRun/cloudRunRevisions.js +62 -0
  127. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +7 -0
  128. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +207 -0
  129. package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
  130. package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +96 -0
  131. package/dist/deploy/cloudRun/createJobs/common.d.ts +18 -0
  132. package/dist/deploy/cloudRun/createJobs/common.js +93 -0
  133. package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
  134. package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
  135. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.d.ts +2 -0
  136. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +62 -0
  137. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.d.ts +2 -0
  138. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +54 -0
  139. package/dist/deploy/cloudRun/createJobs/index.d.ts +3 -0
  140. package/dist/deploy/cloudRun/createJobs/index.js +57 -0
  141. package/dist/deploy/cloudRun/createJobs/volumes.d.ts +3 -0
  142. package/dist/deploy/cloudRun/createJobs/volumes.js +58 -0
  143. package/dist/deploy/cloudRun/index.d.ts +2 -2
  144. package/dist/deploy/cloudRun/index.js +17 -10
  145. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +3 -1
  146. package/dist/deploy/cloudRun/utils/createArgsString.js +25 -17
  147. package/dist/deploy/cloudRun/utils/database.d.ts +6 -4
  148. package/dist/deploy/cloudRun/utils/database.js +28 -15
  149. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -2
  150. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +4 -2
  151. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
  152. package/dist/deploy/cloudRun/utils/getServiceName.js +10 -0
  153. package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -1
  154. package/dist/deploy/cloudRun/utils/jobName.js +4 -2
  155. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
  156. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +18 -0
  157. package/dist/deploy/cloudSql/utils.d.ts +2 -1
  158. package/dist/deploy/cloudSql/utils.js +7 -2
  159. package/dist/deploy/custom/deployJob.d.ts +2 -2
  160. package/dist/deploy/custom/deployJob.js +10 -9
  161. package/dist/deploy/custom/index.d.ts +2 -2
  162. package/dist/deploy/custom/index.js +3 -1
  163. package/dist/deploy/dockerTag/deployJob.d.ts +2 -2
  164. package/dist/deploy/dockerTag/deployJob.js +38 -7
  165. package/dist/deploy/dockerTag/index.d.ts +2 -2
  166. package/dist/deploy/dockerTag/index.js +3 -1
  167. package/dist/deploy/index.d.ts +10 -9
  168. package/dist/deploy/index.js +13 -7
  169. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
  170. package/dist/deploy/kubernetes/additionalSecretKeys.js +3 -1
  171. package/dist/deploy/kubernetes/cloudSql/index.d.ts +6 -5
  172. package/dist/deploy/kubernetes/cloudSql/index.js +14 -21
  173. package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
  174. package/dist/deploy/kubernetes/deployJob.js +23 -22
  175. package/dist/deploy/kubernetes/index.d.ts +2 -2
  176. package/dist/deploy/kubernetes/index.js +52 -15
  177. package/dist/deploy/kubernetes/kubeEnv.d.ts +5 -4
  178. package/dist/deploy/kubernetes/kubeEnv.js +9 -5
  179. package/dist/deploy/kubernetes/kubeValues.d.ts +5 -6
  180. package/dist/deploy/kubernetes/kubeValues.js +16 -18
  181. package/dist/deploy/kubernetes/mongodb.d.ts +2 -2
  182. package/dist/deploy/kubernetes/mongodb.js +14 -12
  183. package/dist/deploy/sbom.d.ts +4 -4
  184. package/dist/deploy/sbom.js +7 -4
  185. package/dist/deploy/types/base.d.ts +5 -5
  186. package/dist/deploy/types/base.js +3 -1
  187. package/dist/deploy/types/custom.d.ts +3 -7
  188. package/dist/deploy/types/custom.js +3 -1
  189. package/dist/deploy/types/dockerTag.d.ts +3 -1
  190. package/dist/deploy/types/dockerTag.js +3 -1
  191. package/dist/deploy/types/googleCloudRun.d.ts +127 -24
  192. package/dist/deploy/types/googleCloudRun.js +3 -1
  193. package/dist/deploy/types/index.d.ts +6 -6
  194. package/dist/deploy/types/index.js +14 -8
  195. package/dist/deploy/types/kubernetes.d.ts +25 -54
  196. package/dist/deploy/types/kubernetes.js +3 -1
  197. package/dist/deploy/utils.d.ts +2 -2
  198. package/dist/deploy/utils.js +5 -2
  199. package/dist/globalScriptFunctions/index.d.ts +14 -0
  200. package/dist/globalScriptFunctions/index.js +37 -0
  201. package/dist/index.d.ts +5 -2
  202. package/dist/index.js +18 -9
  203. package/dist/packageInfos.d.ts +4 -0
  204. package/dist/packageInfos.js +20 -0
  205. package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +1 -0
  206. package/dist/pipeline/__tests__/getPipelineStages.test.js +73 -0
  207. package/dist/pipeline/createAllJobs.d.ts +16 -6
  208. package/dist/pipeline/createAllJobs.js +99 -27
  209. package/dist/pipeline/createJobsForComponent.d.ts +2 -2
  210. package/dist/pipeline/createJobsForComponent.js +9 -149
  211. package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
  212. package/dist/pipeline/createJobsForWorkspace.js +12 -0
  213. package/dist/pipeline/createMainPipeline.d.ts +3 -0
  214. package/dist/pipeline/createMainPipeline.js +283 -0
  215. package/dist/pipeline/generatePipelineFiles.d.ts +7 -0
  216. package/dist/pipeline/generatePipelineFiles.js +304 -0
  217. package/dist/pipeline/getPipelineStages.d.ts +7 -0
  218. package/dist/pipeline/getPipelineStages.js +56 -0
  219. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +11 -14
  220. package/dist/pipeline/gitlab/createGitlabJobs.js +258 -74
  221. package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +9 -0
  222. package/dist/pipeline/gitlab/createGitlabPipeline.js +77 -0
  223. package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +33 -0
  224. package/dist/pipeline/gitlab/gitlabReleaseJobs.js +25 -0
  225. package/dist/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
  226. package/dist/pipeline/gitlab/sortGitLabJobDefProps.js +27 -0
  227. package/dist/pipeline/index.d.ts +3 -2
  228. package/dist/pipeline/index.js +16 -9
  229. package/dist/pipeline/packageManager.d.ts +3 -2
  230. package/dist/pipeline/packageManager.js +50 -24
  231. package/dist/pipeline/yarn/yarnUtils.d.ts +3 -2
  232. package/dist/pipeline/yarn/yarnUtils.js +65 -17
  233. package/dist/rules/index.d.ts +7 -2
  234. package/dist/rules/index.js +34 -16
  235. package/dist/runner/index.d.ts +1 -1
  236. package/dist/runner/index.js +3 -1
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/types/config.d.ts +44 -29
  239. package/dist/types/config.js +5 -2
  240. package/dist/types/context.d.ts +124 -40
  241. package/dist/types/context.js +12 -1
  242. package/dist/types/environmentContext.d.ts +15 -12
  243. package/dist/types/environmentContext.js +3 -1
  244. package/dist/types/gitlab-ci-yml.d.ts +30 -30
  245. package/dist/types/gitlab-ci-yml.js +3 -2
  246. package/dist/types/gitlab-types.d.ts +8 -8
  247. package/dist/types/gitlab-types.js +3 -1
  248. package/dist/types/index.d.ts +1 -0
  249. package/dist/types/index.js +14 -7
  250. package/dist/types/jobDefinition.d.ts +11 -0
  251. package/dist/types/jobDefinition.js +5 -0
  252. package/dist/types/jobs.d.ts +30 -15
  253. package/dist/types/jobs.js +3 -1
  254. package/dist/types/pipeline.d.ts +3 -3
  255. package/dist/types/pipeline.js +3 -1
  256. package/dist/types/utils.d.ts +1 -1
  257. package/dist/types/utils.js +3 -1
  258. package/dist/utils/gitlab.js +7 -2
  259. package/dist/utils/index.d.ts +2 -1
  260. package/dist/utils/index.js +10 -3
  261. package/dist/utils/jsonParse.d.ts +1 -0
  262. package/dist/utils/jsonParse.js +14 -0
  263. package/dist/utils/removeUndefined.d.ts +1 -0
  264. package/dist/utils/removeUndefined.js +36 -0
  265. package/dist/utils/writeFiles.d.ts +11 -0
  266. package/dist/{pipeline/commitInfo/getBuildId.js → utils/writeFiles.js} +39 -22
  267. package/dist/variables/VariableValue.d.ts +3 -0
  268. package/dist/variables/VariableValue.js +5 -0
  269. package/dist/variables/VariableValueContainingReferences.d.ts +24 -0
  270. package/dist/variables/VariableValueContainingReferences.js +97 -0
  271. package/dist/variables/__tests__/resolveAllReferences.test.d.ts +1 -0
  272. package/dist/variables/__tests__/resolveAllReferences.test.js +218 -0
  273. package/dist/variables/__tests__/resolveAllReferencesOnce.test.d.ts +1 -0
  274. package/dist/variables/__tests__/resolveAllReferencesOnce.test.js +171 -0
  275. package/dist/variables/__tests__/resolveReferencesOnce.test.d.ts +1 -0
  276. package/dist/variables/__tests__/resolveReferencesOnce.test.js +199 -0
  277. package/dist/variables/__tests__/variableValue.test.d.ts +1 -0
  278. package/dist/variables/__tests__/variableValue.test.js +36 -0
  279. package/dist/variables/resolveAllReferences.d.ts +3 -0
  280. package/dist/{pipeline/createChildPipeline.js → variables/resolveAllReferences.js} +44 -47
  281. package/dist/variables/resolveAllReferencesOnce.d.ts +5 -0
  282. package/dist/variables/resolveAllReferencesOnce.js +191 -0
  283. package/dist/variables/resolveReferencesOnce.d.ts +8 -0
  284. package/dist/variables/resolveReferencesOnce.js +22 -0
  285. package/examples/.test-gen-ignore +1 -0
  286. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +1418 -0
  287. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +1418 -0
  288. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +1418 -0
  289. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +1434 -0
  290. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +1418 -0
  291. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +1526 -0
  292. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +1418 -0
  293. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +1436 -0
  294. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +1418 -0
  295. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +1418 -0
  296. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +1418 -0
  297. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +1418 -0
  298. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +1490 -0
  299. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +1302 -0
  300. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +1418 -0
  301. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +2998 -0
  302. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +1733 -0
  303. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +1426 -0
  304. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +1285 -0
  305. package/examples/__snapshots__/custom-build-job.test.ts.snap +1174 -0
  306. package/examples/__snapshots__/custom-deploy.test.ts.snap +1168 -0
  307. package/examples/__snapshots__/custom-envs.test.ts.snap +798 -0
  308. package/examples/__snapshots__/custom-sbom-java.test.ts.snap +1182 -0
  309. package/examples/__snapshots__/git-submodule.test.ts.snap +1419 -0
  310. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +1759 -0
  311. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +1779 -0
  312. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +3357 -0
  313. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +1883 -0
  314. package/examples/__snapshots__/local-dot-env.test.ts.snap +1342 -0
  315. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +1836 -0
  316. package/examples/__snapshots__/multiline-var.test.ts.snap +5679 -0
  317. package/examples/__snapshots__/native-app.test.ts.snap +2206 -0
  318. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +1418 -0
  319. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +1426 -0
  320. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +1487 -0
  321. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +1471 -0
  322. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +4739 -0
  323. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +1368 -0
  324. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +2338 -0
  325. package/examples/__snapshots__/workspace-api-www.test.ts.snap +2330 -0
  326. package/examples/__utils__/helpers.ts +9 -12
  327. package/examples/cloud-run-http2.test.ts +11 -0
  328. package/examples/cloud-run-http2.ts +29 -0
  329. package/examples/cloud-run-memory-limit.test.ts +11 -0
  330. package/examples/cloud-run-memory-limit.ts +10 -5
  331. package/examples/cloud-run-meteor-with-worker.test.ts +11 -0
  332. package/examples/cloud-run-meteor-with-worker.ts +37 -0
  333. package/examples/cloud-run-nextjs.test.ts +11 -0
  334. package/examples/cloud-run-nextjs.ts +28 -0
  335. package/examples/cloud-run-no-cpu-throttling.test.ts +11 -0
  336. package/examples/cloud-run-no-cpu-throttling.ts +6 -4
  337. package/examples/cloud-run-no-service.test.ts +11 -0
  338. package/examples/cloud-run-no-service.ts +33 -0
  339. package/examples/cloud-run-non-public.test.ts +11 -0
  340. package/examples/cloud-run-non-public.ts +5 -4
  341. package/examples/cloud-run-post-stop-job.test.ts +11 -0
  342. package/examples/cloud-run-post-stop-job.ts +42 -0
  343. package/examples/cloud-run-service-custom-vpc-connector.test.ts +11 -0
  344. package/examples/cloud-run-service-custom-vpc-connector.ts +30 -0
  345. package/examples/cloud-run-service-custom-vpc.test.ts +11 -0
  346. package/examples/cloud-run-service-custom-vpc.ts +31 -0
  347. package/examples/cloud-run-service-gen2.test.ts +11 -0
  348. package/examples/cloud-run-service-gen2.ts +29 -0
  349. package/examples/cloud-run-service-increase-timout.test.ts +11 -0
  350. package/examples/cloud-run-service-increase-timout.ts +29 -0
  351. package/examples/cloud-run-service-with-volumes.test.ts +11 -0
  352. package/examples/cloud-run-service-with-volumes.ts +56 -0
  353. package/examples/cloud-run-storybook.test.ts +11 -0
  354. package/examples/cloud-run-storybook.ts +33 -0
  355. package/examples/cloud-run-with-ngnix.test.ts +11 -0
  356. package/examples/cloud-run-with-ngnix.ts +29 -0
  357. package/examples/cloud-run-with-sql-reuse-db.test.ts +11 -0
  358. package/examples/cloud-run-with-sql-reuse-db.ts +5 -4
  359. package/examples/cloud-run-with-sql.test.ts +11 -0
  360. package/examples/cloud-run-with-sql.ts +6 -20
  361. package/examples/cloud-run-with-worker.test.ts +11 -0
  362. package/examples/cloud-run-with-worker.ts +37 -0
  363. package/examples/custom-build-job-with-tests.test.ts +11 -0
  364. package/examples/custom-build-job-with-tests.ts +5 -4
  365. package/examples/custom-build-job.test.ts +11 -0
  366. package/examples/custom-build-job.ts +5 -4
  367. package/examples/custom-deploy.test.ts +11 -0
  368. package/examples/custom-deploy.ts +12 -4
  369. package/examples/custom-envs.test.ts +11 -0
  370. package/examples/custom-envs.ts +5 -4
  371. package/examples/custom-sbom-java.test.ts +11 -0
  372. package/examples/custom-sbom-java.ts +10 -6
  373. package/examples/git-submodule.test.ts +11 -0
  374. package/examples/git-submodule.ts +30 -0
  375. package/examples/kubernetes-application-customization.test.ts +11 -0
  376. package/examples/kubernetes-application-customization.ts +7 -4
  377. package/examples/kubernetes-with-cloud-sql.test.ts +11 -0
  378. package/examples/kubernetes-with-cloud-sql.ts +7 -4
  379. package/examples/kubernetes-with-jobs.test.ts +11 -0
  380. package/examples/kubernetes-with-jobs.ts +7 -4
  381. package/examples/kubernetes-with-mongodb.test.ts +11 -0
  382. package/examples/kubernetes-with-mongodb.ts +7 -4
  383. package/examples/local-dot-env.test.ts +11 -0
  384. package/examples/local-dot-env.ts +27 -0
  385. package/examples/meteor-kubernetes.test.ts +11 -0
  386. package/examples/meteor-kubernetes.ts +4 -5
  387. package/examples/multiline-var.test.ts +11 -0
  388. package/examples/multiline-var.ts +107 -0
  389. package/examples/native-app.test.ts +11 -0
  390. package/examples/native-app.ts +22 -17
  391. package/examples/node-build-with-custom-image.test.ts +11 -0
  392. package/examples/node-build-with-custom-image.ts +5 -4
  393. package/examples/node-build-with-docker-additions.test.ts +11 -0
  394. package/examples/node-build-with-docker-additions.ts +29 -0
  395. package/examples/rails-k8s-with-worker-dockerfile.test.ts +33 -0
  396. package/examples/rails-k8s-with-worker.test.ts +11 -0
  397. package/examples/rails-k8s-with-worker.ts +14 -11
  398. package/examples/referencing-other-vars.test.ts +11 -0
  399. package/examples/referencing-other-vars.ts +83 -0
  400. package/examples/wait-for-other-deploy.test.ts +11 -0
  401. package/examples/wait-for-other-deploy.ts +5 -4
  402. package/examples/workspace-api-www-turbo-cache.test.ts +11 -0
  403. package/examples/workspace-api-www-turbo-cache.ts +52 -0
  404. package/examples/workspace-api-www.test.ts +11 -0
  405. package/examples/workspace-api-www.ts +46 -0
  406. package/package.json +75 -26
  407. package/scripts/generate-examples-test.ts +84 -0
  408. package/scripts/generate-gitlab-ci-types.ts +2 -2
  409. package/scripts/tsconfig.json +7 -0
  410. package/src/bash/BashExpression.ts +78 -0
  411. package/src/bash/bashEscape.ts +158 -0
  412. package/src/bash/bashExpressionPerPipelineType.ts +16 -0
  413. package/src/bash/bashYaml.ts +80 -0
  414. package/src/bash/getInjectVarsScript.ts +21 -0
  415. package/src/bash/index.ts +2 -0
  416. package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
  417. package/src/build/base/__tests__/createArtifactsConfig.test.ts +3 -3
  418. package/src/build/base/constants.ts +2 -2
  419. package/src/build/base/createAppBuildJob.ts +40 -24
  420. package/src/build/base/createArtifactsConfig.ts +2 -2
  421. package/src/build/base/createBuildJobDefinition.ts +37 -0
  422. package/src/build/base/index.ts +37 -8
  423. package/src/build/base/writeBuildInfo.ts +3 -3
  424. package/src/build/base/writeDotEnv.ts +25 -6
  425. package/src/build/cache/createJobCache.ts +83 -0
  426. package/src/build/cache/getAllCacheConfigsFromConfig.ts +28 -0
  427. package/src/build/cache/transformLegacyJobCache.ts +14 -0
  428. package/src/build/custom/__tests__/testJob.test.ts +10 -13
  429. package/src/build/custom/buildJob.ts +11 -37
  430. package/src/build/custom/index.ts +2 -2
  431. package/src/build/custom/testJob.ts +24 -22
  432. package/src/build/docker.ts +145 -49
  433. package/src/build/index.ts +42 -10
  434. package/src/build/node/buildJob.ts +65 -62
  435. package/src/build/node/cache.ts +30 -35
  436. package/src/build/node/constants.ts +2 -3
  437. package/src/build/node/index.ts +8 -4
  438. package/src/build/node/meteor.ts +16 -24
  439. package/src/build/node/testJob.ts +47 -26
  440. package/src/build/node/yarn.ts +32 -16
  441. package/src/build/rails/build.ts +21 -9
  442. package/src/build/rails/index.ts +2 -2
  443. package/src/build/rails/test.ts +22 -12
  444. package/src/build/sbom.ts +15 -10
  445. package/src/build/types.ts +190 -47
  446. package/src/catladder-gitlab.ts +7 -56
  447. package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +31 -0
  448. package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +15 -0
  449. package/src/config/__tests__/getAllEnvs.test.ts +71 -0
  450. package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
  451. package/src/config/configruedEnvs.ts +6 -6
  452. package/src/config/readConfig.ts +15 -22
  453. package/src/constants.ts +5 -2
  454. package/src/context/createAllComponentsContext.ts +31 -0
  455. package/src/context/createComponentContext.ts +134 -0
  456. package/src/context/createWorkspaceContext.ts +56 -0
  457. package/src/context/getBuildInfoVariables.ts +36 -0
  458. package/src/context/getEnvConfig.ts +3 -3
  459. package/src/context/getEnvType.ts +1 -1
  460. package/src/context/getEnvironment.ts +8 -24
  461. package/src/context/getEnvironmentContext.ts +25 -29
  462. package/src/context/getEnvironmentVariables.ts +104 -76
  463. package/src/context/getLabels.ts +5 -5
  464. package/src/context/getReviewSlug.ts +27 -0
  465. package/src/context/index.ts +1 -65
  466. package/src/context/transformJobOnlyVars.ts +6 -3
  467. package/src/context/utils/envVars.ts +5 -4
  468. package/src/deploy/base/deploy.ts +63 -47
  469. package/src/deploy/base/index.ts +11 -6
  470. package/src/deploy/base/rollback.ts +11 -16
  471. package/src/deploy/base/stop.ts +11 -15
  472. package/src/deploy/base/variables.ts +1 -2
  473. package/src/deploy/cloudRun/artifactsRegistry.ts +126 -0
  474. package/src/deploy/cloudRun/cleanup.ts +30 -0
  475. package/src/deploy/cloudRun/cloudRunRevisions.ts +65 -0
  476. package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +227 -0
  477. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +86 -0
  478. package/src/deploy/cloudRun/createJobs/common.ts +59 -0
  479. package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
  480. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +71 -0
  481. package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +34 -0
  482. package/src/deploy/cloudRun/createJobs/index.ts +51 -0
  483. package/src/deploy/cloudRun/createJobs/volumes.ts +23 -0
  484. package/src/deploy/cloudRun/index.ts +85 -59
  485. package/src/deploy/cloudRun/utils/createArgsString.ts +21 -13
  486. package/src/deploy/cloudRun/utils/database.ts +31 -9
  487. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +9 -11
  488. package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
  489. package/src/deploy/cloudRun/utils/jobName.ts +7 -2
  490. package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
  491. package/src/deploy/cloudSql/utils.ts +13 -10
  492. package/src/deploy/custom/deployJob.ts +15 -10
  493. package/src/deploy/custom/index.ts +2 -2
  494. package/src/deploy/dockerTag/deployJob.ts +7 -8
  495. package/src/deploy/dockerTag/index.ts +8 -7
  496. package/src/deploy/index.ts +15 -12
  497. package/src/deploy/kubernetes/additionalSecretKeys.ts +3 -1
  498. package/src/deploy/kubernetes/cloudSql/index.ts +16 -25
  499. package/src/deploy/kubernetes/deployJob.ts +30 -21
  500. package/src/deploy/kubernetes/index.ts +43 -35
  501. package/src/deploy/kubernetes/kubeEnv.ts +12 -10
  502. package/src/deploy/kubernetes/kubeValues.ts +15 -19
  503. package/src/deploy/kubernetes/mongodb.ts +15 -15
  504. package/src/deploy/sbom.ts +18 -10
  505. package/src/deploy/types/base.ts +3 -3
  506. package/src/deploy/types/custom.ts +3 -7
  507. package/src/deploy/types/dockerTag.ts +2 -0
  508. package/src/deploy/types/googleCloudRun.ts +133 -10
  509. package/src/deploy/types/index.ts +2 -2
  510. package/src/deploy/types/kubernetes.ts +5 -36
  511. package/src/deploy/utils.ts +5 -5
  512. package/src/globalScriptFunctions/index.ts +30 -0
  513. package/src/index.ts +4 -1
  514. package/src/packageInfos.ts +14 -0
  515. package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +69 -0
  516. package/src/pipeline/__tests__/getPipelineStages.test.ts +63 -0
  517. package/src/pipeline/createAllJobs.ts +67 -33
  518. package/src/pipeline/createJobsForComponent.ts +10 -38
  519. package/src/pipeline/createJobsForWorkspace.ts +12 -0
  520. package/src/pipeline/createMainPipeline.ts +119 -0
  521. package/src/pipeline/generatePipelineFiles.ts +100 -0
  522. package/src/pipeline/getPipelineStages.ts +23 -0
  523. package/src/pipeline/gitlab/createGitlabJobs.ts +388 -108
  524. package/src/pipeline/gitlab/createGitlabPipeline.ts +35 -0
  525. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +23 -0
  526. package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
  527. package/src/pipeline/index.ts +2 -1
  528. package/src/pipeline/packageManager.ts +44 -26
  529. package/src/pipeline/yarn/yarnUtils.ts +39 -10
  530. package/src/rules/index.ts +36 -9
  531. package/src/runner/index.ts +0 -1
  532. package/src/types/config.ts +43 -16
  533. package/src/types/context.ts +165 -37
  534. package/src/types/environmentContext.ts +18 -13
  535. package/src/types/gitlab-ci-yml.ts +0 -1
  536. package/src/types/gitlab-types.ts +10 -7
  537. package/src/types/index.ts +1 -0
  538. package/src/types/jobDefinition.ts +34 -0
  539. package/src/types/jobs.ts +31 -15
  540. package/src/types/utils.ts +4 -4
  541. package/src/utils/gitlab.ts +20 -3
  542. package/src/utils/index.ts +6 -3
  543. package/src/utils/jsonParse.ts +7 -0
  544. package/src/utils/removeUndefined.ts +4 -0
  545. package/src/utils/writeFiles.ts +52 -0
  546. package/src/variables/VariableValue.ts +6 -0
  547. package/src/variables/VariableValueContainingReferences.ts +89 -0
  548. package/src/variables/__tests__/resolveAllReferences.test.ts +110 -0
  549. package/src/variables/__tests__/resolveAllReferencesOnce.test.ts +64 -0
  550. package/src/variables/__tests__/resolveReferencesOnce.test.ts +117 -0
  551. package/src/variables/__tests__/variableValue.test.ts +73 -0
  552. package/src/variables/resolveAllReferences.ts +46 -0
  553. package/src/variables/resolveAllReferencesOnce.ts +44 -0
  554. package/src/variables/resolveReferencesOnce.ts +29 -0
  555. package/bin/catladder-gitlab-dev.js +0 -3
  556. package/bin/catladder-gitlab.js +0 -3
  557. package/dist/bundles/catladder-gitlab/index.js +0 -33838
  558. package/dist/context/__tests__/resolveReferences.test.js +0 -336
  559. package/dist/context/resolveReferences.d.ts +0 -4
  560. package/dist/context/resolveReferences.js +0 -254
  561. package/dist/deploy/cloudRun/deployJob.d.ts +0 -3
  562. package/dist/deploy/cloudRun/deployJob.js +0 -248
  563. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +0 -84
  564. package/dist/deploy/kubernetes/processSecretsAsFiles.js +0 -31
  565. package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -6
  566. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
  567. package/dist/pipeline/createChildPipeline.d.ts +0 -3
  568. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +0 -1780
  569. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +0 -1780
  570. package/examples/__snapshots__/cloud-run-non-public.ts.snap +0 -1780
  571. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +0 -3532
  572. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +0 -3543
  573. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +0 -1656
  574. package/examples/__snapshots__/custom-build-job.ts.snap +0 -1362
  575. package/examples/__snapshots__/custom-deploy.ts.snap +0 -1556
  576. package/examples/__snapshots__/custom-envs.ts.snap +0 -1050
  577. package/examples/__snapshots__/custom-sbom-java.ts.snap +0 -1370
  578. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -2468
  579. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -2428
  580. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -2440
  581. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -4453
  582. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -2632
  583. package/examples/__snapshots__/meteor-kubernetes.ts.snap +0 -2557
  584. package/examples/__snapshots__/native-app.ts.snap +0 -2878
  585. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +0 -1780
  586. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -4189
  587. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +0 -1922
  588. package/examples/kubernetes-with-cloud-sql-legacy.ts +0 -33
  589. package/scripts/bundle +0 -2
  590. package/src/context/__tests__/resolveReferences.test.ts +0 -143
  591. package/src/context/resolveReferences.ts +0 -70
  592. package/src/deploy/cloudRun/deployJob.ts +0 -301
  593. package/src/deploy/kubernetes/processSecretsAsFiles.ts +0 -34
  594. package/src/pipeline/commitInfo/getBuildId.ts +0 -17
  595. package/src/pipeline/commitInfo/getCommitInfo.ts +0 -15
  596. package/src/pipeline/createChildPipeline.ts +0 -45
  597. /package/dist/{context/__tests__/resolveReferences.test.d.ts → config/__tests__/getAllEnvs.test.d.ts} +0 -0
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,9 +1,11 @@
1
1
  import type { DeployConfigBase } from "./base";
2
- export declare type DeployConfigDockerTag = {
2
+ export type DeployConfigDockerTag = {
3
3
  /**
4
4
  * adds a custom tag on the repo to deploy it.
5
5
  *
6
6
  * only used in veloplus atm, generally not recommended to use
7
+ * because run-time environment variables have to be coordinated
8
+ * manually with the platform running the container.
7
9
  */
8
10
  type: "dockerTag";
9
11
  tag: string;
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,6 +1,6 @@
1
1
  import type { DeployConfigBase } from "./base";
2
- export declare type Gcloudregion = "asia-east1" | "asia-northeast1" | "asia-northeast2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west4" | "europe-west8" | "europe-west9" | "me-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "asia-east2" | "asia-northeast3" | "asia-southeast1" | "asia-southeast2" | "asia-south1" | "asia-south2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-west2" | "europe-west3" | "europe-west6" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-west2" | "us-west3" | "us-west4";
3
- export declare type DeployConfigCloudRunCloudSql = {
2
+ export type Gcloudregion = "asia-east1" | "asia-northeast1" | "asia-northeast2" | "europe-north1" | "europe-southwest1" | "europe-west1" | "europe-west4" | "europe-west8" | "europe-west9" | "me-west1" | "us-central1" | "us-east1" | "us-east4" | "us-east5" | "us-south1" | "us-west1" | "asia-east2" | "asia-northeast3" | "asia-southeast1" | "asia-southeast2" | "asia-south1" | "asia-south2" | "australia-southeast1" | "australia-southeast2" | "europe-central2" | "europe-west2" | "europe-west3" | "europe-west6" | "northamerica-northeast1" | "northamerica-northeast2" | "southamerica-east1" | "southamerica-west1" | "us-west2" | "us-west3" | "us-west4";
3
+ export type DeployConfigCloudRunCloudSql = {
4
4
  type: "unmanaged";
5
5
  instanceConnectionName: string;
6
6
  /**
@@ -22,6 +22,20 @@ export declare type DeployConfigCloudRunCloudSql = {
22
22
  * defaults to true for review envs, to false for every other environment
23
23
  */
24
24
  deleteDatabaseOnStop?: boolean;
25
+ /**
26
+ * format of the `DATABASE_URL` environment variable
27
+ *
28
+ * the options are:
29
+ * - prisma: adds [required but ignored hostname](https://www.prisma.io/docs/orm/overview/databases/postgresql#connecting-via-sockets):
30
+ * `postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME`
31
+ * - rails: percent-encodes the socket in the host part
32
+ * `postgresql://$DB_USER:$DB_PASSWORD@%2Fcloudsql%2FprojectId%3Aregion%3Ainstancename/$DB_NAME?`
33
+ * - jdbc: for use with Google Cloud SQL Connector for Java
34
+ * `jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD`
35
+ *
36
+ * defaults to prisma
37
+ */
38
+ dbConnectionStringFormat?: "prisma" | "rails" | "jdbc";
25
39
  /**
26
40
  * add additional query params to the database connection string
27
41
  */
@@ -32,12 +46,13 @@ export declare type DeployConfigCloudRunCloudSql = {
32
46
  statement_cache_size?: number;
33
47
  };
34
48
  };
35
- declare type Memory = `${number}${"M" | "G" | "Mi" | "Gi"}`;
36
- export declare type DeployConfigCloudRunService = {
49
+ type Memory = `${number}${"M" | "G" | "Mi" | "Gi"}`;
50
+ type Cpu = 1 | 2 | 4 | 6 | 8;
51
+ export type DeployConfigCloudRunService = {
37
52
  /**
38
53
  * command / entrypoint, fallsback to buildConfig.startcommand
39
54
  */
40
- command?: string;
55
+ command?: string | string[];
41
56
  /**
42
57
  * how many instances to keep around when there are no requests. defaults to 0.
43
58
  * Set to 1 for workers
@@ -52,21 +67,84 @@ export declare type DeployConfigCloudRunService = {
52
67
  */
53
68
  noCpuThrottling?: true;
54
69
  /**
55
- * whether to allow public access (defaults to true)
70
+ * whether to allow public access without authentification (defaults to true)
56
71
  */
57
72
  allowUnauthenticated?: boolean;
73
+ /**
74
+ * whether to expose the service to the internet.
75
+ *
76
+ * The options are:
77
+ * - all: expose to the internet and internal traffic
78
+ * - internal: only expose to internal traffic
79
+ * - internal-and-cloud-load-balancing: expose to internal traffic and cloud load balancing
80
+ *
81
+ * Defaults to "all"
82
+ */
83
+ ingress?: "all" | "internal" | "internal-and-cloud-load-balancing";
84
+ /**
85
+ * CPU limit.
86
+ */
87
+ cpu?: Cpu;
58
88
  /**
59
89
  * memory limit. Defaults to 512MB
60
90
  */
61
91
  memory?: Memory;
62
- };
63
- export declare type DeployConfigCloudRunJobBase = {
92
+ /**
93
+ * timeout of the service, defaults to 5 minutes.
94
+ *
95
+ * you can specify something like 10m30s. if its just a number, it will be interpreted as seconds
96
+ *
97
+ * max supported is 60min
98
+ */
99
+ timeout?: string;
100
+ /**
101
+ *
102
+ * set the execution environment.
103
+ *
104
+ * see https://cloud.google.com/run/docs/about-execution-environments
105
+ *
106
+ * defaults to gen1 according to gcloud
107
+ */
108
+ executionEnvironment?: "gen2" | "gen1";
109
+ network?: string;
110
+ /**
111
+ * vpc subnet to use, see https://cloud.google.com/sdk/gcloud/reference/run/deploy#--subnet
112
+ */
113
+ subnet?: string;
114
+ /**
115
+ * vpc egress, see https://cloud.google.com/sdk/gcloud/reference/run/deploy#--vpc-egress
116
+ */
117
+ vpcEgress?: "all-traffic" | "private-ranges-only";
118
+ /**
119
+ * vpc connector
120
+ */
121
+ vpcConnector?: string;
122
+ /**
123
+ * Use http2 end-to-end. See https://cloud.google.com/run/docs/configuring/http2
124
+ *
125
+ * Defaults to false.
126
+ *
127
+ * Your service needs to be able to handle http2 requests.
128
+ * Its recommended to use http2 without tls, since cloud run handles the encryption for you. (so called "h2c" (http2 cleartext))
129
+ *
130
+ */
131
+ http2?: boolean;
132
+ } & DeployConfigCloudRunWithVolumes;
133
+ export type DeployConfigCloudRunJobBase = {
64
134
  /**
65
135
  * command
66
136
  */
67
- command: string;
137
+ command: string | string[];
68
138
  /**
69
- * memory limit of the job, defaults to 51Mi
139
+ * custom image to use. Defaults to the image from the build
140
+ */
141
+ image?: string;
142
+ /**
143
+ * CPU limit of the job.
144
+ */
145
+ cpu?: Cpu;
146
+ /**
147
+ * memory limit of the job, defaults to 512Mi
70
148
  */
71
149
  memory?: `${number}${"M" | "G" | "Mi" | "Gi"}`;
72
150
  /**
@@ -75,26 +153,43 @@ export declare type DeployConfigCloudRunJobBase = {
75
153
  * you can specify something like 10m30s
76
154
  */
77
155
  timeout?: string;
78
- };
79
- declare type Minute = string;
80
- declare type Hour = string;
81
- declare type DayOfMonth = string;
82
- declare type DayOfWeek = string;
83
- declare type Month = string;
84
- export declare type DeployConfigCloudRunJobWithSchedule = DeployConfigCloudRunJobBase & {
156
+ /**
157
+ * number of tasks that may run concurrently, defaults to 1
158
+ */
159
+ parallelism?: number;
160
+ } & DeployConfigCloudRunWithVolumes;
161
+ type Minute = string;
162
+ type Hour = string;
163
+ type DayOfMonth = string;
164
+ type DayOfWeek = string;
165
+ type Month = string;
166
+ export type DeployConfigCloudRunJobWithSchedule = DeployConfigCloudRunJobBase & {
85
167
  when: "schedule";
86
168
  schedule: `${Minute} ${Hour} ${DayOfMonth} ${Month} ${DayOfWeek}`;
169
+ /**
170
+ * Max number of retries of the cloud scheduler.
171
+ * Note: the task itself is never retried.
172
+ *
173
+ * defaults to 0 (no retries)
174
+ */
87
175
  maxRetryAttempts?: 0 | 1 | 2 | 3 | 4 | 5;
88
176
  };
89
- export declare type DeployConfigCloudRunJobNormal = DeployConfigCloudRunJobBase & {
90
- when: "manual" | "preDeploy" | "postDeploy";
177
+ export type DeployConfigCloudRunJobNormal = DeployConfigCloudRunJobBase & {
178
+ when: "manual" | "preDeploy" | "postDeploy" | "preStop" | "postStop";
91
179
  };
92
- export declare type DeployConfigCloudRunJob = DeployConfigCloudRunJobNormal | DeployConfigCloudRunJobWithSchedule;
93
- export declare type DeployConfigCloudRun = {
180
+ export type DeployConfigCloudRunWithVolumes = {
94
181
  /**
95
- * EXPERIMENTAL cloud run deployment.
182
+ * adds volumes to the service. This is an experimental feature and requires beta gcloud.
183
+ * sets executionEnvironment to gen2 automatically, since that is required
184
+ */
185
+ volumes?: DeployConfigCloudRunVolumes;
186
+ };
187
+ export type DeployConfigCloudRunJob = DeployConfigCloudRunJobNormal | DeployConfigCloudRunJobWithSchedule;
188
+ export type DeployConfigCloudRun = {
189
+ /**
190
+ * cloud run deployment.
96
191
  *
97
- * This will deploy a cloud run service.
192
+ * This will deploy a cloud run service. You can optionally define one-time and scheduled jobs running on cloud run
98
193
  *
99
194
  * Requires that cloud run is enabled on the project, as well as cloud run api and artifacts registry.
100
195
  */
@@ -112,7 +207,7 @@ export declare type DeployConfigCloudRun = {
112
207
  */
113
208
  service?: boolean | DeployConfigCloudRunService;
114
209
  /**
115
- * deploy additional services with different entry pointss
210
+ * deploy additional services with different entry points.
116
211
  */
117
212
  additionalServices?: {
118
213
  [name: string]: DeployConfigCloudRunService;
@@ -124,5 +219,13 @@ export declare type DeployConfigCloudRun = {
124
219
  * add cloudSql
125
220
  */
126
221
  cloudSql?: DeployConfigCloudRunCloudSql | false;
222
+ debug?: boolean;
127
223
  } & DeployConfigBase;
224
+ export type DeployConfigCloudRunVolumes = Record<string, DeployConfigCloudRunVolume>;
225
+ export type DeployConfigCloudRunVolume = {
226
+ type: "cloud-storage";
227
+ bucket: string;
228
+ mountPath: string;
229
+ readonly?: boolean;
230
+ };
128
231
  export {};
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -6,17 +6,17 @@ export * from "./custom";
6
6
  export * from "./googleCloudRun";
7
7
  export * from "./kubernetes";
8
8
  export * from "./dockerTag";
9
- export declare type DeployConfig = DeployConfigKubernetes | DeployConfigCustom | DeployConfigCloudRun | DeployConfigDockerTag;
10
- export declare type DeployConfigType = DeployConfig["type"];
11
- export declare type DeployConfigGeneric<T extends DeployConfigType> = Extract<DeployConfig, {
9
+ export type DeployConfig = DeployConfigKubernetes | DeployConfigCustom | DeployConfigCloudRun | DeployConfigDockerTag;
10
+ export type DeployConfigType = DeployConfig["type"];
11
+ export type DeployConfigGeneric<T extends DeployConfigType> = Extract<DeployConfig, {
12
12
  type: T;
13
13
  }>;
14
- export declare const isOfDeployType: <T extends ("kubernetes" | "custom" | "dockerTag" | "google-cloudrun")[]>(t: DeployConfig | false, ...types: T) => t is Extract<DeployConfigCustom, {
14
+ export declare const isOfDeployType: <T extends ("kubernetes" | "custom" | "dockerTag" | "google-cloudrun")[]>(t: DeployConfig | false | null | undefined, ...types: T) => t is Extract<DeployConfigKubernetes, {
15
15
  type: T[number];
16
- }> | Extract<DeployConfigDockerTag, {
16
+ }> | Extract<DeployConfigCustom, {
17
17
  type: T[number];
18
18
  }> | Extract<DeployConfigCloudRun, {
19
19
  type: T[number];
20
- }> | Extract<DeployConfigKubernetes, {
20
+ }> | Extract<DeployConfigDockerTag, {
21
21
  type: T[number];
22
22
  }>;
@@ -2,12 +2,16 @@
2
2
 
3
3
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
- Object.defineProperty(o, k2, {
6
- enumerable: true,
7
- get: function () {
8
- return m[k];
9
- }
10
- });
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
11
15
  } : function (o, m, k, k2) {
12
16
  if (k2 === undefined) k2 = k;
13
17
  o[k2] = m[k];
@@ -15,7 +19,9 @@ var __createBinding = this && this.__createBinding || (Object.create ? function
15
19
  var __exportStar = this && this.__exportStar || function (m, exports) {
16
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
21
  };
18
- exports.__esModule = true;
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
19
25
  exports.isOfDeployType = void 0;
20
26
  __exportStar(require("./custom"), exports);
21
27
  __exportStar(require("./googleCloudRun"), exports);
@@ -26,6 +32,6 @@ var isOfDeployType = function (t) {
26
32
  for (var _i = 1; _i < arguments.length; _i++) {
27
33
  types[_i - 1] = arguments[_i];
28
34
  }
29
- return t && types.includes(t.type);
35
+ return t && types.includes(t.type) ? true : false;
30
36
  };
31
37
  exports.isOfDeployType = isOfDeployType;
@@ -1,5 +1,5 @@
1
1
  import type { AllowUnknownProps, DeployConfigBase } from "./base";
2
- export declare type DeployConfigKubernetesClusterGCloud = {
2
+ export type DeployConfigKubernetesClusterGCloud = {
3
3
  type: "gcloud";
4
4
  /**
5
5
  * gcoud name of the cluster
@@ -18,22 +18,22 @@ export declare type DeployConfigKubernetesClusterGCloud = {
18
18
  */
19
19
  domainCanonical?: string;
20
20
  };
21
- export declare type DeployConfigKubernetesCluster = DeployConfigKubernetesClusterGCloud;
22
- export declare type KubernetesAutoscaleMetricResourceTarget = {
21
+ export type DeployConfigKubernetesCluster = DeployConfigKubernetesClusterGCloud;
22
+ export type KubernetesAutoscaleMetricResourceTarget = {
23
23
  type: "Utilization";
24
24
  averageUtilization: number;
25
25
  } | {
26
26
  type: "AverageValue";
27
27
  averageValue: number | string;
28
28
  };
29
- export declare type KubernetesAutoscaleMetric = {
29
+ export type KubernetesAutoscaleMetric = {
30
30
  type: "Resource";
31
31
  resource: {
32
32
  name: "cpu" | "memory";
33
33
  target: KubernetesAutoscaleMetricResourceTarget;
34
34
  };
35
35
  };
36
- export declare type KubernetesAutoscale = {
36
+ export type KubernetesAutoscale = {
37
37
  minReplicas: number;
38
38
  maxReplicas: number;
39
39
  /**
@@ -41,7 +41,7 @@ export declare type KubernetesAutoscale = {
41
41
  */
42
42
  metrics: KubernetesAutoscaleMetric[];
43
43
  };
44
- export declare type KubernetesResourcesDef = {
44
+ export type KubernetesResourcesDef = {
45
45
  limits?: {
46
46
  cpu?: string;
47
47
  memory?: string;
@@ -51,7 +51,7 @@ export declare type KubernetesResourcesDef = {
51
51
  memory?: string;
52
52
  };
53
53
  };
54
- declare type KubernetesHealthDef = {
54
+ type KubernetesHealthDef = {
55
55
  httpGet?: {
56
56
  path?: string;
57
57
  port?: number;
@@ -65,7 +65,7 @@ declare type KubernetesHealthDef = {
65
65
  successThreshold?: number;
66
66
  };
67
67
  };
68
- export declare type KubernetesUpdateStrategy = {
68
+ export type KubernetesUpdateStrategy = {
69
69
  rollingUpdate: {
70
70
  /**
71
71
  * how many pods can be created additionally to the target number
@@ -82,7 +82,7 @@ export declare type KubernetesUpdateStrategy = {
82
82
  };
83
83
  type: "RollingUpdate";
84
84
  };
85
- export declare type KubernetesWorkerDef = {
85
+ export type KubernetesWorkerDef = {
86
86
  enabled: boolean;
87
87
  /**
88
88
  * which command to run. defaults to `yarn start`
@@ -92,19 +92,23 @@ export declare type KubernetesWorkerDef = {
92
92
  service?: {
93
93
  enabled?: boolean;
94
94
  };
95
+ /**
96
+ * if the same livenessProbe as the application should be used, defaults to `true`
97
+ */
98
+ livenessProbe?: boolean;
95
99
  };
96
- declare type KubernetesTolerationExists = {
100
+ type KubernetesTolerationExists = {
97
101
  operator: "Exists";
98
102
  };
99
- declare type KubernetesTolerationEqual = {
103
+ type KubernetesTolerationEqual = {
100
104
  operator: "Equal";
101
105
  value: string;
102
106
  };
103
- export declare type KubernetesToleration = {
107
+ export type KubernetesToleration = {
104
108
  key: string;
105
109
  effect: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
106
110
  } & (KubernetesTolerationEqual | KubernetesTolerationExists);
107
- export declare type DeployConfigMongodbBase = {
111
+ export type DeployConfigMongodbBase = {
108
112
  enabled?: boolean;
109
113
  dbName?: string;
110
114
  persistence?: {
@@ -120,7 +124,7 @@ export declare type DeployConfigMongodbBase = {
120
124
  resources?: KubernetesResourcesDef;
121
125
  tolerations?: KubernetesToleration[];
122
126
  };
123
- export declare type KubernetesRedirect = {
127
+ export type KubernetesRedirect = {
124
128
  /**
125
129
  * the domain to redirect from
126
130
  */
@@ -137,44 +141,18 @@ export declare type KubernetesRedirect = {
137
141
  */
138
142
  rule?: string;
139
143
  };
140
- export declare type DeployConfigMongodbStandalone = {
144
+ export type DeployConfigMongodbStandalone = {
141
145
  architecture: "standalone";
142
146
  };
143
- export declare type DeployConfigMongodbReplicaset = {
147
+ export type DeployConfigMongodbReplicaset = {
144
148
  architecture: "replicaset";
145
149
  /**
146
150
  * defaults to 2
147
151
  */
148
152
  replicaCount?: number;
149
153
  };
150
- export declare type DeployConfigMongodb = DeployConfigMongodbBase & (DeployConfigMongodbStandalone | DeployConfigMongodbReplicaset);
151
- /**
152
- * @deprecated use config with instanceConnectionName
153
- */
154
- declare type DeployConfigKubernetesValuesCloudSQLLegacy = {
155
- enabled: boolean;
156
- /**
157
- * @deprecated use config with instanceConnectionName
158
- */
159
- instanceId?: string;
160
- /**
161
- * @deprecated use config with instanceConnectionName
162
- */
163
- projectId?: string;
164
- /**
165
- * @deprecated use config with instanceConnectionName
166
- */
167
- region?: string;
168
- /**
169
- * @deprecated use type "unmanaged".
170
- *
171
- * Be aware that "unmanaged" is not fully backward compatible with "legacy".
172
- *
173
- *
174
- */
175
- type?: "legacy";
176
- };
177
- export declare type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
154
+ export type DeployConfigMongodb = DeployConfigMongodbBase & (DeployConfigMongodbStandalone | DeployConfigMongodbReplicaset);
155
+ export type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
178
156
  enabled: boolean;
179
157
  instanceConnectionName: string;
180
158
  /**
@@ -200,8 +178,8 @@ export declare type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
200
178
  */
201
179
  dbBaseName?: string;
202
180
  };
203
- export declare type DeployConfigKubernetesValuesCloudSQL = DeployConfigKubernetesValuesCloudSQLLegacy | DeployConfigKubernetesValuesCloudSQLUnmanaged;
204
- export declare type DeployConfigKubernetesValues = AllowUnknownProps<{
181
+ export type DeployConfigKubernetesValuesCloudSQL = DeployConfigKubernetesValuesCloudSQLUnmanaged;
182
+ export type DeployConfigKubernetesValues = AllowUnknownProps<{
205
183
  /**
206
184
  * enable cloudsql db. Currently you have to manually set it up
207
185
  */
@@ -319,15 +297,8 @@ export declare type DeployConfigKubernetesValues = AllowUnknownProps<{
319
297
  mapServiceUrlToEnv?: {
320
298
  [envVar: string]: string;
321
299
  };
322
- /**
323
- * Mount secrets as files in the filesystem.
324
- * These secrets are still available as env vars, but will contain the path of the file instead
325
- *
326
- * @deprecated this will be removed in the future, because its very niche and not used
327
- */
328
- secretsAsFile?: string[];
329
300
  }>;
330
- export declare type DeployConfigKubernetes = {
301
+ export type DeployConfigKubernetes = {
331
302
  type: "kubernetes";
332
303
  /**
333
304
  * cluster config to use.
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,5 +1,5 @@
1
- import type { Config, Context } from "../types";
1
+ import type { Config, ComponentContext } from "../types";
2
2
  import type { DeployConfigKubernetesCluster } from "./types";
3
3
  export declare const getFullKubernetesClusterName: (cluster: DeployConfigKubernetesCluster) => string | undefined;
4
4
  export declare const getKubernetesNamespace: (config: Pick<Config, "customerName" | "appName">, env: string) => string;
5
- export declare const contextIsStoppable: (context: Context) => boolean;
5
+ export declare const contextIsStoppable: (context: ComponentContext) => boolean;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
4
6
  exports.contextIsStoppable = exports.getKubernetesNamespace = exports.getFullKubernetesClusterName = void 0;
5
7
  var types_1 = require("./types");
6
8
  var getFullKubernetesClusterName = function (cluster) {
@@ -14,7 +16,8 @@ var getKubernetesNamespace = function (config, env) {
14
16
  };
15
17
  exports.getKubernetesNamespace = getKubernetesNamespace;
16
18
  var contextIsStoppable = function (context) {
17
- var deployConfig = context.componentConfig.deploy;
19
+ var _a;
20
+ var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
18
21
  if ((0, types_1.isOfDeployType)(deployConfig, "kubernetes")) {
19
22
  return true;
20
23
  }
@@ -0,0 +1,14 @@
1
+ declare class GlobalScriptFunction {
2
+ name: string;
3
+ script: string;
4
+ constructor(name: string, script: string);
5
+ toBashFunction(): string;
6
+ invoke(...args: string[]): string;
7
+ }
8
+ export declare const globalScriptFunctions: Map<string, GlobalScriptFunction>;
9
+ /**
10
+ * registers a global script function
11
+ * only use that in top-level scopes as it will attach the function to the global scope
12
+ */
13
+ export declare const registerGlobalScriptFunction: (name: string, script: string) => GlobalScriptFunction;
14
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.registerGlobalScriptFunction = exports.globalScriptFunctions = void 0;
7
+ var GlobalScriptFunction = /** @class */function () {
8
+ function GlobalScriptFunction(name, script) {
9
+ this.name = name;
10
+ this.script = script;
11
+ }
12
+ GlobalScriptFunction.prototype.toBashFunction = function () {
13
+ return "function ".concat(this.name, " () {\n").concat(this.script.trim(), "\n}").trim();
14
+ };
15
+ GlobalScriptFunction.prototype.invoke = function () {
16
+ var args = [];
17
+ for (var _i = 0; _i < arguments.length; _i++) {
18
+ args[_i] = arguments[_i];
19
+ }
20
+ return "".concat(this.name, " ").concat(args.join(" "));
21
+ };
22
+ return GlobalScriptFunction;
23
+ }();
24
+ exports.globalScriptFunctions = new Map();
25
+ /**
26
+ * registers a global script function
27
+ * only use that in top-level scopes as it will attach the function to the global scope
28
+ */
29
+ var registerGlobalScriptFunction = function (name, script) {
30
+ if (exports.globalScriptFunctions.has(name)) {
31
+ throw new Error("Global script function ".concat(name, " already exists"));
32
+ }
33
+ var scriptFunction = new GlobalScriptFunction(name, script);
34
+ exports.globalScriptFunctions.set(name, scriptFunction);
35
+ return scriptFunction;
36
+ };
37
+ exports.registerGlobalScriptFunction = registerGlobalScriptFunction;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
- export * from "./pipeline/";
1
+ export * from "./pipeline";
2
2
  export * from "./types";
3
3
  export * from "./rules";
4
4
  export * from "./runner";
5
5
  export * from "./config";
6
6
  export * from "./context";
7
7
  export * from "./build";
8
- export * from "./deploy";
8
+ export * from "./deploy";
9
+ export * from "./utils/writeFiles";
10
+ export * from "./variables/VariableValue";
11
+ export * from "./bash";
package/dist/index.js CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
- Object.defineProperty(o, k2, {
6
- enumerable: true,
7
- get: function () {
8
- return m[k];
9
- }
10
- });
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
11
15
  } : function (o, m, k, k2) {
12
16
  if (k2 === undefined) k2 = k;
13
17
  o[k2] = m[k];
@@ -15,12 +19,17 @@ var __createBinding = this && this.__createBinding || (Object.create ? function
15
19
  var __exportStar = this && this.__exportStar || function (m, exports) {
16
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
21
  };
18
- exports.__esModule = true;
19
- __exportStar(require("./pipeline/"), exports);
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./pipeline"), exports);
20
26
  __exportStar(require("./types"), exports);
21
27
  __exportStar(require("./rules"), exports);
22
28
  __exportStar(require("./runner"), exports);
23
29
  __exportStar(require("./config"), exports);
24
30
  __exportStar(require("./context"), exports);
25
31
  __exportStar(require("./build"), exports);
26
- __exportStar(require("./deploy"), exports);
32
+ __exportStar(require("./deploy"), exports);
33
+ __exportStar(require("./utils/writeFiles"), exports);
34
+ __exportStar(require("./variables/VariableValue"), exports);
35
+ __exportStar(require("./bash"), exports);
@@ -0,0 +1,4 @@
1
+ declare let ownPkg: {
2
+ version: string;
3
+ };
4
+ export default ownPkg;