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.
Global flags
Section titled “Global flags”| Flag | Default | Notes |
|---|---|---|
--config <file> | ~/.rune/config.yaml | Override the config file. |
--log-level | info | debug, info, warn, error. |
-v, --verbose | off | Verbose output (also raises log level). |
--version | — | Print version and exit. |
Most subcommands also accept:
| Flag | Default | Notes |
|---|---|---|
--api-server <addr> | from active context | One-off override. |
-n, --namespace | from active context | One-off override. |
-o, --output | table | table, json, yaml. |
Subcommand groups
Section titled “Subcommand groups”| Group | Commands |
|---|---|
| Core | cast, get, scale, restart / stop |
| Inspection | logs, exec, port-forward, health, deps |
| Resources | create, delete |
| Authoring | lint, pack |
| Auth & config | login / config, admin |
| Utility | whoami, status, version |
Config file format
Section titled “Config file format”~/.rune/config.yaml:
current-context: devcontexts: 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.keySwitch contexts:
rune use-context prodrune context listrune context viewEdit a context:
rune context set dev --namespace=stagingOr use the shortcut:
rune login dev --server=localhost:7863 --token-file=./tok --namespace=defaultEvery 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.
Output formats
Section titled “Output formats”Most read commands accept -o:
rune get services -o json | jq '.[] | .name'rune get service api -o yaml > api.yamlrune get instances -o table # defaultUse -o yaml to round-trip a live spec back into a file you can edit and re-cast.
Quick reference
Section titled “Quick reference”rune cast service.yaml # applyrune get services # listrune get service api -o yaml # describerune scale api 5 # scalerune logs api --follow # tail logsrune exec api bash # interactive shellrune delete api # removerune health api --checks # probe statusrune lint ./manifests --recursive # validaterune whoami # who am Irune admin token list # adminShell completion
Section titled “Shell completion”rune completion bash > /etc/bash_completion.d/runerune completion zsh > ~/.zsh/completions/_runerune completion fish > ~/.config/fish/completions/rune.fish