Skip to content

Sync

v0.4.0

Pull data between PhoenixKit sites over token-based connections

Install Sync

Peer-to-peer data sync between PhoenixKit instances, such as dev and prod or two separate websites. A sender connection lets a remote site pull chosen tables, with tokens, table allow/deny lists, limits, IP whitelists and expiry; one-time transfers use 8-character codes. Every transfer is recorded with history and an audit trail.

Use it when

  • You want to copy production data into a dev or staging site
  • Two of your sites need to share tables under controlled access

What it gives you

  • Permanent token-based connections with automatic cross-site registration
  • Incoming policies: auto accept, require approval, require password, deny all
  • Ephemeral code-based one-time transfers
  • Allowed/excluded tables, download and record limits, IP whitelist, time windows
  • Conflict strategies skip, overwrite, merge, append; Oban background import
  • Transfer history and activity audit; admin under /admin/sync

Example

From the README
config :phoenix_kit_sync,
  allow_internal_urls: false,
  excluded_tables: ["my_app_api_clients"]

Sync news

Nothing posted about Sync yet. Read its changelog or see all PhoenixKit news.

Install

1 Add to mix.exs

deps
{:phoenix_kit_sync, "~> 0.4"}

2 Fetch it and run its migrations

Terminal
$ mix deps.get && mix phoenix_kit.update

3 Switch it on in /admin/modules

Releases
  1. 0.4.0
  2. 0.3.0
  3. 0.2.5
Admin
/admin/sync

Related modules

What it needs, what builds on it, and its neighbours in Platform & tools.