The Terrantula CLI (terrantula) is the primary interface for the first-five-minutes onboarding flow and ongoing platform operations. It connects to either a self-hosted Terrantula API server or runs in local-only mode via terrantula dashboard.
Verify:
Authenticate against a self-hosted Terrantula API server:
The token is stored in your OS keyring (Keychain / libsecret / Credential Manager) under the service name terrantula; the base URL is saved to ~/.config/terrantula/config.json (permissions: 600). Subsequent commands pick both up automatically.
Where the token actually landed is printed by login, because on a machine with no keyring it falls back to that same 600 config file rather than failing. TERRANTULA_KEYRING controls this:
| Value | Behaviour |
|---|---|
auto (default) | Use the keyring if one is available; otherwise write to the 600 file and say so. |
require | Keyring or nothing. Never writes a credential to disk. |
off | Never touch the keyring; use the 600 file. |
Setting TERRANTULA_CONFIG_DIR implies off unless TERRANTULA_KEYRING is set explicitly — a keyring entry does not live inside the directory you redirected the CLI at.
A keyring-held token cannot be read from a session with no keyring (SSH, containers, CI). That is not a corrupted login; pass TERRANTULA_TOKEN or --token there instead.
Override per-invocation:
Or via environment variables:
All commands accept these global flags:
| Flag | Description |
|---|---|
--base-url <url> | API base URL (overrides config) |
--token <token> | API token (overrides config) |
--org <id> | Org ID (slug) for org/project-scoped commands |
--project <id> | Project ID for project-scoped commands |
--json | Output raw JSON instead of pretty JSON |
See the generated command reference for a full listing of every command with its flags and examples.
Core commands:
| Command | Description |
|---|---|
login | Save API credentials — token to the OS keyring, base URL to the config file |
use | Set the default project for project-scoped commands |
dashboard | Open the local Terrantula dashboard in your browser |
import terraform | Import Terraform state into Terrantula as entities and relationships |
import-atmos | Import Atmos stack manifests into Terrantula as entities |
export | Dump the project catalog as apply-shaped YAML |
project nuke | Drop all project-scoped runtime and catalog rows |