@catladder/pipeline 0.0.0-node16-ddfae617 → 0.0.0-perf-cli-reduce-bundle-size-with-tsconfig-optimization-3556aaa4
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.
- package/README.md +17 -0
- package/bin/catladder-gitlab-dev.js +3 -0
- package/bin/catladder-gitlab.js +1 -1
- package/dist/bash/BashExpression.d.ts +40 -0
- package/dist/bash/BashExpression.js +124 -0
- package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
- package/dist/bash/bashExpressionPerPipelineType.js +11 -0
- package/dist/bash/bashYaml.d.ts +10 -0
- package/dist/bash/bashYaml.js +46 -0
- package/dist/bash/getInjectVarsScript.d.ts +2 -0
- package/dist/bash/getInjectVarsScript.js +45 -0
- package/dist/bash/replaceAsync.d.ts +2 -0
- package/dist/bash/replaceAsync.js +171 -0
- package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
- package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
- package/dist/build/base/__tests__/createArtifactsConfig.test.js +42 -0
- package/dist/build/base/constants.d.ts +0 -1
- package/dist/build/base/constants.js +4 -3
- package/dist/build/base/createAppBuildJob.d.ts +9 -0
- package/dist/build/base/createAppBuildJob.js +87 -0
- package/dist/build/base/createArtifactsConfig.d.ts +4 -0
- package/dist/build/base/createArtifactsConfig.js +65 -0
- package/dist/build/base/index.d.ts +12 -0
- package/dist/build/base/index.js +68 -0
- package/dist/build/base/writeBuildInfo.d.ts +2 -0
- package/dist/build/base/writeBuildInfo.js +10 -0
- package/dist/build/base/writeDotEnv.d.ts +8 -0
- package/dist/build/base/writeDotEnv.js +66 -0
- package/dist/build/custom/__tests__/testJob.test.js +36 -0
- package/dist/build/custom/buildJob.d.ts +3 -0
- package/dist/build/custom/buildJob.js +67 -0
- package/dist/build/custom/index.d.ts +3 -0
- package/dist/build/custom/index.js +43 -0
- package/dist/build/custom/testJob.d.ts +7 -0
- package/dist/build/custom/testJob.js +100 -0
- package/dist/build/docker.d.ts +61 -22
- package/dist/build/docker.js +110 -73
- package/dist/build/index.d.ts +16 -8
- package/dist/build/index.js +61 -19
- package/dist/build/node/buildJob.d.ts +8 -3
- package/dist/build/node/buildJob.js +48 -68
- package/dist/build/node/cache.d.ts +4 -3
- package/dist/build/node/cache.js +45 -32
- package/dist/build/node/constants.d.ts +0 -1
- package/dist/build/node/constants.js +5 -4
- package/dist/build/node/index.d.ts +5 -5
- package/dist/build/node/index.js +6 -17
- package/dist/build/node/meteor.d.ts +3 -3
- package/dist/build/node/meteor.js +26 -37
- package/dist/build/node/testJob.d.ts +4 -3
- package/dist/build/node/testJob.js +35 -36
- package/dist/build/node/yarn.d.ts +6 -6
- package/dist/build/node/yarn.js +40 -25
- package/dist/build/rails/build.d.ts +3 -0
- package/dist/build/rails/build.js +90 -0
- package/dist/build/rails/index.d.ts +3 -0
- package/dist/build/rails/index.js +43 -0
- package/dist/build/rails/test.d.ts +3 -0
- package/dist/build/rails/test.js +103 -0
- package/dist/build/sbom.d.ts +5 -0
- package/dist/build/sbom.js +32 -0
- package/dist/build/types.d.ts +251 -33
- package/dist/build/types.js +10 -6
- package/dist/bundles/catladder-gitlab/index.js +41626 -0
- package/dist/catladder-gitlab.js +130 -68
- package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +13 -13
- package/dist/config/__tests__/getAllEnvs.test.js +79 -0
- package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +1 -0
- package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +73 -0
- package/dist/config/configruedEnvs.d.ts +1 -1
- package/dist/config/configruedEnvs.js +10 -23
- package/dist/config/index.js +13 -11
- package/dist/config/readConfig.d.ts +3 -3
- package/dist/config/readConfig.js +193 -52
- package/dist/constants.js +5 -3
- package/dist/context/__tests__/resolveReferences.test.d.ts +1 -0
- package/dist/context/__tests__/resolveReferences.test.js +368 -0
- package/dist/context/createAllComponentsContext.d.ts +12 -0
- package/dist/context/createAllComponentsContext.js +159 -0
- package/dist/context/createComponentContext.d.ts +11 -0
- package/dist/context/createComponentContext.js +256 -0
- package/dist/context/createWorkspaceContext.d.ts +16 -0
- package/dist/context/createWorkspaceContext.js +173 -0
- package/dist/context/getBuildInfoVariables.d.ts +6 -0
- package/dist/context/getBuildInfoVariables.js +55 -0
- package/dist/context/getEnvConfig.d.ts +2 -0
- package/dist/context/getEnvConfig.js +20 -0
- package/dist/context/getEnvType.d.ts +4 -0
- package/dist/context/getEnvType.js +15 -0
- package/dist/context/getEnvironment.d.ts +3 -0
- package/dist/{pipeline/createChildPipeline.test.js → context/getEnvironment.js} +50 -86
- package/dist/context/getEnvironmentContext.d.ts +8 -0
- package/dist/context/getEnvironmentContext.js +43 -0
- package/dist/context/getEnvironmentVariables.d.ts +27 -0
- package/dist/context/getEnvironmentVariables.js +285 -0
- package/dist/context/getLabels.d.ts +9 -0
- package/dist/context/getLabels.js +41 -0
- package/dist/context/getReviewSlug.d.ts +4 -0
- package/dist/context/getReviewSlug.js +22 -0
- package/dist/context/index.d.ts +3 -6
- package/dist/context/index.js +22 -219
- package/dist/context/resolveReferences.d.ts +3 -3
- package/dist/context/resolveReferences.js +248 -55
- package/dist/context/transformJobOnlyVars.d.ts +13 -0
- package/dist/{build/tests/storybook.test.js → context/transformJobOnlyVars.js} +54 -106
- package/dist/context/utils/envVars.d.ts +8 -0
- package/dist/context/utils/envVars.js +55 -0
- package/dist/defaults/index.d.ts +1 -1
- package/dist/defaults/index.js +3 -1
- package/dist/deploy/base/deploy.d.ts +5 -0
- package/dist/deploy/base/deploy.js +121 -0
- package/dist/deploy/base/index.d.ts +10 -0
- package/dist/deploy/base/index.js +44 -0
- package/dist/deploy/base/rollback.d.ts +5 -0
- package/dist/deploy/base/rollback.js +41 -0
- package/dist/deploy/base/stop.d.ts +5 -0
- package/dist/deploy/base/stop.js +46 -0
- package/dist/deploy/base/types.d.ts +2 -0
- package/dist/deploy/base/types.js +5 -0
- package/dist/deploy/base/variables.d.ts +5 -0
- package/dist/deploy/base/variables.js +11 -0
- package/dist/deploy/cloudRun/artifactsRegistry.d.ts +19 -0
- package/dist/deploy/cloudRun/artifactsRegistry.js +125 -0
- package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
- package/dist/deploy/cloudRun/cleanup.js +53 -0
- package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
- package/dist/deploy/cloudRun/cloudRunRevisions.js +62 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +7 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +187 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +93 -0
- package/dist/deploy/cloudRun/createJobs/common.d.ts +18 -0
- package/dist/deploy/cloudRun/createJobs/common.js +93 -0
- package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
- package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +62 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +54 -0
- package/dist/deploy/cloudRun/createJobs/index.d.ts +3 -0
- package/dist/deploy/cloudRun/createJobs/index.js +58 -0
- package/dist/deploy/cloudRun/createJobs/volumes.d.ts +3 -0
- package/dist/deploy/cloudRun/createJobs/volumes.js +58 -0
- package/dist/deploy/cloudRun/index.d.ts +4 -0
- package/dist/deploy/cloudRun/index.js +128 -0
- package/dist/deploy/cloudRun/utils/createArgsString.d.ts +13 -0
- package/dist/deploy/cloudRun/utils/createArgsString.js +63 -0
- package/dist/deploy/cloudRun/utils/database.d.ts +6 -0
- package/dist/deploy/cloudRun/utils/database.js +77 -0
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -0
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +12 -0
- package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
- package/dist/deploy/cloudRun/utils/getServiceName.js +10 -0
- package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -0
- package/dist/deploy/cloudRun/utils/jobName.js +10 -0
- package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
- package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +18 -0
- package/dist/deploy/cloudSql/utils.d.ts +4 -0
- package/dist/deploy/cloudSql/utils.js +14 -0
- package/dist/deploy/custom/deployJob.d.ts +3 -3
- package/dist/deploy/custom/deployJob.js +28 -25
- package/dist/deploy/custom/index.d.ts +2 -1
- package/dist/deploy/custom/index.js +16 -19
- package/dist/deploy/dockerTag/deployJob.d.ts +3 -0
- package/dist/deploy/dockerTag/deployJob.js +65 -0
- package/dist/deploy/dockerTag/index.d.ts +2 -0
- package/dist/deploy/dockerTag/index.js +19 -0
- package/dist/deploy/index.d.ts +15 -9
- package/dist/deploy/index.js +20 -27
- package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +8 -0
- package/dist/deploy/kubernetes/additionalSecretKeys.js +30 -0
- package/dist/deploy/kubernetes/cloudSql/index.d.ts +14 -0
- package/dist/deploy/kubernetes/cloudSql/index.js +55 -0
- package/dist/deploy/kubernetes/deployJob.d.ts +3 -3
- package/dist/deploy/kubernetes/deployJob.js +43 -124
- package/dist/deploy/kubernetes/index.d.ts +3 -1
- package/dist/deploy/kubernetes/index.js +86 -11
- package/dist/deploy/kubernetes/kubeEnv.d.ts +10 -0
- package/dist/deploy/kubernetes/kubeEnv.js +76 -0
- package/dist/deploy/kubernetes/kubeValues.d.ts +90 -0
- package/dist/deploy/kubernetes/kubeValues.js +123 -0
- package/dist/deploy/kubernetes/mongodb.d.ts +19 -6
- package/dist/deploy/kubernetes/mongodb.js +100 -11
- package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +27 -29
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +5 -11
- package/dist/deploy/sbom.d.ts +4 -0
- package/dist/deploy/sbom.js +20 -0
- package/dist/deploy/types/base.d.ts +36 -0
- package/dist/deploy/types/base.js +5 -0
- package/dist/deploy/types/custom.d.ts +33 -0
- package/dist/deploy/types/custom.js +5 -0
- package/dist/deploy/types/dockerTag.d.ts +12 -0
- package/dist/deploy/types/dockerTag.js +5 -0
- package/dist/deploy/types/googleCloudRun.d.ts +208 -0
- package/dist/deploy/types/googleCloudRun.js +5 -0
- package/dist/deploy/types/index.d.ts +22 -0
- package/dist/deploy/types/index.js +37 -0
- package/dist/deploy/types/kubernetes.d.ts +355 -0
- package/dist/deploy/types/kubernetes.js +5 -0
- package/dist/deploy/utils.d.ts +3 -3
- package/dist/deploy/utils.js +8 -12
- package/dist/index.d.ts +3 -2
- package/dist/index.js +16 -19
- package/dist/packageInfos.d.ts +4 -0
- package/dist/packageInfos.js +20 -0
- package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +1 -0
- package/dist/pipeline/__tests__/getPipelineStages.test.js +73 -0
- package/dist/pipeline/createAllJobs.d.ts +18 -0
- package/dist/pipeline/createAllJobs.js +236 -0
- package/dist/pipeline/createChildPipeline.d.ts +3 -3
- package/dist/pipeline/createChildPipeline.js +45 -157
- package/dist/pipeline/createJobsForComponent.d.ts +3 -0
- package/dist/{build/base/createBuildJob.js → pipeline/createJobsForComponent.js} +32 -51
- package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
- package/dist/pipeline/createJobsForWorkspace.js +12 -0
- package/dist/pipeline/createMainPipeline.d.ts +3 -0
- package/dist/pipeline/createMainPipeline.js +269 -0
- package/dist/pipeline/generatePipelineFiles.d.ts +40 -0
- package/dist/pipeline/generatePipelineFiles.js +240 -0
- package/dist/pipeline/getPipelineStages.d.ts +7 -0
- package/dist/pipeline/getPipelineStages.js +56 -0
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +11 -0
- package/dist/pipeline/gitlab/createGitlabJobs.js +461 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +8 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.js +41 -0
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +1 -0
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +29 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +35 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.js +27 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.js +27 -0
- package/dist/pipeline/index.d.ts +3 -1
- package/dist/pipeline/index.js +16 -12
- package/dist/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/packageManager.js +69 -196
- package/dist/pipeline/yarn/yarnUtils.d.ts +5 -0
- package/dist/pipeline/yarn/yarnUtils.js +241 -0
- package/dist/rules/index.d.ts +10 -2
- package/dist/rules/index.js +36 -16
- package/dist/runner/index.d.ts +2 -3
- package/dist/runner/index.js +3 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +56 -32
- package/dist/types/config.js +11 -18
- package/dist/types/context.d.ts +143 -27
- package/dist/types/context.js +12 -1
- package/dist/types/environmentContext.d.ts +31 -0
- package/dist/types/environmentContext.js +5 -0
- package/dist/types/gitlab-ci-yml.d.ts +769 -0
- package/dist/types/gitlab-ci-yml.js +10 -0
- package/dist/types/gitlab-types.d.ts +12 -60
- package/dist/types/gitlab-types.js +3 -1
- package/dist/types/index.js +13 -13
- package/dist/types/jobs.d.ts +55 -21
- package/dist/types/jobs.js +4 -2
- package/dist/types/pipeline.d.ts +5 -4
- package/dist/types/pipeline.js +3 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.js +5 -0
- package/dist/utils/gitlab.d.ts +6 -0
- package/dist/utils/gitlab.js +56 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +8 -16
- package/dist/utils/jsonParse.d.ts +1 -0
- package/dist/utils/jsonParse.js +14 -0
- package/dist/utils/removeUndefined.d.ts +1 -0
- package/dist/utils/removeUndefined.js +36 -0
- package/dist/utils/writeFiles.d.ts +11 -0
- package/dist/utils/writeFiles.js +180 -0
- package/examples/.test-gen-ignore +1 -0
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +3260 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +3404 -0
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +3322 -0
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +3388 -0
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +2900 -0
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +6760 -0
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +6030 -0
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +3316 -0
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +2983 -0
- package/examples/__snapshots__/custom-build-job.test.ts.snap +2572 -0
- package/examples/__snapshots__/custom-deploy.test.ts.snap +2824 -0
- package/examples/__snapshots__/custom-envs.test.ts.snap +1884 -0
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +2588 -0
- package/examples/__snapshots__/git-submodule.test.ts.snap +3304 -0
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +4228 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.test.ts.snap +4252 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +4268 -0
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +7910 -0
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +4476 -0
- package/examples/__snapshots__/local-dot-env.test.ts.snap +3300 -0
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +4342 -0
- package/examples/__snapshots__/multiline-var.test.ts.snap +7864 -0
- package/examples/__snapshots__/native-app.test.ts.snap +5316 -0
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +3300 -0
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +3316 -0
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +2011 -0
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +3465 -0
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +3380 -0
- package/examples/__utils__/helpers.ts +27 -0
- package/examples/cloud-run-memory-limit.test.ts +18 -0
- package/examples/cloud-run-memory-limit.ts +33 -0
- package/examples/cloud-run-meteor-with-worker.test.ts +18 -0
- package/examples/cloud-run-meteor-with-worker.ts +37 -0
- package/examples/cloud-run-no-cpu-throttling.test.ts +18 -0
- package/examples/cloud-run-no-cpu-throttling.ts +35 -0
- package/examples/cloud-run-no-service.test.ts +18 -0
- package/examples/cloud-run-no-service.ts +33 -0
- package/examples/cloud-run-non-public.test.ts +18 -0
- package/examples/cloud-run-non-public.ts +28 -0
- package/examples/cloud-run-post-stop-job.test.ts +18 -0
- package/examples/cloud-run-post-stop-job.ts +42 -0
- package/examples/cloud-run-service-gen2.test.ts +18 -0
- package/examples/cloud-run-service-gen2.ts +29 -0
- package/examples/cloud-run-service-increase-timout.test.ts +18 -0
- package/examples/cloud-run-service-increase-timout.ts +29 -0
- package/examples/cloud-run-service-with-volumes.test.ts +18 -0
- package/examples/cloud-run-service-with-volumes.ts +56 -0
- package/examples/cloud-run-storybook.test.ts +18 -0
- package/examples/cloud-run-storybook.ts +33 -0
- package/examples/cloud-run-with-ngnix.test.ts +18 -0
- package/examples/cloud-run-with-ngnix.ts +29 -0
- package/examples/cloud-run-with-sql-reuse-db.test.ts +18 -0
- package/examples/cloud-run-with-sql-reuse-db.ts +55 -0
- package/examples/cloud-run-with-sql.test.ts +18 -0
- package/examples/cloud-run-with-sql.ts +71 -0
- package/examples/cloud-run-with-worker.test.ts +18 -0
- package/examples/cloud-run-with-worker.ts +37 -0
- package/examples/custom-build-job-with-tests.test.ts +18 -0
- package/examples/custom-build-job-with-tests.ts +56 -0
- package/examples/custom-build-job.test.ts +18 -0
- package/examples/custom-build-job.ts +29 -0
- package/examples/custom-deploy.test.ts +18 -0
- package/examples/custom-deploy.ts +36 -0
- package/examples/custom-envs.test.ts +18 -0
- package/examples/custom-envs.ts +32 -0
- package/examples/custom-sbom-java.test.ts +18 -0
- package/examples/custom-sbom-java.ts +38 -0
- package/examples/git-submodule.test.ts +18 -0
- package/examples/git-submodule.ts +30 -0
- package/examples/kubernetes-application-customization.test.ts +18 -0
- package/examples/kubernetes-application-customization.ts +59 -0
- package/examples/kubernetes-with-cloud-sql-legacy.test.ts +18 -0
- package/examples/kubernetes-with-cloud-sql-legacy.ts +35 -0
- package/examples/kubernetes-with-cloud-sql.test.ts +18 -0
- package/examples/kubernetes-with-cloud-sql.ts +37 -0
- package/examples/kubernetes-with-jobs.test.ts +18 -0
- package/examples/kubernetes-with-jobs.ts +70 -0
- package/examples/kubernetes-with-mongodb.test.ts +18 -0
- package/examples/kubernetes-with-mongodb.ts +51 -0
- package/examples/local-dot-env.test.ts +18 -0
- package/examples/local-dot-env.ts +27 -0
- package/examples/meteor-kubernetes.test.ts +18 -0
- package/examples/meteor-kubernetes.ts +64 -0
- package/examples/multiline-var.test.ts +18 -0
- package/examples/multiline-var.ts +65 -0
- package/examples/native-app.test.ts +18 -0
- package/examples/native-app.ts +83 -0
- package/examples/node-build-with-custom-image.test.ts +18 -0
- package/examples/node-build-with-custom-image.ts +26 -0
- package/examples/node-build-with-docker-additions.test.ts +18 -0
- package/examples/node-build-with-docker-additions.ts +29 -0
- package/examples/rails-k8s-with-worker-dockerfile.test.ts +9 -0
- package/examples/rails-k8s-with-worker.test.ts +18 -0
- package/examples/rails-k8s-with-worker.ts +95 -0
- package/examples/wait-for-other-deploy.test.ts +18 -0
- package/examples/wait-for-other-deploy.ts +37 -0
- package/package.json +76 -17
- package/scripts/bundle +2 -0
- package/scripts/generate-examples-test.ts +93 -0
- package/scripts/generate-gitlab-ci-types.ts +51 -0
- package/scripts/tsconfig.json +7 -0
- package/src/bash/BashExpression.ts +81 -0
- package/src/bash/bashExpressionPerPipelineType.ts +16 -0
- package/src/bash/bashYaml.ts +46 -0
- package/src/bash/getInjectVarsScript.ts +12 -0
- package/src/bash/replaceAsync.ts +50 -0
- package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
- package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +49 -0
- package/src/build/base/__tests__/createArtifactsConfig.test.ts +41 -0
- package/src/build/base/constants.ts +2 -2
- package/src/build/base/createAppBuildJob.ts +70 -0
- package/src/build/base/createArtifactsConfig.ts +34 -0
- package/src/build/base/index.ts +62 -0
- package/src/build/base/writeBuildInfo.ts +7 -0
- package/src/build/base/writeDotEnv.ts +40 -0
- package/src/build/custom/__tests__/testJob.test.ts +29 -0
- package/src/build/custom/buildJob.ts +41 -0
- package/src/build/custom/index.ts +8 -0
- package/src/build/custom/testJob.ts +93 -0
- package/src/build/docker.ts +173 -63
- package/src/build/index.ts +59 -8
- package/src/build/node/buildJob.ts +84 -64
- package/src/build/node/cache.ts +59 -24
- package/src/build/node/constants.ts +2 -3
- package/src/build/node/index.ts +9 -5
- package/src/build/node/meteor.ts +41 -44
- package/src/build/node/testJob.ts +57 -16
- package/src/build/node/yarn.ts +81 -25
- package/src/build/rails/build.ts +69 -0
- package/src/build/rails/index.ts +8 -0
- package/src/build/rails/test.ts +103 -0
- package/src/build/sbom.ts +48 -0
- package/src/build/types.ts +301 -27
- package/src/catladder-gitlab.ts +12 -52
- package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +31 -0
- package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +15 -0
- package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
- package/src/config/__tests__/getAllEnvs.test.ts +71 -0
- package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
- package/src/config/configruedEnvs.ts +8 -13
- package/src/config/readConfig.ts +17 -23
- package/src/constants.ts +5 -2
- package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +34 -44
- package/src/context/createAllComponentsContext.ts +31 -0
- package/src/context/createComponentContext.ts +135 -0
- package/src/context/createWorkspaceContext.ts +56 -0
- package/src/context/getBuildInfoVariables.ts +36 -0
- package/src/context/getEnvConfig.ts +21 -0
- package/src/context/getEnvType.ts +17 -0
- package/src/context/getEnvironment.ts +26 -0
- package/src/context/getEnvironmentContext.ts +53 -0
- package/src/context/getEnvironmentVariables.ts +210 -0
- package/src/context/getLabels.ts +21 -0
- package/src/context/getReviewSlug.ts +27 -0
- package/src/context/index.ts +3 -232
- package/src/context/resolveReferences.ts +67 -40
- package/src/context/transformJobOnlyVars.ts +45 -0
- package/src/context/utils/envVars.ts +27 -0
- package/src/defaults/index.ts +1 -1
- package/src/deploy/base/deploy.ts +136 -0
- package/src/deploy/base/index.ts +22 -0
- package/src/deploy/base/rollback.ts +38 -0
- package/src/deploy/base/stop.ts +43 -0
- package/src/deploy/base/types.ts +3 -0
- package/src/deploy/base/variables.ts +5 -0
- package/src/deploy/cloudRun/artifactsRegistry.ts +126 -0
- package/src/deploy/cloudRun/cleanup.ts +30 -0
- package/src/deploy/cloudRun/cloudRunRevisions.ts +65 -0
- package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +198 -0
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +86 -0
- package/src/deploy/cloudRun/createJobs/common.ts +59 -0
- package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +79 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +34 -0
- package/src/deploy/cloudRun/createJobs/index.ts +51 -0
- package/src/deploy/cloudRun/createJobs/volumes.ts +23 -0
- package/src/deploy/cloudRun/index.ts +127 -0
- package/src/deploy/cloudRun/utils/createArgsString.ts +34 -0
- package/src/deploy/cloudRun/utils/database.ts +77 -0
- package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +12 -0
- package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
- package/src/deploy/cloudRun/utils/jobName.ts +7 -0
- package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
- package/src/deploy/cloudSql/utils.ts +26 -0
- package/src/deploy/custom/deployJob.ts +41 -16
- package/src/deploy/custom/index.ts +9 -1
- package/src/deploy/dockerTag/deployJob.ts +29 -0
- package/src/deploy/dockerTag/index.ts +10 -0
- package/src/deploy/index.ts +32 -17
- package/src/deploy/kubernetes/additionalSecretKeys.ts +25 -0
- package/src/deploy/kubernetes/cloudSql/index.ts +76 -0
- package/src/deploy/kubernetes/deployJob.ts +61 -115
- package/src/deploy/kubernetes/index.ts +50 -1
- package/src/deploy/kubernetes/kubeEnv.ts +50 -0
- package/src/deploy/kubernetes/kubeValues.ts +100 -0
- package/src/deploy/kubernetes/mongodb.ts +106 -8
- package/src/deploy/kubernetes/processSecretsAsFiles.ts +6 -5
- package/src/deploy/sbom.ts +32 -0
- package/src/deploy/types/base.ts +43 -0
- package/src/deploy/types/custom.ts +36 -0
- package/src/deploy/types/dockerTag.ts +14 -0
- package/src/deploy/types/googleCloudRun.ts +282 -0
- package/src/deploy/types/index.ts +28 -0
- package/src/deploy/types/kubernetes.ts +390 -0
- package/src/deploy/utils.ts +10 -6
- package/src/index.ts +2 -1
- package/src/packageInfos.ts +14 -0
- package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +69 -0
- package/src/pipeline/__tests__/getPipelineStages.test.ts +63 -0
- package/src/pipeline/createAllJobs.ts +72 -0
- package/src/pipeline/createChildPipeline.ts +24 -43
- package/src/pipeline/createJobsForComponent.ts +35 -0
- package/src/pipeline/createJobsForWorkspace.ts +12 -0
- package/src/pipeline/createMainPipeline.ts +111 -0
- package/src/pipeline/generatePipelineFiles.ts +76 -0
- package/src/pipeline/getPipelineStages.ts +23 -0
- package/src/pipeline/gitlab/createGitlabJobs.ts +445 -0
- package/src/pipeline/gitlab/createGitlabPipeline.ts +28 -0
- package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +46 -0
- package/src/pipeline/gitlab/gitlabReleaseJobs.ts +25 -0
- package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
- package/src/pipeline/index.ts +3 -1
- package/src/pipeline/packageManager.ts +47 -64
- package/src/pipeline/yarn/yarnUtils.ts +66 -0
- package/src/rules/index.ts +46 -13
- package/src/runner/index.ts +2 -1
- package/src/types/config.ts +72 -16
- package/src/types/context.ts +194 -25
- package/src/types/environmentContext.ts +38 -0
- package/src/types/gitlab-ci-yml.ts +891 -0
- package/src/types/gitlab-types.ts +52 -57
- package/src/types/jobs.ts +66 -11
- package/src/types/pipeline.ts +5 -1
- package/src/types/utils.ts +7 -0
- package/src/utils/gitlab.ts +33 -0
- package/src/utils/index.ts +3 -3
- package/src/utils/jsonParse.ts +7 -0
- package/src/utils/removeUndefined.ts +4 -0
- package/src/utils/writeFiles.ts +53 -0
- package/tsconfig.json +4 -2
- package/dist/build/base/createBuildJob.d.ts +0 -7
- package/dist/build/base/getBuildInfo.d.ts +0 -2
- package/dist/build/base/getBuildInfo.js +0 -12
- package/dist/context/resolveReferences.test.js +0 -141
- package/dist/deploy/base.d.ts +0 -8
- package/dist/deploy/base.js +0 -107
- package/dist/deploy/kubernetes/cloudsql.d.ts +0 -6
- package/dist/deploy/kubernetes/cloudsql.js +0 -16
- package/dist/deploy/types.d.ts +0 -196
- package/dist/deploy/types.js +0 -16
- package/dist/pipeline/createJobs.d.ts +0 -3
- package/dist/pipeline/createJobs.js +0 -383
- package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -8
- package/dist/pipeline/gitlab/makeGitlabJob.js +0 -45
- package/src/build/base/createBuildJob.ts +0 -43
- package/src/build/base/getBuildInfo.ts +0 -7
- package/src/build/tests/storybook.test.ts +0 -54
- package/src/deploy/base.ts +0 -120
- package/src/deploy/kubernetes/cloudsql.ts +0 -12
- package/src/deploy/types.ts +0 -189
- package/src/pipeline/createChildPipeline.test.ts +0 -49
- package/src/pipeline/createJobs.ts +0 -195
- package/src/pipeline/gitlab/makeGitlabJob.ts +0 -16
- /package/dist/build/{tests/storybook.test.d.ts → base/__tests__/createArtifactsConfig.test.d.ts} +0 -0
- /package/dist/{config/configruedEnvs.test.d.ts → build/custom/__tests__/testJob.test.d.ts} +0 -0
- /package/dist/{context/resolveReferences.test.d.ts → config/__tests__/configruedEnvs.test.d.ts} +0 -0
- /package/dist/{pipeline/createChildPipeline.test.d.ts → config/__tests__/getAllEnvs.test.d.ts} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DEPLOY_RUNNER_VARIABLES = void 0;
|
|
7
|
+
exports.DEPLOY_RUNNER_VARIABLES = {
|
|
8
|
+
KUBERNETES_CPU_REQUEST: "0.22",
|
|
9
|
+
KUBERNETES_MEMORY_REQUEST: "200Mi",
|
|
10
|
+
KUBERNETES_MEMORY_LIMIT: "400Mi"
|
|
11
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StringOrBashExpression } from "../../bash/BashExpression";
|
|
2
|
+
import type { ComponentContext } from "../../types/context";
|
|
3
|
+
export declare const getArtifactsRegistryHost: (context: ComponentContext) => string;
|
|
4
|
+
export declare const getArtifactsRegistryDockerUrl: (context: ComponentContext) => string;
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* lecacyReviewImageName is only temporary. In old versions the images had no reviewslug in review apps, which makes cleanup harder. We delete all those images now, but need the path
|
|
8
|
+
*/
|
|
9
|
+
export declare const getArtifactsRegistryImageName: (context: ComponentContext, lecacyReviewImageName?: boolean) => StringOrBashExpression;
|
|
10
|
+
export declare const getArtifactsRegistryBuildCacheImage: (context: ComponentContext) => string;
|
|
11
|
+
export declare const getArtifactsRegistryImage: (context: ComponentContext) => string;
|
|
12
|
+
/**
|
|
13
|
+
* commands to delete unused images.
|
|
14
|
+
*
|
|
15
|
+
* @param context
|
|
16
|
+
* @param keep how many of the newest images to keep
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare const getDeleteUnusedImagesCommands: (context: ComponentContext, keep?: number) => string[];
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __read = this && this.__read || function (o, n) {
|
|
4
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
+
if (!m) return o;
|
|
6
|
+
var i = m.call(o),
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
10
|
+
try {
|
|
11
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
e = {
|
|
14
|
+
error: error
|
|
15
|
+
};
|
|
16
|
+
} finally {
|
|
17
|
+
try {
|
|
18
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
19
|
+
} finally {
|
|
20
|
+
if (e) throw e.error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
37
|
+
exports.getDeleteUnusedImagesCommands = exports.getArtifactsRegistryImage = exports.getArtifactsRegistryBuildCacheImage = exports.getArtifactsRegistryImageName = exports.getArtifactsRegistryDockerUrl = exports.getArtifactsRegistryHost = void 0;
|
|
38
|
+
var BashExpression_1 = require("../../bash/BashExpression");
|
|
39
|
+
var gitlab_1 = require("../../utils/gitlab");
|
|
40
|
+
var types_1 = require("../types");
|
|
41
|
+
var removeFirstLinesFromCommandOutput_1 = require("./utils/removeFirstLinesFromCommandOutput");
|
|
42
|
+
var getArtifactsRegistryHost = function (context) {
|
|
43
|
+
var _a;
|
|
44
|
+
if (!(0, types_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "google-cloudrun")) {
|
|
45
|
+
// should not happen
|
|
46
|
+
throw new Error("deploy config is wrong");
|
|
47
|
+
}
|
|
48
|
+
return "".concat(context.deploy.config.region, "-docker.pkg.dev");
|
|
49
|
+
};
|
|
50
|
+
exports.getArtifactsRegistryHost = getArtifactsRegistryHost;
|
|
51
|
+
var getArtifactsRegistryDockerUrl = function (context) {
|
|
52
|
+
var _a;
|
|
53
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
54
|
+
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
55
|
+
// should not happen
|
|
56
|
+
throw new Error("deploy config is wrong");
|
|
57
|
+
}
|
|
58
|
+
var fullAppName = "".concat(context.fullConfig.customerName, "-").concat(context.fullConfig.appName);
|
|
59
|
+
return "".concat((0, exports.getArtifactsRegistryHost)(context), "/").concat(deployConfig.projectId, "/catladder-deploy/").concat(fullAppName);
|
|
60
|
+
};
|
|
61
|
+
exports.getArtifactsRegistryDockerUrl = getArtifactsRegistryDockerUrl;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* lecacyReviewImageName is only temporary. In old versions the images had no reviewslug in review apps, which makes cleanup harder. We delete all those images now, but need the path
|
|
65
|
+
*/
|
|
66
|
+
var getArtifactsRegistryImageName = function (context, lecacyReviewImageName) {
|
|
67
|
+
if (lecacyReviewImageName === void 0) {
|
|
68
|
+
lecacyReviewImageName = false;
|
|
69
|
+
}
|
|
70
|
+
if (lecacyReviewImageName && context.environment.envType !== "review") {
|
|
71
|
+
throw new Error("lecacyReviewImageName is only allowed for review app");
|
|
72
|
+
}
|
|
73
|
+
var dockerUrl = (0, exports.getArtifactsRegistryDockerUrl)(context);
|
|
74
|
+
var gcloudImagePath = __spreadArray([dockerUrl, context.env, context.name], __read(context.environment.reviewSlug && !lecacyReviewImageName ? [context.environment.reviewSlug] : []), false);
|
|
75
|
+
return (0, BashExpression_1.joinBashExpressions)(gcloudImagePath, "/");
|
|
76
|
+
};
|
|
77
|
+
exports.getArtifactsRegistryImageName = getArtifactsRegistryImageName;
|
|
78
|
+
var getArtifactsRegistryBuildCacheImage = function (context) {
|
|
79
|
+
var dockerUrl = (0, exports.getArtifactsRegistryDockerUrl)(context);
|
|
80
|
+
// does not include env, so that after merge, you might get more cache hits (review-->dev)
|
|
81
|
+
var gcloudImagePath = [dockerUrl, "caches", context.name];
|
|
82
|
+
return gcloudImagePath.join("/");
|
|
83
|
+
};
|
|
84
|
+
exports.getArtifactsRegistryBuildCacheImage = getArtifactsRegistryBuildCacheImage;
|
|
85
|
+
var getArtifactsRegistryImage = function (context) {
|
|
86
|
+
return "".concat((0, exports.getArtifactsRegistryImageName)(context), ":$DOCKER_IMAGE_TAG");
|
|
87
|
+
};
|
|
88
|
+
exports.getArtifactsRegistryImage = getArtifactsRegistryImage;
|
|
89
|
+
var getDeleteImageCommands = function (fullImageName, keepNewest) {
|
|
90
|
+
if (keepNewest === void 0) {
|
|
91
|
+
keepNewest = 0;
|
|
92
|
+
}
|
|
93
|
+
if (keepNewest === 0) {
|
|
94
|
+
// no need to list tags, we delete the whole thing
|
|
95
|
+
return ["gcloud artifacts docker images delete ".concat(fullImageName, " --quiet --delete-tags")];
|
|
96
|
+
}
|
|
97
|
+
// delete unused tags
|
|
98
|
+
var listAllImagesCommand = "gcloud artifacts docker images list ".concat(fullImageName, " --sort-by=~CREATE_TIME --format=\"value(version)\"");
|
|
99
|
+
var listImagesToDeletecommand = (0, removeFirstLinesFromCommandOutput_1.removeFirstLinesFromCommandOutput)(listAllImagesCommand, keepNewest);
|
|
100
|
+
var deleteImageCommand = "gcloud artifacts docker images delete ".concat(fullImageName, "@$version --quiet --delete-tags");
|
|
101
|
+
var deleteImagesCommand = "".concat(listImagesToDeletecommand, " | while read -r version; do ").concat(deleteImageCommand, "; done");
|
|
102
|
+
return [deleteImagesCommand];
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* commands to delete unused images.
|
|
106
|
+
*
|
|
107
|
+
* @param context
|
|
108
|
+
* @param keep how many of the newest images to keep
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
var getDeleteUnusedImagesCommands = function (context, keep) {
|
|
112
|
+
var _a;
|
|
113
|
+
if (keep === void 0) {
|
|
114
|
+
keep = 0;
|
|
115
|
+
}
|
|
116
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
117
|
+
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
118
|
+
// should not happen
|
|
119
|
+
throw new Error("deploy config is wrong");
|
|
120
|
+
}
|
|
121
|
+
var fullImageName = (0, exports.getArtifactsRegistryImageName)(context);
|
|
122
|
+
var buildCacheImageName = (0, exports.getArtifactsRegistryBuildCacheImage)(context);
|
|
123
|
+
return __spreadArray(__spreadArray(__spreadArray([], __read(getDeleteImageCommands(fullImageName, keep)), false), __read(getDeleteImageCommands(buildCacheImageName, 1)), false), __read(context.environment.envType === "review" ? (0, gitlab_1.allowFailureInScripts)(getDeleteImageCommands((0, exports.getArtifactsRegistryImageName)(context, true), 0)) : []), false);
|
|
124
|
+
};
|
|
125
|
+
exports.getDeleteUnusedImagesCommands = getDeleteUnusedImagesCommands;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __read = this && this.__read || function (o, n) {
|
|
4
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
+
if (!m) return o;
|
|
6
|
+
var i = m.call(o),
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
10
|
+
try {
|
|
11
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
e = {
|
|
14
|
+
error: error
|
|
15
|
+
};
|
|
16
|
+
} finally {
|
|
17
|
+
try {
|
|
18
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
19
|
+
} finally {
|
|
20
|
+
if (e) throw e.error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
37
|
+
exports.getRemoveOldRevisionsAndImagesCommand = void 0;
|
|
38
|
+
var artifactsRegistry_1 = require("./artifactsRegistry");
|
|
39
|
+
var cloudRunRevisions_1 = require("./cloudRunRevisions");
|
|
40
|
+
var getRemoveOldRevisionsAndImagesCommand = function (context, when) {
|
|
41
|
+
if (when === "onStop") {
|
|
42
|
+
// service is already deleted, so we don't need to delete old revisions, just delete all images
|
|
43
|
+
return (0, artifactsRegistry_1.getDeleteUnusedImagesCommands)(context);
|
|
44
|
+
}
|
|
45
|
+
// this number only targets inactive revisions
|
|
46
|
+
var revisionsToKeep = context.environment.envType === "prod" ? 5 : 0;
|
|
47
|
+
// this number needs to be higher than inactive after deploy, so we add one
|
|
48
|
+
var imagesToKeep = revisionsToKeep + 1;
|
|
49
|
+
var deleteOldRevisionsCommands = (0, cloudRunRevisions_1.getDeleteUnusedRevisionsCommands)(context, revisionsToKeep);
|
|
50
|
+
var deleteOldImagesCommands = (0, artifactsRegistry_1.getDeleteUnusedImagesCommands)(context, imagesToKeep);
|
|
51
|
+
return __spreadArray(__spreadArray([], __read(deleteOldRevisionsCommands), false), __read(deleteOldImagesCommands), false);
|
|
52
|
+
};
|
|
53
|
+
exports.getRemoveOldRevisionsAndImagesCommand = getRemoveOldRevisionsAndImagesCommand;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", {
|
|
14
|
+
value: true
|
|
15
|
+
});
|
|
16
|
+
exports.getDeleteUnusedRevisionsCommands = void 0;
|
|
17
|
+
var types_1 = require("../types");
|
|
18
|
+
var createArgsString_1 = require("./utils/createArgsString");
|
|
19
|
+
var getServiceName_1 = require("./utils/getServiceName");
|
|
20
|
+
var removeFirstLinesFromCommandOutput_1 = require("./utils/removeFirstLinesFromCommandOutput");
|
|
21
|
+
var getListRevisionsCommand = function (context, args) {
|
|
22
|
+
var _a;
|
|
23
|
+
var serviceName = (0, getServiceName_1.getServiceName)(context);
|
|
24
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
25
|
+
if (!deployConfig || !(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
26
|
+
// should not happen
|
|
27
|
+
throw new Error("deploy config is wrong");
|
|
28
|
+
}
|
|
29
|
+
var filterRevisionArgs = __assign({
|
|
30
|
+
project: deployConfig.projectId,
|
|
31
|
+
region: deployConfig.region,
|
|
32
|
+
// only show inactive revisions
|
|
33
|
+
service: serviceName,
|
|
34
|
+
limit: "unlimited",
|
|
35
|
+
"sort-by": "metadata.creationTimestamp"
|
|
36
|
+
}, args);
|
|
37
|
+
// this prints out all inactive images of the given app
|
|
38
|
+
return "gcloud run revisions list ".concat((0, createArgsString_1.createArgsString)(filterRevisionArgs));
|
|
39
|
+
};
|
|
40
|
+
var getDeleteUnusedRevisionsCommands = function (context, keep) {
|
|
41
|
+
var _a;
|
|
42
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
43
|
+
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
|
|
44
|
+
// should not happen
|
|
45
|
+
throw new Error("deploy config is wrong");
|
|
46
|
+
}
|
|
47
|
+
// this prints out all inactive images of the given app
|
|
48
|
+
var listAllInactiveRevisionsCmd = getListRevisionsCommand(context, {
|
|
49
|
+
format: "\"value(name)\"",
|
|
50
|
+
filter: "'(status.conditions.status=False OR status.conditions.status=Unknown)'"
|
|
51
|
+
});
|
|
52
|
+
// this removes the newest `revisionsToKeep` images
|
|
53
|
+
var listRevisionsToDeleteCmd = (0, removeFirstLinesFromCommandOutput_1.removeFirstLinesFromCommandOutput)(listAllInactiveRevisionsCmd, keep);
|
|
54
|
+
var deleteRevisionCmd = "gcloud run revisions delete ".concat((0, createArgsString_1.createArgsString)({
|
|
55
|
+
project: deployConfig.projectId,
|
|
56
|
+
region: deployConfig.region,
|
|
57
|
+
quiet: true
|
|
58
|
+
}), " $revisionname ");
|
|
59
|
+
var deleteRevisionsCmd = "".concat(listRevisionsToDeleteCmd, " | while read -r revisionname; do ").concat(deleteRevisionCmd, "; done");
|
|
60
|
+
return [deleteRevisionsCmd];
|
|
61
|
+
};
|
|
62
|
+
exports.getDeleteUnusedRevisionsCommands = getDeleteUnusedRevisionsCommands;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ComponentContext } from "../../../types/context";
|
|
2
|
+
import type { DeployConfigCloudRunJob } from "../../types/googleCloudRun";
|
|
3
|
+
export declare const getDeleteSchedulesScripts: (context: ComponentContext) => string[];
|
|
4
|
+
export declare const getDeleteJobsScripts: (context: ComponentContext) => string[];
|
|
5
|
+
export declare const getJobRunScripts: (context: ComponentContext, when: DeployConfigCloudRunJob["when"]) => string[];
|
|
6
|
+
export declare const getJobCreateScripts: (context: ComponentContext) => string[];
|
|
7
|
+
export declare const getCreateScheduleScripts: (context: ComponentContext) => string[];
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = this && this.__read || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o),
|
|
17
|
+
r,
|
|
18
|
+
ar = [],
|
|
19
|
+
e;
|
|
20
|
+
try {
|
|
21
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
e = {
|
|
24
|
+
error: error
|
|
25
|
+
};
|
|
26
|
+
} finally {
|
|
27
|
+
try {
|
|
28
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29
|
+
} finally {
|
|
30
|
+
if (e) throw e.error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
36
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
+
if (ar || !(i in from)) {
|
|
38
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
+
ar[i] = from[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
exports.getCreateScheduleScripts = exports.getJobCreateScripts = exports.getJobRunScripts = exports.getDeleteJobsScripts = exports.getDeleteSchedulesScripts = void 0;
|
|
48
|
+
var gitlab_1 = require("../../../utils/gitlab");
|
|
49
|
+
var createArgsString_1 = require("../utils/createArgsString");
|
|
50
|
+
var jobName_1 = require("../utils/jobName");
|
|
51
|
+
var common_1 = require("./common");
|
|
52
|
+
var getLabels_1 = require("../../../context/getLabels");
|
|
53
|
+
var volumes_1 = require("./volumes");
|
|
54
|
+
var constants_1 = require("./constants");
|
|
55
|
+
var getJobRunScriptForJob = function (context, jobName, wait) {
|
|
56
|
+
var commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
57
|
+
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
58
|
+
return "".concat((0, common_1.gcloudRunCmd)(), " jobs execute ").concat(jobName.toString(), " ").concat(commonArgsString).concat(wait ? " --wait" : "");
|
|
59
|
+
};
|
|
60
|
+
var getDeleteSchedulesScripts = function (context) {
|
|
61
|
+
var deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
62
|
+
var jobsWithSchedule = getCloudRunJobsWithSchedule(context);
|
|
63
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
64
|
+
project: deployConfig.projectId,
|
|
65
|
+
location: deployConfig.region
|
|
66
|
+
});
|
|
67
|
+
return jobsWithSchedule.map(function (_a) {
|
|
68
|
+
var schedulerName = _a.schedulerName;
|
|
69
|
+
return ["".concat((0, common_1.gcloudSchedulerCmd)(), " jobs delete ").concat(schedulerName, " ").concat(argsString)];
|
|
70
|
+
}).flat();
|
|
71
|
+
};
|
|
72
|
+
exports.getDeleteSchedulesScripts = getDeleteSchedulesScripts;
|
|
73
|
+
var getDeleteJobsScripts = function (context) {
|
|
74
|
+
var commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
75
|
+
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
76
|
+
var jobsWithNames = getCloudRunJobsWithNames(context);
|
|
77
|
+
return jobsWithNames.flatMap(function (_a) {
|
|
78
|
+
var jobName = _a.jobName;
|
|
79
|
+
return [
|
|
80
|
+
// first delete all job executions. Otherwise delete might fail if one of those is still running
|
|
81
|
+
"".concat((0, common_1.gcloudRunCmd)(), " jobs executions list ").concat(commonArgsString, " --job ").concat(jobName, " --format=\"value(name)\" | xargs -I {} ").concat((0, common_1.gcloudRunCmd)(), " jobs executions delete {} --quiet ").concat(commonArgsString), "".concat((0, common_1.gcloudRunCmd)(), " jobs delete ").concat(jobName, " ").concat(commonArgsString)];
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
exports.getDeleteJobsScripts = getDeleteJobsScripts;
|
|
85
|
+
var getJobRunScripts = function (context, when) {
|
|
86
|
+
var jobsWithNames = getCloudRunJobsWithNames(context);
|
|
87
|
+
return jobsWithNames.filter(function (_a) {
|
|
88
|
+
var job = _a.job;
|
|
89
|
+
return job.when === when;
|
|
90
|
+
}).map(function (_a) {
|
|
91
|
+
var jobName = _a.jobName;
|
|
92
|
+
return getJobRunScriptForJob(context, jobName,
|
|
93
|
+
// wait for completin on stop jobs, since stop will delete the jobs afterwards, so they will fail
|
|
94
|
+
["preStop", "postStop"].includes(when));
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
exports.getJobRunScripts = getJobRunScripts;
|
|
98
|
+
var getJobCreateScripts = function (context) {
|
|
99
|
+
var jobsWithNames = getCloudRunJobsWithNames(context);
|
|
100
|
+
return jobsWithNames.map(function (_a) {
|
|
101
|
+
var job = _a.job,
|
|
102
|
+
jobName = _a.jobName;
|
|
103
|
+
return getJobCreateScriptsForJob(context, jobName, job);
|
|
104
|
+
}).flat();
|
|
105
|
+
};
|
|
106
|
+
exports.getJobCreateScripts = getJobCreateScripts;
|
|
107
|
+
var getJobCreateScriptsForJob = function (context, jobName, job) {
|
|
108
|
+
var commonDeployArgs = (0, common_1.getCommonDeployArgs)(context);
|
|
109
|
+
// due to some oversight from google, jobs create does not yet accept `--add-volume` 🤦
|
|
110
|
+
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
111
|
+
// we cannot upsert a job, so we have to create it and catch the error and then update
|
|
112
|
+
var commandArray = Array.isArray(job.command) ? job.command : job.command.split(" ");
|
|
113
|
+
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
114
|
+
command: '"' + commandArray.join(",") + '"'
|
|
115
|
+
}, commonDeployArgs), {
|
|
116
|
+
labels: (0, common_1.makeLabelString)(__assign(__assign({}, (0, getLabels_1.getLabels)(context)), {
|
|
117
|
+
"cloud-run-job-name": jobName.toString()
|
|
118
|
+
})),
|
|
119
|
+
image: job.image || commonDeployArgs.image,
|
|
120
|
+
cpu: job === null || job === void 0 ? void 0 : job.cpu,
|
|
121
|
+
memory: job.memory || "512Mi",
|
|
122
|
+
"task-timeout": job.timeout || "10m",
|
|
123
|
+
parallelism: job.parallelism || 1,
|
|
124
|
+
"env-vars-file": constants_1.ENV_VARS_FILENAME,
|
|
125
|
+
"max-retries": 0
|
|
126
|
+
}));
|
|
127
|
+
var requiresBeta = (job === null || job === void 0 ? void 0 : job.volumes) && Object.keys(job === null || job === void 0 ? void 0 : job.volumes).length > 0;
|
|
128
|
+
var argsString = "".concat(jobName, " ").concat(commonDeployArgsString);
|
|
129
|
+
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["".concat((0, common_1.gcloudRunCmd)(), " jobs create ").concat(argsString)])), false), ["".concat((0, common_1.gcloudRunCmd)(requiresBeta ? "beta" : undefined), " jobs update ").concat(argsString, " ").concat(createArgsString_1.createArgsString.apply(void 0, __spreadArray([], __read((0, volumes_1.createVolumeConfig)(job === null || job === void 0 ? void 0 : job.volumes, "job")), false)))], false);
|
|
130
|
+
};
|
|
131
|
+
var getCreateScheduleScripts = function (context) {
|
|
132
|
+
var jobsWithSchedule = getCloudRunJobsWithSchedule(context);
|
|
133
|
+
var deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
134
|
+
return jobsWithSchedule.map(function (_a) {
|
|
135
|
+
var _b;
|
|
136
|
+
var job = _a.job,
|
|
137
|
+
jobName = _a.jobName,
|
|
138
|
+
schedulerName = _a.schedulerName;
|
|
139
|
+
var argsString = (0, createArgsString_1.createArgsString)({
|
|
140
|
+
project: deployConfig.projectId,
|
|
141
|
+
location: deployConfig.region,
|
|
142
|
+
schedule: "\"".concat(job.schedule, "\""),
|
|
143
|
+
"max-retry-attempts": (_b = job.maxRetryAttempts) !== null && _b !== void 0 ? _b : 0,
|
|
144
|
+
uri: "\"https://".concat(deployConfig.region, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(deployConfig.projectId, "/jobs/").concat(jobName, ":run\""),
|
|
145
|
+
"http-method": "POST",
|
|
146
|
+
"oauth-service-account-email": "$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"
|
|
147
|
+
});
|
|
148
|
+
var commonArgs = "http ".concat(schedulerName, " ").concat(argsString);
|
|
149
|
+
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["".concat((0, common_1.gcloudSchedulerCmd)(), " jobs create ").concat(commonArgs)])), false), ["".concat((0, common_1.gcloudSchedulerCmd)(), " jobs update ").concat(commonArgs)], false);
|
|
150
|
+
}).flat();
|
|
151
|
+
};
|
|
152
|
+
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
153
|
+
var getCloudRunJobsWithSchedule = function (context) {
|
|
154
|
+
var jobsWithNames = getCloudRunJobsWithNames(context);
|
|
155
|
+
return jobsWithNames.filter(function (entry) {
|
|
156
|
+
return entry.job.when === "schedule";
|
|
157
|
+
}).map(function (_a) {
|
|
158
|
+
var job = _a.job,
|
|
159
|
+
jobName = _a.jobName;
|
|
160
|
+
return {
|
|
161
|
+
job: job,
|
|
162
|
+
jobName: jobName,
|
|
163
|
+
schedulerName: jobName.concat("-scheduler")
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
var getCloudRunJobsWithNames = function (context) {
|
|
168
|
+
var _a;
|
|
169
|
+
var deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
170
|
+
var getFullJobName = function (name) {
|
|
171
|
+
return (0, jobName_1.getCloudRunJobName)(context.environment.fullName, name);
|
|
172
|
+
};
|
|
173
|
+
var jobsWithNames = Object.entries((_a = deployConfig.jobs) !== null && _a !== void 0 ? _a : {})
|
|
174
|
+
// filter out disabled jobs
|
|
175
|
+
.filter(function (entry) {
|
|
176
|
+
return Boolean(entry[1]);
|
|
177
|
+
}).map(function (_a) {
|
|
178
|
+
var _b = __read(_a, 2),
|
|
179
|
+
name = _b[0],
|
|
180
|
+
job = _b[1];
|
|
181
|
+
return {
|
|
182
|
+
jobName: getFullJobName(name),
|
|
183
|
+
job: job
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
return jobsWithNames;
|
|
187
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentContext } from "../../../types/context";
|
|
2
|
+
import type { DeployConfigCloudRunService } from "../../types/googleCloudRun";
|
|
3
|
+
export declare const getServiceDeployScript: (context: ComponentContext, service: DeployConfigCloudRunService | true | undefined, nameSuffix?: string) => string;
|
|
4
|
+
export declare const getServiceDeleteScript: (context: ComponentContext, serviceSuffix?: string) => string[];
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = this && this.__read || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o),
|
|
17
|
+
r,
|
|
18
|
+
ar = [],
|
|
19
|
+
e;
|
|
20
|
+
try {
|
|
21
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
e = {
|
|
24
|
+
error: error
|
|
25
|
+
};
|
|
26
|
+
} finally {
|
|
27
|
+
try {
|
|
28
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29
|
+
} finally {
|
|
30
|
+
if (e) throw e.error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
36
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
+
if (ar || !(i in from)) {
|
|
38
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
+
ar[i] = from[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
exports.getServiceDeleteScript = exports.getServiceDeployScript = void 0;
|
|
48
|
+
var getLabels_1 = require("../../../context/getLabels");
|
|
49
|
+
var createArgsString_1 = require("../utils/createArgsString");
|
|
50
|
+
var getServiceName_1 = require("../utils/getServiceName");
|
|
51
|
+
var common_1 = require("./common");
|
|
52
|
+
var constants_1 = require("./constants");
|
|
53
|
+
var volumes_1 = require("./volumes");
|
|
54
|
+
var getServiceDeployScript = function (context, service, nameSuffix) {
|
|
55
|
+
var _a, _b, _c, _d, _e;
|
|
56
|
+
var commonDeployArgs = (0, common_1.getCommonDeployArgs)(context);
|
|
57
|
+
var serviceName = (0, getServiceName_1.getServiceName)(context);
|
|
58
|
+
var customConfig = service !== true ? service : undefined;
|
|
59
|
+
var command = service !== true ? (_a = service === null || service === void 0 ? void 0 : service.command) !== null && _a !== void 0 ? _a : context.build.config.startCommand : undefined;
|
|
60
|
+
var commandArray = command ? Array.isArray(command) ? command : command.split(" ") : undefined;
|
|
61
|
+
var fullServiceName = serviceName.concat(nameSuffix !== null && nameSuffix !== void 0 ? nameSuffix : "");
|
|
62
|
+
var argsString = createArgsString_1.createArgsString.apply(void 0, __spreadArray([__assign(__assign({
|
|
63
|
+
// command as empty string resets it to default (uses the image's entrypoint)
|
|
64
|
+
command: commandArray ? '"' + commandArray.join(",") + '"' : '""'
|
|
65
|
+
}, commonDeployArgs), {
|
|
66
|
+
labels: (0, common_1.makeLabelString)(__assign(__assign({}, (0, getLabels_1.getLabels)(context)), {
|
|
67
|
+
"cloud-run-service-name": fullServiceName
|
|
68
|
+
})),
|
|
69
|
+
"env-vars-file": constants_1.ENV_VARS_FILENAME,
|
|
70
|
+
"min-instances": (_b = customConfig === null || customConfig === void 0 ? void 0 : customConfig.minInstances) !== null && _b !== void 0 ? _b : 0,
|
|
71
|
+
"max-instances": (_c = customConfig === null || customConfig === void 0 ? void 0 : customConfig.maxInstances) !== null && _c !== void 0 ? _c : 100,
|
|
72
|
+
"cpu-throttling": (customConfig === null || customConfig === void 0 ? void 0 : customConfig.noCpuThrottling) !== true,
|
|
73
|
+
cpu: customConfig === null || customConfig === void 0 ? void 0 : customConfig.cpu,
|
|
74
|
+
memory: customConfig === null || customConfig === void 0 ? void 0 : customConfig.memory,
|
|
75
|
+
timeout: customConfig === null || customConfig === void 0 ? void 0 : customConfig.timeout,
|
|
76
|
+
"allow-unauthenticated": (_d = customConfig === null || customConfig === void 0 ? void 0 : customConfig.allowUnauthenticated) !== null && _d !== void 0 ? _d : true,
|
|
77
|
+
ingress: (_e = customConfig === null || customConfig === void 0 ? void 0 : customConfig.ingress) !== null && _e !== void 0 ? _e : "all",
|
|
78
|
+
"cpu-boost": true,
|
|
79
|
+
"execution-environment": customConfig === null || customConfig === void 0 ? void 0 : customConfig.executionEnvironment
|
|
80
|
+
})], __read((0, volumes_1.createVolumeConfig)(customConfig === null || customConfig === void 0 ? void 0 : customConfig.volumes, "service")), false));
|
|
81
|
+
// volumes require beta
|
|
82
|
+
var requiresBeta = (customConfig === null || customConfig === void 0 ? void 0 : customConfig.volumes) && Object.keys(customConfig === null || customConfig === void 0 ? void 0 : customConfig.volumes).length > 0;
|
|
83
|
+
return "".concat((0, common_1.gcloudRunCmd)(requiresBeta ? "beta" : undefined), " deploy ").concat(fullServiceName, " ").concat(argsString);
|
|
84
|
+
};
|
|
85
|
+
exports.getServiceDeployScript = getServiceDeployScript;
|
|
86
|
+
var getServiceDeleteScript = function (context, serviceSuffix) {
|
|
87
|
+
var commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
88
|
+
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
89
|
+
var serviceName = (0, getServiceName_1.getServiceName)(context);
|
|
90
|
+
var fullServiceName = serviceSuffix ? "".concat(serviceName, "-").concat(serviceSuffix) : serviceName;
|
|
91
|
+
return ["".concat((0, common_1.gcloudRunCmd)(), " services delete ").concat(fullServiceName, " ").concat(commonArgsString)];
|
|
92
|
+
};
|
|
93
|
+
exports.getServiceDeleteScript = getServiceDeleteScript;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ComponentContext } from "../../../types/context";
|
|
2
|
+
import type { DeployConfigCloudRun } from "../../types/googleCloudRun";
|
|
3
|
+
export declare const gcloudCmd: (version?: "beta") => string;
|
|
4
|
+
export declare const gcloudRunCmd: (version?: "beta") => string;
|
|
5
|
+
export declare const gcloudSchedulerCmd: (version?: "beta") => string;
|
|
6
|
+
export declare const setGoogleProjectNumberScript: (deployConfig: DeployConfigCloudRun) => string[];
|
|
7
|
+
export declare const makeLabelString: (obj: Record<string, unknown>) => string;
|
|
8
|
+
export declare const getCloudRunDeployConfig: (context: ComponentContext) => DeployConfigCloudRun;
|
|
9
|
+
export declare function getCommonCloudRunArgs(context: ComponentContext): {
|
|
10
|
+
project: string;
|
|
11
|
+
region: import("../../types").Gcloudregion;
|
|
12
|
+
};
|
|
13
|
+
export declare function getCommonDeployArgs(context: ComponentContext): {
|
|
14
|
+
"set-cloudsql-instances": string | undefined;
|
|
15
|
+
project: string;
|
|
16
|
+
region: import("../../types").Gcloudregion;
|
|
17
|
+
image: string;
|
|
18
|
+
};
|