Docs
Sources
Source-system definitions: connection servers, schema abbreviations, access policies, and custom properties.
Source
type: Source
A connection to a source system: which plugin reads it, how it authenticates, and the contract describing its schema.
Example
name: crm
plugin: postgres
secretRef: infisical/crm-creds # vault reference for credentials
server: # non-secret connection routing
type: postgres
host: db.acme.io
port: 5432
database: crm
contract: contracts/crm.odcs.yaml| Property | Type | Required | Description |
|---|---|---|---|
abbreviation | string | No | Abbreviation is the short identifier for this source in the data platform naming convention, used as the first segment of the generated schema prefix. Mandatory for multi-schema imports. Lowercase alphanumeric, 2-10 characters. |
Abbreviation is the short identifier for this source in the data platform naming convention, used as the first segment of the generated schema prefix. Mandatory for multi-schema imports. Lowercase alphanumeric, 2-10 characters. | |||
contract | string | No | Contract is the path to (or name of) the data contract describing this source’s schema. Optional when objects are selected via glob instead of an explicit contract file. |
Contract is the path to (or name of) the data contract describing this source’s schema. Optional when objects are selected via glob instead of an explicit contract file. | |||
driftPolicy | Policy | No | DriftPolicy overrides the project-level schema-drift policy for this source. |
DriftPolicy overrides the project-level schema-drift policy for this source. | |||
name | string | Yes | Name identifies this source within the project. Must be unique among sources and is referenced by Job.Source. |
Name identifies this source within the project. Must be unique among sources and is referenced by Job.Source. | |||
plugin | string | Yes | Plugin is the name of the source plugin used to connect (e.g. “postgres”, “mysql”). Must match a plugin configured in Plugins.Source. |
Plugin is the name of the source plugin used to connect (e.g. “postgres”, “mysql”). Must match a plugin configured in Plugins.Source. | |||
schemas | SchemaAbbrev [] | No | Schemas maps source schema names to their data platform abbreviations. Populated for multi-schema imports; empty for single-schema sources. |
Schemas maps source schema names to their data platform abbreviations. Populated for multi-schema imports; empty for single-schema sources. | |||
secretRef | string | No | SecretRef is the vault reference path for this source’s connection credentials. |
SecretRef is the vault reference path for this source’s connection credentials. | |||
server | Server | No | Server describes the connection details for this source, taking precedence over any server defined in the associated contract. Optional for secretRef-only sources or sources that rely solely on the contract’s server. |
Server describes the connection details for this source, taking precedence over any server defined in the associated contract. Optional for secretRef-only sources or sources that rely solely on the contract’s server. | |||
Server
type: Server
Data source details of where data is physically stored.
| Property | Type | Required | Description |
|---|---|---|---|
account | string | No | Account used by the server. |
Account used by the server. | |||
catalog | string | No | Name of the catalog. |
Name of the catalog. | |||
customProperties | CustomProperty [] | No | A list of key/value pairs for custom properties. |
A list of key/value pairs for custom properties. | |||
database | string | No | Name of the database. |
Name of the database. | |||
dataset | string | No | Name of the dataset. |
Name of the dataset. | |||
delimiter | string | No | Delimiter. |
Delimiter. | |||
description | string | No | Description of the server. |
Description of the server. | |||
endpointUrl | string | No | Server endpoint. |
Server endpoint. | |||
environment | string | No | Environment of the server. |
Environment of the server. | |||
format | string | No | File format. |
File format. | |||
host | string | No | Host name or IP address. |
Host name or IP address. | |||
location | string | No | A URL to a location. |
A URL to a location. | |||
path | string | No | Relative or absolute path to the data file(s). |
Relative or absolute path to the data file(s). | |||
port | integer | No | Port to the server. No default value is assumed for custom servers. |
Port to the server. No default value is assumed for custom servers. | |||
project | string | No | Project name. |
Project name. | |||
region | string | No | Cloud region. |
Cloud region. | |||
regionName | string | No | Region name. |
Region name. | |||
roles | Role [] | No | List of roles that have access to the server. |
List of roles that have access to the server. | |||
schema | string | No | Name of the schema. |
Name of the schema. | |||
server | string | No | Identifier of the server. |
Identifier of the server. | |||
serviceName | string | No | Name of the service. |
Name of the service. | |||
stagingDir | string | No | Staging directory. |
Staging directory. | |||
stream | string | No | Name of the data stream. |
Name of the data stream. | |||
type | string | Yes | Type of the server. |
Type of the server. | |||
warehouse | string | No | Name of the cluster or warehouse. |
Name of the cluster or warehouse. | |||
Role
type: Role
Role is an IAM role that grants access to the dataset, together with the approvers who can grant it.
| Property | Type | Required | Description |
|---|---|---|---|
access | string | No | The type of access provided by the IAM role. |
The type of access provided by the IAM role. | |||
description | string | No | Description of the IAM role and its permissions. |
Description of the IAM role and its permissions. | |||
firstLevelApprovers | string | No | The name(s) of the first-level approver(s) of the role. |
The name(s) of the first-level approver(s) of the role. | |||
role | string | Yes | Name of the IAM role that provides access to the dataset. |
Name of the IAM role that provides access to the dataset. | |||
secondLevelApprovers | string | No | The name(s) of the second-level approver(s) of the role. |
The name(s) of the second-level approver(s) of the role. | |||
Schema Abbreviation
type: SchemaAbbrev
Maps a source schema name to its data platform abbreviation.
| Property | Type | Required | Description |
|---|---|---|---|
abbreviation | string | Yes | Abbreviation is the short identifier substituted for Name in generated schema/table names. |
Abbreviation is the short identifier substituted for Name in generated schema/table names. | |||
name | string | Yes | Name is the schema name as it exists in the source system. |
Name is the schema name as it exists in the source system. | |||
Custom Property
type: CustomProperty
A list of key/value pairs for custom properties.
| Property | Type | Required | Description |
|---|---|---|---|
property | string | No | The name of the key. Names should be in camel case–the same as if they were permanent properties in the contract. |
The name of the key. Names should be in camel case–the same as if they were permanent properties in the contract. | |||
value | No | The value of the key. | |
The value of the key. | |||
Last updated on November 1, 2026