Official registry of JSON configuration schemas for all Debezium connectors (MySQL, PostgreSQL, MongoDB, Oracle, SQL Server, etc.), transformations (SMTs), and sink connectors. Organized by release version with automated snapshot builds. Powers documentation, tooling, validation, and OCI artifacts.
The repository is organized by Debezium release versions, with each version directory containing configuration descriptors for all components:
debezium-descriptors-registry/
├── 3.4.0-Final/
│ ├── manifest.json # Version metadata and component index
│ ├── source-connector/ # Source connector descriptors
│ │ ├── io.debezium.connector.mysql.MySqlConnector.json
│ │ ├── io.debezium.connector.postgresql.PostgresConnector.json
│ │ └── ...
│ ├── sink-connector/ # Sink connector descriptors
│ │ ├── io.debezium.connector.jdbc.JdbcSinkConnector.json
│ │ └── ...
│ └── transformation/ # SMT (Single Message Transform) descriptors
│ ├── io.debezium.transforms.ExtractNewRecordState.json
│ └── ...
├── 3.4.1-Alpha1/
│ └── ... (same structure)
├── 3.4.1-Beta1/
│ └── ... (same structure)
└── .github/
├── workflows/ # GitHub Actions workflows
└── actions/ # Reusable custom actions
Each version directory contains a manifest.json file with:
- Schema version: Format version of the manifest
- Build metadata: Timestamp, source repository, source commit, source branch
- Component index: Lists all connectors and transformations with their descriptors
Example structure:
{
"schemaVersion": "1.0",
"build": {
"timestamp": "2026-01-05T13:08:59Z",
"sourceRepository": "debezium/debezium",
"sourceCommit": "758efa135",
"sourceBranch": "dbz#1544"
},
"components": {
"source-connector": [...],
"sink-connector": [...],
"transformation": [...]
}
}- Contains published (non-snapshot) versions (e.g.,
3.4.0-Final,3.4.1-Beta1) - New version directories are added when Debezium releases are published
- Each push triggers OCI artifact publication with version-specific tags
- Contains development/snapshot versions (e.g.,
3.5.0-SNAPSHOT) - Automatically updated with latest development builds
- Publishes nightly OCI artifacts for testing and early access
Trigger: Push to main branch
Process:
- Detects new or changed version directories by analyzing git diff
- Extracts metadata from the version's
manifest.json - Creates OCI artifact bundle (excludes
.gitand.github) - Pushes artifact to
quay.io/debezium/debezium-descriptorswith:- Version-specific tag (e.g.,
:3.4.0-Final) :latesttag (always points to most recent release)
- Version-specific tag (e.g.,
Trigger: Push to snapshot branch
Process:
- Finds the snapshot version's
manifest.json - Extracts metadata from manifest
- Creates OCI artifact bundle
- Pushes artifact to
quay.io/debezium/debezium-descriptors:nightly
The workflows use reusable composite actions located in .github/actions/:
extract-manifest-metadata: Parsesmanifest.jsonto extract version, source repository, commit hash, and timestampssetup-oras: Installs and configures ORAS CLI for OCI artifact operationslogin-registry: Authenticates to container registry (Quay.io)push-oci-artifact: Pushes OCI artifacts with standardized metadata annotations
Configuration descriptors are distributed as OCI artifacts for easy consumption by tooling and automation.
- Registry:
quay.io - Repository:
debezium/debezium-descriptors - Artifact Type:
application/vnd.debezium.descriptors.v1+json
Using ORAS CLI:
# Pull latest release
oras pull quay.io/debezium/debezium-descriptors:latest
# Pull specific version
oras pull quay.io/debezium/debezium-descriptors:3.5.0-Final
# Pull nightly snapshot
oras pull quay.io/debezium/debezium-descriptors:nightlyEach artifact includes comprehensive annotations:
- Standard OCI annotations:
org.opencontainers.image.*(created, version, revision, source, documentation) - Debezium-specific annotations:
io.debezium.*(source repository, source commit, build timestamp)
Inspect artifact metadata:
oras manifest fetch quay.io/debezium/debezium-descriptors:latest- Pull the OCI artifact for your target version
- Parse
manifest.jsonto discover available components - Load individual descriptor files for validation or code generation
- Version directories serve as the source of truth for configuration options
- Descriptors power auto-generated documentation on debezium.io
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.