There are two programs. ku (also installed as kuukura) is the CLI for people and CI. ku-server is the server
and the operator’s tool on the host. Both print this list with help; the tables below are read from their source
when the site is built.
Start here: add your server with ku profile add , sign in with ku login, save a value with
ku secret set , then start your app with ku run . Jump to a group:
profile · secret · run · workspace · account · key · user · audit .
Commands that talk to a server take --profile <name>.
A typical session:
ku profile add work --url https://vault.example.com # the profile holds the server URL
ku login # Google, then your passkey or authenticator app
ku secret set DATABASE_URL app:shop # the value comes from a hidden prompt
ku link shop # this folder belongs to the "shop" app
ku run env:dev -- npm run dev # the command starts with its secrets in the environment
Values are never arguments, stdout carries only data, and ku run refuses secret names that load code. The details
are in What goes where and the exit codes in
Errors and exit codes . Passkeys and authenticator apps:
Your passkeys and authenticator apps .
Command
What it does
login
sign in to the active server
link [<app>]
link this folder to an app
version, --version
print the version
Command
What it does
profile add <name> --url <url>
add a server (start here)
profile use <name>
switch the active server
profile list
list servers
profile remove <name>
forget a server and its session
Command
What it does
secret list [name] [tags]
list secrets, never their values
secret set <name> [tags]
save a value
secret get <name> [tags]
reveal a value (–reveal or –out)
secret update <name|tags> [+tag -tag]
rename, retag or change confirmation
secret revoke <name|tags>
block a secret until a new value is saved
secret archive <name|tags>
hide a secret
Command
What it does
run [name] [tags] -- <command>
run a command with secrets
Command
What it does
workspace invite <email>
invite a person (–machine for CI)
workspace group <group> +id -id
change group members
workspace grant <who> <read|write> <tags>
give access to secrets with these tags
workspace ungrant <who> <tags>
take it away
workspace disable <identity>
block a person or machine
workspace enable <identity>
lift the block
workspace audit [name] [tags]
show who did what
Command
What it does
account factor list
list your passkeys and authenticator apps
account factor add <passkey|totp>
add one
account factor default <id>
offer it first
account factor remove <id>
remove one
Command
What it does
serve
start the server
healthcheck
check the running server (for the container)
version
print the version
Command
What it does
key init [--key-file <path>]
write a new master key file
key rotate [--rewrap-only]
add a key version and rewrap every secret
key show
show the master key once, to back it up
Command
What it does
user list
list people and machines
user invite <email> [--admin]
print a sign-up link
user disable <email|name>
block a person or machine
user enable <email|name>
lift the block
user reset-factors <email>
remove passkeys and apps, print a link
Command
What it does
audit verify
check the audit log chain
Run it inside the container, for example docker compose exec kuukura /ku-server user list. Every state change is
audited under the reserved ku-server principal. See People from the host ,
the master key and the key rotation drill .