mirror-bitbucket-server: use TLS by default

Change-Id: I0c3eb10b0a328597582548ace3055952ad62cb9e
diff --git a/cmd/zoekt-indexserver/config.go b/cmd/zoekt-indexserver/config.go
index 849572b..d213774 100644
--- a/cmd/zoekt-indexserver/config.go
+++ b/cmd/zoekt-indexserver/config.go
@@ -38,6 +38,7 @@
 	GitilesURL             string
 	CGitURL                string
 	BitBucketServerURL     string
+	DisableTLS             bool
 	CredentialPath         string
 	ProjectType            string
 	Name                   string
@@ -208,6 +209,9 @@
 			if c.BitBucketServerProject != "" {
 				cmd.Args = append(cmd.Args, "-project", c.BitBucketServerProject)
 			}
+			if c.DisableTLS {
+				cmd.Args = append(cmd.Args, "-disable-tls")
+			}
 			if c.ProjectType != "" {
 				cmd.Args = append(cmd.Args, "-type", c.ProjectType)
 			}
diff --git a/cmd/zoekt-mirror-bitbucket-server/main.go b/cmd/zoekt-mirror-bitbucket-server/main.go
index 19270ec..17e57ce 100644
--- a/cmd/zoekt-mirror-bitbucket-server/main.go
+++ b/cmd/zoekt-mirror-bitbucket-server/main.go
@@ -37,6 +37,7 @@
 func main() {
 	dest := flag.String("dest", "", "destination directory")
 	serverUrl := flag.String("url", "", "BitBucket Server url")
+	disableTLS := flag.Bool("disable-tls", false, "disables TLS verification")
 	credentialsFile := flag.String("credentials", ".bitbucket-credentials", "file holding BitBucket Server credentials")
 	project := flag.String("project", "", "project to mirror")
 	deleteRepos := flag.Bool("delete", false, "delete missing repos")
@@ -86,16 +87,6 @@
 	ctx = context.WithValue(ctx, bitbucketv1.ContextBasicAuth, basicAuth)
 	defer cancel()
 
-	tr := &http.Transport{
-		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
-	}
-	httpClient := &http.Client{
-		Transport: tr,
-	}
-	httpClientConfig := func(configs *bitbucketv1.Configuration) {
-		configs.HTTPClient = httpClient
-	}
-
 	apiPath, err := url.Parse("/rest")
 	if err != nil {
 		log.Fatal(err)
@@ -103,10 +94,22 @@
 
 	apiBaseURL := rootURL.ResolveReference(apiPath).String()
 
-	client := bitbucketv1.NewAPIClient(
-		ctx,
-		bitbucketv1.NewConfiguration(apiBaseURL, httpClientConfig),
-	)
+	var config *bitbucketv1.Configuration
+	if *disableTLS {
+		tr := &http.Transport{
+			TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
+		}
+		httpClient := &http.Client{
+			Transport: tr,
+		}
+		httpClientConfig := func(configs *bitbucketv1.Configuration) {
+			configs.HTTPClient = httpClient
+		}
+		config = bitbucketv1.NewConfiguration(apiBaseURL, httpClientConfig)
+	} else {
+		config = bitbucketv1.NewConfiguration(apiBaseURL)
+	}
+	client := bitbucketv1.NewAPIClient(ctx, config)
 
 	var repos []bitbucketv1.Repository