Skip to content

liangzhaoliang95/lxz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

62 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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