From 711d9143a6bdba263fc95cbf7cb08e969ceb111a Mon Sep 17 00:00:00 2001 From: Abhishek Date: Fri, 16 Dec 2016 12:06:43 +0530 Subject: [PATCH] make default kompose conversion YAML --- pkg/app/app.go | 2 ++ pkg/kobject/kobject.go | 2 +- pkg/transformer/kubernetes/k8sutils.go | 36 +++++++++++--------------- pkg/transformer/utils.go | 18 ++++++------- 4 files changed, 27 insertions(+), 31 deletions(-) diff --git a/pkg/app/app.go b/pkg/app/app.go index 7fae0c41bc..1a38908d45 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -37,6 +37,7 @@ import ( "github.com/kubernetes-incubator/kompose/pkg/transformer" "github.com/kubernetes-incubator/kompose/pkg/transformer/kubernetes" "github.com/kubernetes-incubator/kompose/pkg/transformer/openshift" + "github.com/almighty/almighty-core/tool/cli" ) const ( @@ -163,6 +164,7 @@ func validateControllers(opt *kobject.ConvertOptions) { } // Convert transforms docker compose or dab file to k8s objects + func Convert(opt kobject.ConvertOptions) { validateControllers(&opt) diff --git a/pkg/kobject/kobject.go b/pkg/kobject/kobject.go index 93a720914e..328f1eee16 100644 --- a/pkg/kobject/kobject.go +++ b/pkg/kobject/kobject.go @@ -34,7 +34,7 @@ type ConvertOptions struct { CreateDS bool CreateDeploymentConfig bool CreateChart bool - GenerateYaml bool + GenerateJson bool EmptyVols bool Replicas int InputFile string diff --git a/pkg/transformer/kubernetes/k8sutils.go b/pkg/transformer/kubernetes/k8sutils.go index 8eed26160d..18696a303f 100644 --- a/pkg/transformer/kubernetes/k8sutils.go +++ b/pkg/transformer/kubernetes/k8sutils.go @@ -184,11 +184,12 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error { if err != nil { return err } - data, err := marshal(convertedList, opt.GenerateYaml) + data, err := marshal(convertedList, opt.GenerateJson) if err != nil { return fmt.Errorf("Error in marshalling the List: %v", err) } - files = append(files, transformer.Print("", dirName, "", data, opt.ToStdout, opt.GenerateYaml, f)) + + files = append(files, transformer.Print("", "", data, opt.ToStdout, opt.GenerateJson, f)) } else { var file string // create a separate file for each provider @@ -197,32 +198,25 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error { if err != nil { return err } - - data, err := marshal(versionedObject, opt.GenerateYaml) + data, err := marshal(versionedObject, opt.GenerateJson) if err != nil { return err } switch t := v.(type) { case *api.ReplicationController: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *extensions.Deployment: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *extensions.DaemonSet: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *deployapi.DeploymentConfig: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *imageapi.ImageStream: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *api.Service: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) case *api.PersistentVolumeClaim: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) - case *api.Pod: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) - case *routeapi.Route: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) - case *extensions.Ingress: - file = transformer.Print(t.Name, dirName, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateYaml, f) + file = transformer.Print(t.Name, strings.ToLower(t.Kind), data, opt.ToStdout, opt.GenerateJson, f) } files = append(files, file) } @@ -234,12 +228,12 @@ func PrintList(objects []runtime.Object, opt kobject.ConvertOptions) error { } // marshal object runtime.Object and return byte array -func marshal(obj runtime.Object, yamlFormat bool) (data []byte, err error) { +func marshal(obj runtime.Object, jsonFormat bool) (data []byte, err error) { // convert data to yaml or json - if yamlFormat { - data, err = yaml.Marshal(obj) - } else { + if jsonFormat { data, err = json.MarshalIndent(obj, "", " ") + } else { + data, err = yaml.Marshal(obj) } if err != nil { data = nil diff --git a/pkg/transformer/utils.go b/pkg/transformer/utils.go index cb951ee3df..ef072ced8d 100644 --- a/pkg/transformer/utils.go +++ b/pkg/transformer/utils.go @@ -110,7 +110,7 @@ func ConfigAnnotations(service kobject.ServiceConfig) map[string]string { } // Transform data to json/yaml -func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) { +func TransformData(obj runtime.Object, GenerateJson bool) ([]byte, error) { // Convert to versioned object objectVersion := obj.GetObjectKind().GroupVersionKind() version := unversioned.GroupVersion{Group: objectVersion.Group, Version: objectVersion.Version} @@ -120,9 +120,9 @@ func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) { } // convert data to json / yaml - data, err := json.MarshalIndent(versionedObj, "", " ") - if GenerateYaml == true { - data, err = yaml.Marshal(versionedObj) + data, err := yaml.Marshal(versionedObj) + if GenerateJson == true { + data, err = json.MarshalIndent(versionedObj, "", " ") } if err != nil { return nil, err @@ -132,13 +132,13 @@ func TransformData(obj runtime.Object, GenerateYaml bool) ([]byte, error) { } // Either print to stdout or to file/s -func Print(name, path string, trailing string, data []byte, toStdout, generateYaml bool, f *os.File) string { +func Print(name, trailing string, data []byte, toStdout, generateJson bool, f *os.File) string { file := "" - if generateYaml { - file = fmt.Sprintf("%s-%s.yaml", name, trailing) - } else { + if generateJson { file = fmt.Sprintf("%s-%s.json", name, trailing) + } else { + file = fmt.Sprintf("%s-%s.yaml", name, trailing) } if toStdout { fmt.Fprintf(os.Stdout, "%s\n", string(data)) @@ -151,7 +151,7 @@ func Print(name, path string, trailing string, data []byte, toStdout, generateYa f.Sync() } else { // Write content separately to each file - file = filepath.Join(path, file) + file = filepath.Join(trailing, file) if err := ioutil.WriteFile(file, []byte(data), 0644); err != nil { logrus.Fatalf("Failed to write %s: %v", trailing, err) }