# Configuration

Changed in version 2.0.

By default, gvm-tools programs are evaluating the `~/.config/gvm-tools.conf` ini style config file since version 2.0. The name of the used config file can be set using the -c/--config command line switch.

## Settings

The configuration file consists of sections, each led by a `[section]` header, followed by key/value entries separated by a `=` character. Whitespaces between key and value are ignored, i.e., `key = value` is the same as `key=value`.

Currently five sections are evaluated:

- Main section

- GMP section

- Socket section

- TLS section

- SSH section

Main Section

The main section allows changing the default connection timeout besides defining variables for Interpolation.

    [main]
    timeout = 60

GMP Section

The GMP section allows setting the default user name and password for Greenbone Management Protocol (GMP) based communication.

    [gmp]
    username=gmpuser
    password=gmppassword

Socket Section

This section is only relevant if the socket connection type is used.

The socket section allows setting the default path to the Unix Domain socket of gvmd. It must not be confused with the socket path to the redis server used by openvas.

    [unixsocket]
    socketpath=/run/gvmd/gvmd.sock

TLS Section

This section is only relevant if the TLS connection type is used.

The TLS section allows setting the default port, TLS certificate file, TLS key file and TLS certificate authority file.

    [tls]
    port=1234
    certfile=/path/to/tls.cert
    keyfile=/path/to/tls.key
    cafile=/path/to/tls.ca

SSH Section

This section is only relevant if the SSH connection type is used.

The SSH section allows setting the default SSH port, SSH user name and SSH password.

    [ssh]
    username=sshuser
    password=sshpassword
    port=2222

Comments

Configuration files may also contain comments by using the special character `#`. A comment should be placed on a separate line above or below the setting.

    [main]
    # connection timeout of 120 seconds
    timeout=120

Interpolation

The configuration file also supports the interpolation of values. It is possible to define values in the `[main]` section and reference them via a `%(<variablename>)s` syntax. Additionally, values of the same section can be referenced.

    [main]
    my_first_name=John

    [gmp]
    my_last_name=Smith
    username=%(my_first_name)s%(my_last_name)s

Using this syntax will set the gmp user name setting to `JohnSmith`.

## Example

Full example configuration:

    [main]
    # increased timeout to 5 minutes
    timeout = 300
    tls_path=/data/tls
    default_user=johnsmith

    [gmp]
    username=%(default_user)s
    password=choo4Gahdi2e

    [unixsocket]
    socketpath=/run/gvmd/gvmd.sock

    [tls]
    port=1234
    certfile=%(tls_path)s/tls.cert
    keyfile=%(tls_path)s/tls.key
    cafile=%(tls_path)s/tls.ca

    [ssh]
    username=%(default_user)s
    password=Poa8Ies1iJee