Topiks Versions Save

An interactive CLI tool for managing Kafka topics

0.1.0-alpha+003

5 years ago

0.1.0-alpha+003

Changed

  • Switched to Rust 2018 edition
  • Reduced terminal screen writing (i.e. grouping certain screen write!'s into single batched write!'s)
  • Reduced or removed heap alloc when:
    • printing partition metadata to the screen
    • printing topic names to the screen
    • creating paged vectors (PagedVec)

Fixed

  • Was unnecessarily creating a new screen when using Termion. Now, a single mutable screen is created and used for the lifetime of the program. This now means the screen buffer is correctly used and the application has to explicitly clear the screen (or part of it) when updating. This has the effect of greatly reducing notable screen tearing.

0.1.0-alpha+002

5 years ago

Added

  • You can now create topics by entering c on the topics view. The -M flag must be set when running Topiks to allow topic creation. The expected input is [topic name]:[partitions]:[replication factor]. Topic config will be set to the default cluster settings, which can be changed via Topiks after successful creation. Topic names are limited to 249 alphanumeric characters, _, or ..

Changed

Fixed

  • Corrected alphabetical sorting of topics

0.1.0-alpha+001

5 years ago

Here it is, the alpha+001 version, which I hope to have you help test with me. This has been used on both local and real Kafka clusters, but more testing is always useful.

This version should be relatively safe to use on your Kafka cluster; this is especially true in read-only mode (i.e. not using -M and -D flags). It goes without saying, but, user beware when testing.

Note

When modifying topic configs, I've discovered that some—but not all—of the configs are validated by the cluster when changes are applied. For example, message.format.version allows for free, unvalidated text. In this case, when changed to an invalid value, the topic will become corrupted on the cluster.

Features

  • compatible with Apache Kafka >=2.0
  • list topics, configurations, and offsets
  • selectively delete topics
  • modify a topics configuration
  • get offset and lag for a consumer group
  • TLS/SSL capable via rust-native-tls crate (OpenSSL on Linux, security-framework on OSX)

Builds

  • Mac OSX 10.13 (Sierra)
  • Ubuntu Trusty Linux, requires OpenSSL (libdev-ssl)
  • CentOS 7, requires OpenSSL (openssl-devel)

And you can build it yourself using Cargo.