CLI
The server binary is also its command-line tool. It works directly on the database, so run it where the server
runs, for example with docker compose exec goliash goliash … or kubectl exec deploy/goliash -- goliash ….
Usage: goliash [serve] [flags] run the server goliash env create -name NAME [-position N] goliash agent create -name NAME prints the agent token once goliash agent list agents with status, version and last contact goliash agent rotate -name NAME new token; the old one works until the agent uses the new one goliash agent revoke -name NAME every token of the agent stops working goliash enroll create -env NAME [-many] [-expires 168h|never] prints an enrollment code once: agents started with it register themselves goliash enroll list enrollment codes with their environment and agents goliash enroll revoke -id ID no agent can enroll with the code any more goliash target create -agent NAME -env NAME -platform kubernetes|ecs|nomad|swarm|docker|compose|lambda -name NAME [-settings JSON] [-poll SECONDS] goliash matrix service × environment versions goliash events [-service NAME] [-limit N] goliash drift open drifts goliash check [-service NAME] check upstream registries now goliash service set -name NAME [-upstream REPO] [-owner O] [-app A] [-kind own|third_party] [-track patch|minor|major] [-pin-major N] [-tag-filter REGEXP] [-prerelease] goliash channel create -type slack|webhook|email|push -name NAME [-url URL] [-secret S] [-to a@b,c@d] [-smtp-addr HOST:PORT -smtp-from ADDR [-smtp-username U] [-smtp-tls starttls|tls|none]] goliash channel test -name NAME goliash notify create -channel NAME [-events new_release,drift_detected] [-mode instant|daily|weekly] [-services a,b] [-owners x] [-apps webshop] [-envs prod] [-min-jump minor] [-digest-hour 8] [-timezone Europe/Bratislava] [-quiet 22-7] goliash badges reset invalidate every badge address handed out goliash service rename -name NAME -to NAME [-merge] rename a service, or join it with the one named goliash app rename -from NAME [-to NAME] show an application under another name (an existing one merges) goliash team rename -from NAME -to NAME rename a team on all its services goliash ack -service NAME -kind release|drift [-until-version 2.1.0] [-for 336h] [-env prod] goliash workspace create -name N -slug S [-envs] a workspace per client or team goliash workspace list goliash user grant -email E -role viewer|member|admin|none access to the -workspace goliash user create -email E [-role owner|admin|member|viewer] [-name N] goliash user password -email E [-remove] set a password (asked for, or one line on stdin) goliash user 2fa -email E -reset turn two-factor sign-in off (lost phone, no recovery codes) goliash login-link -email E one-time sign-in link (creates the first user as owner) goliash token create -name N [-role viewer|member] [-expires 90d] API token for /api/v1, /metrics and /mcp (shown once) goliash token list goliash token revoke -name N goliash rule create -match image_repo|workload_name|label|ignore -pattern REGEXP [-service NAME] [-priority N] goliash backup -out DIR SQLite: a consistent copy of the database (and goliash.key) while the server runs goliash healthcheck exit 0 when the local server answers /healthz (container health checks) goliash try [-listen :8080] [-public] [-reset 1h] a throwaway server with example data and a link that signs you in; -public makes it a read-only demo for everyone, -reset restarts it fresh goliash demo fill the workspace with three weeks of example data goliash version
Every command takes -database (env GOLIASH_DATABASE_URL, default goliash.db) and-workspace SLUG (env GOLIASH_WORKSPACE, default: the first workspace).Changes made with the CLI are recorded in the audit log like changes in the UI.
Examples
Section titled “Examples”goliash env create -name staging -position 20goliash enroll create -env prod # prints a code for one agent oncegoliash agent create -name prod-eu # prints the token oncegoliash target create -agent prod-eu -env prod -platform kubernetes -name prod-eu-1 \ -settings '{"kubernetes":{"exclude_namespaces":["kube-system"]}}'goliash matrixgoliash events -service payments-api -limit 20goliash service set -name postgres -track minor -pin-major 15goliash ack -service postgres -kind release -until-version 17.0