Skip to content

v0.1.2 — first public release

Choose a tag to compare

@rahulv8 rahulv8 released this 06 Sep 10:07
· 25 commits to main since this release
fda8e05

The first public release of rsync.ai — a self-hosted data platform for moving data
between databases, warehouses, object stores and APIs. You describe the job in a sentence,
an agent turns it into an explicit staged plan, it pauses to ask you when something is
ambiguous, and it runs on Temporal so a long sync survives a restart.

Source-available under the Elastic License 2.0:
run it, modify it, use it internally for free. You just cannot resell it as a hosted
service. There is no hosted offering — every install is yours.

Install

Docker — one command. Requires Docker. The installer prompts for an OpenAI API key,
generates every other secret, and starts the full stack on http://localhost:3000. If the
stack does not come up it says so and exits non-zero rather than printing a success banner
over a dead stack.

curl -sSL https://raw.githubusercontent.com/rsync-ai/rsync/v0.1.2/install.sh | RSYNC_REF=v0.1.2 bash

Both halves of that install come from this one tag: the compose file is fetched from
RSYNC_REF, and the image tag is derived from it, so the file and the containers it starts
are the same commit. The README one-liner tracks whichever release is current and resolves
to the same thing today.

Kubernetes. The chart is published to the registry, so no checkout is needed:

helm install rsync oci://ghcr.io/rsync-ai/charts/rsync-ai --version 0.1.2 \
  --namespace rsync --create-namespace \
  --set secrets.jwtSecret="$(openssl rand -base64 32)" \
  --set secrets.encryptionKey="$(openssl rand -base64 32)" \
  --set secrets.postgresPassword="$(openssl rand -hex 24)" \
  --set secrets.minioAccessKey="$(openssl rand -hex 16)" \
  --set secrets.minioSecretKey="$(openssl rand -base64 32)"

That is the evaluation footprint — in-chart Postgres, Redis, Kafka, MinIO and Temporal, one
replica each, no backups. The chart runs the same images as the compose stack and can point
at managed Postgres, Redis, Kafka and object storage instead.
Kubernetes guide

Save secrets.encryptionKey / ENCRYPTION_KEY before you store a credential. It
encrypts every stored connection. Reinstalling with a different key makes every saved
connection permanently undecryptable.

Try it without a credential of your own

The stack bundles a sample-data source and a throwaway demo-warehouse Postgres, so you
can build and run a real pipeline end to end on the first-run checklist.
Try it in 5 minutes

What ships

  • 21 connectors, each its own versioned container so you can pin or upgrade one without
    touching the rest. Every one is a source, 17 are also destinations, and five support
    change data capture — PostgreSQL, MySQL, SQL Server, Oracle and MongoDB.
  • Batch and CDC as peers. Batch loads for anything, plus Debezium-backed CDC on those
    five databases.
  • Human-in-the-loop gates. When the source is ambiguous — which tables, which schema,
    which key — the run pauses instead of guessing.
  • Durable execution. Stages run as Temporal workflows, so a multi-hour sync survives a
    restart, a redeploy or a crashed worker.
  • The Data Explorer. Ask in English and get SQL back, or write it yourself; keep the
    useful ones as saved queries with versions and diffs, or as models that rebuild on a cron,
    an interval, or after a given pipeline finishes.
  • Your keys. Credentials are encrypted at rest with a key you hold. Point the LLM at
    OpenAI or at a local Ollama.

What was verified for this release

Publish run 36 jobs, all success — 13 service images, 21 connector images, connector discovery, chart publish
Images the default compose starts 14 of 14 present at tag 0.1.2 and pullable anonymously from ghcr
Helm chart oci://ghcr.io/rsync-ai/charts/rsync-ai tag list is ["0.1.2"]
Installer and compose file at this tag both fetch HTTP 200; RSYNC_REF=v0.1.2 maps to image tag 0.1.2

Rough edges

  • Kubernetes on a managed cluster has not been run end to end. The chart is installed
    and exercised on kind, including the external-Postgres path. EKS, GKE and AKS against
    real RDS, MSK and S3 are reviewed starting points, not verified recipes — expect to
    iterate on IAM and networking.
  • Pin a tag rather than tracking main if you want reproducibility. On main the
    compose file changes with every commit while main images track the last publish, so the
    two halves move at different rates.
  • Read the changelog before upgrading. Bugs and gaps are tracked as
    GitHub issues — that list is the register.

Requirements

Docker 24+ and Compose v2, or Kubernetes 1.25+ with Helm 3.8+. 8 GB RAM minimum, 16 GB
recommended. An OpenAI API key, or a self-hosted Ollama instance.

Documentation

Quick start ·
Self-hosting ·
Kubernetes ·
Connector reference ·
Architecture ·
All docs