Skip to content
This repository has been archived by the owner on Apr 12, 2023. It is now read-only.
/ Insulator Public archive

A client UI to inspect Kafka topics, consume, produce and much more

License

Notifications You must be signed in to change notification settings

andrewinci/Insulator

Repository files navigation

⚠️ This project is not actively maintained: Use insulator2 instead


Insulator
Insulator

A tool for devs to debug Kafka based applications and services


Release CI Coverage code quality Snyk

WikiKey FeaturesDevelopmentCreditsSupportLicense

Installation

Download the binary from the latest release for your OS. Learn more here.

Mac release Windows release Debian release

brew cask install andrewinci/tap/insulator

Key Features

  • Clusters
    • Authentication with: PLAN, SSL and SASL (SCRAM or PLAIN) authentication
  • Topics
    • List available topics
    • Messages count and basic topic info
    • Delete a topic
    • Create a topic with basic configuration (Compaction policy, #Partitions, ...)
    • Topic configurations
  • Consumer
    • Avro and String deserialization
    • Seek based on record timestamp
    • Easy search and filtering
  • Schema registry
    • List subjects
    • Show all schema versions for a given subject
  • Producer
    • Avro producer with autocompletion based on the schema
    • String producer
    • Send tombstones
  • 🚧 Consumer groups 🚧
    • List consumer groups
    • Show topics, partitions and lags
    • Delete consumer groups
  • Cross platform
    • Windows, macOS and Linux ready.
  • Dark/Light theme
  • Auto-update
  • ReadOnly mode

Development

The JDK version used is the adoptjdk 14.

To run the integration tests in headless mode, run

export _JAVA_OPTIONS="-Djava.awt.headless=true -Dtestfx.robot=glass -Dtestfx.headless=true -Dprism.order=sw -Dprism.text=t2k  -Dtestfx.setup.timeout=2500 -Dheadless.geometry=1920x1080-64"
./gradlew app:integrationTest

To package the app, JPackage is used. The call is wrapped into the gradle task app:packageApp. Notice that, to package the app in Ubuntu, binutils and fakeroot are required. See https://openjdk.java.net/jeps/343 for more info.

Build the documentation

The documentation for the github page is available under the /docs/ folder. To build and serve it, use the following.

bundle exec jekyll serve

Use a specific GH (pre)release in the bootstrap

At startup, the bootstrap checks if a DEV_MODE file with the release tag is available.

# MAC OS
echo "<version-tag>" > ~/Library/Application\ Support/insulator/DEV_MODE

# Linux
echo "<version-tag>" > ~/.config/Insulator/DEV_MODE

Credits

JetBrains

update4j

Support

Buy Me A Coffee

License

GPL-3.0