Introduce Flipper Cloud Adapter with Sync and Dual-Write#42
Open
Introduce Flipper Cloud Adapter with Sync and Dual-Write#42
Conversation
Add `@flippercloud/flipper-cloud` package providing seamless synchronization between local Flipper adapters and Flipper Cloud. Includes dual-write for fast local reads and cloud writes, plus a background poller to keep local cache up-to-date. - New Cloud adapter with DualWrite pattern and poller sync - `FlipperCloud` factory function supporting config options - Supports memory, Redis, or Sequelize for local cache - Read-only mode and manual sync methods - Compatible with Ruby Flipper Cloud adapter - Includes documentation, tests, CI, and configs Also fixes `MemoryAdapter.disable` to clear only relevant gate value instead of the entire feature, preventing unwanted data deletion when disabling boolean or number gates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
Previously, Flipper did not support seamless integration with Flipper Cloud for JavaScript users, forcing teams to rely on local adapters without the benefits of centralized management or cross-platform feature flag sync. Additionally,
MemoryAdapter.disablecleared an entire feature instead of only the relevant gate value, resulting in unintended data loss when disabling boolean or number gates.How?
@flippercloud/flipper-cloudpackage featuring Flipper Cloud adapter with dual-write (local + cloud) and background sync via poller.FlipperCloudfactory function supporting configuration for memory, Redis, or Sequelize local cache, with read-only and manual sync modes.MemoryAdapter.disableto clear only the specified gate value rather than the whole feature, preventing unwanted data deletion.Includes documentation, tests, CI configs, and compatibility with the Ruby Flipper Cloud adapter.