Work around custom client domain issue
With this commit comes a lot of evil. Signed-off-by: Hidde Beydals <hello@hidde.co>
This commit is contained in:
@@ -22,6 +22,7 @@ import (
|
|||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/go-git/go-git/v5/plumbing/transport/http"
|
"github.com/go-git/go-git/v5/plumbing/transport/http"
|
||||||
@@ -144,6 +145,12 @@ func bootstrapGitLabCmdRun(cmd *cobra.Command, args []string) error {
|
|||||||
Hostname: gitlabArgs.hostname,
|
Hostname: gitlabArgs.hostname,
|
||||||
Token: glToken,
|
Token: glToken,
|
||||||
}
|
}
|
||||||
|
// Workaround for: https://github.com/fluxcd/go-git-providers/issues/55
|
||||||
|
if hostname := providerCfg.Hostname; hostname != glDefaultDomain &&
|
||||||
|
!strings.HasPrefix(hostname, "https://") &&
|
||||||
|
!strings.HasPrefix(hostname, "http://") {
|
||||||
|
providerCfg.Hostname = "https://" + providerCfg.Hostname
|
||||||
|
}
|
||||||
providerClient, err := provider.BuildGitProvider(providerCfg)
|
providerClient, err := provider.BuildGitProvider(providerCfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -210,6 +210,10 @@ func (b *GitProviderBootstrapper) ReconcileRepository(ctx context.Context) error
|
|||||||
}
|
}
|
||||||
|
|
||||||
cloneURL := repo.Repository().GetCloneURL(gitprovider.TransportType(b.bootstrapTransportType))
|
cloneURL := repo.Repository().GetCloneURL(gitprovider.TransportType(b.bootstrapTransportType))
|
||||||
|
// TODO(hidde): https://github.com/fluxcd/go-git-providers/issues/55
|
||||||
|
if strings.HasPrefix(cloneURL, "https://https://") {
|
||||||
|
cloneURL = strings.TrimPrefix(cloneURL, "https://")
|
||||||
|
}
|
||||||
WithRepositoryURL(cloneURL).applyGit(b.PlainGitBootstrapper)
|
WithRepositoryURL(cloneURL).applyGit(b.PlainGitBootstrapper)
|
||||||
|
|
||||||
return err
|
return err
|
||||||
@@ -380,6 +384,10 @@ func (b *GitProviderBootstrapper) getRepository(ctx context.Context) (gitprovide
|
|||||||
// the hostname of the URL will be modified to this hostname.
|
// the hostname of the URL will be modified to this hostname.
|
||||||
func (b *GitProviderBootstrapper) getCloneURL(repository gitprovider.UserRepository, transport gitprovider.TransportType) (string, error) {
|
func (b *GitProviderBootstrapper) getCloneURL(repository gitprovider.UserRepository, transport gitprovider.TransportType) (string, error) {
|
||||||
u := repository.Repository().GetCloneURL(transport)
|
u := repository.Repository().GetCloneURL(transport)
|
||||||
|
// TODO(hidde): https://github.com/fluxcd/go-git-providers/issues/55
|
||||||
|
if strings.HasPrefix(u, "https://https://") {
|
||||||
|
u = strings.TrimPrefix(u, "https://")
|
||||||
|
}
|
||||||
var err error
|
var err error
|
||||||
if transport == gitprovider.TransportTypeSSH && b.sshHostname != "" {
|
if transport == gitprovider.TransportTypeSSH && b.sshHostname != "" {
|
||||||
if u, err = setHostname(u, b.sshHostname); err != nil {
|
if u, err = setHostname(u, b.sshHostname); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user