Skip to main content

GitOps CLI for managing Kafka Connect connectors from JSON manifests

Project description

BKKT

BKKT is a portable GitOps CLI for Kafka Connect.

Manage connector manifests as code: render, validate, compare, plan, apply, and operate Connect / Kafka Admin / Schema Registry from one workflow-friendly tool.

Alpha software (0.1.0a1). The CLI command surface is the supported contract. The internal Python package (connectctl) is not a stable public API.

Install

pip install --pre bkkt==0.1.0a1
# or
uv pip install --pre bkkt==0.1.0a1

Requirements: Python 3.11 or 3.12.

10-minute local demo

bkkt demo init --output-dir ./bkkt-demo
cd ./bkkt-demo
bkkt demo up          # starts Redpanda + Kafka Connect via Docker Compose
bkkt demo smoke       # render/validate/apply dry-run against the demo stack
bkkt demo down

The demo assets ship inside the package (connectctl/assets/demo) and use only localhost / synthetic acme / orders fixtures.

Safe live workflow

BKKT keeps mutation safety gates on by default:

  1. Prefer --dry-run first.
  2. Scope work with explicit --env, --cluster, path, or selector flags.
  3. Confirm broad fan-out interactively, or pass --yes in automation.
# Render + validate from manifests
bkkt render --env dev --cluster local
bkkt validate --env dev --cluster local

# Inspect drift without changing the cluster
bkkt compare --env dev --cluster local --dry-run
bkkt drift --env dev --cluster local

# Apply only after review
bkkt plan --env dev --cluster local
bkkt apply --env dev --cluster local --dry-run
bkkt apply --env dev --cluster local --yes

Portable CLI scope (alpha)

Family Purpose
config / repo Local workspace and cluster config
render / validate / validate-connect / inspect Manifest quality gates
search / find / lineage Discovery across repo and live clusters
compare / diff / drift / plan / apply Desired vs live workflows
export / sync / reconcile Capture and converge state
connect / kafka / schema Runtime Connect / Admin / SR operations
functions / vars Placeholder helpers
demo / oss / docs / completion Self-service DX

Enterprise-only families (GitLab MR automation, fleet/assurance/reliability centers, UI/service API, heal/rollout/incident/monitor) are not part of the public alpha.

Search examples (neutral fixtures)

bkkt search --source repo --env prod \
  --table 'prod__dbt__acme__orders__raw.exchange_rates__events'

bkkt find --source repo --env prod \
  --database 'prod__cdc__users__acme_common__ods' \
  --table 'acme__ma_users'

bkkt search --source live --env stage --cluster all \
  --topic 'stage__cdc__users__acme_common__ods.acme_3__ma_users' \
  --yes

OSS hygiene gates

Before publishing or contributing large changes:

bkkt oss hygiene --scope public
bkkt oss hygiene --scope repository
bkkt oss readiness

Repository scope hard-denies credential filenames, cloud/API token shapes, private keys, and private infrastructure hosts.

Documentation

Doc Audience
docs/ARCHITECTURE.md How BKKT layers manifests and runtime clients
docs/CLI.md Full alpha command contract
docs/MANIFESTS.md Manifest layout and layering
docs/CONNECT.md Kafka Connect operations
docs/KAFKA.md Kafka Admin helpers
docs/SCHEMA_REGISTRY.md Schema Registry helpers
docs/TROUBLESHOOTING.md Common failures
docs/RELEASE.md Tagging and PyPI Trusted Publishing
docs/MIGRATION.md Moving from internal forks to public BKKT
CHANGELOG.md Alpha notes and limitations
CONTRIBUTING.md Dev setup and PR expectations
SECURITY.md Vulnerability reporting

License

Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bkkt-0.1.0a1.tar.gz (493.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bkkt-0.1.0a1-py3-none-any.whl (792.8 kB view details)

Uploaded Python 3

File details

Details for the file bkkt-0.1.0a1.tar.gz.

File metadata

  • Download URL: bkkt-0.1.0a1.tar.gz
  • Upload date:
  • Size: 493.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for bkkt-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 070b03b26ff9c76501ccca5900462a91bcbb3cbab63ec2854effec34e10d4400
MD5 74019c1c10dd0245b17e6271ba4d05d2
BLAKE2b-256 81131bd70a0632456dce55c2a114fb3ad69ab146159380d8f6d19dc729c073d6

See more details on using hashes here.

File details

Details for the file bkkt-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: bkkt-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 792.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for bkkt-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 8161e9af8085991bfa9ee26a703cec8997c1354c7fb35bec64711c3feb104d90
MD5 14da437e5d81c29f4a70bb03bfaf3edb
BLAKE2b-256 16c979c4c6bee106b041249260e0248ae0526059559936514193a4357cc9cf48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page