UNPKG

845 BJavaScriptView Raw
1const cli = require('heroku-cli-util')
2const log = require('../lib/log')
3const Sanbashi = require('../lib/sanbashi')
4
5module.exports = function (topic) {
6 return {
7 topic: topic,
8 command: 'logout',
9 flags: [{name: 'verbose', char: 'v', hasValue: false}],
10 description: 'log out from Heroku Container Registry',
11 needsApp: false,
12 needsAuth: false,
13 run: cli.command(logout)
14 }
15}
16
17async function logout (context, heroku) {
18 let herokuHost = process.env.HEROKU_HOST || 'heroku.com'
19 let registry = `registry.${herokuHost}`
20
21 try {
22 await dockerLogout(registry, context.flags.verbose)
23 } catch (err) {
24 cli.error(`Error: docker logout exited with ${err}`)
25 }
26}
27
28function dockerLogout (registry, verbose) {
29 let args = [
30 'logout',
31 registry
32 ]
33 log(verbose, args)
34 return Sanbashi.cmd('docker', args)
35}