-
Type: Investigation
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Adding new subcommands for collMod
Adding ability to migrate documents in libmongocrypt
Will need driver changes to support index build of QE
Description of Linked Ticket
Summary
Extend libmongocrypt to support the encrypted migration requirements of REP-3483
Motivation
Currently, users of FLE or QE have no automated way to convert their data between two encryption types or between two different schemas. The ability to change the encryption type or schema of an existing encrypted collection, and the ability to convert an unencrypted collection to encrypted, both require the simultaneous conversion and migration of data from a source collection onto a target collection. This capability will be implemented in mongosync through REP-3483. mongosync, in turn, shall depend on libmongocrypt to perform the heavy lifting of transforming documents by decrypting them (if applicable), and re-encrypting them in accordance to the target schema. In particular, libmongocrypt may need to be extended to support the following:
- a new state machine workflow for transforming documents from one schema to another.
- a way to check that the conversion from one schema type to another is possible & makes sense
- for QE migrations, a way to strip __safeContent__ tags from the source document.
Lastly, the Go driver (which mongosync uses) must be able to call into libmongocrypt for performing the migration workflow.
Documentation
Product Description
Scope Document
Technical Design Document
Docs Update
- duplicates
-
TOOLS-3073 Add support for FLE to mongo tools
- Development Complete