gitlab-runner-tui-0.1.7 is not a library.
GitLab Runner TUI
A fast, beautiful Terminal User Interface (TUI) for querying and inspecting GitLab Runners.
Overview
GitLab Runner TUI provides DevOps engineers and GitLab administrators with an intuitive command-line interface to monitor and manage GitLab Runner infrastructure. Query runners by tagsβall from your terminal.
Features
- π Interactive TUI - Beautiful, keyboard-driven interface built with ratatui
- π Multiple Query Commands - Six specialized commands for different runner queries
- π·οΈ Tag Filtering - Filter runners by comma-separated tags
- β‘ Real-time API Queries - Direct integration with GitLab REST API v4
- π Detailed Results - Tabular display of runners and managers with color highlighting
- π Secure - Token-based authentication
Quick Start
Prerequisites
- GitLab personal access token with
read_apiscope - GitLab instance URL (defaults to gitlab.com)
Installation
From source:
Configuration
Set required environment variables:
# Optional, defaults to gitlab.com
Or create a .env file:
GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
GITLAB_HOST=https://gitlab.com
Running
# Using environment variables
# Or specify via CLI flags
Commands
| Command | Description |
|---|---|
fetch |
Fetch all GitLab Runner details with optional filters |
lights |
Health check - verify all tagged runners are online |
switch |
List runners with no online managers |
workers |
Show detailed list of Runner Managers |
flames |
Find runners not contacted recently (default: 1 hour) |
empty |
List runners with no managers |
Keyboard Navigation
Command Selection
β/βork/j- Navigate commandsEnter- Select command?- Toggle helpq- Quit
Filter Input
- Type to enter filter tags (comma-separated)
Enter- Execute searchEsc- Back to command selection
Results View
β/βork/j- Scroll resultsEsc- Back to command selectionq- Quit
Configuration Options
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
GITLAB_TOKEN |
Yes | - | Personal access token (needs read_api scope) |
GITLAB_HOST |
No | https://gitlab.com |
GitLab instance URL |
CLI Flags
Examples
Find all production runners
- Select
fetchcommand - Enter tags:
production - View results
Check runner health
- Select
lightscommand - Enter tags:
production,linux - View health summary and runner statuses
List offline runners
- Select
switchcommand - Enter tags:
alm - View runners with offline managers
Development
Building
# Development build
# Release build (optimized)
# Run tests
# Run with debug logging
RUST_LOG=debug
Testing
# Run all tests
# Run with output
# Run specific test
Troubleshooting
Connection Issues
Error: "Connection timeout"
- Check
GITLAB_HOSTis correct and accessible - Verify network connectivity:
ping gitlab.com - Check proxy settings if behind corporate firewall
Authentication Issues
Error: "Authentication failed"
- Verify
GITLAB_TOKENis correct - Ensure token has
read_apiscope - Check token hasn't expired
SSL Certificate Issues
Error: "SSL certificate verify failed"
- Self-signed certificate support is not currently implemented
Contributing
Contributions welcome! Please see CONTRIBUTING.md for guidelines.
Architecture
GitLab Runner TUI follows a three-layer architecture:
TUI (View) β Conductor (Business Logic) β GitLabClient (API)
- TUI Layer: User interface, event handling, rendering
- Conductor Layer: Orchestrates operations, applies filters, formats results
- GitLabClient Layer: HTTP communication with GitLab API
See app_spec.txt for detailed specification.
License
[Add your license here]
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Acknowledgments
Built with ratatui - A Rust library for building terminal user interfaces.