diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-06-11 18:48:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-11 18:48:25 +0200 |
commit | 130f6cba8c3cf78948c80930fa81f476cd32cc3b (patch) | |
tree | 86626a7fe6cdf95be885a083eb45db1be859c02c /cmd/podman/generate_kube.go | |
parent | c93b8d6b02c7ec0c91af34481133001421b9628d (diff) | |
parent | f909b745ec82d6c010e27218bda9524bb1724060 (diff) | |
download | podman-130f6cba8c3cf78948c80930fa81f476cd32cc3b.tar.gz podman-130f6cba8c3cf78948c80930fa81f476cd32cc3b.tar.bz2 podman-130f6cba8c3cf78948c80930fa81f476cd32cc3b.zip |
Merge pull request #3293 from mheon/add_test_for_play_kube
Add a test for 'podman play kube' to prevent regression
Diffstat (limited to 'cmd/podman/generate_kube.go')
-rw-r--r-- | cmd/podman/generate_kube.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/cmd/podman/generate_kube.go b/cmd/podman/generate_kube.go index 318dd0771..3969e3132 100644 --- a/cmd/podman/generate_kube.go +++ b/cmd/podman/generate_kube.go @@ -2,6 +2,9 @@ package main import ( "fmt" + "io/ioutil" + "os" + "github.com/containers/libpod/cmd/podman/cliconfig" "github.com/containers/libpod/pkg/adapter" podmanVersion "github.com/containers/libpod/version" @@ -37,6 +40,7 @@ func init() { containerKubeCommand.SetUsageTemplate(UsageTemplate()) flags := containerKubeCommand.Flags() flags.BoolVarP(&containerKubeCommand.Service, "service", "s", false, "Generate YAML for kubernetes service object") + flags.StringVarP(&containerKubeCommand.Filename, "filename", "f", "", "Filename to output to") } func generateKubeYAMLCmd(c *cliconfig.GenerateKubeValues) error { @@ -88,8 +92,19 @@ func generateKubeYAMLCmd(c *cliconfig.GenerateKubeValues) error { output = append(output, []byte("---\n")...) output = append(output, marshalledService...) } - // Output the v1.Pod with the v1.Container - fmt.Println(string(output)) + + if c.Filename != "" { + if _, err := os.Stat(c.Filename); err == nil { + return errors.Errorf("cannot write to %q - file exists", c.Filename) + } + + if err := ioutil.WriteFile(c.Filename, output, 0644); err != nil { + return err + } + } else { + // Output the v1.Pod with the v1.Container + fmt.Println(string(output)) + } return nil } |