podex: fix build and reject conflicting options

This commit is contained in:
Johan Euphrosine 2014-10-02 10:46:18 -07:00
parent e5b3e41ef9
commit 4102e0d78d

View File

@ -35,9 +35,9 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta1"
dockerclient "github.com/fsouza/go-dockerclient" dockerclient "github.com/fsouza/go-dockerclient"
"gopkg.in/yaml.v1" "gopkg.in/v1/yaml"
) )
const usage = "usage: podex [-json|-yaml] <repo/dockerimage>" const usage = "usage: podex [-json|-yaml] <repo/dockerimage>"
@ -57,7 +57,7 @@ func main() {
log.Fatal(usage) log.Fatal(usage)
} }
if !*generateJSON && !*generateYAML { if (!*generateJSON && !*generateYAML) || (*generateJSON && *generateYAML) {
log.Fatal(usage) log.Fatal(usage)
} }
@ -74,15 +74,15 @@ func main() {
if err != nil { if err != nil {
log.Fatalf("failed to inspect image %q: %v", imageName, err) log.Fatalf("failed to inspect image %q: %v", imageName, err)
} }
manifest := api.ContainerManifest{ manifest := v1beta1.ContainerManifest{
Version: "v1beta1", Version: "v1beta1",
ID: baseName + "-pod", ID: baseName + "-pod",
Containers: []api.Container{{ Containers: []v1beta1.Container{{
Name: baseName, Name: baseName,
Image: imageName, Image: imageName,
}}, }},
RestartPolicy: api.RestartPolicy{ RestartPolicy: v1beta1.RestartPolicy{
Always: &api.RestartPolicyAlways{}, Always: &v1beta1.RestartPolicyAlways{},
}, },
} }
for p, _ := range img.Config.ExposedPorts { for p, _ := range img.Config.ExposedPorts {
@ -90,10 +90,10 @@ func main() {
if err != nil { if err != nil {
log.Fatalf("failed to parse port %q: %v", parts[0], err) log.Fatalf("failed to parse port %q: %v", parts[0], err)
} }
manifest.Containers[0].Ports = append(manifest.Containers[0].Ports, api.Port{ manifest.Containers[0].Ports = append(manifest.Containers[0].Ports, v1beta1.Port{
Name: strings.Join([]string{baseName, p.Proto(), p.Port()}, "-"), Name: strings.Join([]string{baseName, p.Proto(), p.Port()}, "-"),
ContainerPort: port, ContainerPort: port,
Protocol: api.Protocol(strings.ToUpper(p.Proto())), Protocol: strings.ToUpper(p.Proto()),
}) })
} }
if *generateJSON { if *generateJSON {