diff --git a/pkg/apis/psmdb/v1/psmdb_defaults.go b/pkg/apis/psmdb/v1/psmdb_defaults.go index 4e41f089c..a24fe7a65 100644 --- a/pkg/apis/psmdb/v1/psmdb_defaults.go +++ b/pkg/apis/psmdb/v1/psmdb_defaults.go @@ -727,6 +727,16 @@ func (rs *ReplsetSpec) SetDefaults(platform version.Platform, cr *PerconaServerM } } + if rs.Storage != nil && rs.Storage.Engine == StorageEngineInMemory { + encryptionEnabled, err := rs.Configuration.IsEncryptionEnabled() + if err != nil { + return errors.Wrap(err, "failed to parse replset configuration") + } + if encryptionEnabled != nil && *encryptionEnabled { + return errors.New("inMemory storage engine doesn't support encryption") + } + } + return nil } diff --git a/pkg/psmdb/statefulset.go b/pkg/psmdb/statefulset.go index c4aab9968..dfdbe6bc9 100644 --- a/pkg/psmdb/statefulset.go +++ b/pkg/psmdb/statefulset.go @@ -584,7 +584,11 @@ func isEncryptionEnabled(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec) if err != nil { return false, errors.Wrap(err, "failed to parse replset configuration") } + if enabled == nil { + if replset.Storage.Engine == api.StorageEngineInMemory { + return false, nil // disabled for inMemory engine by default + } return true, nil // true by default } return *enabled, nil