@catladder/cli 3.47.1 → 4.0.0
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 +23 -5
- package/dist/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +34 -30
- package/dist/cli/src/adapters/baseContext.d.ts +22 -0
- package/dist/cli/src/adapters/baseContext.js +40 -0
- package/dist/cli/src/adapters/baseContext.js.map +1 -0
- package/dist/cli/src/adapters/programmatic.d.ts +26 -0
- package/dist/cli/src/adapters/programmatic.js +67 -0
- package/dist/cli/src/adapters/programmatic.js.map +1 -0
- package/dist/cli/src/adapters/terminal.d.ts +28 -0
- package/dist/cli/src/adapters/terminal.js +201 -0
- package/dist/cli/src/adapters/terminal.js.map +1 -0
- package/dist/cli/src/apps/catenv/catenv.d.ts +1 -0
- package/dist/cli/src/apps/catenv/catenv.js +1 -1
- package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
- package/dist/cli/src/apps/catenv/printVariables.js +0 -10
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.d.ts +2 -5
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +6 -21
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/index.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/logSection.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/logSection.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.d.ts +2 -2
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.d.ts +9 -1
- package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js +15 -14
- package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js.map +1 -1
- package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.d.ts +2 -1
- package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js +4 -6
- package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js.map +1 -1
- package/dist/cli/src/catenv.js +14 -16
- package/dist/cli/src/catenv.js.map +1 -1
- package/dist/cli/src/cli.js +186 -2
- package/dist/cli/src/cli.js.map +1 -1
- package/dist/cli/src/commands/cloudSQL/commandRestoreDb.d.ts +46 -0
- package/dist/cli/src/commands/cloudSQL/commandRestoreDb.js +111 -0
- package/dist/cli/src/commands/cloudSQL/commandRestoreDb.js.map +1 -0
- package/dist/cli/src/commands/fun/commandDadjoke.d.ts +1 -0
- package/dist/cli/src/commands/fun/commandDadjoke.js +30 -0
- package/dist/cli/src/commands/fun/commandDadjoke.js.map +1 -0
- package/dist/cli/src/commands/fun/commandStarwars.d.ts +1 -0
- package/dist/cli/src/commands/fun/commandStarwars.js +19 -0
- package/dist/cli/src/commands/fun/commandStarwars.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeCurrentContext.d.ts +1 -0
- package/dist/cli/src/commands/general/commandKubeCurrentContext.js +17 -0
- package/dist/cli/src/commands/general/commandKubeCurrentContext.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeGetShell.d.ts +12 -0
- package/dist/cli/src/commands/general/commandKubeGetShell.js +36 -0
- package/dist/cli/src/commands/general/commandKubeGetShell.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeListNamespaces.d.ts +1 -0
- package/dist/cli/src/commands/general/commandKubeListNamespaces.js +20 -0
- package/dist/cli/src/commands/general/commandKubeListNamespaces.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeListPods.d.ts +7 -0
- package/dist/cli/src/commands/general/commandKubeListPods.js +26 -0
- package/dist/cli/src/commands/general/commandKubeListPods.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeListSecrets.d.ts +7 -0
- package/dist/cli/src/commands/general/commandKubeListSecrets.js +26 -0
- package/dist/cli/src/commands/general/commandKubeListSecrets.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubePortForward.d.ts +20 -0
- package/dist/cli/src/commands/general/commandKubePortForward.js +46 -0
- package/dist/cli/src/commands/general/commandKubePortForward.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeStopPortforward.d.ts +7 -0
- package/dist/cli/src/commands/general/commandKubeStopPortforward.js +24 -0
- package/dist/cli/src/commands/general/commandKubeStopPortforward.js.map +1 -0
- package/dist/cli/src/commands/index.d.ts +37 -0
- package/dist/cli/src/commands/index.js +283 -0
- package/dist/cli/src/commands/index.js.map +1 -0
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.d.ts +16 -0
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.js +89 -0
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.js.map +1 -0
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.d.ts +16 -0
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.js +36 -0
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.js.map +1 -0
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.d.ts +21 -0
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.js +65 -0
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.js.map +1 -0
- package/dist/cli/src/commands/project/commandCloudSqlProxy.d.ts +13 -0
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js +127 -0
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js.map +1 -0
- package/dist/cli/src/commands/project/commandConfigSecrets.d.ts +9 -0
- package/dist/cli/src/commands/project/commandConfigSecrets.js +36 -0
- package/dist/cli/src/commands/project/commandConfigSecrets.js.map +1 -0
- package/dist/cli/src/commands/project/commandDeletePods.d.ts +13 -0
- package/dist/cli/src/commands/project/commandDeletePods.js +49 -0
- package/dist/cli/src/commands/project/commandDeletePods.js.map +1 -0
- package/dist/cli/src/commands/project/commandDeleteProject.d.ts +8 -0
- package/dist/cli/src/commands/project/commandDeleteProject.js +41 -0
- package/dist/cli/src/commands/project/commandDeleteProject.js.map +1 -0
- package/dist/cli/src/commands/project/commandEnvVars.d.ts +8 -0
- package/dist/cli/src/commands/project/commandEnvVars.js +32 -0
- package/dist/cli/src/commands/project/commandEnvVars.js.map +1 -0
- package/dist/cli/src/commands/project/commandGetMyTotalWorktime.d.ts +1 -0
- package/dist/cli/src/commands/project/commandGetMyTotalWorktime.js +19 -0
- package/dist/cli/src/commands/project/commandGetMyTotalWorktime.js.map +1 -0
- package/dist/cli/src/commands/project/commandGetShell.d.ts +13 -0
- package/dist/cli/src/commands/project/commandGetShell.js +41 -0
- package/dist/cli/src/commands/project/commandGetShell.js.map +1 -0
- package/dist/cli/src/commands/project/commandGitlabCi.d.ts +14 -0
- package/dist/cli/src/commands/project/commandGitlabCi.js +109 -0
- package/dist/cli/src/commands/project/commandGitlabCi.js.map +1 -0
- package/dist/cli/src/commands/project/commandListPods.d.ts +8 -0
- package/dist/cli/src/commands/project/commandListPods.js +31 -0
- package/dist/cli/src/commands/project/commandListPods.js.map +1 -0
- package/dist/cli/src/commands/project/commandNamespace.d.ts +8 -0
- package/dist/cli/src/commands/project/commandNamespace.js +26 -0
- package/dist/cli/src/commands/project/commandNamespace.js.map +1 -0
- package/dist/cli/src/commands/project/commandOpenEnv.d.ts +8 -0
- package/dist/cli/src/commands/project/commandOpenEnv.js +40 -0
- package/dist/cli/src/commands/project/commandOpenEnv.js.map +1 -0
- package/dist/cli/src/commands/project/commandOpenGit.d.ts +1 -0
- package/dist/cli/src/commands/project/commandOpenGit.js +17 -0
- package/dist/cli/src/commands/project/commandOpenGit.js.map +1 -0
- package/dist/cli/src/commands/project/commandOpenLogs.d.ts +8 -0
- package/dist/cli/src/commands/project/commandOpenLogs.js +32 -0
- package/dist/cli/src/commands/project/commandOpenLogs.js.map +1 -0
- package/dist/cli/src/commands/project/commandPauseProject.d.ts +8 -0
- package/dist/cli/src/commands/project/commandPauseProject.js +41 -0
- package/dist/cli/src/commands/project/commandPauseProject.js.map +1 -0
- package/dist/cli/src/commands/project/commandPortForward.d.ts +25 -0
- package/dist/cli/src/commands/project/commandPortForward.js +95 -0
- package/dist/cli/src/commands/project/commandPortForward.js.map +1 -0
- package/dist/cli/src/commands/project/commandProjectRestoreDb.d.ts +19 -0
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js +159 -0
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js.map +1 -0
- package/dist/cli/src/commands/project/commandRenewToken.d.ts +1 -0
- package/dist/cli/src/commands/project/commandRenewToken.js +17 -0
- package/dist/cli/src/commands/project/commandRenewToken.js.map +1 -0
- package/dist/cli/src/commands/project/commandSecretsClearBackups.d.ts +7 -0
- package/dist/cli/src/commands/project/commandSecretsClearBackups.js +24 -0
- package/dist/cli/src/commands/project/commandSecretsClearBackups.js.map +1 -0
- package/dist/cli/src/commands/project/commandSecurityEvaluate.d.ts +1 -0
- package/dist/cli/src/commands/project/commandSecurityEvaluate.js +26 -0
- package/dist/cli/src/commands/project/commandSecurityEvaluate.js.map +1 -0
- package/dist/cli/src/commands/project/commandSetup.d.ts +8 -0
- package/dist/cli/src/commands/project/commandSetup.js +25 -0
- package/dist/cli/src/commands/project/commandSetup.js.map +1 -0
- package/dist/cli/src/commands/project/commandTriggerCronjob.d.ts +25 -0
- package/dist/cli/src/commands/project/commandTriggerCronjob.js +95 -0
- package/dist/cli/src/commands/project/commandTriggerCronjob.js.map +1 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.d.ts +27 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.js +83 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCiJob.js.map +1 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.d.ts +22 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.js +60 -0
- package/dist/cli/src/commands/security/commandSecurityAuditCreate.js.map +1 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.d.ts +7 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.js +35 -0
- package/dist/cli/src/commands/security/commandSecurityAuditEvaluate.js.map +1 -0
- package/dist/cli/src/completion.d.ts +24 -0
- package/dist/cli/src/completion.js +240 -0
- package/dist/cli/src/completion.js.map +1 -0
- package/dist/cli/src/config/getProjectConfig.d.ts +4 -4
- package/dist/cli/src/config/getProjectConfig.js +8 -8
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/cli/src/core/defineCommand.d.ts +27 -0
- package/dist/cli/src/core/defineCommand.js +35 -0
- package/dist/cli/src/core/defineCommand.js.map +1 -0
- package/dist/cli/src/core/index.d.ts +5 -0
- package/dist/cli/src/core/index.js +52 -0
- package/dist/cli/src/core/index.js.map +1 -0
- package/dist/cli/src/core/registry.d.ts +5 -0
- package/dist/cli/src/core/registry.js +26 -0
- package/dist/cli/src/core/registry.js.map +1 -0
- package/dist/cli/src/core/runner.d.ts +19 -0
- package/dist/cli/src/core/runner.js +29 -0
- package/dist/cli/src/core/runner.js.map +1 -0
- package/dist/cli/src/core/types.d.ts +105 -0
- package/dist/cli/src/core/types.js +17 -0
- package/dist/cli/src/core/types.js.map +1 -0
- package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.d.ts +2 -2
- package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.js.map +1 -1
- package/dist/cli/src/gcloud/openDashboard.d.ts +2 -2
- package/dist/cli/src/gcloud/openDashboard.js +1 -1
- package/dist/cli/src/gcloud/openDashboard.js.map +1 -1
- package/dist/cli/src/gcloud/serviceAccounts.d.ts +2 -2
- package/dist/cli/src/gcloud/serviceAccounts.js.map +1 -1
- package/dist/cli/src/kubernetes/openKubernetesDashboards.d.ts +3 -3
- package/dist/cli/src/kubernetes/openKubernetesDashboards.js.map +1 -1
- package/dist/cli/src/security/auditDocument.js.map +1 -0
- package/dist/cli/src/security/createSecurityAuditMergeRequest.js.map +1 -0
- package/dist/cli/src/security/evaluateSecurityAudit.js.map +1 -0
- package/dist/cli/src/utils/gitlab.d.ts +9 -9
- package/dist/cli/src/utils/gitlab.js +45 -54
- package/dist/cli/src/utils/gitlab.js.map +1 -1
- package/dist/cli/src/utils/log.d.ts +2 -2
- package/dist/pipeline/src/build/base/createBuildJobDefinition.js +1 -1
- package/dist/pipeline/src/build/base/createBuildJobDefinition.js.map +1 -1
- package/dist/pipeline/src/build/custom/buildJob.js +1 -1
- package/dist/pipeline/src/build/custom/buildJob.js.map +1 -1
- package/dist/pipeline/src/build/index.d.ts +2 -2
- package/dist/pipeline/src/build/index.js.map +1 -1
- package/dist/pipeline/src/build/node/buildJob.d.ts +3 -3
- package/dist/pipeline/src/build/node/buildJob.js +13 -12
- package/dist/pipeline/src/build/node/buildJob.js.map +1 -1
- package/dist/pipeline/src/build/node/cache.d.ts +3 -3
- package/dist/pipeline/src/build/node/cache.js +12 -9
- package/dist/pipeline/src/build/node/cache.js.map +1 -1
- package/dist/pipeline/src/build/node/index.d.ts +3 -3
- package/dist/pipeline/src/build/node/index.js +8 -6
- package/dist/pipeline/src/build/node/index.js.map +1 -1
- package/dist/pipeline/src/build/node/meteor.d.ts +1 -1
- package/dist/pipeline/src/build/node/meteor.js +9 -8
- package/dist/pipeline/src/build/node/meteor.js.map +1 -1
- package/dist/pipeline/src/build/node/testJob.d.ts +1 -1
- package/dist/pipeline/src/build/node/testJob.js +5 -5
- package/dist/pipeline/src/build/node/testJob.js.map +1 -1
- package/dist/pipeline/src/build/node/yarn.d.ts +2 -2
- package/dist/pipeline/src/build/node/yarn.js +10 -8
- package/dist/pipeline/src/build/node/yarn.js.map +1 -1
- package/dist/pipeline/src/build/types.d.ts +3 -3
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/context/createComponentContext.js +3 -3
- package/dist/pipeline/src/context/createComponentContext.js.map +1 -1
- package/dist/pipeline/src/context/createWorkspaceContext.js +1 -1
- package/dist/pipeline/src/context/createWorkspaceContext.js.map +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/custom/deployJob.d.ts +1 -1
- package/dist/pipeline/src/deploy/custom/deployJob.js +2 -2
- package/dist/pipeline/src/deploy/custom/deployJob.js.map +1 -1
- package/dist/pipeline/src/deploy/index.d.ts +1 -1
- package/dist/pipeline/src/deploy/types/index.d.ts +2 -2
- package/dist/pipeline/src/pipeline/createAllJobs.js +4 -4
- package/dist/pipeline/src/pipeline/createAllJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForComponent.d.ts +1 -1
- package/dist/pipeline/src/pipeline/createJobsForComponent.js +2 -3
- package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.d.ts +1 -1
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.js +2 -2
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.js.map +1 -1
- package/dist/pipeline/src/types/config.d.ts +3 -3
- package/dist/pipeline/src/types/context.d.ts +3 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/scripts/bundle +0 -2
- package/src/adapters/baseContext.ts +68 -0
- package/src/adapters/programmatic.ts +88 -0
- package/src/adapters/terminal.ts +202 -0
- package/src/apps/catenv/catenv.ts +4 -2
- package/src/apps/catenv/printVariables.ts +0 -8
- package/src/apps/cli/commands/project/commandConfigSecrets.ts +8 -33
- package/src/apps/cli/commands/project/setup/index.ts +2 -2
- package/src/apps/cli/commands/project/setup/logSection.ts +2 -2
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +2 -2
- package/src/apps/cli/commands/project/setup/setupAgents.ts +11 -11
- package/src/apps/cli/commands/project/setup/setupCloudRun.ts +2 -2
- package/src/apps/cli/commands/project/setup/setupContext.ts +2 -5
- package/src/apps/cli/commands/project/setup/setupKubernetes.ts +2 -2
- package/src/apps/cli/commands/project/setup/setupTopic.ts +2 -2
- package/src/apps/cli/commands/project/utils/ensureCluster.ts +19 -12
- package/src/apps/cli/utils/getGoogleAuthUserNumber.ts +5 -4
- package/src/catenv.ts +24 -18
- package/src/cli.ts +213 -2
- package/src/commands/cloudSQL/commandRestoreDb.ts +105 -0
- package/src/commands/fun/commandDadjoke.ts +18 -0
- package/src/commands/fun/commandStarwars.ts +14 -0
- package/src/commands/general/commandKubeCurrentContext.ts +12 -0
- package/src/commands/general/commandKubeGetShell.ts +32 -0
- package/src/commands/general/commandKubeListNamespaces.ts +15 -0
- package/src/commands/general/commandKubeListPods.ts +21 -0
- package/src/commands/general/commandKubeListSecrets.ts +21 -0
- package/src/commands/general/commandKubePortForward.ts +35 -0
- package/src/commands/general/commandKubeStopPortforward.ts +15 -0
- package/src/commands/index.ts +51 -0
- package/src/commands/mongodb/commandMongoDestroyMember.ts +133 -0
- package/src/commands/mongodb/commandMongoGetShell.ts +36 -0
- package/src/commands/mongodb/commandMongoPortForward.ts +56 -0
- package/src/commands/project/commandCloudSqlProxy.ts +189 -0
- package/src/commands/project/commandConfigSecrets.ts +31 -0
- package/src/commands/project/commandDeletePods.ts +53 -0
- package/src/commands/project/commandDeleteProject.ts +33 -0
- package/src/commands/project/commandEnvVars.ts +24 -0
- package/src/commands/project/commandGetMyTotalWorktime.ts +14 -0
- package/src/commands/project/commandGetShell.ts +39 -0
- package/src/commands/project/commandGitlabCi.ts +122 -0
- package/src/commands/project/commandListPods.ts +30 -0
- package/src/commands/project/commandNamespace.ts +21 -0
- package/src/commands/project/commandOpenEnv.ts +27 -0
- package/src/commands/project/commandOpenGit.ts +12 -0
- package/src/commands/project/commandOpenLogs.ts +27 -0
- package/src/commands/project/commandPauseProject.ts +33 -0
- package/src/commands/project/commandPortForward.ts +74 -0
- package/src/commands/project/commandProjectRestoreDb.ts +201 -0
- package/src/commands/project/commandRenewToken.ts +12 -0
- package/src/commands/project/commandSecretsClearBackups.ts +19 -0
- package/src/commands/project/commandSecurityEvaluate.ts +22 -0
- package/src/commands/project/commandSetup.ts +21 -0
- package/src/commands/project/commandTriggerCronjob.ts +99 -0
- package/src/commands/security/commandSecurityAuditCiJob.ts +91 -0
- package/src/commands/security/commandSecurityAuditCreate.ts +58 -0
- package/src/commands/security/commandSecurityAuditEvaluate.ts +30 -0
- package/src/completion.ts +272 -0
- package/src/config/getProjectConfig.ts +9 -9
- package/src/core/defineCommand.ts +32 -0
- package/src/core/index.ts +23 -0
- package/src/core/registry.ts +22 -0
- package/src/core/runner.ts +31 -0
- package/src/core/types.ts +142 -0
- package/src/gcloud/cloudRun/openCloudRunDashboards.ts +2 -2
- package/src/gcloud/openDashboard.ts +3 -3
- package/src/gcloud/serviceAccounts.ts +2 -2
- package/src/kubernetes/openKubernetesDashboards.ts +3 -3
- package/src/utils/gitlab.ts +46 -58
- package/src/utils/log.ts +2 -2
- package/bin/catci +0 -3
- package/bin/catci-dev +0 -3
- package/dist/bundles/catci/index.js +0 -41
- package/dist/cli/src/apps/catci/catci.d.ts +0 -1
- package/dist/cli/src/apps/catci/catci.js +0 -33
- package/dist/cli/src/apps/catci/catci.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/auditDocument.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/commands.d.ts +0 -2
- package/dist/cli/src/apps/catci/commands/security/commands.js +0 -118
- package/dist/cli/src/apps/catci/commands/security/commands.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js.map +0 -1
- package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js.map +0 -1
- package/dist/cli/src/apps/cli/cli.d.ts +0 -2
- package/dist/cli/src/apps/cli/cli.js +0 -38
- package/dist/cli/src/apps/cli/cli.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js +0 -130
- package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/cloudSQL/index.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/cloudSQL/index.js +0 -14
- package/dist/cli/src/apps/cli/commands/cloudSQL/index.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/general/index.d.ts +0 -4
- package/dist/cli/src/apps/cli/commands/general/index.js +0 -83
- package/dist/cli/src/apps/cli/commands/general/index.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js +0 -13
- package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/general/portForward.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/general/portForward.js +0 -47
- package/dist/cli/src/apps/cli/commands/general/portForward.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/mongodb/index.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/mongodb/index.js +0 -18
- package/dist/cli/src/apps/cli/commands/mongodb/index.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js +0 -96
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js +0 -38
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js +0 -64
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js +0 -152
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js +0 -120
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandDeletePods.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js +0 -54
- package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js +0 -33
- package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandEnvVars.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js +0 -17
- package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js +0 -11
- package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandGetShell.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandGetShell.js +0 -37
- package/dist/cli/src/apps/cli/commands/project/commandGetShell.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js +0 -88
- package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandListPods.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandListPods.js +0 -22
- package/dist/cli/src/apps/cli/commands/project/commandListPods.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandNamespace.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandNamespace.js +0 -12
- package/dist/cli/src/apps/cli/commands/project/commandNamespace.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js +0 -26
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenGit.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js +0 -9
- package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js +0 -18
- package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandPauseProject.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js +0 -33
- package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandPortForward.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandPortForward.js +0 -97
- package/dist/cli/src/apps/cli/commands/project/commandPortForward.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js +0 -9
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.d.ts +0 -5
- package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js +0 -25
- package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js +0 -20
- package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandSetup.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandSetup.js +0 -12
- package/dist/cli/src/apps/cli/commands/project/commandSetup.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js +0 -63
- package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/index.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/project/index.js +0 -54
- package/dist/cli/src/apps/cli/commands/project/index.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.d.ts +0 -2
- package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js +0 -16
- package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js.map +0 -1
- package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.d.ts +0 -3
- package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js +0 -37
- package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js.map +0 -1
- package/dist/cli/src/apps/cli/verify/index.d.ts +0 -2
- package/dist/cli/src/apps/cli/verify/index.js +0 -17
- package/dist/cli/src/apps/cli/verify/index.js.map +0 -1
- package/dist/cli/src/catci.d.ts +0 -1
- package/dist/cli/src/catci.js +0 -7
- package/dist/cli/src/catci.js.map +0 -1
- package/src/apps/catci/catci.ts +0 -26
- package/src/apps/catci/commands/security/commands.ts +0 -161
- package/src/apps/cli/cli.ts +0 -43
- package/src/apps/cli/commands/cloudSQL/commandRestoreDb.ts +0 -136
- package/src/apps/cli/commands/cloudSQL/index.ts +0 -7
- package/src/apps/cli/commands/general/index.ts +0 -90
- package/src/apps/cli/commands/general/namespaceAutoCompletion.ts +0 -7
- package/src/apps/cli/commands/general/portForward.ts +0 -48
- package/src/apps/cli/commands/mongodb/index.ts +0 -10
- package/src/apps/cli/commands/mongodb/projectMongoDestroyMember.ts +0 -132
- package/src/apps/cli/commands/mongodb/projectMongoGetShell.ts +0 -42
- package/src/apps/cli/commands/mongodb/projectMongoPortForward.ts +0 -64
- package/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.ts +0 -206
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +0 -194
- package/src/apps/cli/commands/project/commandDeletePods.ts +0 -48
- package/src/apps/cli/commands/project/commandDeleteProject.ts +0 -33
- package/src/apps/cli/commands/project/commandEnvVars.ts +0 -18
- package/src/apps/cli/commands/project/commandGetMyTotalWorktime.ts +0 -14
- package/src/apps/cli/commands/project/commandGetShell.ts +0 -36
- package/src/apps/cli/commands/project/commandGitlabCi.ts +0 -115
- package/src/apps/cli/commands/project/commandListPods.ts +0 -20
- package/src/apps/cli/commands/project/commandNamespace.ts +0 -14
- package/src/apps/cli/commands/project/commandOpenEnv.ts +0 -22
- package/src/apps/cli/commands/project/commandOpenGit.ts +0 -12
- package/src/apps/cli/commands/project/commandOpenLogs.ts +0 -21
- package/src/apps/cli/commands/project/commandPauseProject.ts +0 -33
- package/src/apps/cli/commands/project/commandPortForward.ts +0 -91
- package/src/apps/cli/commands/project/commandRenewToken.ts +0 -12
- package/src/apps/cli/commands/project/commandSecretsClearBackups.ts +0 -26
- package/src/apps/cli/commands/project/commandSecurityEvaluate.ts +0 -26
- package/src/apps/cli/commands/project/commandSetup.ts +0 -14
- package/src/apps/cli/commands/project/commandTriggerCronjob.ts +0 -62
- package/src/apps/cli/commands/project/index.ts +0 -56
- package/src/apps/cli/commands/project/utils/showProjectBanner.ts +0 -11
- package/src/apps/cli/commands/theStuffThatReallyMatters/index.ts +0 -32
- package/src/apps/cli/verify/index.ts +0 -14
- package/src/catci.ts +0 -3
- /package/dist/cli/src/{apps/catci/commands/security → security}/auditDocument.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/auditDocument.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.d.ts +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.js +0 -0
- /package/dist/cli/src/{apps/catci/commands/security → security}/topics.json +0 -0
- /package/src/{apps/catci/commands/security → security}/auditDocument.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/createSecurityAuditMergeRequest.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/evaluateSecurityAudit.ts +0 -0
- /package/src/{apps/catci/commands/security → security}/topics.json +0 -0
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import type { ComponentContext } from "@catladder/pipeline";
|
|
2
|
-
import {
|
|
3
|
-
createKubernetesCloudsqlBaseValues,
|
|
4
|
-
getDeployConfigType,
|
|
5
|
-
isOfDeployType,
|
|
6
|
-
} from "@catladder/pipeline";
|
|
7
|
-
import type Vorpal from "vorpal";
|
|
8
|
-
import type { CommandInstance } from "vorpal";
|
|
9
|
-
import clipboard from "clipboardy";
|
|
10
|
-
import {
|
|
11
|
-
getEnvVarsResolved,
|
|
12
|
-
getPipelineContextByChoice,
|
|
13
|
-
parseChoice,
|
|
14
|
-
} from "../../../../config/getProjectConfig";
|
|
15
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
16
|
-
import {
|
|
17
|
-
ERROR_NOT_INSTALLED,
|
|
18
|
-
startCloudSqlProxyInCurrentShell,
|
|
19
|
-
} from "../../../../gcloud/cloudSql/startProxy";
|
|
20
|
-
import { logError, logLines, logWarning } from "../../../../utils/log";
|
|
21
|
-
|
|
22
|
-
type ProxyInfo = {
|
|
23
|
-
instanceName: string;
|
|
24
|
-
DB_NAME: string;
|
|
25
|
-
DB_PASSWORD: string;
|
|
26
|
-
DB_USER: string;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const getProxyInfo = (context: ComponentContext) => {
|
|
30
|
-
if (isOfDeployType(context.deploy?.config, "kubernetes")) {
|
|
31
|
-
return getProxyInfoForKubernetes(this, context);
|
|
32
|
-
} else if (isOfDeployType(context.deploy?.config, "google-cloudrun")) {
|
|
33
|
-
return getProxyInfoForCloudRun(this, context);
|
|
34
|
-
}
|
|
35
|
-
throw new Error(`unsupported environment: ${context.deploy?.config?.type}`);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getProxyInfoForKubernetes = async (
|
|
39
|
-
vorpal: CommandInstance,
|
|
40
|
-
context: ComponentContext,
|
|
41
|
-
): Promise<ProxyInfo> => {
|
|
42
|
-
if (!isOfDeployType(context.deploy?.config, "kubernetes")) {
|
|
43
|
-
throw new Error("unsupported");
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const envVars = await getEnvVarsResolved(vorpal, context.env, context.name);
|
|
47
|
-
// bit hacky, would be nicer if we would also declare this through env vars
|
|
48
|
-
const cloudSqlValues = createKubernetesCloudsqlBaseValues(context);
|
|
49
|
-
|
|
50
|
-
const DB_PASSWORD = (
|
|
51
|
-
envVars?.DB_PASSWORD || envVars?.POSTGRESQL_PASSWORD
|
|
52
|
-
)?.toString();
|
|
53
|
-
|
|
54
|
-
const DB_NAME = cloudSqlValues.cloudsql.fullDbName.toString();
|
|
55
|
-
|
|
56
|
-
const instanceName = cloudSqlValues.cloudsql.instanceConnectionName;
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
instanceName,
|
|
60
|
-
DB_PASSWORD,
|
|
61
|
-
DB_NAME,
|
|
62
|
-
DB_USER: "postgres",
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const getProxyInfoForCloudRun = async (
|
|
67
|
-
vorpal: CommandInstance,
|
|
68
|
-
context: ComponentContext,
|
|
69
|
-
): Promise<ProxyInfo> => {
|
|
70
|
-
if (
|
|
71
|
-
!isOfDeployType(context.deploy?.config, "google-cloudrun") ||
|
|
72
|
-
!context.deploy?.config.cloudSql
|
|
73
|
-
) {
|
|
74
|
-
const deployType = getDeployConfigType(context.deploy?.config);
|
|
75
|
-
const errorMessage =
|
|
76
|
-
deployType === "google-cloudrun"
|
|
77
|
-
? `DeployConfig is missing the cloudSql property`
|
|
78
|
-
: `Unsupported DeployConfig type: ${deployType}`;
|
|
79
|
-
logError(vorpal, errorMessage);
|
|
80
|
-
throw new Error(errorMessage);
|
|
81
|
-
}
|
|
82
|
-
const envVars = await getEnvVarsResolved(vorpal, context.env, context.name);
|
|
83
|
-
return {
|
|
84
|
-
instanceName: context.deploy?.config.cloudSql.instanceConnectionName,
|
|
85
|
-
DB_PASSWORD: envVars?.DB_PASSWORD?.toString(),
|
|
86
|
-
DB_NAME: context.environment.envVars.DB_NAME.toString(),
|
|
87
|
-
DB_USER: envVars?.DB_USER?.toString(),
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const getDbUrl = (
|
|
92
|
-
{ DB_PASSWORD, DB_NAME, DB_USER }: ProxyInfo,
|
|
93
|
-
localPort: string,
|
|
94
|
-
additional: string = "",
|
|
95
|
-
) =>
|
|
96
|
-
`DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@localhost:${localPort}/${DB_NAME}${additional}"`;
|
|
97
|
-
|
|
98
|
-
const getJdbcUrl = (
|
|
99
|
-
{ DB_PASSWORD, DB_NAME, DB_USER }: ProxyInfo,
|
|
100
|
-
localPort: string,
|
|
101
|
-
) =>
|
|
102
|
-
`DATABASE_JDBC_URL="jdbc:postgresql://localhost:${localPort}/${DB_NAME}?schema=public&user=${DB_USER}&password=${DB_PASSWORD}"`;
|
|
103
|
-
|
|
104
|
-
export default async (vorpal: Vorpal) =>
|
|
105
|
-
vorpal
|
|
106
|
-
.command("project-cloud-sql-proxy <envComponent>", "proxy to cloud sql db")
|
|
107
|
-
.autocomplete(await envAndComponents())
|
|
108
|
-
.action(async function ({ envComponent }) {
|
|
109
|
-
const { env, componentName } = parseChoice(envComponent);
|
|
110
|
-
if (!componentName) {
|
|
111
|
-
logWarning(this, "need componentName");
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const context = await getPipelineContextByChoice(env, componentName);
|
|
116
|
-
|
|
117
|
-
if (env === "review") {
|
|
118
|
-
logWarning(
|
|
119
|
-
this,
|
|
120
|
-
"connection string does not include mr information on review environments",
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const { localPort } = await this.prompt({
|
|
125
|
-
type: "number",
|
|
126
|
-
name: "localPort",
|
|
127
|
-
default: "54320",
|
|
128
|
-
message: "Local port: ",
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
const proxyInfo = await getProxyInfo(context);
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Env variables for libpq (e.g. psql client)
|
|
135
|
-
* https://www.postgresql.org/docs/current/libpq-envars.html#LIBPQ-ENVARS
|
|
136
|
-
*/
|
|
137
|
-
const psqlEnvVars = {
|
|
138
|
-
PGPASSWORD: proxyInfo.DB_PASSWORD,
|
|
139
|
-
PGUSER: proxyInfo.DB_USER,
|
|
140
|
-
PGDATABASE: proxyInfo.DB_NAME,
|
|
141
|
-
PGHOST: "localhost",
|
|
142
|
-
PGPORT: localPort,
|
|
143
|
-
};
|
|
144
|
-
const lipbqEnvVarDeclarations = Object.entries(psqlEnvVars).map(
|
|
145
|
-
([key, value]) => `${key}="${value}"`,
|
|
146
|
-
);
|
|
147
|
-
const dbUrl = getDbUrl(proxyInfo, localPort);
|
|
148
|
-
const jdbcUrl = getJdbcUrl(proxyInfo, localPort);
|
|
149
|
-
|
|
150
|
-
clipboard.writeSync(
|
|
151
|
-
[
|
|
152
|
-
"",
|
|
153
|
-
"## CloudSQL proxy connection .env variables",
|
|
154
|
-
dbUrl,
|
|
155
|
-
jdbcUrl,
|
|
156
|
-
"## DATABASE_URL with schema=public parameter (e. g. Prisma requires this):",
|
|
157
|
-
`# ${getDbUrl(proxyInfo, localPort, `?schema=public`)}`,
|
|
158
|
-
"## Env variables for libpq (e.g. psql client https://www.postgresql.org/docs/current/libpq-envars.html#LIBPQ-ENVARS)",
|
|
159
|
-
...lipbqEnvVarDeclarations,
|
|
160
|
-
"",
|
|
161
|
-
].join("\n"),
|
|
162
|
-
);
|
|
163
|
-
|
|
164
|
-
logLines(
|
|
165
|
-
this,
|
|
166
|
-
null,
|
|
167
|
-
"Connection strings env variables DATABASE_URL and those for the 'psql' client (copied to your clipboard for .env file):",
|
|
168
|
-
dbUrl,
|
|
169
|
-
jdbcUrl,
|
|
170
|
-
...lipbqEnvVarDeclarations,
|
|
171
|
-
null,
|
|
172
|
-
"DATABASE_URL with schema=public parameter (e. g. Prisma requires this):",
|
|
173
|
-
getDbUrl(proxyInfo, localPort, `?schema=public`),
|
|
174
|
-
null,
|
|
175
|
-
);
|
|
176
|
-
|
|
177
|
-
try {
|
|
178
|
-
await startCloudSqlProxyInCurrentShell({
|
|
179
|
-
instanceName: proxyInfo.instanceName,
|
|
180
|
-
localPort,
|
|
181
|
-
});
|
|
182
|
-
} catch (error) {
|
|
183
|
-
if (!(error instanceof Error)) throw error;
|
|
184
|
-
if (error.message !== ERROR_NOT_INSTALLED) throw error;
|
|
185
|
-
logError(
|
|
186
|
-
this,
|
|
187
|
-
error.message,
|
|
188
|
-
null,
|
|
189
|
-
"Please install the Cloud SQL Auth Proxy from:",
|
|
190
|
-
`https://cloud.google.com/sql/docs/postgres/connect-auth-proxy#install`,
|
|
191
|
-
null,
|
|
192
|
-
);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { getk8sApi } from "../../../../k8sApi";
|
|
3
|
-
import { getProjectPodNames } from "../../../../kubernetes";
|
|
4
|
-
|
|
5
|
-
import { logError } from "../../../../utils/log";
|
|
6
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
7
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
8
|
-
import ensureCluster from "./utils/ensureCluster";
|
|
9
|
-
|
|
10
|
-
export default async (vorpal: Vorpal) =>
|
|
11
|
-
vorpal
|
|
12
|
-
.command("project-delete-pods <envComponent>", "delete / restart pods")
|
|
13
|
-
.autocomplete(await envAndComponents())
|
|
14
|
-
.action(async function ({ envComponent }) {
|
|
15
|
-
await ensureCluster.call(this, envComponent);
|
|
16
|
-
const namespace = await getProjectNamespace(envComponent);
|
|
17
|
-
const podNames = await getProjectPodNames(envComponent);
|
|
18
|
-
if (podNames.length === 0) {
|
|
19
|
-
logError(this, "sorry, no pods found");
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const { selectedPodNames } = await this.prompt({
|
|
23
|
-
type: "checkbox",
|
|
24
|
-
name: "selectedPodNames",
|
|
25
|
-
choices: podNames,
|
|
26
|
-
message: "Which pods to delete / restart ? 🤔 ",
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
this.log(
|
|
30
|
-
"the following pods will be DELETED 🙀 (and therefore restarted 😸)",
|
|
31
|
-
);
|
|
32
|
-
this.log("");
|
|
33
|
-
selectedPodNames.forEach((n: string) => this.log(n));
|
|
34
|
-
this.log("");
|
|
35
|
-
const { shouldContinue } = await this.prompt({
|
|
36
|
-
type: "confirm",
|
|
37
|
-
name: "shouldContinue",
|
|
38
|
-
message: "Continue ? 🤔 ",
|
|
39
|
-
});
|
|
40
|
-
this.log("");
|
|
41
|
-
const k8sApi = getk8sApi();
|
|
42
|
-
if (shouldContinue) {
|
|
43
|
-
for (const podName of selectedPodNames) {
|
|
44
|
-
await k8sApi.deleteNamespacedPod(podName, namespace, "true");
|
|
45
|
-
this.log(`deleted pod '${podName}'`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { exec } from "child-process-promise";
|
|
3
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
4
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
5
|
-
|
|
6
|
-
export default async (vorpal: Vorpal) =>
|
|
7
|
-
vorpal
|
|
8
|
-
.command(
|
|
9
|
-
"project-delete <envComponent>",
|
|
10
|
-
"deletes a environment of a project (it deletes the namespace)",
|
|
11
|
-
)
|
|
12
|
-
.autocomplete(await envAndComponents())
|
|
13
|
-
.action(async function ({ envComponent }) {
|
|
14
|
-
const namespace = await getProjectNamespace(envComponent);
|
|
15
|
-
const { shouldContinue } = await this.prompt({
|
|
16
|
-
type: "confirm",
|
|
17
|
-
name: "shouldContinue",
|
|
18
|
-
message: `This will delete the ${namespace}. You have to reinitialize it if you need it in the future. All data will be lost. Continue? 🤔 `,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
if (!shouldContinue) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const fullCommand = `kubectl delete namespace ${namespace}`;
|
|
26
|
-
const { stdout } = await exec(fullCommand, {
|
|
27
|
-
env: {
|
|
28
|
-
...process.env,
|
|
29
|
-
DEBUG: "",
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
this.log(stdout);
|
|
33
|
-
});
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import {
|
|
3
|
-
getEnvVarsResolved,
|
|
4
|
-
parseChoice,
|
|
5
|
-
} from "../../../../config/getProjectConfig";
|
|
6
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
7
|
-
|
|
8
|
-
export default async (vorpal: Vorpal) =>
|
|
9
|
-
vorpal
|
|
10
|
-
.command("project-env-vars <envComponent>", "list env vars")
|
|
11
|
-
.autocomplete(await envAndComponents())
|
|
12
|
-
.action(async function ({ envComponent }) {
|
|
13
|
-
const { env, componentName } = parseChoice(envComponent);
|
|
14
|
-
const envvars = await getEnvVarsResolved(this, env, componentName);
|
|
15
|
-
Object.keys(envvars).forEach((key) =>
|
|
16
|
-
this.log(`${key}: ${envvars[key]}`),
|
|
17
|
-
);
|
|
18
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { spawn } from "child-process-promise";
|
|
2
|
-
import type Vorpal from "vorpal";
|
|
3
|
-
|
|
4
|
-
export default async (vorpal: Vorpal) =>
|
|
5
|
-
vorpal
|
|
6
|
-
.command(
|
|
7
|
-
"project-get-my-total-worktime",
|
|
8
|
-
"show the total worktime that you spent on a project",
|
|
9
|
-
)
|
|
10
|
-
.action(async () => {
|
|
11
|
-
await spawn("sh", ["-c", "curl -s -L http://bit.ly/3VQEKNq | bash"], {
|
|
12
|
-
stdio: ["pipe", "inherit", "pipe"],
|
|
13
|
-
});
|
|
14
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { getProjectPods } from "../../../../kubernetes";
|
|
3
|
-
import { logError } from "../../../../utils/log";
|
|
4
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
5
|
-
import { getShell } from "../../../../utils/shell";
|
|
6
|
-
|
|
7
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
8
|
-
import ensureCluster from "./utils/ensureCluster";
|
|
9
|
-
|
|
10
|
-
export default async (vorpal: Vorpal) =>
|
|
11
|
-
vorpal
|
|
12
|
-
.command(
|
|
13
|
-
"project-get-shell <envComponent>",
|
|
14
|
-
"get a shell to a pod in the environment",
|
|
15
|
-
)
|
|
16
|
-
.autocomplete(await envAndComponents())
|
|
17
|
-
.action(async function ({ envComponent }) {
|
|
18
|
-
await ensureCluster.call(this, envComponent);
|
|
19
|
-
const namespace = await getProjectNamespace(envComponent);
|
|
20
|
-
const pods = await getProjectPods(envComponent);
|
|
21
|
-
const runningPodNames = pods
|
|
22
|
-
.filter((p) => p.status.phase == "Running")
|
|
23
|
-
.map((r) => r.metadata.name);
|
|
24
|
-
if (runningPodNames.length === 0) {
|
|
25
|
-
logError(this, "sorry, no running pods found");
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const { podName } = await this.prompt({
|
|
29
|
-
type: "list",
|
|
30
|
-
name: "podName",
|
|
31
|
-
choices: runningPodNames,
|
|
32
|
-
message: "Which pod? 🤔",
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
return getShell(namespace, podName);
|
|
36
|
-
});
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { exec } from "child-process-promise";
|
|
2
|
-
import { last } from "lodash";
|
|
3
|
-
import open from "open";
|
|
4
|
-
import type { CommandInstance } from "vorpal";
|
|
5
|
-
import type Vorpal from "vorpal";
|
|
6
|
-
import {
|
|
7
|
-
doGitlabRequest,
|
|
8
|
-
getGitlabToken,
|
|
9
|
-
getProjectInfo,
|
|
10
|
-
} from "../../../../utils/gitlab";
|
|
11
|
-
|
|
12
|
-
const statusEmojiMap: any = {
|
|
13
|
-
failed: "🙀",
|
|
14
|
-
warning: "😿",
|
|
15
|
-
pending: "🍺",
|
|
16
|
-
running: "🏃",
|
|
17
|
-
manual: "🤚",
|
|
18
|
-
scheduled: "🍺",
|
|
19
|
-
canceled: "😽",
|
|
20
|
-
success: "😻",
|
|
21
|
-
skipped: "🤭",
|
|
22
|
-
created: "🍺",
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const statusTxt = (status: any) =>
|
|
26
|
-
statusEmojiMap[status] ? `${statusEmojiMap[status]} ${status}` : status;
|
|
27
|
-
|
|
28
|
-
const getCurrentCommit = async () => {
|
|
29
|
-
const result = await exec("git rev-parse HEAD");
|
|
30
|
-
return result.stdout && result.stdout.replace(/\n$/, "");
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const delay = async (ms: any) =>
|
|
34
|
-
new Promise((resolve) => setTimeout(resolve, ms));
|
|
35
|
-
|
|
36
|
-
const promptJob = async (vorpal: CommandInstance, projectId: any, ctx: any) => {
|
|
37
|
-
const jobs = await doGitlabRequest(vorpal, `projects/${projectId}/jobs`);
|
|
38
|
-
|
|
39
|
-
const commitId = await getCurrentCommit();
|
|
40
|
-
|
|
41
|
-
const jobsToName = (jo: any[]) =>
|
|
42
|
-
jo.map(
|
|
43
|
-
(j: any) => `${j.ref}-${j.name}-${j.user.username}-${j.status}-${j.id}`,
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
const preferredJobs = jobs.filter((j: any) => j.commit.id === commitId);
|
|
47
|
-
const moreJobs = jobs.filter((j: any) => !preferredJobs.includes(j.ref));
|
|
48
|
-
const sortedJobs =
|
|
49
|
-
preferredJobs.length > 1
|
|
50
|
-
? [
|
|
51
|
-
...jobsToName(preferredJobs),
|
|
52
|
-
"========================================================",
|
|
53
|
-
...jobsToName(moreJobs),
|
|
54
|
-
]
|
|
55
|
-
: jobsToName([...preferredJobs, ...moreJobs]);
|
|
56
|
-
|
|
57
|
-
const { jobName } = await ctx.prompt({
|
|
58
|
-
type: "list",
|
|
59
|
-
name: "jobName",
|
|
60
|
-
choices: sortedJobs,
|
|
61
|
-
message: "Which job? 🤔",
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
const jobId = Number(last(jobName.split("-")));
|
|
65
|
-
return jobs.find((j: any) => j.id === jobId);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export default async (vorpal: Vorpal) => {
|
|
69
|
-
vorpal.command("project-ci-job-open", "Open a Job").action(async function () {
|
|
70
|
-
const { id: projectId } = await getProjectInfo(this);
|
|
71
|
-
|
|
72
|
-
const job = await promptJob(this, projectId, this);
|
|
73
|
-
open(job.web_url);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
vorpal
|
|
77
|
-
.command("project-ci-job-log", "Show a job's log")
|
|
78
|
-
.action(async function () {
|
|
79
|
-
const { id: projectId } = await getProjectInfo(this);
|
|
80
|
-
|
|
81
|
-
const { id } = await promptJob(this, projectId, this);
|
|
82
|
-
|
|
83
|
-
let finished = false;
|
|
84
|
-
while (!finished) {
|
|
85
|
-
const trace = await exec(
|
|
86
|
-
`curl -s --header "PRIVATE-TOKEN: ${await getGitlabToken(
|
|
87
|
-
this,
|
|
88
|
-
)}" "https://git.panter.ch/api/v4/projects/${projectId}/jobs/${id}/trace"`,
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
const job = await doGitlabRequest(
|
|
92
|
-
this,
|
|
93
|
-
`projects/${projectId}/jobs/${id}`,
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
if (trace.stdout) {
|
|
97
|
-
vorpal.ui.redraw(`${trace.stdout}`);
|
|
98
|
-
} else {
|
|
99
|
-
vorpal.ui.redraw(`
|
|
100
|
-
|
|
101
|
-
${statusTxt(job.status)}
|
|
102
|
-
${job.web_url}
|
|
103
|
-
|
|
104
|
-
`);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
finished = !!job.finished_at;
|
|
108
|
-
if (!finished) {
|
|
109
|
-
await delay(5000);
|
|
110
|
-
} else {
|
|
111
|
-
vorpal.ui.redraw.done();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { stringify } from "yaml";
|
|
2
|
-
import { pick } from "lodash";
|
|
3
|
-
import type Vorpal from "vorpal";
|
|
4
|
-
import { getProjectPods } from "../../../../kubernetes";
|
|
5
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
6
|
-
import ensureCluster from "./utils/ensureCluster";
|
|
7
|
-
|
|
8
|
-
export default async (vorpal: Vorpal) =>
|
|
9
|
-
vorpal
|
|
10
|
-
.command("project-list-pods <envComponent>", "list pods of local project")
|
|
11
|
-
.autocomplete(await envAndComponents())
|
|
12
|
-
.action(async function ({ envComponent }) {
|
|
13
|
-
await ensureCluster.call(this, envComponent);
|
|
14
|
-
const pods = await getProjectPods(envComponent);
|
|
15
|
-
this.log(
|
|
16
|
-
stringify(
|
|
17
|
-
pods.map((p) => pick(p, ["metadata.name", "status.startTime"])),
|
|
18
|
-
),
|
|
19
|
-
);
|
|
20
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
3
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
4
|
-
|
|
5
|
-
export default async (vorpal: Vorpal) =>
|
|
6
|
-
vorpal
|
|
7
|
-
.command(
|
|
8
|
-
"project-namespace <envComponent>",
|
|
9
|
-
"show namespace of local project",
|
|
10
|
-
)
|
|
11
|
-
.autocomplete(await envAndComponents())
|
|
12
|
-
.action(async function ({ envComponent }) {
|
|
13
|
-
this.log(await getProjectNamespace(envComponent));
|
|
14
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import open from "open";
|
|
2
|
-
import type Vorpal from "vorpal";
|
|
3
|
-
import {
|
|
4
|
-
getEnvironment,
|
|
5
|
-
parseChoice,
|
|
6
|
-
} from "../../../../config/getProjectConfig";
|
|
7
|
-
|
|
8
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
9
|
-
import ensureCluster from "./utils/ensureCluster";
|
|
10
|
-
|
|
11
|
-
export default async (vorpal: Vorpal) =>
|
|
12
|
-
vorpal
|
|
13
|
-
.command("project-open-env <envComponent>", "open the live environment")
|
|
14
|
-
.autocomplete(await envAndComponents())
|
|
15
|
-
.action(async function ({ envComponent }) {
|
|
16
|
-
const { env, componentName } = parseChoice(envComponent);
|
|
17
|
-
await ensureCluster.call(this, envComponent);
|
|
18
|
-
const environment = await getEnvironment(env, componentName);
|
|
19
|
-
const url = environment.envVars.ROOT_URL;
|
|
20
|
-
|
|
21
|
-
open(url.toString());
|
|
22
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { exec } from "child-process-promise";
|
|
3
|
-
|
|
4
|
-
export default async (vorpal: Vorpal) =>
|
|
5
|
-
vorpal
|
|
6
|
-
.command(
|
|
7
|
-
"project-open-git",
|
|
8
|
-
"open the repo on gitlab / github in your browser",
|
|
9
|
-
)
|
|
10
|
-
.action(async () => {
|
|
11
|
-
await exec("npx git-open");
|
|
12
|
-
});
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import {
|
|
3
|
-
getPipelineContextByChoice,
|
|
4
|
-
parseChoice,
|
|
5
|
-
} from "../../../../config/getProjectConfig";
|
|
6
|
-
import { openGoogleCloudLogs } from "../../../../kubernetes/openKubernetesDashboards";
|
|
7
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
8
|
-
|
|
9
|
-
export default async (vorpal: Vorpal) =>
|
|
10
|
-
vorpal
|
|
11
|
-
.command(
|
|
12
|
-
"project-open-logs <envComponent>",
|
|
13
|
-
"open google cloud logs (stackdriver logs)",
|
|
14
|
-
)
|
|
15
|
-
.autocomplete(await envAndComponents())
|
|
16
|
-
.action(async function ({ envComponent }) {
|
|
17
|
-
const { env, componentName } = parseChoice(envComponent);
|
|
18
|
-
const context = await getPipelineContextByChoice(env, componentName);
|
|
19
|
-
|
|
20
|
-
await openGoogleCloudLogs(this, context);
|
|
21
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { exec } from "child-process-promise";
|
|
3
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
4
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
5
|
-
|
|
6
|
-
export default async (vorpal: Vorpal) =>
|
|
7
|
-
vorpal
|
|
8
|
-
.command(
|
|
9
|
-
"project-pause <envComponent>",
|
|
10
|
-
"halts all running pods (scales to 0)",
|
|
11
|
-
)
|
|
12
|
-
.autocomplete(await envAndComponents())
|
|
13
|
-
.action(async function ({ envComponent }) {
|
|
14
|
-
const namespace = await getProjectNamespace(envComponent);
|
|
15
|
-
const { shouldContinue } = await this.prompt({
|
|
16
|
-
type: "confirm",
|
|
17
|
-
name: "shouldContinue",
|
|
18
|
-
message: `This will STOP all running pods in the namespace ${namespace}. You will need to manually scale back up or re-deploy. Continue? 🤔 `,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
if (!shouldContinue) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const fullCommand = `kubectl scale statefulset,deployment --all --replicas=0 --namespace=${namespace}`;
|
|
26
|
-
const { stdout } = await exec(fullCommand, {
|
|
27
|
-
env: {
|
|
28
|
-
...process.env,
|
|
29
|
-
DEBUG: "",
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
this.log(stdout);
|
|
33
|
-
});
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type Vorpal from "vorpal";
|
|
2
|
-
import { getProjectPodNames } from "../../../../kubernetes";
|
|
3
|
-
import { logError } from "../../../../utils/log";
|
|
4
|
-
import { startKubePortForward } from "../../../../kubernetes/portForward";
|
|
5
|
-
import { getProjectNamespace } from "../../../../utils/projects";
|
|
6
|
-
import { envAndComponents } from "./utils/autocompletions";
|
|
7
|
-
import ensureCluster from "./utils/ensureCluster";
|
|
8
|
-
import type { CommandInstance } from "vorpal";
|
|
9
|
-
import { parseChoice } from "../../../../config/parseChoice";
|
|
10
|
-
import { getPipelineContextByChoice } from "../../../../config/getProjectConfig";
|
|
11
|
-
import type { ComponentContext } from "@catladder/pipeline";
|
|
12
|
-
import { isOfDeployType } from "@catladder/pipeline";
|
|
13
|
-
import { startPortForwardCommand } from "../../../../utils/portForwards";
|
|
14
|
-
import open from "open";
|
|
15
|
-
const kubePortForward = async (cmd: CommandInstance, envComponent: string) => {
|
|
16
|
-
await ensureCluster.call(cmd, envComponent);
|
|
17
|
-
const namespace = await getProjectNamespace(envComponent);
|
|
18
|
-
const podNames = await getProjectPodNames(envComponent);
|
|
19
|
-
if (podNames.length === 0) {
|
|
20
|
-
logError(cmd, "sorry, no pods found");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const { podName } = await cmd.prompt({
|
|
24
|
-
type: "list",
|
|
25
|
-
name: "podName",
|
|
26
|
-
choices: podNames,
|
|
27
|
-
message: "Which pod? 🤔",
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
const { localPort } = await cmd.prompt({
|
|
31
|
-
type: "number",
|
|
32
|
-
name: "localPort",
|
|
33
|
-
|
|
34
|
-
message: "Local port: ",
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const { remotePort } = await cmd.prompt({
|
|
38
|
-
type: "number",
|
|
39
|
-
name: "remotePort",
|
|
40
|
-
|
|
41
|
-
message: "Remote port: ",
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
return startKubePortForward(podName, localPort, remotePort, namespace);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const cloudRunPortForward = async (
|
|
48
|
-
cmd: CommandInstance,
|
|
49
|
-
context: ComponentContext,
|
|
50
|
-
) => {
|
|
51
|
-
if (!isOfDeployType(context.deploy?.config, "google-cloudrun")) {
|
|
52
|
-
throw new Error("not cloud run");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const { fullName } = context.environment;
|
|
56
|
-
let serviceName: string = fullName.toString();
|
|
57
|
-
if (context.environment.envType === "review") {
|
|
58
|
-
const { mr } = await cmd.prompt({
|
|
59
|
-
type: "number",
|
|
60
|
-
name: "mr",
|
|
61
|
-
|
|
62
|
-
message: "Which mr 🤔 ",
|
|
63
|
-
});
|
|
64
|
-
// poor mans solution
|
|
65
|
-
serviceName = serviceName
|
|
66
|
-
.toString()
|
|
67
|
-
.replace("-review-", "-review-mr" + mr + "-");
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const { projectId, region } = context.deploy.config;
|
|
71
|
-
|
|
72
|
-
const command = `gcloud beta run services proxy ${serviceName} --project ${projectId} --region ${region}`;
|
|
73
|
-
|
|
74
|
-
await startPortForwardCommand(`cloudRun/${serviceName}`, command);
|
|
75
|
-
open("http://localhost:8080");
|
|
76
|
-
};
|
|
77
|
-
export default async (vorpal: Vorpal) =>
|
|
78
|
-
vorpal
|
|
79
|
-
.command("project-port-forward <envComponent>", "start port-forwarding")
|
|
80
|
-
.autocomplete(await envAndComponents())
|
|
81
|
-
.action(async function ({ envComponent }) {
|
|
82
|
-
const { env, componentName } = parseChoice(envComponent);
|
|
83
|
-
const context = await getPipelineContextByChoice(env, componentName);
|
|
84
|
-
|
|
85
|
-
if (isOfDeployType(context.deploy?.config, "kubernetes")) {
|
|
86
|
-
await kubePortForward(this, envComponent);
|
|
87
|
-
}
|
|
88
|
-
if (isOfDeployType(context.deploy?.config, "google-cloudrun")) {
|
|
89
|
-
await cloudRunPortForward(this, context);
|
|
90
|
-
}
|
|
91
|
-
});
|