forked from docker/machine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.go
46 lines (36 loc) · 1.22 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package commands
import (
"fmt"
"os"
"path/filepath"
"github.com/docker/machine/commands/mcndirs"
"github.com/docker/machine/libmachine"
"github.com/docker/machine/libmachine/check"
"github.com/docker/machine/libmachine/log"
)
func cmdConfig(c CommandLine, api libmachine.API) error {
// Ensure that log messages always go to stderr when this command is
// being run (it is intended to be run in a subshell)
log.SetOutWriter(os.Stderr)
target, err := targetHost(c, api)
if err != nil {
return err
}
host, err := api.Load(target)
if err != nil {
return err
}
dockerHost, _, err := check.DefaultConnChecker.Check(host, c.Bool("swarm"))
if err != nil {
return fmt.Errorf("Error running connection boilerplate: %s", err)
}
log.Debug(dockerHost)
tlsCACert := filepath.Join(mcndirs.GetMachineDir(), host.Name, "ca.pem")
tlsCert := filepath.Join(mcndirs.GetMachineDir(), host.Name, "cert.pem")
tlsKey := filepath.Join(mcndirs.GetMachineDir(), host.Name, "key.pem")
// TODO(nathanleclaire): These magic strings for the certificate file
// names should be cross-package constants.
fmt.Printf("--tlsverify\n--tlscacert=%q\n--tlscert=%q\n--tlskey=%q\n-H=%s\n",
tlsCACert, tlsCert, tlsKey, dockerHost)
return nil
}