Skip to content

liangzhaoliang95/lxz

Repository files navigation

Go Version License Platform

LXZ - DevOps Graphical CLI Tool

🚀 A powerful DevOps graphical command-line interface tool supporting 📊 database, 🐳 Docker, 🎯 Redis, 🗂️ file system, ☸️ Kubernetes and other resource management


🌟 Features

🚀 Core Features

  • 📊 Database Management: Connect and manage MySQL databases with intuitive UI
  • 🐳 Docker Operations: Container management, logs viewing, shell access, and more
  • 🎯 Redis Management: Redis connection management and data operations
  • 🗂️ File Browser: Advanced file system navigation with preview capabilities
  • ☸️ Kubernetes Integration: K9s configuration management and cluster access
  • 🖥️ SSH Connection Manager: Centralized SSH host management
  • 🌐 Cross-Platform: Support for Linux, macOS, and Windows (AMD64 & ARM64)

🎯 Key Benefits

  • 🖥️ Terminal-Based UI: Rich TUI built with tview for excellent terminal experience
  • ⌨️ Hotkey Support: Comprehensive keyboard shortcuts for efficient navigation
  • 🔌 Plugin System: Extensible architecture for custom functionality
  • ⚙️ Configuration Management: YAML-based configuration with validation
  • 📊 Logging & Monitoring: Built-in logging system with configurable levels

🖼️ Screenshots

Database Browser

Database Browser

Docker Browser

Docker Browser

Redis Browser

Redis Browser

File Browser

File Browser

K9s Browser

K9s Browser

SSH Connection

SSH Connection

📦 Installation

Prerequisites

  • Go 1.24.3 or higher
  • Git

Quick Install

# Clone the repository
git clone https://github.com/liangzhaoliang95/lxz.git
cd lxz

# Build and install
go build -o lxz ./main.go
sudo mv lxz /usr/local/bin/
sudo chmod +x /usr/local/bin/lxz

Download Pre-built Binaries

Linux/macOS

# Download binary
wget https://github.com/liangzhaoliang95/lxz/releases/download/v1.0.7/lxz-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')

# Rename and move to PATH
sudo mv lxz-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') /usr/local/bin/lxz

# Add execute permission
sudo chmod +x /usr/local/bin/lxz

Windows

Download the appropriate executable from the Releases page:

  • For AMD64: lxz-windows-amd64.exe
  • For ARM64: lxz-windows-arm64.exe

Or visit Releases page to download pre-built binaries for your platform.

🚀 Usage

Basic Commands

# Start LXZ
lxz

# Start with custom refresh rate
lxz --refresh 5

# Start with debug logging
lxz --logLevel debug

# Start in headless mode
lxz --headless

Configuration

LXZ uses YAML configuration files located in ~/.lxz/ directory (all platforms).

To migrate from old configuration locations, run:

./migrate-config.sh

⌨️ Key Bindings

  • F - 🔄 Toggle fullscreen mode
  • Ctrl+R - 🔄 Refresh data
  • Ctrl+N - ➕ Create new item
  • Ctrl+D - 🗑️ Delete item
  • Enter - ✅ Select/Execute
  • Tab - 🔀 Switch focus
  • Escape - ↩️ Exit fullscreen/Go back

🏗️ Architecture

Project Structure

lxz/
├── cmd/           # Command line interface
├── internal/      # Internal packages
│   ├── config/    # Configuration management
│   ├── drivers/   # External service drivers
│   ├── model/     # Data models
│   ├── ui/        # User interface components
│   ├── view/      # View layer components
│   └── helper/    # Utility functions
├── main.go        # Application entry point
└── go.mod         # Go module definition

Core Components

  • View Layer: Handles different resource views (Database, Docker, Redis, etc.)
  • UI Layer: Manages terminal UI components and interactions
  • Driver Layer: Abstracts external service connections
  • Config Layer: Manages application configuration and validation

🔧 Development

Building from Source

# Clone and setup
git clone https://github.com/liangzhaoliang95/lxz.git
cd lxz

# Install dependencies
go mod download

# Build
go build -o lxz ./main.go

# Run tests
go test ./...

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Development Dependencies

  • Go 1.24.3+
  • tview (terminal UI framework)
  • tcell (terminal cell library)
  • cobra (CLI framework)

📚 Documentation

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Ways to Contribute

  • 🐛 Report bugs
  • 💡 Suggest new features
  • 📝 Improve documentation
  • 🔧 Submit pull requests
  • ⭐ Star the repository

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

📋 NOTICE

This product includes software developed by liangzhaoliang95 and other contributors. See the NOTICE file for additional information about third-party dependencies and their licenses.

🙏 Acknowledgments


Made with ❤️ by the LXZ team

About

A powerful DevOps graphical command-line interface tool supporting database, Docker, Redis, file system, Kubernetes and other resource management

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors