diff --git a/command/server.go b/command/server.go index 83b2928abe..45b3041a20 100644 --- a/command/server.go +++ b/command/server.go @@ -3404,6 +3404,9 @@ func (c *ServerCommand) reloadSeals(ctx context.Context, grabStateLock bool, cor currentConfig := core.GetCoreConfigInternal() + // we need to persist seal information if multiseal is being enabled + addEnableMultiseal := !currentConfig.IsMultisealEnabled() && newConfig.IsMultisealEnabled() + if core.SealAccess().BarrierSealConfigType() == vault.SealConfigTypeShamir { switch { case len(newConfig.Seals) == 0: @@ -3425,7 +3428,7 @@ func (c *ServerCommand) reloadSeals(ctx context.Context, grabStateLock bool, cor } } - if cmp.Equal(currentConfig.Seals, newConfig.Seals) { + if cmp.Equal(currentConfig.Seals, newConfig.Seals) && !addEnableMultiseal { return false, nil }