fix(osctl): output talosconfig on generate (#627)

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This commit is contained in:
Andrew Rynhard 2019-05-08 20:27:50 -07:00 committed by GitHub
parent 2ea7e055a2
commit 9b5b2f0c7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 2 deletions

View File

@ -316,8 +316,8 @@ func saveConfig(input *generate.Input) (err error) {
func init() {
clusterUpCmd.Flags().StringVar(&image, "image", "docker.io/autonomy/talos:"+version.Tag, "the image to use")
clusterUpCmd.Flags().IntVar(&workers, "workers", 1, "the number of workers to create")
clusterCmd.PersistentFlags().StringVar(&clusterName, "name", "talos_default", "the name of the cluster")
clusterCmd.PersistentFlags().IntVar(&workers, "workers", 1, "the number of workers to create")
clusterCmd.AddCommand(clusterUpCmd)
clusterCmd.AddCommand(clusterDownCmd)
rootCmd.AddCommand(clusterCmd)

View File

@ -131,7 +131,8 @@ var configGenerateCmd = &cobra.Command{
types := []generate.Type{generate.TypeInit, generate.TypeControlPlane, generate.TypeJoin}
for _, t := range types {
data, err := generate.Userdata(t, input)
var data string
data, err = generate.Userdata(t, input)
if err != nil {
helpers.Fatalf("failed to generate configuration file for type %s: %v", t.String(), err)
}
@ -146,6 +147,14 @@ var configGenerateCmd = &cobra.Command{
helpers.Fatalf("%v", err)
}
}
data, err := generate.Talosconfig(input)
if err != nil {
helpers.Fatalf("failed to generate talosconfig: %v", err)
}
if err = ioutil.WriteFile("talosconfig", []byte(data), 0644); err != nil {
helpers.Fatalf("%v", err)
}
},
}

View File

@ -7,6 +7,7 @@ package config
import (
"io/ioutil"
"os"
"path/filepath"
yaml "gopkg.in/yaml.v2"
)
@ -61,6 +62,10 @@ func (c *Config) Save(p string) (err error) {
return
}
if err = os.MkdirAll(filepath.Dir(p), 0700); err != nil {
return err
}
if err = ioutil.WriteFile(p, configBytes, 0600); err != nil {
return
}

View File

@ -277,6 +277,11 @@ func checkCertKeyPair(certs []certTest) error {
continue
}
// If it isn't required, there is a chance that it is nil.
if cert.Cert == nil {
continue
}
if cert.Cert.Crt == nil {
result = multierror.Append(result, xerrors.Errorf("[%s] %q: %w", cert.Path+".crt", "", ErrRequiredSection))
}