File: config.md

package info (click to toggle)
gvm-tools 25.4.5-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,480 kB
  • sloc: python: 10,611; xml: 445; makefile: 27
file content (172 lines) | stat: -rw-r--r-- 3,716 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
(config)=

# Configuration

```{versionchanged} 2.0
```

By default, {program}`gvm-tools` {ref}`programs <tools>` are evaluating the
{file}`~/.config/gvm-tools.conf`
[ini style](https://docs.python.org/3/library/configparser.html#supported-ini-file-structure)
config file since version 2.0. The name of the used config file can be set using the
{command}`-c/--config` command line switch.

## Settings

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

Currently five sections are evaluated:

- {ref}`Main section <main-section>`
- {ref}`GMP section <gmp-section>`
- {ref}`Socket section <socket-config-section>`
- {ref}`TLS section <tls-config-section>`
- {ref}`SSH section <ssh-config-section>`

(main-section)=

```{rubric} Main Section
```

The main section allows changing the default connection timeout besides
defining variables for {ref}`interpolation`.

```ini
[main]
timeout = 60
```

(gmp-section)=

```{rubric} GMP Section
```

The GMP section allows setting the default user name and password for
[Greenbone Management Protocol (GMP)](https://community.greenbone.net/t/about-the-greenbone-management-protocol-gmp-category/83)
based communication.

```ini
[gmp]
username=gmpuser
password=gmppassword
```

(socket-config-section)=

```{rubric} Socket Section
```

This section is only relevant if the {ref}`socket connection type
<socket-connection-type>` is used.

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

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

(tls-config-section)=

```{rubric} TLS Section
```

This section is only relevant if the {ref}`TLS connection type
<tls-connection-type>` is used.

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

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

(ssh-config-section)=

```{rubric} SSH Section
```

This section is only relevant if the {ref}`SSH connection type <ssh-connection-type>`
is used.

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

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

```{rubric} Comments
```

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

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

(interpolation)=

```{rubric} Interpolation
```

The configuration file also supports the [interpolation of values](https://docs.python.org/3/library/configparser.html#interpolation-of-values).
It is possible to define values in the {code}`[main]` section and reference
them via a {code}`%(<variablename>)s` syntax. Additionally, values of the
same section can be referenced.

```ini
[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:

```ini
[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
```