Hi All,


We've just landed a pretty major refactoring of the way database backends work in fxa-auth-server. Big :thumbsup: to Chilts and Danny for seeing this work through to completion!

I'm sending this email mainly as a heads-up - ideally you will not notice anything different unless you're working with (or deploying!) FxA core auth backend code.

But if things on the dev environment seem a little unstable over the next few days, some unexpected side-effect of this change is a pretty likely suspect...

If you're interested, see below for a summary of the new code layout.


  Cheers,

    Ryan


=========

As of this merge we have the following repos involved in storing account data:


  fxa-auth-server:  The core web app for the FxA auth api, this handles
                    all client interaction logic and talks to a generic
                    internal HTTP service for data storage.

  fxa-auth-db-server:  This speaks the HTTP API for data storage, and
                       translates requests into calls to a generic
                       object API.  Think of it as a "base class" for
                       auth-db implementations.

  fxa-auth-db-mem:  This imports fxa-auth-db-server and provides a
                    simple in-memory data store, for testing purposes.

  fxa-auth-db-mysql:  This is our production backend.  It imports
                      fxa-auth-db-server and provides a MySQL-backed
                      data storage layer.

This factoring will help us to avoid deploying test-related code to production. It may also be useful for self-hosters who want to work atop a different backend, as there's no need for them to deploy the mysql-specific stuff we use internally.

On the downside, if you're adding a new feature to the storage layer (e.g. the "account lockout" feature that Shane is working on) you now have to co-ordinate across three different repos. This as been quite manageable in practice so far.
_______________________________________________
Dev-fxacct mailing list
[email protected]
https://mail.mozilla.org/listinfo/dev-fxacct

Reply via email to