Skip to content
LabTether

labtether-cli

Command-line interface for the LabTether hub API.

Installation

Download the binary for your platform from the releases page, or build from source:

git clone https://github.com/labtether/labtether-cli
cd labtether-cli
go build -o labtether-cli .

Configuration

# Set hub URL and API key
labtether-cli config set-host https://hub.local:8443
labtether-cli config set-key lt_your_api_key_here

# Verify
labtether-cli config show
labtether-cli whoami

Configuration is stored in ~/.config/labtether/config.json.

Environment Variables

Variable Description Priority
LABTETHER_HOST Hub URL Flag > Env > Config
LABTETHER_API_KEY API key Flag > Env > Config

Global Flags

Flag Description
--host Override hub URL
--api-key Override API key
--json Machine-readable JSON output

Exit Codes

Code Meaning
0 Success
1 Command failed
2 Authentication error (401/403)
3 Asset offline or not found (409/404)
4 Configuration error

Commands

Assets

labtether-cli assets list              # List all assets
labtether-cli assets list --online     # Online only
labtether-cli assets get server1       # Asset details

Command Execution

# Single target
labtether-cli exec server1 "df -h"
labtether-cli exec server1 "apt update" --timeout 120

# Multi-target
labtether-cli exec --targets server1,server2 "uptime"
labtether-cli exec --group web-servers "nginx -t"

Services

labtether-cli services list server1
labtether-cli services restart server1 nginx
labtether-cli services stop server1 postgres

Files

labtether-cli files ls server1 /var/log/
labtether-cli files cat server1 /etc/hostname

Docker

labtether-cli docker hosts
labtether-cli docker ps docker-host1
labtether-cli docker restart container-id
labtether-cli docker logs container-id --tail 100

System Info

labtether-cli net server1
labtether-cli disks server1
labtether-cli ps list server1 --sort cpu
labtether-cli packages list server1 --upgradable

Power

labtether-cli reboot server1
labtether-cli shutdown server1
labtether-cli wake server1

Monitoring

labtether-cli alerts list
labtether-cli alerts ack alert-id
labtether-cli incidents list
labtether-cli metrics overview

Infrastructure

labtether-cli proxmox cluster-status
labtether-cli proxmox resources
labtether-cli truenas pools nas1
labtether-cli pbs datastores backup1

Other

labtether-cli groups list
labtether-cli search nginx
labtether-cli audit
labtether-cli hub status
labtether-cli topology blast-radius server1
labtether-cli discovery run

JSON Output

Every command supports --json for machine-readable output:

labtether-cli assets list --json | jq '.[] | select(.status == "online")'
labtether-cli exec server1 "uptime" --json