FabricFabricAirlift
Source systems

Kafka to Databricks

Govern Kafka, Confluent Cloud, and Amazon MSK stream inventory, checkpoint bootstrap, parallel run, validation, and cutover.

Kafka to Databricks

fa source inspect kafka
fa source plan kafka --variant apache_kafka
fa source plan kafka --variant confluent_cloud --json
fa source plan kafka --variant amazon_msk --json

A streaming migration is a continuity problem, not a table copy. Airlift inventories topics, partitions, schemas and compatibility rules, consumer groups, Kafka Connect, retention, ACLs, producers, and downstream consumers.

Streaming lifecycle

  1. Record the accepted topic, schema, consumer, retention, and access inventory.
  2. Define target streaming tables, checkpoints, evolution, dead-letter handling, replay, and rollback policy.
  3. Start Structured Streaming or Lakeflow from a recorded offset boundary and run in parallel or dual-publish where supported.
  4. Admit evidence for offset continuity, event loss and duplicates, key ordering, schema compatibility, lag, throughput, and business aggregates.
  5. Freeze the producer/consumer wave, collect authenticated approvals, switch through a certified effector, and verify or roll back.
  6. Modernize Kafka Streams state, connectors, and serving products separately.

Custom serializers, exactly-once assumptions, Kafka Streams state, custom connectors, and cross-topic transactions remain explicit residue. Credentials stay in scoped connection objects. The pack is cataloged.

Complete developer command sequence

Generate this exact recipe from the installed CLI so the guide and executable surface stay in sync:

fa source recipe kafka
fa source recipe kafka --variant apache_kafka --json > .airlift/kafka-recipe.json

The App is engagement-aware. Apache Kafka appears under Active sources only after the source estate is added to an active engagement. The menu is derived from governed engagement scope; installing Airlift does not expose unrelated source pages.

Every remote mutation below requires --host, --org, authenticated workspace identity, and a stable --idempotency-key. JSON request files contain identifiers, artifact references, and opaque credential references—never passwords, tokens, or connection strings. Run fa <resource> <operation> --help for the current schema and exit semantics.

0. Inspect the source contract

fa source inspect kafka --json > .airlift/kafka-profile.json
fa source plan kafka --variant apache_kafka --json > .airlift/kafka-capability-plan.json

Expected artifacts:

  • .airlift/kafka-profile.json
  • .airlift/kafka-capability-plan.json

Open Engagements → active engagement in the App. This stage is visible at /engagements after replacing the placeholder ID with the governed engagement ID.

1. Create governed scope and connection references

fa engagement create --file engagement.json --idempotency-key migration-create-v1
fa estate register --file kafka-estate.json --idempotency-key kafka-estate-v1
fa connection register --file kafka-connection.json --idempotency-key kafka-connection-v1
fa engagement update --file kafka-scope.json --idempotency-key kafka-scope-v1
fa engagement preflight <engagement-id>

Expected artifacts:

  • Governed engagement
  • Source estate
  • Opaque connection binding

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id> after replacing the placeholder ID with the governed engagement ID.

2. Assess and accept inventory

fa assessment start --file kafka-assessment-start.json --idempotency-key kafka-assessment-start-v1
fa assessment status <assessment-id> --json
fa assessment record --file kafka-assessment-record.json --idempotency-key kafka-assessment-record-v1
fa assessment accept --file kafka-assessment-accept.json --idempotency-key kafka-assessment-accept-v1
fa inventory list --estate-id <estate-id> --json

Expected artifacts:

  • Assessment report reference
  • Normalized inventory
  • Dependency graph

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/sources/kafka after replacing the placeholder ID with the governed engagement ID.

3. Implement the admitted source adapter

No source-specific executable compiler exists in this release. Continue with assessment, governed work, and an admitted adapter; Airlift does not invent executable output.

Expected artifacts:

  • Capability plan and adapter requirements only

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/artifacts after replacing the placeholder ID with the governed engagement ID.

This source is cataloged or assessable but has no source-specific executable compiler in the installed Airlift generation.

4. Convert, move, and remediate

fa plan generate --file kafka-migration-plan.json --idempotency-key kafka-plan-v1
fa conversion batch create --file kafka-batch.json --idempotency-key kafka-batch-v1
fa conversion batch start --file conversion-batch-start.json --idempotency-key conversion-start-v1
fa residue list --engagement-id <engagement-id>
fa transfer plan --file kafka-transfer.json --idempotency-key kafka-transfer-v1
fa transfer run <transfer-id> --idempotency-key transfer-run-v1
fa transfer reconcile <transfer-id> --idempotency-key transfer-reconcile-v1

Expected artifacts:

  • Target artifacts
  • Residue cases
  • Transfer checkpoints
  • Reconciliation evidence

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

5. Validate independently and inspect discrepancies

fa validation run --file kafka-validation.json --idempotency-key kafka-validation-v1
fa validation status <validation-execution-id> --json
fa discrepancy list --engagement-id <engagement-id>
fa artifact list --engagement-id <engagement-id>

Expected artifacts:

  • Provider run references
  • Readiness evidence
  • Discrepancies

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

6. Certify, cut over, and export evidence

fa certificate list --object-id <object-id>
fa cutover status <wave-id> --json
fa evidence list --engagement-id <engagement-id>
fa evidence export --file kafka-evidence-export.json --idempotency-key kafka-evidence-export-v1

Expected artifacts:

  • Migration certificates
  • Cutover evidence
  • Content-digested evidence export

Open Engagements → active engagement in the App. This stage is visible at /assurance after replacing the placeholder ID with the governed engagement ID.

Runway executes releases; Experiments owns validation verdicts; Airlift owns migration readiness and cutover policy.

What developers see in the App

The contextual source workspace shows the accepted estate and the factory stages for this engagement. Artifacts displays immutable references, content digests, media types, and provider lineage. Runs displays assessment, conversion, transfer, validation, and deployment executions without treating a provider's success as an Airlift verdict.

Apache Kafka has its own engagement-scoped workspace; unrelated source systems are not shown.

What you are seeing

This public synthetic capture demonstrates Airlift setup and navigation for Apache Kafka; it is not evidence of a live connection or certified migration.

What to do next

Register the client estate, bind a credential reference, run the Apache Kafka assessment recipe, and admit the resulting evidence.

Read the developer workflow

These are automated captures from public synthetic engagements. The source workspace is specific to Apache Kafka; no unrelated source is presented as its migration journey. For sources without an evidence-backed journey, the image demonstrates setup, navigation, and developer entry points only—not a live connection, converted output, or certified migration. No client data, credentials, workspace hostnames, or internal deployment identifiers are embedded in the images.

On this page