Skip to content

Commit 8eed3c8

Browse files
author
Vasyl Rudiuk
committed
added back proxyOpts
In some cases we might need to handle proxy setting for the custom gitClient. Signed-off-by: Vasyl Rudiuk <[email protected]>
1 parent fcb8662 commit 8eed3c8

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

internal/controller/auth_certificate.go

+13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"crypto/tls"
66
"net/http"
7+
"net/url"
78

89
"github.com/go-git/go-git/v5/plumbing/transport"
910
httptransport "github.com/go-git/go-git/v5/plumbing/transport/http"
@@ -18,13 +19,25 @@ func HttpTransportwithCustomCerts(tlsConfig *tls.Config, proxyStr *transport.Pro
1819
log := ctrl.LoggerFrom(ctx)
1920
// var message string
2021

22+
var (
23+
proxyUrl *url.URL
24+
err error
25+
)
26+
if proxyStr != nil {
27+
proxyUrl, err = url.Parse(proxyStr.URL)
28+
if err != nil {
29+
log.Info("failed to parse proxy url: %w", err)
30+
}
31+
}
32+
2133
if tlsConfig == nil || len(tlsConfig.Certificates) == 0 {
2234
log.Info("tlsConfig cannot be nil")
2335
return nil, nil
2436
}
2537

2638
return httptransport.NewClient(&http.Client{
2739
Transport: &http.Transport{
40+
Proxy: http.ProxyURL(proxyUrl),
2841
TLSClientConfig: tlsConfig,
2942
},
3043
}), nil

internal/controller/gitrepository_controller.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ func (r *GitRepositoryReconciler) SetupWithManager(mgr ctrl.Manager) error {
155155
type GitClientConfigurer interface {
156156
ConfigureGitClient(ctx context.Context, obj *sourcev1.GitRepository)
157157
IsValid() bool
158-
backupHttpsTransport()
159158
}
160159

161160
type GitClientHttpConfigurer struct {
@@ -184,9 +183,6 @@ func (r *GitRepositoryReconciler) isCertificateDataValid(sslCertificateData map[
184183
return len(certBytes) > 0 && len(keyBytes) > 0
185184
}
186185

187-
func (h *GitClientHttpConfigurer) backupHttpsTransport() {
188-
h.DefaultTransport = gitclient.Protocols["https"]
189-
}
190186

191187
func (h *GitClientHttpConfigurer) ConfigureGitClient(ctx context.Context, obj *sourcev1.GitRepository) {
192188

@@ -201,7 +197,7 @@ func (h *GitClientHttpConfigurer) ConfigureGitClient(ctx context.Context, obj *s
201197
fmt.Println("Error generating TLS config:", err)
202198
return
203199
}
204-
h.backupHttpsTransport()
200+
205201

206202
transportHttp, err := HttpTransportwithCustomCerts(tlsConfig, h.ProxyOpts, ctx)
207203
if err != nil {

0 commit comments

Comments
 (0)