github.com/argoproj/argo-cd/v3@v3.2.1/applicationset/services/util.go (about)

     1  package services
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  
     7  	bitbucketv1 "github.com/gfleury/go-bitbucket-v1"
     8  
     9  	"github.com/argoproj/argo-cd/v3/applicationset/utils"
    10  )
    11  
    12  // SetupBitbucketClient configures and creates a Bitbucket API client with TLS settings
    13  func SetupBitbucketClient(ctx context.Context, config *bitbucketv1.Configuration, scmRootCAPath string, insecure bool, caCerts []byte) *bitbucketv1.APIClient {
    14  	config.BasePath = utils.NormalizeBitbucketBasePath(config.BasePath)
    15  	tlsConfig := utils.GetTlsConfig(scmRootCAPath, insecure, caCerts)
    16  
    17  	transport := http.DefaultTransport.(*http.Transport).Clone()
    18  	transport.TLSClientConfig = tlsConfig
    19  	config.HTTPClient = &http.Client{Transport: transport}
    20  
    21  	return bitbucketv1.NewAPIClient(ctx, config)
    22  }