From 96c373d0459a2bb32e9a98bc6f07376203427ce1 Mon Sep 17 00:00:00 2001 From: Hidde Beydals Date: Mon, 22 Mar 2021 21:22:50 +0100 Subject: [PATCH] Properly configure sync URL based on auth settings Signed-off-by: Hidde Beydals --- cmd/flux/bootstrap_git.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/cmd/flux/bootstrap_git.go b/cmd/flux/bootstrap_git.go index cd01bc08..0774d1d9 100644 --- a/cmd/flux/bootstrap_git.go +++ b/cmd/flux/bootstrap_git.go @@ -156,15 +156,26 @@ func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error { if bootstrapArgs.caFile != "" { secretOpts.CAFilePath = bootstrapArgs.caFile } + + // Configure repository URL to match auth config for sync. + repositoryURL.User = nil + repositoryURL.Scheme = "https" + repositoryURL.Host = repositoryURL.Hostname() } else { secretOpts.PrivateKeyAlgorithm = sourcesecret.PrivateKeyAlgorithm(bootstrapArgs.keyAlgorithm) secretOpts.RSAKeyBits = int(bootstrapArgs.keyRSABits) secretOpts.ECDSACurve = bootstrapArgs.keyECDSACurve.Curve - secretOpts.SSHHostname = repositoryURL.Host + // Configure repository URL to match auth config for sync. + repositoryURL.User = url.User(gitArgs.username) + repositoryURL.Scheme = "ssh" + repositoryURL.Host = repositoryURL.Hostname() if bootstrapArgs.sshHostname != "" { - secretOpts.SSHHostname = bootstrapArgs.sshHostname + repositoryURL.Host = bootstrapArgs.sshHostname } + + // Configure last as it depends on the config above. + secretOpts.SSHHostname = repositoryURL.Host } // Sync manifest config @@ -172,7 +183,7 @@ func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error { Interval: gitArgs.interval, Name: rootArgs.namespace, Namespace: rootArgs.namespace, - URL: gitArgs.url, + URL: repositoryURL.String(), Branch: bootstrapArgs.branch, Secret: bootstrapArgs.secretName, TargetPath: gitArgs.path.String(),