Skip to content

FAQ

Synclet is a lightweight, self-hosted control plane for connectors that implement the Airbyte Protocol. Key differences from the Airbyte platform:

  • Single binary — Synclet is one Go binary. No Java, no multi-container orchestration.
  • Airbyte Protocol connectors — Synclet runs connector images that implement the Airbyte Protocol; the pairs tested, with versions, are listed under Tested with.
  • Simpler operations — One container (or binary) plus PostgreSQL. No Temporal, no MinIO, no separate scheduler service.
  • Fewer enterprise features — Synclet focuses on reliable data movement. It does not include a connector builder, dbt integration, or multi-tenant SaaS features.

If you need a simple, fast data sync tool that works with Airbyte connectors, Synclet is a good fit. If you need the full Airbyte platform ecosystem, use Airbyte.

Yes, unless syncs run on Kubernetes. Every connector, including Synclet’s own Go connectors from synclet-io/connectors, is a Docker image, and Synclet launches a container for each connector run. Docker must be available on the host. On Kubernetes no Docker daemon is needed: each sync runs as a Kubernetes Job whose pod holds the connector containers.

Yes. Any Docker image that implements the Airbyte connector protocol will work. You can:

  • Point Synclet at a custom Docker registry.
  • Reference any image by its full name (e.g., my-registry.example.com/my-connector:v1.0).
  • Build your own connectors using the Airbyte CDK or any language, as long as the image speaks the protocol.

Synclet is MIT; connector images keep their own licenses. Most Airbyte connectors are under ELv2 since 2025-07-22 and 51 remain MIT. See Connector licenses.

All connector credentials (database passwords, API keys, OAuth tokens) are encrypted at rest using AES-256-GCM with an HKDF-derived data key. The master key is provided via the SECRET_ENCRYPTION_KEY environment variable. Without this key, stored credentials cannot be decrypted.

See Environment Variables for how to generate a secure key.

Synclet itself does not terminate TLS. To encrypt traffic between users and Synclet, place a reverse proxy (Nginx, Caddy) or load balancer in front of it with a TLS certificate, or enable TLS on the Kubernetes Ingress.

Data between Synclet and your sources/destinations travels over whatever connection the connector establishes. Most database and API connectors support SSL/TLS natively through their configuration options.

  • Disable registration — Set AUTH_REGISTRATION_ENABLED=false after creating your initial accounts.
  • OIDC single sign-on — Configure one or more OIDC providers (Google, Okta, Azure AD) so users authenticate through your identity provider. See Environment Variables.
  • Role-based access — Synclet supports workspace-level roles to control who can create, edit, or run pipelines.

It depends on your deployment mode and resources:

  • Standalone mode — One Synclet instance can run multiple syncs concurrently, limited by host CPU and memory. A 2 CPU / 4 GB host comfortably handles 5-10 concurrent syncs.
  • Distributed mode (Kubernetes) — Each sync runs as a separate Kubernetes Job. The cluster scheduler handles placement and resource allocation. This scales to hundreds of concurrent syncs.

In standalone mode, run only one instance to avoid duplicate scheduling.

In distributed mode on Kubernetes, the API server is stateless and can be scaled horizontally. The scheduler and orchestrator run as single replicas with leader election. See Kubernetes deployment.

Synclet uses checkpoint-based resumption. During a sync, the connector periodically emits state checkpoints. If a sync is interrupted (crash, timeout, restart), the next run resumes from the last checkpoint.

This means:

  • No duplicate data in the destination (for connectors that support deduplication).
  • Minimal re-processing after failures.
  • Safe to restart Synclet at any time.

Which Airbyte connector versions are supported?

Section titled “Which Airbyte connector versions are supported?”

Synclet supports connectors that implement Airbyte Protocol v1. The connectors and versions tested, and the known issues, are listed under Tested with.

Connector versions are pinned per source/destination in your configuration. Synclet does not auto-upgrade connector images. To update a connector, change the image tag in the source or destination settings.

Which databases can Synclet use as its backend?

Section titled “Which databases can Synclet use as its backend?”

PostgreSQL 16 or later is the only supported backend database. Synclet uses PostgreSQL-specific features (enum types, JSONB, advisory locks) that are not available in other databases.

Airbyte is a trademark of Airbyte, Inc. Synclet is not affiliated with, endorsed by or sponsored by Airbyte, Inc. Connector images keep their own licenses: see Connector licenses.