Skip to content

osodevops/kafka-backup-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kafka-backup-monitor

Real-time TUI dashboard for monitoring kafka-backup operations

License: MIT Rust 1.75+ kafka-backup companion

kafka-backup-monitor demo


kafka-backup-monitor is a terminal dashboard built with Rust for monitoring kafka-backup backup and restore operations in real time. Track per-partition progress, throughput sparklines, compression ratios, and pipeline stages — all from your terminal.

Includes a scripted demo engine for creating screen recordings and marketing content with cinematic terminal animations.

Features

  • Per-partition progress — Live progress bars with throughput sparklines for every topic partition
  • Pipeline visualisation — See data flow through Kafka, Consume, Compress, Store stages
  • Compression stats — Real-time size reduction, ratio, and ETA tracking
  • Three-phase restore — Visual indicator for multi-phase restore operations
  • Cinematic effects — Fade, dissolve, sweep, and celebration animations powered by tachyonfx
  • Scripted demos — YAML-driven scenarios for reproducible screen recordings

Installation

From source

git clone https://github.com/osodevops/kafka-backup-cli.git
cd kafka-backup-cli
cargo build --release

The binary is at ./target/release/kafka-backup-monitor.

Quick Start

Run a demo scenario

# Backup demo (~20 seconds)
./target/release/kafka-backup-monitor demo --scenario scenarios/backup-only.yaml

# Full backup + disaster + restore (~60 seconds)
./target/release/kafka-backup-monitor demo --scenario scenarios/full-backup-restore.yaml

Keyboard controls

Key Action
q Quit
Space Pause / resume (demo mode)
p Toggle partition detail view
t Toggle throughput chart
l Toggle expanded log panel

Demo Scenarios

Five pre-built scenarios are included:

Scenario Duration Description
backup-only.yaml ~20s High-speed backup of 3 topics with throughput animation
full-backup-restore.yaml ~60s Full backup, simulated disaster, three-phase restore
restore-only.yaml ~30s Restore monitoring with three-phase progress
three-phase-restore.yaml ~25s Detailed three-phase restore showcase
pitr-demo.yaml ~30s Point-in-time recovery with time window filtering

Screen Recording

Record demos as GIFs using VHS:

# Record a scenario
./scripts/record-demo.sh scenarios/backup-only.yaml

# Export for social media (LinkedIn, Twitter, YouTube Shorts, GitHub)
./scripts/export-social.sh recordings/kafka-backup-demo.gif

Terminal profiles for Alacritty, Kitty, and WezTerm are included in assets/terminal-profiles/.

Tech Stack

Crate Purpose
ratatui TUI framework
tachyonfx Terminal animation effects
crossterm Terminal backend
clap CLI argument parsing
serde + serde_yaml YAML scenario parsing
color-eyre Error handling

Related

  • kafka-backup — High-performance Kafka backup and restore with point-in-time recovery

License

kafka-backup-monitor is licensed under the MIT License.


Made with ❤️ by OSO

About

Real-time TUI dashboard for kafka-backup backup/restore monitoring

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors