• Type: Icon: Epic Epic
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 2.4.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Done
    • Rust FLE Support
    • 17
    • 21
    • 22
    • Hide

      Engineer: Abraham Egnor
      Summary: Add Field Level Encryption capability into Rust driver, specifically:
      CSFLE 1.0, Azure and GCP and AWS as KMS providers, KMIP as generic KMS for those with custom key management requirements, CSFLE 2.0

      2022-12-09:

      • Status update:
        • Last two tickets are in review.
      • Rationale for delays:
        • Needed additional time to wrap up reviews.
      •  Risks:
        • No Risks.

      2022-11-23:

      • Status update:
        • All code merged, working on wrapping up smaller project tasks.
      • Rationale for delays:
        • No Delays.
      •  Risks:
        • No Risks.

      2022-11-11:

      • Status update:
        • All prose tests are now in review.
        • Working on spec tests.
      • Rationale for delays:
        • Investigations into openssl debugging and iteration on API
      •  Risks:
        • No Risks.

      2022-10-28:

      • Status update:
        • All prose tests are now in review.
        • Working on spec tests next.
      • Rationale for delays:
        • No delays.
      •  Risks:
        • No Risks.

      2022-10-14:

      • Status update:
        • Still working on prose test implementation.
        • Spec tests next.
      • Rationale for delays:
        • We need the project due to complexity of prose tests and tickets that have been added to the project.
      •  Risks:
        • No Risks.

      2022-09-29:

      • Status update:
        • Working on prose test implementation.
      • Rationale for delays:
        • No delays.
      •  Risks:
        • We may need to extend the project due to complexity of prose tests and tickets had been added to the project.

      2022-09-16:

      • Status update:
        • Working on prose test implementation.
        • Will be on hold next week due to buildfest.
      • Rationale for delays:
        • No delays.
      •  Risks:
        • No risks.

      2022-09-02:

      • Status update:
        • Abraham was on PTO for one week and then focused on spec work.  Will resume next week.
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-08-19:

      • Status update:
        • Auto encryption merged
        • Explicit encryption in review
        • Remaining work is testing and miscellaneous catch-up on tickets filed during implementation.
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

       

      2022-08-05:

      • Status update:
        • Client initialization merged
        • Working on auto encryption
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-07-22:

      • Status update:
        • Working on implementation and client initialization 
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-07-08:

      • Status update:
        • Testing and Integration plan are complete.
        • Started on implementation and client initialization 
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-06-24:

      • Status update:
        • Wrappers and Infrastructure config complete.
        • Testing and Integration plan are up next. 
        • End Date and Cost Estimate pending Integration plan.
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-06-10:

      • Status update:
        • Rust bindings for libmongocrypt are done and merged
        • Nearing completion of safe idiomatic Rust wrapper of libmongocrypt atop bindings. We expect review on this to take a while as it will need close review due to the amount of unsafe code to interop with C. After that, driver integration.
      • Rationale for delays:
        • No delays.
      • Risks:
        • No risks.

      2022-05-12:

      • Status update:
        Abraham is working on the rust bindings for FLE, this is a prerequisite for the Rust FLE design/implementation. Estimates and ETA TBD.
      • Rationale for delays:
        No delays.
      • Risks:
        No risks.

      2022-05-12: Abraham kicked off the RUST Design for the project. Estimates and ETA TBD.


      Show
      Engineer: Abraham Egnor Summary: Add Field Level Encryption capability into Rust driver, specifically: CSFLE 1.0, Azure and GCP and AWS as KMS providers, KMIP as generic KMS for those with custom key management requirements, CSFLE 2.0 2022-12-09: Status update: Last two tickets are in review. Rationale for delays: Needed additional time to wrap up reviews.  Risks: No Risks. 2022-11-23: Status update: All code merged, working on wrapping up smaller project tasks. Rationale for delays: No Delays.  Risks: No Risks. 2022-11-11: Status update: All prose tests are now in review. Working on spec tests. Rationale for delays: Investigations into openssl debugging and iteration on API  Risks: No Risks. 2022-10-28: Status update: All prose tests are now in review. Working on spec tests next. Rationale for delays: No delays.  Risks: No Risks. 2022-10-14: Status update: Still working on prose test implementation. Spec tests next. Rationale for delays: We need the project due to complexity of prose tests and tickets that have been added to the project.  Risks: No Risks. 2022-09-29: Status update: Working on prose test implementation. Rationale for delays: No delays.  Risks: We may need to extend the project due to complexity of prose tests and tickets had been added to the project. 2022-09-16: Status update: Working on prose test implementation. Will be on hold next week due to buildfest. Rationale for delays: No delays.  Risks: No risks. 2022-09-02: Status update: Abraham was on PTO for one week and then focused on spec work.  Will resume next week. Rationale for delays: No delays. Risks: No risks. 2022-08-19: Status update: Auto encryption merged Explicit encryption in review Remaining work is testing and miscellaneous catch-up on tickets filed during implementation. Rationale for delays: No delays. Risks: No risks.   2022-08-05: Status update: Client initialization merged Working on auto encryption Rationale for delays: No delays. Risks: No risks. 2022-07-22: Status update: Working on implementation and client initialization  Rationale for delays: No delays. Risks: No risks. 2022-07-08: Status update: Testing and Integration plan are complete. Started on implementation and client initialization  Rationale for delays: No delays. Risks: No risks. 2022-06-24: Status update: Wrappers and Infrastructure config complete. Testing and Integration plan are up next.  End Date and Cost Estimate pending Integration plan. Rationale for delays: No delays. Risks: No risks. 2022-06-10: Status update: Rust bindings for libmongocrypt are done and merged Nearing completion of safe idiomatic Rust wrapper of libmongocrypt atop bindings. We expect review on this to take a while as it will need close review due to the amount of unsafe code to interop with C. After that, driver integration. Rationale for delays: No delays. Risks: No risks. 2022-05-12: Status update: Abraham is working on the rust bindings for FLE, this is a prerequisite for the Rust FLE design/implementation. Estimates and ETA TBD. Rationale for delays: No delays. Risks: No risks. 2022-05-12: Abraham kicked off the RUST Design for the project. Estimates and ETA TBD.

      Epic Summary

      Summary

      • Add Field Level Encryption capability into Rust driver, specifically:
        CSFLE 1.0
      • Azure and GCP and AWS as KMS providers
      • KMIP as generic KMS for those with custom key management requirements
      • CSFLE 2.0

      Motivation
      We are expanding our field level encryption capabilities substantially in MongoDB 6.0, and the Rust driver needs to be caught up with our new, comprehensive suite of offerings.

      Cast of Characters

      Engineering Lead:
      Document Author:
      POCers:
      Product Owner: Rachelle Palmer
      Program Manager:
      Stakeholders:

      Documentation

      [Scope Document|some.url]
      [Technical Design Document|some.url]

            Assignee:
            abraham.egnor@mongodb.com Abraham Egnor
            Reporter:
            kaitlin.mahar@mongodb.com Kaitlin Mahar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              32 weeks, 1 day