Skip to content

Commit 42f2e02

Browse files
kcp-ci-botxrstf
andauthored
fix configured CA not being used when running an external kcp virtual-workspaces server (#3977)
On-behalf-of: @SAP christoph.mewes@sap.com Co-authored-by: Christoph Mewes <christoph@kubermatic.com>
1 parent 8515c18 commit 42f2e02

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

pkg/server/controllers.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"errors"
2222
"fmt"
2323
"os"
24+
"strings"
2425
"time"
2526

2627
corev1 "k8s.io/api/core/v1"
@@ -966,7 +967,6 @@ func (s *Server) installAPIBinderController(ctx context.Context, config *rest.Co
966967
config.Host += initializingworkspacesbuilder.URLFor(tenancyv1alpha1.WorkspaceAPIBindingsInitializer)
967968

968969
if !s.Options.Virtual.Enabled && s.Options.Extra.ShardVirtualWorkspaceURL != "" {
969-
vwURL := fmt.Sprintf("https://%s", s.GenericConfig.ExternalAddress)
970970
if s.Options.Extra.ShardVirtualWorkspaceCAFile == "" {
971971
// TODO move verification up
972972
return fmt.Errorf("s.Options.Extra.ShardVirtualWorkspaceCAFile is required")
@@ -979,10 +979,17 @@ func (s *Server) installAPIBinderController(ctx context.Context, config *rest.Co
979979
// TODO move verification up
980980
return fmt.Errorf("s.Options.Extra.ShardClientKeyFile is required")
981981
}
982+
983+
config.TLSClientConfig.CAData = nil
984+
config.TLSClientConfig.CertData = nil
985+
config.TLSClientConfig.KeyData = nil
982986
config.TLSClientConfig.CAFile = s.Options.Extra.ShardVirtualWorkspaceCAFile
983987
config.TLSClientConfig.CertFile = s.Options.Extra.ShardClientCertFile
984988
config.TLSClientConfig.KeyFile = s.Options.Extra.ShardClientKeyFile
985-
config.Host = fmt.Sprintf("%v%v", vwURL, initializingworkspacesbuilder.URLFor(tenancyv1alpha1.WorkspaceAPIBindingsInitializer))
989+
config.TLSClientConfig.ServerName = ""
990+
991+
config.Host = strings.TrimSuffix(s.Options.Extra.ShardVirtualWorkspaceURL, "/")
992+
config.Host += initializingworkspacesbuilder.URLFor(tenancyv1alpha1.WorkspaceAPIBindingsInitializer)
986993
}
987994

988995
initializingWorkspacesKcpClusterClient, err := kcpclientset.NewForConfig(config)

0 commit comments

Comments
 (0)