Skip to content

Configuration File Reference

tlm-cli is configured through a TOML file that holds the target instance address and authentication credentials.

File location

The CLI searches for the configuration file in the following directories, in order:

Priority Path
1 Current working directory (./)
2 ~/.config/tlm-cli/
3 /etc/tlm-cli/

The first file found is used. The default filename is .config.toml. Override it with the TLM_CONFIG_FILENAME environment variable:

TLM_CONFIG_FILENAME=my-instance.toml tlm-cli pms devices list

File format

[application]
instance = "your-instance.example.com"

[auth]
username = "user@example.com"
password = "your-password"

Fields

[application]

Field Type Required Description
instance string yes Hostname of the ToloMEO Manager instance, e.g. tolomeo.io. Do not include https:// or a trailing slash.

The client derives all API base URLs from this value:

  • Resource APIs: https://apis.<instance>
  • Authentication: https://accounts.<instance>

[auth]

Field Type Required Description
username string (email) yes Email address used to authenticate against the instance.
password string yes Password for the account.

Example

Create ~/.config/tlm-cli/.config.toml and fill in your actual values:

[application]
instance = "your-instance.example.com"

[auth]
username = "you@example.com"
password = "your-password"

If you are working from a cloned repository, a .config.toml.sample file is provided at the repository root as a starting point.

Security

The configuration file contains plaintext credentials. Restrict its permissions to the owning user:

chmod 600 ~/.config/tlm-cli/.config.toml

Runtime options

These options control CLI behaviour at runtime and are independent of the TOML config file.

Output mode

Mechanism How to use
--plain flag tlm-cli --plain pms devices list
TLM_CLI_PLAIN env var TLM_CLI_PLAIN=1 tlm-cli pms devices list
Automatic (non-TTY stdout) Pipe or redirect stdout: tlm-cli pms devices list \| jq

When plain mode is active:

  • stdout emits newline-delimited JSON: arrays for list commands, objects for show/detail commands.
  • stderr emits warning: and error: prefixed plain-text messages.
  • Interactive prompts, TUI editors, progress spinners, and Rich formatting are all disabled.

Plain mode activates automatically whenever stdout is not a TTY — for example in Docker containers without an attached terminal, CI pipelines, or shell redirects. You do not need to set --plain explicitly when piping output.