zensu-cli

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2026 License: Apache-2.0

README

Zensu CLI

A GitHub-CLI-style command-line tool for Zensu — manage products, features, and authentication from your terminal. Cross-platform (Linux / macOS / Windows).

The CLI is a thin client over the Zensu REST API and the OAuth 2.0 + PKCE subsystem. It works against the hosted service and any self-hosted deployment.

Install

No Go toolchain required for any option except the last two.

Install script (Linux / macOS)
curl -fsSL https://zensu.dev/install.sh | sh

Installs the latest release binary to /usr/local/bin. Override with ZENSU_INSTALL_DIR=..., pin a version with ZENSU_VERSION=vX.Y.Z.

Prebuilt binaries

Download the archive for your OS/arch from the releases, extract, and put zensu on your PATH. Each release ships tar.gz (Linux/macOS), zip (Windows), and a ..._checksums.txt.

Docker
docker run --rm ghcr.io/mkitconsulting/zensu-cli:latest --help
Go toolchain
go install github.com/MKITConsulting/zensu-cli/cmd/zensu@latest
From source
make build        # -> bin/zensu
make install      # -> $GOBIN/zensu

Authentication

# Browser login (OAuth2 + PKCE, opens your browser)
zensu auth login

# Non-interactive / CI: log in with an API key
zensu auth login --with-token zsk_xxx
echo "$ZENSU_API_KEY" | zensu auth login --with-token -

zensu auth status      # who am I, token expiry
zensu auth token       # print the token for scripting
zensu auth logout

Credentials are stored in hosts.json under the config dir (resolved as $ZENSU_CONFIG_DIR, else $XDG_CONFIG_HOME/zensu, else ~/.config/zensu) with 0600 permissions.

Self-hosted

Point the CLI at any Zensu deployment:

zensu --api-url https://zensu.internal.example.com products list
# or
export ZENSU_API_URL=https://zensu.internal.example.com

OAuth endpoints are discovered via /.well-known/oauth-authorization-server (falling back to /oauth/authorize + /oauth/token).

Commands

zensu products list
zensu products get <product-id>
zensu products create --name "My Product" --type public   # public | internal | hybrid

zensu features list --product <product-id> [--status testing]
zensu features get <feature-id>
zensu features create --product <product-id> --component <component-id> --title "Login" [--slug login]
zensu features update <feature-id> --title "New title" [--description ... --priority ...]
zensu features status <feature-id> testing

# Escape hatch: call any Zensu API endpoint
zensu api /api/products
zensu api POST /api/products -f name=Acme -f productType=public
zensu api PATCH /api/features/<id>/status -f status=released

--slug is derived from --title when omitted. Add --json to typed commands for raw output.

Configuration precedence

API base URL: --api-url flag → ZENSU_API_URL → stored host → https://api.zensu.dev.

License

Apache License 2.0.

Directories

Path Synopsis
cmd
zensu command
internal
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL