|
|
@ -29,6 +29,10 @@ import (
|
|
|
|
"k8s.io/helm/pkg/kube"
|
|
|
|
"k8s.io/helm/pkg/kube"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
|
|
|
tillerPodLabels labels.Set = labels.Set{"app": "helm", "name": "tiller"}
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// New creates a new and initialized tunnel.
|
|
|
|
// New creates a new and initialized tunnel.
|
|
|
|
func New(namespace string, client kubernetes.Interface, config *rest.Config) (*kube.Tunnel, error) {
|
|
|
|
func New(namespace string, client kubernetes.Interface, config *rest.Config) (*kube.Tunnel, error) {
|
|
|
|
podName, err := getTillerPodName(client.CoreV1(), namespace)
|
|
|
|
podName, err := getTillerPodName(client.CoreV1(), namespace)
|
|
|
@ -41,8 +45,7 @@ func New(namespace string, client kubernetes.Interface, config *rest.Config) (*k
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func getTillerPodName(client corev1.PodsGetter, namespace string) (string, error) {
|
|
|
|
func getTillerPodName(client corev1.PodsGetter, namespace string) (string, error) {
|
|
|
|
// TODO use a const for labels
|
|
|
|
selector := tillerPodLabels.AsSelector()
|
|
|
|
selector := labels.Set{"app": "helm", "name": "tiller"}.AsSelector()
|
|
|
|
|
|
|
|
pod, err := getFirstRunningPod(client, namespace, selector)
|
|
|
|
pod, err := getFirstRunningPod(client, namespace, selector)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
return "", err
|
|
|
|