@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
52 lines (51 loc) • 2.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCommonDeployArgs = exports.getCommonCloudRunArgs = exports.getCloudRunDeployConfig = exports.makeLabelString = exports.setGoogleProjectNumberScript = exports.gcloudSchedulerCmd = exports.gcloudRunCmd = exports.gcloudCmd = void 0;
const types_1 = require("../../types");
const artifactsRegistry_1 = require("../artifactsRegistry");
const gcloudCmd = version => {
return version ? `gcloud ${version}` : "gcloud";
};
exports.gcloudCmd = gcloudCmd;
const gcloudRunCmd = version => {
return `${(0, exports.gcloudCmd)(version)} run`;
};
exports.gcloudRunCmd = gcloudRunCmd;
const gcloudSchedulerCmd = version => {
return `${(0, exports.gcloudCmd)(version)} scheduler`;
};
exports.gcloudSchedulerCmd = gcloudSchedulerCmd;
const setGoogleProjectNumberScript = deployConfig => [`export GCLOUD_PROJECT_NUMBER=$(${(0, exports.gcloudCmd)()} projects describe ${deployConfig.projectId} --format="value(projectNumber)")`, 'echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"'];
exports.setGoogleProjectNumberScript = setGoogleProjectNumberScript;
const makeLabelString = obj => Object.entries(obj).map(([key, value]) => `${key}=${value}`).join(",");
exports.makeLabelString = makeLabelString;
const getCloudRunDeployConfig = context => {
var _a;
const deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
if (!(0, types_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
// should not happen
throw new Error("deploy config is wrong");
}
return deployConfig;
};
exports.getCloudRunDeployConfig = getCloudRunDeployConfig;
function getCommonCloudRunArgs(context) {
const deployConfig = (0, exports.getCloudRunDeployConfig)(context);
return {
project: deployConfig.projectId,
region: deployConfig.region
};
}
exports.getCommonCloudRunArgs = getCommonCloudRunArgs;
function getCommonDeployArgs(context) {
const commonArgs = getCommonCloudRunArgs(context);
const deployConfig = (0, exports.getCloudRunDeployConfig)(context);
return {
image: (0, artifactsRegistry_1.getArtifactsRegistryImage)(context),
...commonArgs,
"set-cloudsql-instances": deployConfig.cloudSql ? deployConfig.cloudSql.instanceConnectionName : undefined
};
}
exports.getCommonDeployArgs = getCommonDeployArgs;