v0.1.2 — first public release
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 bashBoth 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 onkind, 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
mainif you want reproducibility. Onmainthe
compose file changes with every commit whilemainimages 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