Over the past few months, we've had the opportunity to speak with and work closely with engineering teams implementing authorization in their applications with Warrant. A common topic that came up in these conversations was the level of integration between Warrant and our customers' applications.
For example, implementing multi-tenancy with Warrant requires our customers to call the Warrant API each time a tenant or a user is created in their application and whenever a user is added to or removed from a tenant. This is done in order to keep the access rules in Warrant up-to-date as data changes in the customer's application.
We received feedback from teams that adding this logic to their applications can be somewhat redundant and lead to tighter coupling (particularly on the write path) with Warrant. We listened, and in an effort to reduce the friction of initial and ongoing integration with Warrant, we're excited to launch Warrant Sync!
What is it?
Warrant Sync is a service that monitors your database for changes and automatically creates, updates, and deletes warrants based on your preset object type configurations. Sync is powered by the Sync Agent, a small daemon that runs in your infrastructure alongside your database, listens to its changelog, and automatically creates, updates, and deletes warrants.
Sync automatically handles many of the common Warrant integration points (creating users, tenants, etc.) and removes the need for application-level API integration. For example, you can configure Sync to listen to changes to your user and tenant data and automatically create/update/delete the appropriate warrants. This removes the need to call SDK methods like
createTenant(), etc. in your application code. You can read more about Sync here.
Who is it for?
Sync is an optional add-on for teams looking to reduce the boiler-plate of integrating with Warrant, particularly for common use-cases like multi-tenancy (users and tenants). It's also particularly useful for teams running microservices architectures with multiple data stores making up the overall data model, where Warrant can act as the source-of-truth for authorization.
How can I use it?
Sync is currently in beta and supports a subset of operations with MySQL databases. If you'd like to try it out, log-in or sign-up for Warrant and follow our Warrant Sync Quickstart Guide to get started. Join us on Slack if you have any questions or need help getting set up.
We'll be adding support for more operations and datastores over time, so ping us if there's something you'd like us to support.
That's it for now, but we have a summer of exciting news and launches planned, so stay tuned!