diff --git a/cluster/iam.go b/cluster/iam.go index 03b044e7..0b303cb2 100644 --- a/cluster/iam.go +++ b/cluster/iam.go @@ -35,6 +35,9 @@ func (c *cluster) IAM(superuser iamidentity.User, jwtRealm, jwtSecret string) (i return nil, fmt.Errorf("cluster iam: %w", err) } + iam.ReloadIndentities() + iam.ReloadPolicies() + return iam, nil } diff --git a/cluster/store/store.go b/cluster/store/store.go index 7122f0ed..977f569d 100644 --- a/cluster/store/store.go +++ b/cluster/store/store.go @@ -491,6 +491,17 @@ func (s *store) Snapshot() (raft.FSMSnapshot, error) { func (s *store) Restore(snapshot io.ReadCloser) error { s.logger.Debug().Log("Snapshot restore") + defer func() { + s.logger.Info().Log("Snapshot restored") + + s.lock.RLock() + if s.callback != nil { + s.callback(OpAddIdentity) + s.callback(OpSetPolicies) + } + s.lock.RUnlock() + }() + defer snapshot.Close() s.lock.Lock()