kompose up - Get namespace from kubeconfig

This commit is contained in:
Tomas Kral 2016-09-22 13:08:13 +02:00
parent fa46376dff
commit 16ca1aa136
No known key found for this signature in database
GPG Key ID: E690DA7E4F291FA6
2 changed files with 12 additions and 6 deletions

View File

@ -28,8 +28,9 @@ import (
client "k8s.io/kubernetes/pkg/client/unversioned"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
// install kubernetes api
// install OpenShift apis
_ "github.com/openshift/origin/pkg/deploy/api/install"
"github.com/skippbox/kompose/pkg/kobject"
"github.com/skippbox/kompose/pkg/loader"
"github.com/skippbox/kompose/pkg/loader/bundle"
@ -186,6 +187,10 @@ func Up(c *cli.Context) {
if err != nil {
logrus.Fatalf("Failed to access the Kubernetes cluster. Make sure you have a Kubernetes cluster running: %v", err)
}
namespace, _, err := factory.DefaultNamespace()
if err != nil {
logrus.Fatalf("Failed to get Namespace")
}
client := client.NewOrDie(clientConfig)
inputFile := c.GlobalString("file")
@ -226,7 +231,7 @@ func Up(c *cli.Context) {
objects := t.Transform(komposeObject, opt)
//Submit objects to K8s endpoint
kubernetes.CreateObjects(client, objects)
kubernetes.CreateObjects(client, namespace, objects)
}
// Down deletes all deployment, svc.

View File

@ -32,8 +32,9 @@ import (
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/intstr"
//"k8s.io/kubernetes/pkg/controller/daemon"
"k8s.io/kubernetes/pkg/kubectl"
"time"
"k8s.io/kubernetes/pkg/kubectl"
)
type Kubernetes struct {
@ -280,17 +281,17 @@ func UpdateController(obj runtime.Object, updateTemplate func(*api.PodTemplateSp
}
// Submit deployment and svc to k8s endpoint
func CreateObjects(client *client.Client, objects []runtime.Object) {
func CreateObjects(client *client.Client, namespace string, objects []runtime.Object) {
for _, v := range objects {
switch t := v.(type) {
case *extensions.Deployment:
_, err := client.Deployments(api.NamespaceDefault).Create(t)
_, err := client.Deployments(namespace).Create(t)
if err != nil {
logrus.Fatalf("Error: '%v' while creating deployment: %s", err, t.Name)
}
logrus.Infof("Successfully created deployment: %s", t.Name)
case *api.Service:
_, err := client.Services(api.NamespaceDefault).Create(t)
_, err := client.Services(namespace).Create(t)
if err != nil {
logrus.Fatalf("Error: '%v' while creating service: %s", err, t.Name)
}