Skip to content

Commit d91f786

Browse files
authored
support proxy (karmada-io#307)
Signed-off-by: liufen90 <[email protected]>
1 parent 6a25882 commit d91f786

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

pkg/karmadactl/join.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,15 @@ func RunJoin(cmdOut io.Writer, karmadaConfig KarmadaConfig, opts CommandJoinOpti
266266
clusterObj.Spec.InsecureSkipTLSVerification = true
267267
}
268268

269+
if clusterConfig.Proxy != nil {
270+
url, err := clusterConfig.Proxy(nil)
271+
if err != nil {
272+
klog.Errorf("clusterConfig.Proxy error, %v", err)
273+
return err
274+
}
275+
clusterObj.Spec.ProxyURL = url.String()
276+
}
277+
269278
cluster, err := CreateClusterObject(controlPlaneKarmadaClient, clusterObj, false)
270279
if err != nil {
271280
klog.Errorf("failed to create cluster object. cluster name: %s, error: %v", opts.ClusterName, err)

pkg/util/membercluster_client.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ package util
33
import (
44
"context"
55
"fmt"
6+
"net/http"
7+
"net/url"
68

79
v1 "k8s.io/api/core/v1"
810
"k8s.io/apimachinery/pkg/types"
911
"k8s.io/client-go/dynamic"
1012
kubeclientset "k8s.io/client-go/kubernetes"
1113
"k8s.io/client-go/rest"
1214
"k8s.io/client-go/tools/clientcmd"
15+
"k8s.io/klog/v2"
1316
controllerruntime "sigs.k8s.io/controller-runtime"
1417
"sigs.k8s.io/controller-runtime/pkg/client"
1518

@@ -131,5 +134,14 @@ func buildClusterConfig(cluster *v1alpha1.Cluster, client client.Client) (*rest.
131134
clusterConfig.CAData = secret.Data[cADataKey]
132135
}
133136

137+
if cluster.Spec.ProxyURL != "" {
138+
proxy, err := url.Parse(cluster.Spec.ProxyURL)
139+
if err != nil {
140+
klog.Errorf("parse proxy error. %v", err)
141+
return nil, err
142+
}
143+
clusterConfig.Proxy = http.ProxyURL(proxy)
144+
}
145+
134146
return clusterConfig, nil
135147
}

0 commit comments

Comments
 (0)