Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _data/authors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ mfvitale:

indrashukla:
name: "Indra Raj Shukla"
bio: "Indra is a Senior software developer at Red Hat. He has extensive experiance in UI development. He lives in Bangalore, India."
bio: "Indra is a Senior software developer at Red Hat. He has extensive experience in UI development. He lives in Bangalore, India."
github: indraraj
linkedin: indra-shukla
avatar: indra.jpg
Expand Down
122 changes: 122 additions & 0 deletions _posts/2026-01-22-Debezium-platform-connection.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
layout: post
title: "Introducing reusable Connections in the Debezium Platform"
date: 2026-01-22
tags: [ UI, debezium-platform, integration, debezium operator, debezium, debezium-server ]
author: indrashukla
---

Since introducing the Debezium Management Platform (Debezium Platform), our goal has been to simplify how you build and manage CDC data pipelines—so you can focus on how your data flows, rather than repeatedly configuring the same infrastructure details.

Earlier, connection-related properties (such as hostnames, ports, credentials, or authentication details) were defined directly as part of the Source or Destination configuration.
While this worked, it often led to duplication, harder maintenance of the same connection details across multiple instances.

To address this, we are introducing **Connections** as a first-class entity in the Debezium Platform.

Connections allow you to define, validate, and reuse connection details independently, and then reference them from any number of Sources and Destinations.

== What are Connections?

A *Connection* represents the configuration required to connect to an external system, such as a source database or a sink endpoint.

Instead of embedding these details inside each Source or Destination:

* You create a Connection once
* Validate it independently
* Reuse it across multiple Sources and Destinations

This makes pipelines easier to manage, safer to modify, and faster to set up.

== Why introduce Connections?

Separating connection details from Source and Destination configurations provides several benefits:

**Reusability**::
A single Connection can be reused across multiple Sources or Destinations.

**Centralized management**::
Update credentials or connection parameters in one place without editing every pipeline.

**Early validation**::
Validate a Connection before it is ever used by a Source or Destination.

**Cleaner configurations**::
Source and Destination definitions focus only on CDC and data flow logic, not infrastructure details.

== Creating a Connection

You can create a Connection directly from the catalog or during the resource creation flow.

When creating a Connection, you define the connection-specific properties required to communicate with the external system (for example, database host, port, authentication details, or sink endpoint configuration).

Once defined, the Connection can be validated independently to ensure it is correctly configured and reachable.

[.centered-image.responsive-image]
++++
<!-- Screenshot placeholder: Connection creation form -->
++++

=== Validating a Connection

A key part of the new Connection workflow is connection validation.

After creating a Connection, you can explicitly validate it to verify that:

* The configuration is complete
* The platform can successfully connect to the target system
* Authentication and network settings are correct

This helps catch issues early—before a Source or Destination is created or a pipeline is executed.

[.centered-image.responsive-image]
++++
<!-- Screenshot placeholder: Connection validation result -->
++++

== Using Connections in Sources and Destinations

Once a Connection is created and validated, it becomes available for selection when creating Sources and Destinations.

Instead of entering connection properties again, you simply reference an existing Connection.
The Source or Destination then uses that Connection at runtime.

[.centered-image.responsive-image]
====
++++
<img src="/assets/images/2026-01-22-Debezium-platform-connection/connection-selector.gif" style="max-width:100%;" class="responsive-image" alt="Connection selector showing how to select or create a connection when configuring a Source">
++++
====

This allows the same Connection to be shared across:

* Multiple Sources or Destination
* Multiple pipelines

== Updating existing workflows

If you are already familiar with creating Sources and Destinations in the Debezium Platform, the overall workflow remains the same.

The key difference is that connection-related properties are no longer embedded directly in the resource configuration.
Instead, they are managed through reusable Connections, keeping configurations modular and easier to evolve over time.

== Demo: Connections in action

The following video demonstrates how to:

* Create and validate a Connection
* Reuse the Connection across multiple Sources and Destinations
* Build a pipeline using shared Connections

++++
<div class="responsive-video">
<!-- Video placeholder -->
</div>
++++

== More coming soon!

Connections are a foundational step toward making the Debezium Platform more modular, maintainable, and scalable.

We'll continue to build on this with further improvements and new features in upcoming releases.

As always, feel free to leave a comment below or get in touch with us on the https://groups.google.com/forum/#!forum/debezium[mailing list] or in our https://debezium.zulipchat.com/login/#narrow/stream/302529-users[Zulip chat].
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.