From e0c8f6d23d6a1cdd5bde325c84137d7409e6ef15 Mon Sep 17 00:00:00 2001 From: Hang Yan Date: Thu, 26 Dec 2019 19:30:03 +0800 Subject: [PATCH] Add flag to support store manifest when kompose up (#1208) --- cmd/up.go | 3 +++ pkg/kobject/kobject.go | 1 + pkg/transformer/kubernetes/kubernetes.go | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/cmd/up.go b/cmd/up.go index 34d3e1c5..9f1b5f00 100644 --- a/cmd/up.go +++ b/cmd/up.go @@ -29,6 +29,7 @@ import ( var ( UpReplicas int UpEmptyVols bool + StoreManifest bool UpVolumes string UpInsecureRepo bool UpNamespace string @@ -56,6 +57,7 @@ var upCmd = &cobra.Command{ UpOpt = kobject.ConvertOptions{ Build: UpBuild, PushImage: UpPushImage, + StoreManifest: StoreManifest, Replicas: UpReplicas, InputFiles: GlobalFiles, Provider: GlobalProvider, @@ -86,6 +88,7 @@ func init() { upCmd.Flags().StringVar(&UpBuildRepo, "build-repo", "", "Specify source repository for buildconfig (default remote origin)") upCmd.Flags().StringVar(&UpBuildBranch, "build-branch", "", "Specify repository branch to use for buildconfig (default master)") upCmd.Flags().BoolVar(&UpPushImage, "push-image", true, "If we should push the docker image we built") + upCmd.Flags().BoolVar(&StoreManifest, "store-manifest", false, "Store the generated manifest (default false)") upCmd.Flags().StringVar(&UpController, "controller", "", `Set the output controller ("deployment"|"daemonSet"|"replicationController")`) upCmd.Flags().MarkHidden("insecure-repository") upCmd.Flags().MarkHidden("build-repo") diff --git a/pkg/kobject/kobject.go b/pkg/kobject/kobject.go index 74805cd8..9e08b3cf 100644 --- a/pkg/kobject/kobject.go +++ b/pkg/kobject/kobject.go @@ -47,6 +47,7 @@ type ConvertOptions struct { CreateChart bool GenerateYaml bool GenerateJSON bool + StoreManifest bool EmptyVols bool Volumes string InsecureRepository bool diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index d4287902..72ac4983 100755 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -1210,6 +1210,13 @@ func (k *Kubernetes) Deploy(komposeObject kobject.KomposeObject, opt kobject.Con return errors.Wrap(err, "k.Transform failed") } + if opt.StoreManifest { + log.Info("Store manifest to disk") + if err := PrintList(objects, opt); err != nil { + return errors.Wrap(err, "Store manifest failed") + } + } + pvcStr := " " if !opt.EmptyVols || opt.Volumes != "emptyDir" { pvcStr = " and PersistentVolumeClaims "