FerrisKey CLI

ferris-ctl is the official command-line interface for FerrisKey. It talks to the FerrisKey REST API, so from your terminal you can manage realms, OAuth2 clients, and users, import realms from Keycloak or Zitadel, and script administrative tasks.

What you can do

Install

Cargo
cargo install ferris-ctl
From source
git clone https://github.com/ferriskey/ferriskey.git
cd ferriskey/cli
cargo build --release
# binary at target/release/ferris-ctl

Pre-built binaries for Linux, macOS, and Windows are also attached to every GitHub release. Download the archive for your platform, extract ferris-ctl, and place it on your PATH.

Verify the install:

ferris-ctl --help

How it works

CLI args → ferris-ctl → resolve context + credentials → FerrisKey REST API

                  config.toml / credentials.toml

Every command resolves three things in order:

  1. Where to connect: the server URL, from the active context or a --url override.
  2. Who you are: a saved login session or client credentials, resolved automatically.
  3. Which realm to operate on: the context default, or a --realm override.

Global flags

These flags are available on every command and override values stored in your context.

FlagShortValues / defaultEnv varDescription
--contextactive contextUse a specific context for this command
--output-otable (default), json, yamlOutput format
--urlcontext URLFERRISKEY_URLFerrisKey server URL
--client-idcontext clientFERRISKEY_CLIENT_IDClient ID used for authentication
--client-secretcontext secretFERRISKEY_CLIENT_SECRETClient secret used for authentication
--realmcontext realmFERRISKEY_REALMRealm to operate on

Next steps