Skip to content

CLI overview

The rune CLI is a single binary that talks to a runed server over gRPC. It keeps named contexts in ~/.rune/config.yaml, so you can switch between dev, staging, and prod without flag soup.

FlagDefaultNotes
--config <file>~/.rune/config.yamlOverride the config file.
--log-levelinfodebug, info, warn, error.
-v, --verboseoffVerbose output (also raises log level).
--versionPrint version and exit.

Most subcommands also accept:

FlagDefaultNotes
--api-server <addr>from active contextOne-off override.
-n, --namespacefrom active contextOne-off override.
-o, --outputtabletable, json, yaml.
GroupCommands
Corecast, get, scale, restart / stop
Inspectionlogs, exec, port-forward, health, deps
Resourcescreate, delete
Authoringlint, pack
Auth & configlogin / config, admin
Utilitywhoami, status, version

~/.rune/config.yaml:

current-context: dev
contexts:
dev:
server: localhost:7863
namespace: default
token: <bearer-token>
prod:
server: runed.example.com:7863
namespace: prod
token-file: /etc/rune/prod.token
tls:
ca: /etc/rune/ca.crt
cert: /etc/rune/client.crt
key: /etc/rune/client.key

Switch contexts:

Terminal window
rune use-context prod
rune context list
rune context view

Edit a context:

Terminal window
rune context set dev --namespace=staging

Or use the shortcut:

Terminal window
rune login dev --server=localhost:7863 --token-file=./tok --namespace=default

Every command that talks to the server includes an Authorization: Bearer <token> header. Tokens come from the active context — either inline token: or a token-file:.

If you see Unauthenticated, run rune whoami to check the token. If you see PermissionDenied, the token is valid but the policy doesn’t allow that verb.

Most read commands accept -o:

Terminal window
rune get services -o json | jq '.[] | .name'
rune get service api -o yaml > api.yaml
rune get instances -o table # default

Use -o yaml to round-trip a live spec back into a file you can edit and re-cast.

Terminal window
rune cast service.yaml # apply
rune get services # list
rune get service api -o yaml # describe
rune scale api 5 # scale
rune logs api --follow # tail logs
rune exec api bash # interactive shell
rune delete api # remove
rune health api --checks # probe status
rune lint ./manifests --recursive # validate
rune whoami # who am I
rune admin token list # admin
Terminal window
rune completion bash > /etc/bash_completion.d/rune
rune completion zsh > ~/.zsh/completions/_rune
rune completion fish > ~/.config/fish/completions/rune.fish