Skip to content

daisuke8000/flowrs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flowrs

A fast TUI client for Argo Workflows — like k9s, but for workflows.

Warning: This project is in alpha stage. APIs, keybindings, and configuration format may change without notice. Use at your own risk in production environments.

Features

  • Workflow list with live status, fuzzy filtering (/), and sort (s/o)
  • Workflow detail with DAG tree view and progress indicator
  • Log viewer with SSE real-time streaming and smart auto-scroll
  • Operations: retry, suspend, resume, stop, resubmit, delete (with confirmation dialog)
  • Submit workflows from WorkflowTemplates
  • Namespace switching via Tab key
  • Help screen with all keybindings (?)
  • Token file support for automatic credential rotation (k8s ServiceAccount)
  • vim-like keybindings (j/k/Enter/Esc/q)
  • Status-coded colors for workflow and node phases
  • Background polling — workflow list updates automatically
  • Config file with CLI overrides and env var support

Install

From source

cargo install --path .

Binary download

Download from GitHub Releases.

Quick Start

Create ~/.config/flowrs/config.toml:

[server]
url = "https://argo.example.com"
token = "Bearer your-token"
namespace = "default"

Or use the FLOWRS_TOKEN environment variable:

export FLOWRS_TOKEN="Bearer your-token"
flowrs --server https://argo.example.com --namespace default

Configuration

[server]
url = "https://argo.example.com"
token = "Bearer your-token"
namespace = "default"
insecure = false           # Skip TLS verification (default: false)
timeout_secs = 30          # API timeout (default: 30)
poll_interval_secs = 2     # Workflow list refresh interval (default: 2)
namespaces = ["default", "production"]  # Namespace list for Tab cycling
token_file = "/path/to/token"  # Auto-refresh token from file (k8s SA)

[ui]
date_format = "relative"   # "relative" or "absolute"
max_log_lines = 10000      # Maximum log lines to keep in memory
show_namespace = true      # Show namespace in header

CLI Overrides

-c, --config <PATH>        Config file path
-n, --namespace <NS>       Override namespace
-s, --server <URL>         Override server URL
    --insecure             Skip TLS verification

Environment Variables

Variable Description
FLOWRS_TOKEN Bearer token (overrides config file token)
FLOWRS_CONFIG Config file path
FLOWRS_LOG Log level filter (debug, trace)

Keybindings

Key WorkflowList WorkflowDetail LogView
j/k Navigate Navigate nodes Scroll
Enter Open detail View logs (Pod only)
Esc Quit Back to list Back to detail
q Quit Quit Quit
? Help Help Help
r Retry Retry
d Delete (confirm) Delete (confirm)
t Stop Stop
R Resubmit Resubmit
s Cycle sort field Suspend
o Toggle sort order
u Resume
S Submit from template
/ Filter workflows
Tab Switch namespace
G Jump to bottom
g Jump to top

License

MIT

About

A fast TUI client for Argo Workflows — like k9s, but for workflows

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors