Skip to content

Commit bf93966

Browse files
committed
Return an error if a provider is already registered with a prefix
1 parent a592ba0 commit bf93966

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

providers/multi/provider.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ func (p *Provider) splitClusterName(clusterName string) (string, string) {
9696
func (p *Provider) AddProvider(ctx context.Context, prefix string, provider multicluster.Provider, startFunc func(context.Context, mctrl.Manager) error) error {
9797
ctx, cancel := context.WithCancel(ctx)
9898

99+
p.providerLock.Lock()
100+
_, ok := p.providers[prefix]
101+
p.providerLock.Unlock()
102+
if ok {
103+
return fmt.Errorf("provider already exists for prefix %q", prefix)
104+
}
105+
99106
var wrappedMgr mctrl.Manager
100107
if p.mgr == nil {
101108
p.log.Info("manager is nil, wrapped manager passed to start will be nil as well", "prefix", prefix)

0 commit comments

Comments
 (0)