UNPKG

cloudapp-cli

Version:

58 lines (47 loc) 1.36 kB
#!/usr/bin/env node const { program } = require("commander"); const { createClient } = require("../lib/capi"); const { run } = require("../lib/verify"); const { getPackageId } = require("../lib/pkg"); program.option("--auth", "返回 auth 配置"); program.option("--url [name:tag]", "返回推送镜像的地址"); program.argument("[dir]", "云应用配置目录"); program.parse(process.argv); const capi = createClient(); async function docker() { const options = program.opts(); const dir = program.args[0] || process.cwd(); const PackageId = getPackageId(dir); const { Host, Username, Token, Namespace } = await capi.DescribePackageDockerToken({ PackageId }); if (options.auth) { console.log( JSON.stringify( { auths: { [Host]: { auth: Buffer.from(`${Username}:${Token}`, "utf-8").toString( "base64" ), }, }, }, null, 4 ) ); return; } if (options.url) { const input = typeof options.url === "string" ? options.url : ""; const [name, tag] = input.split(":"); console.log( `${Host}/${Namespace}/${name || "[image_name]"}:${tag || "[tag]"}` ); return; } console.log( `docker login ${Host} --username '${Username}' --password ${Token}` ); } run(docker);