summaryrefslogtreecommitdiff
path: root/cmd/podman/generate_kube.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-06-11 18:48:25 +0200
committerGitHub <noreply@github.com>2019-06-11 18:48:25 +0200
commit130f6cba8c3cf78948c80930fa81f476cd32cc3b (patch)
tree86626a7fe6cdf95be885a083eb45db1be859c02c /cmd/podman/generate_kube.go
parentc93b8d6b02c7ec0c91af34481133001421b9628d (diff)
parentf909b745ec82d6c010e27218bda9524bb1724060 (diff)
downloadpodman-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.go19
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
}