@catladder/cli 0.0.0-refactor-docker-45f6e733 → 0.0.0-refactor-cache-b38c122b
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/CONTRIBUTING.md +3 -86
- package/README.md +6 -29
- package/dist/bundles/catci/index.js +1563 -1231
- package/dist/bundles/catenv/index.js +9798 -12257
- package/dist/bundles/cli/index.js +35093 -41918
- package/dist/cli/src/apps/catci/catci.js +19 -91
- package/dist/cli/src/apps/catci/catci.js.map +1 -1
- package/dist/cli/src/apps/catci/commands/security/auditDocument.js +73 -79
- package/dist/cli/src/apps/catci/commands/security/auditDocument.js.map +1 -1
- package/dist/cli/src/apps/catci/commands/security/commands.js +94 -169
- package/dist/cli/src/apps/catci/commands/security/commands.js.map +1 -1
- package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js +42 -102
- package/dist/cli/src/apps/catci/commands/security/createSecurityAuditMergeRequest.js.map +1 -1
- package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js +19 -67
- package/dist/cli/src/apps/catci/commands/security/evaluateSecurityAudit.js.map +1 -1
- package/dist/cli/src/apps/catenv/catenv.js +18 -64
- package/dist/cli/src/apps/catenv/catenv.js.map +1 -1
- package/dist/cli/src/apps/catenv/printVariables.js +36 -123
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/utils.js +26 -112
- package/dist/cli/src/apps/catenv/utils.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js +28 -132
- package/dist/cli/src/apps/catenv/writeDotEnvFiles.js.map +1 -1
- package/dist/cli/src/apps/catenv/writeEnvDTs.js +49 -150
- package/dist/cli/src/apps/catenv/writeEnvDTs.js.map +1 -1
- package/dist/cli/src/apps/cli/cli.js +31 -76
- package/dist/cli/src/apps/cli/cli.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js +106 -180
- package/dist/cli/src/apps/cli/commands/cloudSQL/commandRestoreDb.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/cloudSQL/index.js +4 -43
- package/dist/cli/src/apps/cli/commands/cloudSQL/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/general/index.js +67 -191
- package/dist/cli/src/apps/cli/commands/general/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js +4 -49
- package/dist/cli/src/apps/cli/commands/general/namespaceAutoCompletion.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/general/portForward.js +36 -93
- package/dist/cli/src/apps/cli/commands/general/portForward.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/mongodb/index.js +8 -47
- package/dist/cli/src/apps/cli/commands/mongodb/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js +86 -183
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoDestroyMember.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js +30 -90
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoGetShell.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js +50 -114
- package/dist/cli/src/apps/cli/commands/mongodb/projectMongoPortForward.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/mongodb/utils/index.js +58 -192
- package/dist/cli/src/apps/cli/commands/mongodb/utils/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js +118 -197
- package/dist/cli/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js +81 -160
- package/dist/cli/src/apps/cli/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +134 -397
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js +40 -140
- package/dist/cli/src/apps/cli/commands/project/commandDeletePods.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js +23 -92
- package/dist/cli/src/apps/cli/commands/project/commandDeleteProject.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js +10 -71
- package/dist/cli/src/apps/cli/commands/project/commandEnvVars.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js +7 -54
- package/dist/cli/src/apps/cli/commands/project/commandGetMyTotalWorktime.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandGetShell.js +27 -89
- package/dist/cli/src/apps/cli/commands/project/commandGetShell.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js +65 -180
- package/dist/cli/src/apps/cli/commands/project/commandGitlabCi.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandListPods.js +13 -72
- package/dist/cli/src/apps/cli/commands/project/commandListPods.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js +38 -104
- package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandNamespace.js +8 -67
- package/dist/cli/src/apps/cli/commands/project/commandNamespace.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js +16 -77
- package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js +18 -81
- package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js +14 -74
- package/dist/cli/src/apps/cli/commands/project/commandOpenEnv.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js +6 -53
- package/dist/cli/src/apps/cli/commands/project/commandOpenGit.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenGrafana.js +16 -77
- package/dist/cli/src/apps/cli/commands/project/commandOpenGrafana.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenGrafanaPod.js +28 -93
- package/dist/cli/src/apps/cli/commands/project/commandOpenGrafanaPod.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js +11 -71
- package/dist/cli/src/apps/cli/commands/project/commandOpenLogs.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js +23 -92
- package/dist/cli/src/apps/cli/commands/project/commandPauseProject.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandPortForward.js +71 -163
- package/dist/cli/src/apps/cli/commands/project/commandPortForward.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.d.ts +3 -0
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js +9 -0
- package/dist/cli/src/apps/cli/commands/project/commandRenewToken.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js +17 -112
- package/dist/cli/src/apps/cli/commands/project/commandSecretsClearBackups.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js +15 -66
- package/dist/cli/src/apps/cli/commands/project/commandSecurityEvaluate.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandSetup.js +6 -55
- package/dist/cli/src/apps/cli/commands/project/commandSetup.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js +47 -135
- package/dist/cli/src/apps/cli/commands/project/commandTriggerCronjob.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/index.js +54 -91
- package/dist/cli/src/apps/cli/commands/project/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/index.js +39 -127
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js +35 -94
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +52 -129
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js +19 -76
- package/dist/cli/src/apps/cli/commands/project/setup/setupContext.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js +106 -147
- package/dist/cli/src/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js +7 -80
- package/dist/cli/src/apps/cli/commands/project/setup/setupTopic.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/utils/autocompletions.js +16 -105
- package/dist/cli/src/apps/cli/commands/project/utils/autocompletions.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js +28 -79
- package/dist/cli/src/apps/cli/commands/project/utils/ensureCluster.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/utils/ensureNamespace.js +29 -110
- package/dist/cli/src/apps/cli/commands/project/utils/ensureNamespace.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js +9 -53
- package/dist/cli/src/apps/cli/commands/project/utils/showProjectBanner.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js +26 -92
- package/dist/cli/src/apps/cli/commands/theStuffThatReallyMatters/index.js.map +1 -1
- package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js +13 -62
- package/dist/cli/src/apps/cli/utils/getGoogleAuthUserNumber.js.map +1 -1
- package/dist/cli/src/apps/cli/verify/index.js +10 -62
- package/dist/cli/src/apps/cli/verify/index.js.map +1 -1
- package/dist/cli/src/catci.js +1 -1
- package/dist/cli/src/catci.js.map +1 -1
- package/dist/cli/src/catenv.js +10 -4
- package/dist/cli/src/catenv.js.map +1 -1
- package/dist/cli/src/cli.js +1 -1
- package/dist/cli/src/cli.js.map +1 -1
- package/dist/cli/src/config/getProjectConfig.js +118 -292
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/cli/src/config/parseChoice.js +3 -19
- package/dist/cli/src/config/parseChoice.js.map +1 -1
- package/dist/cli/src/gcloud/artifactsRegistry.js +10 -54
- package/dist/cli/src/gcloud/artifactsRegistry.js.map +1 -1
- package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js +21 -60
- package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js.map +1 -1
- package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.js +12 -57
- package/dist/cli/src/gcloud/cloudRun/openCloudRunDashboards.js.map +1 -1
- package/dist/cli/src/gcloud/cloudSql/copyDb.js +30 -56
- package/dist/cli/src/gcloud/cloudSql/copyDb.js.map +1 -1
- package/dist/cli/src/gcloud/cloudSql/startProxy.js +41 -123
- package/dist/cli/src/gcloud/cloudSql/startProxy.js.map +1 -1
- package/dist/cli/src/gcloud/enableServices.js +6 -82
- package/dist/cli/src/gcloud/enableServices.js.map +1 -1
- package/dist/cli/src/gcloud/openDashboard.js +12 -95
- package/dist/cli/src/gcloud/openDashboard.js.map +1 -1
- package/dist/cli/src/gcloud/serviceAccounts.js +63 -177
- package/dist/cli/src/gcloud/serviceAccounts.js.map +1 -1
- package/dist/cli/src/k8sApi/index.js +9 -9
- package/dist/cli/src/k8sApi/index.js.map +1 -1
- package/dist/cli/src/kubernetes/index.js +20 -81
- package/dist/cli/src/kubernetes/index.js.map +1 -1
- package/dist/cli/src/kubernetes/openKubernetesDashboards.js +32 -86
- package/dist/cli/src/kubernetes/openKubernetesDashboards.js.map +1 -1
- package/dist/cli/src/kubernetes/portForward.js +5 -50
- package/dist/cli/src/kubernetes/portForward.js.map +1 -1
- package/dist/cli/src/packageInfos.js +2 -2
- package/dist/cli/src/packageInfos.js.map +1 -1
- package/dist/cli/src/utils/boxWithAscii.js +6 -6
- package/dist/cli/src/utils/boxWithAscii.js.map +1 -1
- package/dist/cli/src/utils/cluster.js +8 -61
- package/dist/cli/src/utils/cluster.js.map +1 -1
- package/dist/cli/src/utils/editAsFile.js +21 -75
- package/dist/cli/src/utils/editAsFile.js.map +1 -1
- package/dist/cli/src/utils/files.js +11 -57
- package/dist/cli/src/utils/files.js.map +1 -1
- package/dist/cli/src/utils/getEditor.js +15 -71
- package/dist/cli/src/utils/getEditor.js.map +1 -1
- package/dist/cli/src/utils/gitlab.js +176 -466
- package/dist/cli/src/utils/gitlab.js.map +1 -1
- package/dist/cli/src/utils/log.js +2 -2
- package/dist/cli/src/utils/log.js.map +1 -1
- package/dist/cli/src/utils/portForwards.js +32 -120
- package/dist/cli/src/utils/portForwards.js.map +1 -1
- package/dist/cli/src/utils/preferences/index.js +27 -108
- package/dist/cli/src/utils/preferences/index.js.map +1 -1
- package/dist/cli/src/utils/projects/index.d.ts +1 -1
- package/dist/cli/src/utils/projects/index.js +28 -108
- package/dist/cli/src/utils/projects/index.js.map +1 -1
- package/dist/cli/src/utils/promise.js +4 -55
- package/dist/cli/src/utils/promise.js.map +1 -1
- package/dist/cli/src/utils/shell.js +19 -75
- package/dist/cli/src/utils/shell.js.map +1 -1
- package/dist/pipeline/src/bash/BashExpression.js +20 -52
- package/dist/pipeline/src/bash/BashExpression.js.map +1 -1
- package/dist/pipeline/src/bash/bashExpressionPerPipelineType.js +1 -1
- package/dist/pipeline/src/bash/bashExpressionPerPipelineType.js.map +1 -1
- package/dist/pipeline/src/bash/bashYaml.js +13 -10
- package/dist/pipeline/src/bash/bashYaml.js.map +1 -1
- package/dist/pipeline/src/bash/getInjectVarsScript.js +5 -27
- package/dist/pipeline/src/bash/getInjectVarsScript.js.map +1 -1
- package/dist/pipeline/src/bash/replaceAsync.js +29 -79
- package/dist/pipeline/src/bash/replaceAsync.js.map +1 -1
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.d.ts +3 -0
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js +50 -0
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js.map +1 -0
- package/dist/pipeline/src/build/base/constants.js +1 -1
- package/dist/pipeline/src/build/base/constants.js.map +1 -1
- package/dist/pipeline/src/build/base/createAppBuildJob.d.ts +3 -3
- package/dist/pipeline/src/build/base/createAppBuildJob.js +42 -73
- package/dist/pipeline/src/build/base/createAppBuildJob.js.map +1 -1
- package/dist/pipeline/src/build/base/createArtifactsConfig.js +11 -40
- package/dist/pipeline/src/build/base/createArtifactsConfig.js.map +1 -1
- package/dist/pipeline/src/build/base/createBuildJobDefinition.d.ts +6 -0
- package/dist/pipeline/src/build/base/createBuildJobDefinition.js +30 -0
- package/dist/pipeline/src/build/base/createBuildJobDefinition.js.map +1 -0
- package/dist/pipeline/src/build/base/index.d.ts +7 -4
- package/dist/pipeline/src/build/base/index.js +42 -50
- package/dist/pipeline/src/build/base/index.js.map +1 -1
- package/dist/pipeline/src/build/base/writeBuildInfo.js +2 -2
- package/dist/pipeline/src/build/base/writeBuildInfo.js.map +1 -1
- package/dist/pipeline/src/build/base/writeDotEnv.d.ts +1 -0
- package/dist/pipeline/src/build/base/writeDotEnv.js +21 -32
- package/dist/pipeline/src/build/base/writeDotEnv.js.map +1 -1
- package/dist/pipeline/src/build/cache/createJobCache.d.ts +7 -0
- package/dist/pipeline/src/build/cache/createJobCache.js +57 -0
- package/dist/pipeline/src/build/cache/createJobCache.js.map +1 -0
- package/dist/pipeline/src/build/cache/getAllCacheConfigsFromConfig.d.ts +3 -0
- package/dist/pipeline/src/build/cache/getAllCacheConfigsFromConfig.js +25 -0
- package/dist/pipeline/src/build/cache/getAllCacheConfigsFromConfig.js.map +1 -0
- package/dist/pipeline/src/build/cache/transformLegacyJobCache.d.ts +3 -0
- package/dist/pipeline/src/build/cache/transformLegacyJobCache.js +17 -0
- package/dist/pipeline/src/build/cache/transformLegacyJobCache.js.map +1 -0
- package/dist/pipeline/src/build/custom/buildJob.js +8 -55
- package/dist/pipeline/src/build/custom/buildJob.js.map +1 -1
- package/dist/pipeline/src/build/custom/index.js +4 -29
- package/dist/pipeline/src/build/custom/index.js.map +1 -1
- package/dist/pipeline/src/build/custom/testJob.d.ts +1 -1
- package/dist/pipeline/src/build/custom/testJob.js +46 -54
- package/dist/pipeline/src/build/custom/testJob.js.map +1 -1
- package/dist/pipeline/src/build/docker.d.ts +6 -7
- package/dist/pipeline/src/build/docker.js +84 -108
- package/dist/pipeline/src/build/docker.js.map +1 -1
- package/dist/pipeline/src/build/index.d.ts +14 -5
- package/dist/pipeline/src/build/index.js +36 -16
- package/dist/pipeline/src/build/index.js.map +1 -1
- package/dist/pipeline/src/build/node/buildJob.d.ts +6 -2
- package/dist/pipeline/src/build/node/buildJob.js +43 -78
- package/dist/pipeline/src/build/node/buildJob.js.map +1 -1
- package/dist/pipeline/src/build/node/cache.d.ts +7 -6
- package/dist/pipeline/src/build/node/cache.js +60 -67
- package/dist/pipeline/src/build/node/cache.js.map +1 -1
- package/dist/pipeline/src/build/node/constants.js +2 -2
- package/dist/pipeline/src/build/node/constants.js.map +1 -1
- package/dist/pipeline/src/build/node/index.d.ts +2 -2
- package/dist/pipeline/src/build/node/index.js +9 -34
- package/dist/pipeline/src/build/node/index.js.map +1 -1
- package/dist/pipeline/src/build/node/meteor.js +21 -52
- package/dist/pipeline/src/build/node/meteor.js.map +1 -1
- package/dist/pipeline/src/build/node/testJob.d.ts +3 -2
- package/dist/pipeline/src/build/node/testJob.js +76 -65
- package/dist/pipeline/src/build/node/testJob.js.map +1 -1
- package/dist/pipeline/src/build/node/yarn.d.ts +4 -4
- package/dist/pipeline/src/build/node/yarn.js +39 -54
- package/dist/pipeline/src/build/node/yarn.js.map +1 -1
- package/dist/pipeline/src/build/rails/build.d.ts +1 -1
- package/dist/pipeline/src/build/rails/build.js +28 -58
- package/dist/pipeline/src/build/rails/build.js.map +1 -1
- package/dist/pipeline/src/build/rails/index.js +4 -29
- package/dist/pipeline/src/build/rails/index.js.map +1 -1
- package/dist/pipeline/src/build/rails/test.d.ts +1 -1
- package/dist/pipeline/src/build/rails/test.js +64 -65
- package/dist/pipeline/src/build/rails/test.js.map +1 -1
- package/dist/pipeline/src/build/sbom.js +19 -14
- package/dist/pipeline/src/build/sbom.js.map +1 -1
- package/dist/pipeline/src/build/types.d.ts +108 -7
- package/dist/pipeline/src/build/types.js +10 -6
- package/dist/pipeline/src/build/types.js.map +1 -1
- package/dist/pipeline/src/config/configruedEnvs.js +18 -47
- package/dist/pipeline/src/config/configruedEnvs.js.map +1 -1
- package/dist/pipeline/src/config/readConfig.d.ts +2 -2
- package/dist/pipeline/src/config/readConfig.js +14 -26
- package/dist/pipeline/src/config/readConfig.js.map +1 -1
- package/dist/pipeline/src/context/createAllComponentsContext.d.ts +8 -0
- package/dist/pipeline/src/context/createAllComponentsContext.js +21 -0
- package/dist/pipeline/src/context/createAllComponentsContext.js.map +1 -0
- package/dist/pipeline/src/context/createComponentContext.d.ts +11 -0
- package/dist/pipeline/src/context/createComponentContext.js +101 -0
- package/dist/pipeline/src/context/createComponentContext.js.map +1 -0
- package/dist/pipeline/src/context/createWorkspaceContext.d.ts +9 -0
- package/dist/pipeline/src/context/createWorkspaceContext.js +36 -0
- package/dist/pipeline/src/context/createWorkspaceContext.js.map +1 -0
- package/dist/pipeline/src/context/getBuildInfoVariables.d.ts +3 -4
- package/dist/pipeline/src/context/getBuildInfoVariables.js +23 -21
- package/dist/pipeline/src/context/getBuildInfoVariables.js.map +1 -1
- package/dist/pipeline/src/context/getEnvConfig.js +4 -4
- package/dist/pipeline/src/context/getEnvConfig.js.map +1 -1
- package/dist/pipeline/src/context/getEnvType.js +2 -2
- package/dist/pipeline/src/context/getEnvType.js.map +1 -1
- package/dist/pipeline/src/context/getEnvironment.js +17 -64
- package/dist/pipeline/src/context/getEnvironment.js.map +1 -1
- package/dist/pipeline/src/context/getEnvironmentContext.d.ts +1 -1
- package/dist/pipeline/src/context/getEnvironmentContext.js +21 -22
- package/dist/pipeline/src/context/getEnvironmentContext.js.map +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +2 -5
- package/dist/pipeline/src/context/getEnvironmentVariables.js +109 -165
- package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
- package/dist/pipeline/src/context/getLabels.js +13 -16
- package/dist/pipeline/src/context/getLabels.js.map +1 -1
- package/dist/pipeline/src/context/getReviewSlug.js +7 -7
- package/dist/pipeline/src/context/getReviewSlug.js.map +1 -1
- package/dist/pipeline/src/context/index.d.ts +1 -16
- package/dist/pipeline/src/context/index.js +1 -109
- package/dist/pipeline/src/context/index.js.map +1 -1
- package/dist/pipeline/src/context/resolveReferences.js +51 -172
- package/dist/pipeline/src/context/resolveReferences.js.map +1 -1
- package/dist/pipeline/src/context/transformJobOnlyVars.js +22 -69
- package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
- package/dist/pipeline/src/context/utils/envVars.js +13 -39
- package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
- package/dist/pipeline/src/deploy/base/deploy.d.ts +2 -2
- package/dist/pipeline/src/deploy/base/deploy.js +71 -67
- package/dist/pipeline/src/deploy/base/deploy.js.map +1 -1
- package/dist/pipeline/src/deploy/base/index.d.ts +1 -3
- package/dist/pipeline/src/deploy/base/index.js +11 -34
- package/dist/pipeline/src/deploy/base/index.js.map +1 -1
- package/dist/pipeline/src/deploy/base/rollback.d.ts +1 -1
- package/dist/pipeline/src/deploy/base/rollback.js +11 -15
- package/dist/pipeline/src/deploy/base/rollback.js.map +1 -1
- package/dist/pipeline/src/deploy/base/stop.d.ts +1 -1
- package/dist/pipeline/src/deploy/base/stop.js +11 -15
- package/dist/pipeline/src/deploy/base/stop.js.map +1 -1
- package/dist/pipeline/src/deploy/base/variables.js +1 -1
- package/dist/pipeline/src/deploy/base/variables.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/artifactsRegistry.js +42 -65
- package/dist/pipeline/src/deploy/cloudRun/artifactsRegistry.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/cleanup.js +8 -33
- package/dist/pipeline/src/deploy/cloudRun/cleanup.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/cloudRunRevisions.js +25 -30
- package/dist/pipeline/src/deploy/cloudRun/cloudRunRevisions.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +121 -150
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js +45 -61
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.d.ts +4 -4
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js +26 -54
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +36 -47
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +22 -39
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js +27 -33
- package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/volumes.js +7 -34
- package/dist/pipeline/src/deploy/cloudRun/createJobs/volumes.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.d.ts +2 -2
- package/dist/pipeline/src/deploy/cloudRun/index.js +38 -75
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/createArgsString.js +14 -42
- package/dist/pipeline/src/deploy/cloudRun/utils/createArgsString.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js +14 -30
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +5 -5
- package/dist/pipeline/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/getServiceName.js +1 -3
- package/dist/pipeline/src/deploy/cloudRun/utils/getServiceName.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +1 -3
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudSql/utils.js +4 -4
- package/dist/pipeline/src/deploy/cloudSql/utils.js.map +1 -1
- package/dist/pipeline/src/deploy/custom/deployJob.js +24 -41
- package/dist/pipeline/src/deploy/custom/deployJob.js.map +1 -1
- package/dist/pipeline/src/deploy/custom/index.d.ts +2 -2
- package/dist/pipeline/src/deploy/custom/index.js +4 -4
- package/dist/pipeline/src/deploy/custom/index.js.map +1 -1
- package/dist/pipeline/src/deploy/dockerTag/deployJob.js +16 -48
- package/dist/pipeline/src/deploy/dockerTag/deployJob.js.map +1 -1
- package/dist/pipeline/src/deploy/dockerTag/index.d.ts +2 -2
- package/dist/pipeline/src/deploy/dockerTag/index.js +4 -4
- package/dist/pipeline/src/deploy/dockerTag/index.js.map +1 -1
- package/dist/pipeline/src/deploy/index.d.ts +7 -7
- package/dist/pipeline/src/deploy/index.js +4 -4
- package/dist/pipeline/src/deploy/index.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
- package/dist/pipeline/src/deploy/kubernetes/additionalSecretKeys.js +6 -7
- package/dist/pipeline/src/deploy/kubernetes/additionalSecretKeys.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.js +14 -14
- package/dist/pipeline/src/deploy/kubernetes/cloudSql/index.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/deployJob.js +64 -72
- package/dist/pipeline/src/deploy/kubernetes/deployJob.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/index.d.ts +2 -2
- package/dist/pipeline/src/deploy/kubernetes/index.js +21 -47
- package/dist/pipeline/src/deploy/kubernetes/index.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/kubeEnv.js +13 -36
- package/dist/pipeline/src/deploy/kubernetes/kubeEnv.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/kubeValues.js +23 -60
- package/dist/pipeline/src/deploy/kubernetes/kubeValues.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/mongodb.js +38 -48
- package/dist/pipeline/src/deploy/kubernetes/mongodb.js.map +1 -1
- package/dist/pipeline/src/deploy/kubernetes/processSecretsAsFiles.js +15 -17
- package/dist/pipeline/src/deploy/kubernetes/processSecretsAsFiles.js.map +1 -1
- package/dist/pipeline/src/deploy/sbom.d.ts +1 -1
- package/dist/pipeline/src/deploy/sbom.js +11 -10
- package/dist/pipeline/src/deploy/sbom.js.map +1 -1
- package/dist/pipeline/src/deploy/types/custom.d.ts +2 -6
- package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +26 -0
- package/dist/pipeline/src/deploy/types/index.d.ts +3 -3
- package/dist/pipeline/src/deploy/types/index.js +1 -5
- package/dist/pipeline/src/deploy/types/index.js.map +1 -1
- package/dist/pipeline/src/deploy/utils.js +7 -7
- package/dist/pipeline/src/deploy/utils.js.map +1 -1
- package/dist/pipeline/src/packageInfos.d.ts +3 -1
- package/dist/pipeline/src/packageInfos.js +10 -5
- package/dist/pipeline/src/packageInfos.js.map +1 -1
- package/dist/pipeline/src/pipeline/createAllJobs.d.ts +12 -10
- package/dist/pipeline/src/pipeline/createAllJobs.js +39 -81
- package/dist/pipeline/src/pipeline/createAllJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/createChildPipeline.js +24 -70
- package/dist/pipeline/src/pipeline/createChildPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForComponent.d.ts +3 -3
- package/dist/pipeline/src/pipeline/createJobsForComponent.js +21 -118
- package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.d.ts +3 -0
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.js +10 -0
- package/dist/pipeline/src/pipeline/createJobsForWorkspace.js.map +1 -0
- package/dist/pipeline/src/pipeline/createMainPipeline.js +57 -130
- package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.d.ts +38 -0
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js +47 -92
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
- package/dist/pipeline/src/pipeline/getPipelineStages.d.ts +3 -4
- package/dist/pipeline/src/pipeline/getPipelineStages.js +11 -35
- package/dist/pipeline/src/pipeline/getPipelineStages.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.d.ts +4 -4
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js +226 -189
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +14 -26
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +11 -11
- package/dist/pipeline/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.d.ts +2 -0
- package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js +10 -8
- package/dist/pipeline/src/pipeline/gitlab/gitlabReleaseJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
- package/dist/pipeline/src/pipeline/gitlab/sortGitLabJobDefProps.js +50 -0
- package/dist/pipeline/src/pipeline/gitlab/sortGitLabJobDefProps.js.map +1 -0
- package/dist/pipeline/src/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/src/pipeline/packageManager.js +62 -115
- package/dist/pipeline/src/pipeline/packageManager.js.map +1 -1
- package/dist/pipeline/src/pipeline/yarn/yarnUtils.d.ts +2 -2
- package/dist/pipeline/src/pipeline/yarn/yarnUtils.js +30 -119
- package/dist/pipeline/src/pipeline/yarn/yarnUtils.js.map +1 -1
- package/dist/pipeline/src/runner/index.js +2 -4
- package/dist/pipeline/src/runner/index.js.map +1 -1
- package/dist/pipeline/src/types/config.d.ts +9 -4
- package/dist/pipeline/src/types/config.js +4 -28
- package/dist/pipeline/src/types/config.js.map +1 -1
- package/dist/pipeline/src/types/context.d.ts +79 -19
- package/dist/pipeline/src/types/context.js +9 -0
- package/dist/pipeline/src/types/context.js.map +1 -1
- package/dist/pipeline/src/types/environmentContext.d.ts +5 -6
- package/dist/pipeline/src/types/gitlab-types.d.ts +2 -2
- package/dist/pipeline/src/types/index.d.ts +1 -0
- package/dist/pipeline/src/types/index.js +1 -0
- package/dist/pipeline/src/types/index.js.map +1 -1
- package/dist/pipeline/src/types/jobDefinition.d.ts +11 -0
- package/dist/pipeline/src/types/jobDefinition.js +3 -0
- package/dist/pipeline/src/types/jobDefinition.js.map +1 -0
- package/dist/pipeline/src/types/jobs.d.ts +8 -2
- package/dist/pipeline/src/types/jobs.js.map +1 -1
- package/dist/pipeline/src/utils/gitlab.js +19 -42
- package/dist/pipeline/src/utils/gitlab.js.map +1 -1
- package/dist/pipeline/src/utils/index.d.ts +2 -1
- package/dist/pipeline/src/utils/index.js +9 -35
- package/dist/pipeline/src/utils/index.js.map +1 -1
- package/dist/pipeline/src/utils/jsonParse.d.ts +1 -0
- package/dist/pipeline/src/utils/jsonParse.js +13 -0
- package/dist/pipeline/src/utils/jsonParse.js.map +1 -0
- package/dist/pipeline/src/utils/removeUndefined.d.ts +1 -0
- package/dist/pipeline/src/utils/removeUndefined.js +6 -0
- package/dist/pipeline/src/utils/removeUndefined.js.map +1 -0
- package/dist/pipeline/src/utils/writeFiles.d.ts +4 -0
- package/dist/pipeline/src/utils/writeFiles.js +26 -69
- package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/scripts/bundle +3 -3
- package/src/apps/cli/commands/project/cloudSql/commandProjectRestoreDb.ts +4 -4
- package/src/apps/cli/commands/project/commandCloudSqlProxy.ts +2 -10
- package/src/apps/cli/commands/project/commandRenewToken.ts +12 -0
- package/src/apps/cli/commands/project/index.ts +2 -0
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +48 -35
- package/src/apps/cli/commands/project/setup/setupCloudRun.ts +2 -2
- package/src/apps/cli/commands/project/setup/setupContext.ts +2 -14
- package/src/apps/cli/commands/project/setup/setupKubernetes.ts +3 -3
- package/src/apps/cli/commands/project/utils/ensureNamespace.ts +3 -16
- package/src/catenv.ts +12 -2
- package/src/config/getProjectConfig.ts +21 -19
- package/src/gcloud/serviceAccounts.ts +28 -10
- package/src/utils/projects/index.ts +7 -2
- package/tsconfig.json +2 -2
- package/.nvmrc +0 -1
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@catladder/cli",
|
|
3
|
-
"description": "Panter cli tool for
|
|
3
|
+
"description": "Panter cli tool for cloud CI/CD and DevOps",
|
|
4
4
|
"author": "Marco Wettstein <maw@panter.ch>",
|
|
5
|
-
"homepage": "https://git.panter.
|
|
5
|
+
"homepage": "https://catladder.git.panter.biz/catladder/docs",
|
|
6
6
|
"bugs": "https://git.panter.ch/catladder/catladder/issues",
|
|
7
|
+
"readme": "https://git.panter.ch/catladder/catladder/-/blob/main/cli/README.md",
|
|
7
8
|
"repository": {
|
|
8
9
|
"type": "git",
|
|
9
10
|
"url": "git+https://git.panter.ch/catladder/catladder.git",
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
}
|
|
53
54
|
],
|
|
54
55
|
"license": "MIT",
|
|
55
|
-
"version": "0.0.0-refactor-
|
|
56
|
+
"version": "0.0.0-refactor-cache-b38c122b",
|
|
56
57
|
"scripts": {
|
|
57
58
|
"lint": "eslint \"src/**/*.ts\"",
|
|
58
59
|
"lint:fix": "eslint \"src/**/*.ts\" --fix",
|
|
@@ -70,10 +71,7 @@
|
|
|
70
71
|
"types": "dist/cli/src/index.d.ts",
|
|
71
72
|
"main": "dist/cli/src/index.js",
|
|
72
73
|
"engines": {
|
|
73
|
-
"node": ">=
|
|
74
|
-
},
|
|
75
|
-
"dependencies": {
|
|
76
|
-
"ts-node": "^10.9.1"
|
|
74
|
+
"node": ">=18.0.0"
|
|
77
75
|
},
|
|
78
76
|
"devDependencies": {
|
|
79
77
|
"@gitbeaker/rest": "^39.28.0",
|
|
@@ -110,5 +108,8 @@
|
|
|
110
108
|
"vorpal": "^1.12.0",
|
|
111
109
|
"yaml": "^2.4.5"
|
|
112
110
|
},
|
|
111
|
+
"dependencies": {
|
|
112
|
+
"tsx": "^4.16.2"
|
|
113
|
+
},
|
|
113
114
|
"stableVersion": "0.0.0"
|
|
114
115
|
}
|
package/scripts/bundle
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
ncc build dist/cli/src/catenv.js -o dist/bundles/catenv -e '
|
|
2
|
+
ncc build dist/cli/src/catenv.js -o dist/bundles/catenv -e 'tsx/cjs/api' $( ((SHOULD_MINIFY == 1)) && printf %s '-m')
|
|
3
3
|
|
|
4
|
-
ncc build dist/cli/src/cli.js -o dist/bundles/cli -e '
|
|
4
|
+
ncc build dist/cli/src/cli.js -o dist/bundles/cli -e 'tsx/cjs/api' $( ((SHOULD_MINIFY == 1)) && printf %s '-m')
|
|
5
5
|
|
|
6
|
-
ncc build dist/cli/src/catci.js -o dist/bundles/catci -e '
|
|
6
|
+
ncc build dist/cli/src/catci.js -o dist/bundles/catci -e 'tsx/cjs/api' $( ((SHOULD_MINIFY == 1)) && printf %s '-m')
|
|
@@ -36,8 +36,8 @@ export default async (vorpal: Vorpal) =>
|
|
|
36
36
|
|
|
37
37
|
const sourceEnvVars = await getEnvVarsResolved(
|
|
38
38
|
this,
|
|
39
|
-
sourceContext.
|
|
40
|
-
sourceContext.
|
|
39
|
+
sourceContext.env,
|
|
40
|
+
sourceContext.name,
|
|
41
41
|
);
|
|
42
42
|
|
|
43
43
|
let sourceProxy: CloudSqlBackgroundProxy;
|
|
@@ -99,8 +99,8 @@ export default async (vorpal: Vorpal) =>
|
|
|
99
99
|
|
|
100
100
|
const targetEnvVars = await getEnvVarsResolved(
|
|
101
101
|
this,
|
|
102
|
-
targetContext.
|
|
103
|
-
targetContext.
|
|
102
|
+
targetContext.env,
|
|
103
|
+
targetContext.name,
|
|
104
104
|
);
|
|
105
105
|
|
|
106
106
|
if (targetEnv === "local") {
|
|
@@ -83,11 +83,7 @@ const getProxyInfoForKubernetes = async (
|
|
|
83
83
|
throw new Error("unsupported");
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
const envVars = await getEnvVarsResolved(
|
|
87
|
-
vorpal,
|
|
88
|
-
context.environment.shortName,
|
|
89
|
-
context.componentName,
|
|
90
|
-
);
|
|
86
|
+
const envVars = await getEnvVarsResolved(vorpal, context.env, context.name);
|
|
91
87
|
// bit hacky, would be nicer if we would also declare this through env vars
|
|
92
88
|
const cloudSqlValues = createKubernetesCloudsqlBaseValues(context);
|
|
93
89
|
|
|
@@ -116,11 +112,7 @@ const getProxyInfoForCloudRun = async (
|
|
|
116
112
|
throw new Error("unsupported");
|
|
117
113
|
}
|
|
118
114
|
|
|
119
|
-
const envVars = await getEnvVarsResolved(
|
|
120
|
-
vorpal,
|
|
121
|
-
context.environment.shortName,
|
|
122
|
-
context.componentName,
|
|
123
|
-
);
|
|
115
|
+
const envVars = await getEnvVarsResolved(vorpal, context.env, context.name);
|
|
124
116
|
|
|
125
117
|
const DB_PASSWORD = envVars?.DB_PASSWORD;
|
|
126
118
|
const DB_USER = envVars?.DB_USER;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type Vorpal from "vorpal";
|
|
2
|
+
import { setupAccessTokens } from "./setup/setupAccessTokens";
|
|
3
|
+
|
|
4
|
+
export default async (vorpal: Vorpal) =>
|
|
5
|
+
vorpal
|
|
6
|
+
.command(
|
|
7
|
+
"project-renew-token",
|
|
8
|
+
"Configures the project access token for semantic release.",
|
|
9
|
+
)
|
|
10
|
+
.action(async function () {
|
|
11
|
+
await setupAccessTokens(this);
|
|
12
|
+
});
|
|
@@ -9,6 +9,7 @@ import commandGetMyTotalWorktime from "./commandGetMyTotalWorktime";
|
|
|
9
9
|
import commandGetShell from "./commandGetShell";
|
|
10
10
|
import commandGitlabCi from "./commandGitlabCi";
|
|
11
11
|
import commandSetup from "./commandSetup";
|
|
12
|
+
import commandRenewToken from "./commandRenewToken";
|
|
12
13
|
import commandListPods from "./commandListPods";
|
|
13
14
|
import commandMigrateHelm3 from "./commandMigrateHelm3";
|
|
14
15
|
import commandNamespace from "./commandNamespace";
|
|
@@ -29,6 +30,7 @@ import commandSecurityEvaluate from "./commandSecurityEvaluate";
|
|
|
29
30
|
|
|
30
31
|
export default async (vorpal: Vorpal) => {
|
|
31
32
|
commandSetup(vorpal);
|
|
33
|
+
commandRenewToken(vorpal);
|
|
32
34
|
|
|
33
35
|
commandEnvVars(vorpal);
|
|
34
36
|
|
|
@@ -1,57 +1,70 @@
|
|
|
1
|
-
import open from "open";
|
|
2
1
|
import type { CommandInstance } from "vorpal";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
3
|
import { doGitlabRequest, getProjectInfo } from "../../../../../utils/gitlab";
|
|
4
4
|
|
|
5
|
+
const TOKEN_NAME = "semantic-release";
|
|
6
|
+
|
|
5
7
|
export const setupAccessTokens = async (instance: CommandInstance) => {
|
|
6
|
-
const { id: projectId
|
|
7
|
-
|
|
8
|
+
const { id: projectId } = await getProjectInfo(instance);
|
|
9
|
+
|
|
10
|
+
const projectTokens = await doGitlabRequest(
|
|
11
|
+
instance,
|
|
12
|
+
`projects/${projectId}/access_tokens`,
|
|
13
|
+
);
|
|
14
|
+
const token = projectTokens.find(
|
|
15
|
+
(t) => t.name === TOKEN_NAME && t.active === true,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const expires_at = dayjs()
|
|
19
|
+
.add(1, "year")
|
|
20
|
+
.subtract(1, "day")
|
|
21
|
+
.format("YYYY-MM-DD");
|
|
22
|
+
|
|
23
|
+
const newToken = token
|
|
24
|
+
? await doGitlabRequest(
|
|
25
|
+
instance,
|
|
26
|
+
`projects/${projectId}/access_tokens/${token.id}/rotate`,
|
|
27
|
+
{ expires_at },
|
|
28
|
+
"POST",
|
|
29
|
+
)
|
|
30
|
+
: await doGitlabRequest(
|
|
31
|
+
instance,
|
|
32
|
+
`projects/${projectId}/access_tokens`,
|
|
33
|
+
{
|
|
34
|
+
name: TOKEN_NAME,
|
|
35
|
+
scopes: ["api", "read_repository"],
|
|
36
|
+
access_level: 40, // Maintainer
|
|
37
|
+
expires_at,
|
|
38
|
+
},
|
|
39
|
+
"POST",
|
|
40
|
+
);
|
|
41
|
+
|
|
8
42
|
try {
|
|
9
43
|
await doGitlabRequest(instance, `projects/${projectId}/variables/GL_TOKEN`);
|
|
44
|
+
await doGitlabRequest(
|
|
45
|
+
instance,
|
|
46
|
+
`projects/${projectId}/variables/GL_TOKEN`,
|
|
47
|
+
{ value: newToken.token },
|
|
48
|
+
"PUT",
|
|
49
|
+
);
|
|
10
50
|
} catch (e) {
|
|
11
51
|
if (e.message !== "not found") {
|
|
12
52
|
throw e;
|
|
13
53
|
}
|
|
14
54
|
// not found
|
|
15
|
-
|
|
16
|
-
instance.log(
|
|
17
|
-
"I need add a GL_TOKEN to the project, so that semantic release will work\n",
|
|
18
|
-
);
|
|
19
|
-
instance.log(
|
|
20
|
-
"👉 Please please create a project access token in gitlab and copy its value into clipboard\n\n - name: something like 'semantic-release'\n - expires: leave empty\n - role: maintainer - scopes: api, read_repository",
|
|
21
|
-
);
|
|
22
|
-
instance.log("\n");
|
|
23
|
-
|
|
24
|
-
const { understood } = await instance.prompt({
|
|
25
|
-
default: true,
|
|
26
|
-
message: "Understood and open gitlab now? 🤔",
|
|
27
|
-
name: "understood",
|
|
28
|
-
type: "confirm",
|
|
29
|
-
});
|
|
30
|
-
if (!understood) {
|
|
31
|
-
instance.log("continuing anyway...");
|
|
32
|
-
}
|
|
33
|
-
open(`${projectWebUrl}/-/settings/access_tokens`);
|
|
34
|
-
|
|
35
|
-
instance.log("\n");
|
|
36
|
-
|
|
37
|
-
instance.log("Enter your copied token now: ");
|
|
38
|
-
|
|
39
|
-
instance.log("\n");
|
|
40
|
-
const { GL_TOKEN } = await instance.prompt({
|
|
41
|
-
type: "password",
|
|
42
|
-
name: "GL_TOKEN",
|
|
43
|
-
message: "Access Token: ",
|
|
44
|
-
});
|
|
45
|
-
|
|
46
55
|
await doGitlabRequest(
|
|
47
56
|
instance,
|
|
48
57
|
`projects/${projectId}/variables`,
|
|
49
58
|
{
|
|
50
59
|
key: "GL_TOKEN",
|
|
51
|
-
value:
|
|
60
|
+
value: newToken.token,
|
|
52
61
|
masked: true,
|
|
53
62
|
},
|
|
54
63
|
"POST",
|
|
55
64
|
);
|
|
56
65
|
}
|
|
66
|
+
|
|
67
|
+
instance.log(
|
|
68
|
+
"Token configured for semantic release. Renew me again in a year!",
|
|
69
|
+
);
|
|
57
70
|
};
|
|
@@ -14,13 +14,7 @@ export const setupContext = async (
|
|
|
14
14
|
"==================================================================================",
|
|
15
15
|
);
|
|
16
16
|
|
|
17
|
-
instance.log(
|
|
18
|
-
"🐱 🔧 setting up " +
|
|
19
|
-
context.environment.shortName +
|
|
20
|
-
":" +
|
|
21
|
-
context.componentName +
|
|
22
|
-
"...",
|
|
23
|
-
);
|
|
17
|
+
instance.log("🐱 🔧 setting up " + context.env + ":" + context.name + "...");
|
|
24
18
|
instance.log("");
|
|
25
19
|
if (isOfDeployType(context.deploy?.config, "google-cloudrun")) {
|
|
26
20
|
await setupCloudRun(instance, context);
|
|
@@ -32,13 +26,7 @@ export const setupContext = async (
|
|
|
32
26
|
}
|
|
33
27
|
|
|
34
28
|
instance.log("");
|
|
35
|
-
instance.log(
|
|
36
|
-
"✅ " +
|
|
37
|
-
context.environment.shortName +
|
|
38
|
-
":" +
|
|
39
|
-
context.componentName +
|
|
40
|
-
" done!",
|
|
41
|
-
);
|
|
29
|
+
instance.log("✅ " + context.env + ":" + context.name + " done!");
|
|
42
30
|
|
|
43
31
|
instance.log("");
|
|
44
32
|
};
|
|
@@ -63,7 +63,7 @@ export const setupKubernetes = async (
|
|
|
63
63
|
// we name the service account and the role and the role binding with the same name
|
|
64
64
|
// we currently create one per component to better separate them
|
|
65
65
|
instance.log("ensuring service accounts...");
|
|
66
|
-
const serviceAccountName = `cl-${context.
|
|
66
|
+
const serviceAccountName = `cl-${context.name}-deploy`;
|
|
67
67
|
const KUBE_URL = await exec(
|
|
68
68
|
`TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'`,
|
|
69
69
|
).then((s) => s.stdout.trim());
|
|
@@ -163,8 +163,8 @@ EOF
|
|
|
163
163
|
await upsertAllVariables(
|
|
164
164
|
instance,
|
|
165
165
|
vars,
|
|
166
|
-
context.
|
|
167
|
-
context.
|
|
166
|
+
context.env,
|
|
167
|
+
context.name,
|
|
168
168
|
false, // no backup
|
|
169
169
|
);
|
|
170
170
|
instance.log("done!");
|
|
@@ -5,29 +5,16 @@ import { V1Namespace } from "@kubernetes/client-node";
|
|
|
5
5
|
import { getk8sApi } from "../../../../../k8sApi";
|
|
6
6
|
|
|
7
7
|
export default async function (context: ComponentContext) {
|
|
8
|
-
const namespace = getKubernetesNamespace(
|
|
9
|
-
context.fullConfig,
|
|
10
|
-
context.environment.shortName,
|
|
11
|
-
);
|
|
8
|
+
const namespace = getKubernetesNamespace(context.fullConfig, context.env);
|
|
12
9
|
const namespaceBody = new V1Namespace();
|
|
13
10
|
const metadata: V1ObjectMeta = {
|
|
14
11
|
name: namespace,
|
|
15
12
|
labels: {
|
|
16
13
|
customerName: context.fullConfig.customerName,
|
|
17
14
|
appName: context.fullConfig.appName,
|
|
18
|
-
environment: context.
|
|
15
|
+
environment: context.env,
|
|
19
16
|
components: Object.keys(context.fullConfig.components).join("_"), // limited chars available...
|
|
20
|
-
|
|
21
|
-
.map((config) => config.build.type)
|
|
22
|
-
.join("_"), // limited chars available...
|
|
23
|
-
...Object.fromEntries(
|
|
24
|
-
Object.entries(context.fullConfig.components).map(
|
|
25
|
-
([componentName, config]) => [
|
|
26
|
-
"buildType_" + componentName,
|
|
27
|
-
config.build.type,
|
|
28
|
-
],
|
|
29
|
-
),
|
|
30
|
-
),
|
|
17
|
+
|
|
31
18
|
...(context.fullConfig.meta?.labels ?? {}),
|
|
32
19
|
},
|
|
33
20
|
};
|
package/src/catenv.ts
CHANGED
|
@@ -2,9 +2,19 @@ import catenv from "./apps/catenv/catenv";
|
|
|
2
2
|
|
|
3
3
|
import { parseChoice } from "./config/parseChoice";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
const helpFlags = ["--help", "-h", "help"];
|
|
8
|
+
if (args.some((arg) => helpFlags.includes(arg))) {
|
|
9
|
+
const docLink =
|
|
10
|
+
"https://git.panter.ch/catladder/catladder/-/blob/main/docs/1_VARS.md";
|
|
11
|
+
console.log(
|
|
12
|
+
`\nUsage: catenv [env|env:component]\n\nEnv variable and catenv documentation:\n${docLink}`,
|
|
13
|
+
);
|
|
14
|
+
process.exit(0);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
catenv(args[0] ? parseChoice(args[0]) : null).then(() => {
|
|
8
18
|
// we have to exit manually, because we have some file watches
|
|
9
19
|
process.exit();
|
|
10
20
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Config, EnvironmentEnvVars } from "@catladder/pipeline";
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
readConfig,
|
|
4
4
|
getAllEnvs,
|
|
5
5
|
getEnvironment as _getEnvironment,
|
|
6
6
|
createComponentContext,
|
|
@@ -21,7 +21,10 @@ let currentConfig: Config | null = null;
|
|
|
21
21
|
// reload the config on change
|
|
22
22
|
const reloadConfigAndObserve = async () => {
|
|
23
23
|
const gitRoot = await getGitRoot();
|
|
24
|
-
|
|
24
|
+
if (!gitRoot) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const result = await readConfig(gitRoot);
|
|
25
28
|
if (!result) {
|
|
26
29
|
// can't do anything, there is no config
|
|
27
30
|
return;
|
|
@@ -120,23 +123,22 @@ const resolveSecrets = async (
|
|
|
120
123
|
const allVariablesInGitlab = await getAllVariables(vorpal);
|
|
121
124
|
|
|
122
125
|
return Object.fromEntries(
|
|
123
|
-
varSets.flatMap((
|
|
124
|
-
Object.entries(
|
|
125
|
-
.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
.replace(new RegExp("\\$" +
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
.filter(Boolean),
|
|
126
|
+
varSets.flatMap(({ envVars, secretEnvVarKeys }) =>
|
|
127
|
+
Object.entries(envVars)
|
|
128
|
+
.filter(
|
|
129
|
+
([key, value]) =>
|
|
130
|
+
value !== undefined &&
|
|
131
|
+
value !== null &&
|
|
132
|
+
!secretEnvVarKeys.find((k) => k.key === key)?.hidden,
|
|
133
|
+
)
|
|
134
|
+
.map(([key, value]) => [
|
|
135
|
+
key,
|
|
136
|
+
allVariablesInGitlab.reduce(
|
|
137
|
+
(acc, curr) =>
|
|
138
|
+
acc.replace(new RegExp("\\$" + curr.key, "g"), curr.value),
|
|
139
|
+
`${value}`,
|
|
140
|
+
),
|
|
141
|
+
]),
|
|
140
142
|
),
|
|
141
143
|
);
|
|
142
144
|
};
|
|
@@ -28,16 +28,34 @@ const upsertGcloudServiceAccount = async (
|
|
|
28
28
|
const { projectId, name, displayName, roles, description } = account;
|
|
29
29
|
|
|
30
30
|
// name has limit of 30
|
|
31
|
-
const namePrefix = `${name}
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
const namePrefix = `${name}`;
|
|
32
|
+
const nameSuffixRaw = `${context.env}-${context.name}`;
|
|
33
|
+
const nameMiddleRaw = `${context.fullConfig.customerName}-${context.fullConfig.appName}`;
|
|
34
|
+
const MAX_LENGTH = 30;
|
|
35
|
+
const NUM_SEPARATORS = 2;
|
|
36
|
+
|
|
37
|
+
// we want to first hash middle, then suffix
|
|
38
|
+
// if for middle we have at least 1 char left, its ok, so we don't hash nameSuffix, otherwise we need to hash that as well
|
|
39
|
+
|
|
40
|
+
const middleMaxLength =
|
|
41
|
+
MAX_LENGTH - namePrefix.length - nameSuffixRaw.length - NUM_SEPARATORS;
|
|
42
|
+
|
|
43
|
+
let nameMiddle: string;
|
|
44
|
+
let nameSuffix: string;
|
|
45
|
+
if (middleMaxLength < 1) {
|
|
46
|
+
nameMiddle = hashIfNessecary(nameMiddleRaw, 1);
|
|
47
|
+
nameSuffix = hashIfNessecary(
|
|
48
|
+
nameSuffixRaw,
|
|
49
|
+
MAX_LENGTH - namePrefix.length - 1 - NUM_SEPARATORS,
|
|
50
|
+
);
|
|
51
|
+
} else {
|
|
52
|
+
nameMiddle = hashIfNessecary(nameMiddleRaw, middleMaxLength);
|
|
53
|
+
nameSuffix = nameSuffixRaw;
|
|
54
|
+
}
|
|
37
55
|
|
|
38
|
-
const fullName = `${namePrefix}
|
|
56
|
+
const fullName = `${namePrefix}-${nameMiddle}-${nameSuffix}`;
|
|
39
57
|
|
|
40
|
-
const fullDisplayName = `${context.fullConfig.customerName}-${context.fullConfig.appName} ${context.
|
|
58
|
+
const fullDisplayName = `${context.fullConfig.customerName}-${context.fullConfig.appName} ${context.env}:${context.name} | ${displayName}`;
|
|
41
59
|
|
|
42
60
|
const fullIdentifier = `${fullName}@${projectId}.iam.gserviceaccount.com`;
|
|
43
61
|
|
|
@@ -88,8 +106,8 @@ export const upsertGcloudServiceAccountAndSaveSecret = async (
|
|
|
88
106
|
{
|
|
89
107
|
[secretName]: key,
|
|
90
108
|
},
|
|
91
|
-
context.
|
|
92
|
-
context.
|
|
109
|
+
context.env,
|
|
110
|
+
context.name,
|
|
93
111
|
);
|
|
94
112
|
instance.log("done!");
|
|
95
113
|
};
|
|
@@ -4,8 +4,13 @@ import { getProjectConfig, parseChoice } from "../../config/getProjectConfig";
|
|
|
4
4
|
import { readFileOrError } from "../files";
|
|
5
5
|
import { exec } from "child-process-promise";
|
|
6
6
|
|
|
7
|
-
export const getGitRoot = async (): Promise<string> => {
|
|
8
|
-
|
|
7
|
+
export const getGitRoot = async (): Promise<string | null> => {
|
|
8
|
+
try {
|
|
9
|
+
return (await exec(`git rev-parse --show-toplevel`)).stdout.trim();
|
|
10
|
+
} catch (e) {
|
|
11
|
+
// not a git repo
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
9
14
|
};
|
|
10
15
|
|
|
11
16
|
export const getRootGitlabCiFile = async () => {
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"lib": ["
|
|
3
|
+
"lib": ["es2022", "DOM"],
|
|
4
4
|
"module": "CommonJS",
|
|
5
5
|
"downlevelIteration": true,
|
|
6
6
|
"declaration": true,
|
|
7
|
-
|
|
7
|
+
"target": "ES2018",
|
|
8
8
|
"moduleResolution": "node",
|
|
9
9
|
"esModuleInterop": true,
|
|
10
10
|
"sourceMap": true,
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
16
|