Connect Admin (VS Code Extension)
Connect Admin is a VS Code extension to manage Apache Kafka Connect clusters and Confluent Schema Registry instances directly from the editor.
This README documents the features implemented in this repository, how to run and test the extension, and short usage notes.
Features (implemented)
Quickstart (developer)
- Install dependencies:
npm install
- Build the extension:
npm run build
- Run unit tests:
npm test
- Run (development):
- Open this folder in VS Code and run the "Run Extension" launch configuration in the Debug panel. The extension will activate and the
Connect Admin tree view will appear in Explorer.
How to use
Configuration & security
- Secrets: username/password or bearer tokens are stored using the VS Code SecretStorage API and are never written to disk in plaintext.
- The extension stores connection metadata (id, name, url, type, authType, username) in
globalState under connectAdmin.connections.v1 .
Docker Compose (integration test environment)
This repository includes docker-compose.yml which starts a small local testing stack:
- Zookeeper
- Kafka broker
- Kafka Connect (REST port 8083)
- Two Schema Registry instances (host ports 8081 and 8082)
- An init container that registers a sample connector using
docker/connector.json
Start the stack (from the project root):
docker compose up --build
Notes: When running tests from WSL or using Docker Desktop on Windows, use localhost:8083 for the Connect REST API.
Testing
- Unit tests: Jest is configured. Run
npm test to run unit tests (the test harness runs in-band for easier debugging).
Development scripts
- npm run build — compile TypeScript (tsc -p ./)
- npm run watch — compile in watch mode
- npm test — run Jest tests
- npm run lint — eslint (if configured)
Logging & Diagnostics
- The extension writes diagnostic messages to an Output Channel (visible in VS Code under "Output -> Connect Admin"), useful for troubleshooting copy/paste and registry interactions.
Limitations & Next steps
- Some UI flows and webview polish can be improved (form validation, richer connector inspector, pagination for large subject lists).
- Schema transfer tries to be robust but some registry implementations may behave differently; diagnostics are written to the output channel for troubleshooting.
Contributing
Please open issues or PRs with bug reports, feature requests, or improvements. Follow the existing code style and include tests for new behavior.
License
This repository does not contain a license file. Please verify licensing with the project owner before publishing.
| |