1 | const cli = require('heroku-cli-util')
|
2 | const log = require('../lib/log')
|
3 | const Sanbashi = require('../lib/sanbashi')
|
4 |
|
5 | module.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 |
|
17 | async 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 |
|
28 | function dockerLogout (registry, verbose) {
|
29 | let args = [
|
30 | 'logout',
|
31 | registry
|
32 | ]
|
33 | log(verbose, args)
|
34 | return Sanbashi.cmd('docker', args)
|
35 | }
|