func writeCerts(cfg *config.CloudConfig) error { outDir := control.ServerTlsPath if err := os.MkdirAll(outDir, 0700); err != nil { return err } caCertPath := filepath.Join(outDir, control.CaCert) caKeyPath := filepath.Join(outDir, control.CaKey) serverCertPath := filepath.Join(outDir, control.ServerCert) serverKeyPath := filepath.Join(outDir, control.ServerKey) if cfg.Rancher.Docker.CACert != "" { if err := util.WriteFileAtomic(caCertPath, []byte(cfg.Rancher.Docker.CACert), 0400); err != nil { return err } if err := util.WriteFileAtomic(caKeyPath, []byte(cfg.Rancher.Docker.CAKey), 0400); err != nil { return err } } if cfg.Rancher.Docker.ServerCert != "" { if err := util.WriteFileAtomic(serverCertPath, []byte(cfg.Rancher.Docker.ServerCert), 0400); err != nil { return err } if err := util.WriteFileAtomic(serverKeyPath, []byte(cfg.Rancher.Docker.ServerKey), 0400); err != nil { return err } } return nil }
func export(c *cli.Context) error { content, err := config.Export(c.Bool("private"), c.Bool("full")) if err != nil { log.Fatal(err) } output := c.String("output") if output == "" { fmt.Println(content) } else { err := util.WriteFileAtomic(output, []byte(content), 0400) if err != nil { log.Fatal(err) } } return nil }