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 extension now uses the Kafka Credential Manager extension for secure connection and credential management.
Prerequisites
Required Extension: This extension depends on the Kafka Credential Manager extension for managing connections and credentials securely. Please install it from the VS Code marketplace or it will be automatically installed when you install this extension.
Features (implemented)
Getting Started
Install the Kafka Credential Manager extension (if not already installed):
- Open VS Code Command Palette (
Ctrl+Shift+P
)
- Run
Extensions: Install Extensions
- Search for "Kafka Credential Manager" by IuliusHutuleac
- Install the extension
Add connections using the Credential Manager:
- Click the "Connections" button in the status bar (bottom of VS Code)
- Or use Command Palette:
Credential Manager: Open Connection Manager
- Add your Kafka Connect and Schema Registry connections with proper authentication
Explore your connections:
- Open the "Connect Admin" view in the Explorer sidebar
- Expand your connections to see connectors, subjects, and schema versions
- Right-click on items for available actions
Key Features
Development
- 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.
Migration from Previous Versions
If you were using a previous version of this extension that had built-in connection management:
- Your existing connections will no longer be visible in this extension
- Install the Kafka Credential Manager extension as described above
- Re-create your connections using the Credential Manager
- Your connection data from the old version was stored in VS Code settings and is still there, but this extension no longer reads from those locations
Usage Tips
Adding connections
- Use the status bar "Connections" button for quick access to the Credential Manager
- Or use Command Palette:
Credential Manager: Open Connection Manager
- Provide a name, URL, type (Connect or Schema Registry) and optional auth settings
Working with schemas
- Right-click on a schema subject to copy all versions
- Right-click on a specific version to copy just that version
- Paste schemas to other subjects or connections using the context menu
Managing connectors
- Click on a connector to view its details and configuration
- Use context menu options to pause/resume connectors
- View and edit connector offsets when needed
Troubleshooting
"No connections found": Make sure the Credential Manager extension is installed and you've added connections through it
Authentication errors: Verify your credentials in the Credential Manager
Extension not loading: Check the Output panel (View → Output → Connect Admin) for error messages
Managing connectors
- Expand a
connect
connection in the Connect Admin view and choose a connector. Right-click to pause/resume or open offsets.
Copying & pasting schemas
- Right-click a schema subject and choose Copy Schema to copy all versions into the extension clipboard.
- Navigate to another Schema Registry connection (or a subject under a connection) and choose Paste Schema (or Paste Schema to Connection) to register the schema(s) there.
- When pasting, you can change the target subject name. The extension will attempt verification and will log diagnostics to the output channel.
Configuration & Security
This extension now uses the Credential Manager extension for secure connection storage.
- Connection metadata (name, URL, type, auth type, username) is stored in VS Code workspace settings under
credentialManager.connections
- Secrets (passwords, bearer tokens) are securely stored using VS Code's encrypted SecretStorage API at
credentialManager.secret.{connectionId}
- No plain text passwords are stored in any configuration files
- Legacy migration: Old connections stored in
connectAdmin.connections.v1
are no longer supported - please recreate connections using the Credential Manager
For detailed information about the Credential Manager, see its extension documentation.
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.