Skip to content

Connect a data source

OpenDome ingests structured sources through Singer taps (Meltano). The OSS distribution ships standard taps; premium ERP connectors are an Enterprise add-on. For unstructured sources (documents, mail, drives) see Ingest documents.

In the standalone profile these connector routes are served by the cell’s own tenant-mgmt-api — operational control, not an OSL data surface. Keep it private behind your own authenticated administrative gateway; in OpenDome-operated deployments the central control plane fronts the same model.

Built-in taps Apache-2.0

Section titled “Built-in taps ”
  • tap-postgres
  • tap-mysql
  • tap-salesforce
  • Custom taps — any Singer-spec tap works.

Enterprise Premium connectors (SAP, Workday, banking ERP) ship in the commercial tier.

  1. Provide credentials. Credentials split across a Secret (sensitive) and a ConfigMap (non-sensitive):

    PUT /v1/tenants/{t}/connectors/{c}/credentials
  2. Select streams. Choose which tables/objects to replicate:

    PUT /v1/tenants/{t}/connectors/{c}/streams
  3. Set the replication method per stream (full table, key-based incremental, log-based CDC):

    PUT /v1/tenants/{t}/connectors/{c}/replication
  4. Launch a sync:

    POST /v1/tenants/{t}/connectors/{c}/runs

The tap writes Parquet to the tenant bucket (s3://<bucket>/landing/<connector_id>/…), the ingest Job lands it into Iceberg (iceberg.raw.*), and dbt curates it into iceberg.curated.* — ready to be modeled in OSL. Curated data is consumed only through POST /osl/query; no consumer reads Trino directly. Orchestration runs in-cell on Dagster — sync, ingest, dbt and identity-resolution runs chain automatically, with no control-plane callbacks in standalone mode.

CDC-based replication needs the right privileges and configuration on the source (e.g. logical replication on Postgres). Check your source’s requirements before selecting a log-based method — the repository’s docs/source-database-setup.md covers Postgres, MySQL, SQL Server and Oracle, and docs/connectors.md is the full catalog + credential-key convention (note: the Postgres credentials key is user, not username).

The repository ships a seeded test Postgres (the fictional Segura insurance dataset) you can sync end-to-end: bash scripts/postgres-test-setup.sh deploys it into a test-services namespace standing in for a customer system. See docs/segura-demo.md.