mirror of
https://github.com/lxc/incus
synced 2026-08-02 05:26:46 +00:00
doc/incus-cli: Add CLI configuration file reference
Signed-off-by: augustodsgv <augustodsgv@gmail.com>
This commit is contained in:
parent
60c8df346a
commit
b640223de3
87
doc/client-config.md
Normal file
87
doc/client-config.md
Normal file
@ -0,0 +1,87 @@
|
||||
(client-config)=
|
||||
# CLI configuration file
|
||||
The Incus CLI client uses a configuration file to store environment data and modify its behavior. This documentation describes the file structure and its options.
|
||||
|
||||
```{note}
|
||||
Changing this configuration file manually may leave the CLI in an inconsistent state, so you should only edit it via CLI commands such as [`incus remote`](incus_remote.md) and [`incus alias`](incus_alias.md).
|
||||
```
|
||||
|
||||
## The configuration file
|
||||
By default, the Incus CLI will use the `$HOME/.config/incus/config.yml`, but it can also use an arbitrary file provided by the `INCUS_CONF` environment variable.
|
||||
|
||||
If the file or its path don't exist, it will use the default:
|
||||
|
||||
```yaml
|
||||
default-remote: local
|
||||
remotes:
|
||||
images:
|
||||
protocol: simplestreams
|
||||
public: true
|
||||
addr: https://images.linuxcontainers.org
|
||||
local:
|
||||
protocol: incus
|
||||
public: false
|
||||
addr: unix://
|
||||
aliases: {}
|
||||
defaults:
|
||||
list_format: ""
|
||||
console_type: ""
|
||||
console_spice_command: ""
|
||||
no_color: false
|
||||
```
|
||||
|
||||
## `remotes`
|
||||
Incus remote information managed by [`incus remote`](incus_remote.md) commands is stored in the `remotes` section. Remotes may have the following configuration keys.
|
||||
|
||||
### `addr`
|
||||
Address of the remote server. Accepts IPs, FQDNs and URLs. Multiple addresses can be provided, separated with commas `addr1,addr2,...`.
|
||||
|
||||
### `last_working_address`
|
||||
Used by the CLI to register the last working address of a remote, if the remote has multiple addresses.
|
||||
|
||||
### `auth_type`
|
||||
Method that the client will use to authenticate to the server API. Accepts `tls` and `oidc`.
|
||||
|
||||
### `keepalive`
|
||||
Timeout in seconds that the `keepalive` feature will maintain the connection opened.
|
||||
|
||||
### `project`
|
||||
Default project used by the CLI when using that remote. It's defined by the [`incus project switch`](incus_project_switch.md) command. It's overwritten by the `--project` flag and the `INCUS_PROJECT` environment variable.
|
||||
|
||||
### `protocol`
|
||||
The protocol the CLI will use to communicate with the remote. This defines if the remote will be used as an Incus or image server. Accepts the following options:
|
||||
|
||||
- `incus`: private Incus server accessible over the network
|
||||
- `oci`: [Open Container Initiative (OCI)](https://opencontainers.org/) server that provides application container images
|
||||
- `public`: Incus server accessible over the network to provide images only
|
||||
- `simplestream`: [Simple Stream](https://git.launchpad.net/simplestreams/tree/) server that provide images
|
||||
|
||||
### `credentials_helper`
|
||||
Defines a helper command that will handle OCI service authentication.
|
||||
|
||||
### `public`
|
||||
Defines if the remote is an image-only server (public).
|
||||
|
||||
## `default_remotes`
|
||||
Defines the default Incus remote used by the CLI to execute commands. It's defined by the [`incus remote switch`](incus_remote_switch.md) command. This configuration is overwritten by the environment variable `INCUS_REMOTE` or by the `<remote>:` prefix.
|
||||
|
||||
## `aliases`
|
||||
Stores the alias managed by the [`incus alias`](incus_alias.md) command. Each alias is a key/value pair that consists of the alias name and the alias command (enclosed by quotes).
|
||||
|
||||
## `defaults`
|
||||
Determines the default CLI behavior for certain CLI commands.
|
||||
|
||||
### `list_format`
|
||||
Defines how list outputs will be displayed. Equivalent to the `--format` (`-f`) flag. Accepts `csv`, `json`, `table`, `yaml`, `compact` and `markdown` formats.
|
||||
|
||||
### `console_type`
|
||||
Defines the default console type used by the [`incus console`](incus_console.md) command. Available options are:
|
||||
|
||||
- `console`: text based console
|
||||
- `vga`: graphic UI console
|
||||
|
||||
### `console_spice_command`
|
||||
Defines an alternative SPICE command to provide the VGA console used by [`incus console`](incus_console.md).
|
||||
|
||||
### `no_color`
|
||||
Disables CLI colors.
|
||||
@ -6,5 +6,6 @@
|
||||
|
||||
Add remote servers <remotes>
|
||||
Add command aliases <howto/incus_alias>
|
||||
CLI configuration file <client-config>
|
||||
/reference/manpages
|
||||
```
|
||||
|
||||
Loading…
Reference in New Issue
Block a user