From 704bc47225ac5453d7253700a8ab9f5ac3aafc28 Mon Sep 17 00:00:00 2001 From: Matthew Fisher Date: Fri, 20 Jan 2017 16:01:15 -0700 Subject: [PATCH] move newTillerPortForwarder to pkg/helm/portforwarder --- cmd/helm/helm.go | 10 +++++++++- .../helm/portforwarder/portforwarder.go | 14 ++++---------- .../helm/portforwarder/portforwarder_test.go | 2 +- 3 files changed, 14 insertions(+), 12 deletions(-) rename cmd/helm/tunnel.go => pkg/helm/portforwarder/portforwarder.go (88%) rename cmd/helm/tunnel_test.go => pkg/helm/portforwarder/portforwarder_test.go (98%) diff --git a/cmd/helm/helm.go b/cmd/helm/helm.go index 352a8340a..35dd5dc00 100644 --- a/cmd/helm/helm.go +++ b/cmd/helm/helm.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/helm/cmd/helm/helmpath" + "k8s.io/helm/pkg/helm/portforwarder" "k8s.io/helm/pkg/kube" "k8s.io/helm/pkg/tiller/environment" ) @@ -49,6 +50,8 @@ var ( tillerHost string tillerNamespace string kubeContext string + // TODO refactor out this global var + tillerTunnel *kube.Tunnel ) // flagDebug is a signal that the user wants additional output. @@ -154,7 +157,12 @@ func markDeprecated(cmd *cobra.Command, notice string) *cobra.Command { func setupConnection(c *cobra.Command, args []string) error { if tillerHost == "" { - tunnel, err := newTillerPortForwarder(tillerNamespace, kubeContext) + config, client, err := getKubeClient(kubeContext) + if err != nil { + return err + } + + tunnel, err := portforwarder.New(tillerNamespace, client, config) if err != nil { return err } diff --git a/cmd/helm/tunnel.go b/pkg/helm/portforwarder/portforwarder.go similarity index 88% rename from cmd/helm/tunnel.go rename to pkg/helm/portforwarder/portforwarder.go index 67dad1007..7d145e353 100644 --- a/cmd/helm/tunnel.go +++ b/pkg/helm/portforwarder/portforwarder.go @@ -14,27 +14,21 @@ See the License for the specific language governing permissions and limitations under the License. */ -package main +package portforwarder import ( "fmt" "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" + "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/labels" "k8s.io/helm/pkg/kube" ) -// TODO refactor out this global var -var tillerTunnel *kube.Tunnel - -func newTillerPortForwarder(namespace, context string) (*kube.Tunnel, error) { - config, client, err := getKubeClient(context) - if err != nil { - return nil, err - } - +func New(namespace string, client *internalclientset.Clientset, config *restclient.Config) (*kube.Tunnel, error) { podName, err := getTillerPodName(client.Core(), namespace) if err != nil { return nil, err diff --git a/cmd/helm/tunnel_test.go b/pkg/helm/portforwarder/portforwarder_test.go similarity index 98% rename from cmd/helm/tunnel_test.go rename to pkg/helm/portforwarder/portforwarder_test.go index e7e862b51..04dc9cb7d 100644 --- a/cmd/helm/tunnel_test.go +++ b/pkg/helm/portforwarder/portforwarder_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package main +package portforwarder import ( "testing"