Welcome to Gable! We’re excited to partner with you as you use data contracts to ensure your most critical data assets don’t break.

Core Concepts

Gable’s Data Contract platform centers around three core components:
Data Assets: an existing table, kafka topic, Protobuf file, etc that you want to put under contract. Data assets have a defined schema, and a unique resource name that includes the information necessary to locate the asset.
Data Contracts: a document specifying the schema and semantics you expect data in a data asset to adhere to, following Gable’s Data Contract specification.
Monitoring & Enforcement Mechanisms: where the rubber meets the road - Gable’s enforcement and monitoring mechanisms use the contracts you’ve authored to either prevent bad data from being produced when possible, or alert you early on to upstream contract violations.
Flowchart of Gable's PlatformOverview of the Gable Platform Workflow

Accessing Gable

Your first data contract

  1. Select the Data Asset
    Before you write your first contract, you need to get the resource name of the data asset you want the contract to cover. For example: if you want to add a contract to a production MySQL database, you first need the full resource name of the table registered in Gable.
    Can’t find your Data Asset? Check out Registering Data Assets
  2. Publish the Contract
    Using Gable’s Data Contract specification, write a contract setting the dataAssetResourceName attribute to the value you got from the above step. Open a PR in your company’s central data contract git repository to have it reviewed by others! Publishing the contract is as simple as merging your PR into company’s central data contract git repository
    Don’t have automated contract publishing hooked up in CI/CD? Check out Publishing with the CLI, or better yet configure contract publishing with our provided Github Actions.
  3. Enforce the Contract
    Once your contract is merged, it needs to be enforced for it to have any effect. If you’re using a different CI/CD platform, you can use the Python CLI or the API directly.