Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions internal/smdclient/SMDclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ type SMDClient struct {
tokenEndpoint string
accessToken string
accessTokenMutex sync.Mutex
refreshLock sync.Mutex
nodes map[string]NodeMapping
components map[string]base.Component
nodesMutex *sync.RWMutex
Expand Down Expand Up @@ -164,7 +165,6 @@ func (s *SMDClient) StopCacheRefresh() {
s.stopOnce.Do(func() {
close(s.stopCacheRefresh)
})
close(s.stopCacheRefresh)
}

// ClusterName returns the name of the cluster
Expand Down Expand Up @@ -299,7 +299,7 @@ func (s *SMDClient) PopulateNodes() {
}

var componentArray base.ComponentArray
if err := s.getSMD("/hsm/v2/State/Components", &componentArray); err != nil {
if err := s.getSMD("/hsm/v2/State/Components?type=Node", &componentArray); err != nil {
log.Error().Err(err).Msg("Failed to get SMD component data")
return
}
Expand Down
2 changes: 1 addition & 1 deletion internal/smdclient/SMDclient_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func TestPopulateNodes(t *testing.T) {
defer requestsMutex.Unlock()
require.Equal(t, []string{
"/hsm/v2/Inventory/EthernetInterfaces/",
"/hsm/v2/State/Components",
"/hsm/v2/State/Components?type=Node",
"/hsm/v2/memberships?type=node",
}, requests)
for _, request := range requests {
Expand Down
10 changes: 10 additions & 0 deletions pkg/wgtunnel/tunnels.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,16 @@ func (m *InterfaceManager) IpForPeer(peerName string, publicKey string) string {
return m.peers[peerName].IP.IP.String()
}

func (m *InterfaceManager) GetPublicKey(peerName string) (string, bool) {
m.peersMutex.RLock()
defer m.peersMutex.RUnlock()
peer, ok := m.peers[peerName]
if !ok {
return "", false
}
return peer.PublicKey, true
}

func (m *InterfaceManager) RemovePeer(peerName string) error {
m.peersMutex.RLock()
peer, found := m.peers[peerName]
Expand Down
Loading