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