-
Notifications
You must be signed in to change notification settings - Fork 43
Description
Related dev. issue(s): tarantool/tarantool#9385
Related doc. issue(s): #3665, https://github.com/tarantool/enterprise_doc/issues/225
Product: Tarantool
Since: 3.0
Root document:
- https://www.tarantool.io/en/doc/latest/concepts/configuration/ (including env vars)
- https://www.tarantool.io/en/doc/latest/reference/configuration/configuration_reference/
- https://www.tarantool.io/en/doc/latest/how-to/replication/
- All config samples: https://github.com/tarantool/doc/tree/latest/doc/code_snippets/snippets
SME: @ totktonada, @ ImeevMA
Details
The config options iproto.listen
, iproto.advertise.peer
and
iproto.advertise.sharding
now have a new format.
The iproto.listen
config option now has the following format:
iproto:
listen:
- uri: <string>
params:
transport: <'plain' or 'ssl'>
ssl_ca_file: <string>
ssl_cert_file: <string>
ssl_ciphers: <string>
ssl_key_file: <string>
ssl_password: <string>
ssl_password_file: <string>
- uri: <string>
params:
transport: <'plain' or 'ssl'>
ssl_ca_file: <string>
ssl_cert_file: <string>
ssl_ciphers: <string>
ssl_key_file: <string>
ssl_password: <string>
ssl_password_file: <string>
...
The iproto.listen
config option is now an array, and its elements are
records
that can only have a required uri
field and an optional
params
field.
The uri
field is of type string
and must be a single valid URI. The
URI cannot contain parameters, login and password.
The params
field is a record
with the fields transport
,
ssl_ca_file
, ssl_cert_file
, ssl_ciphers
, ssl_key_file
,
ssl_password
, ssl_password_file
. The transport
field can have one
of two values: plain
or ssl
, the default is plain
. If transport
is set to plain
, no additional fields are required. When transport
is set to ssl
, the fields ssl_key_file
and ssl_cert_file
are
required, and the remaining fields are optional.
The iproto.advertise.peer
and iproto.advertise.sharding
now have the
following format:
iproto:
advertise:
<'peer' or 'sharding'>:
uri: <string>
login: <string>
password: <string>
params:
transport: <'plain' or 'ssl'>
ssl_ca_file: <string>
ssl_cert_file: <string>
ssl_ciphers: <string>
ssl_key_file: <string>
ssl_password: <string>
ssl_password_file: <string>
The iproto.advertise.peer
and iproto.advertise.sharding
are now
records
. All of their fields are optional, however, if the params
field can be set only if the uri
field is set and the password
field
can be set only if the login
field is set.
The uri
field is of type string
and must be a single valid URI.
The URI cannot contain parameters, login and password. If the uri
and
params
fields are missing, the appropriate iproto.listen
element is
selected. An element is eligible if, after parsing its url
field using
require('uri').parse()
, the ipv4
result field is not equal to
'0.0.0.0'
, the ipv6
result field is not equal to '::'
, and the
service
result field is not equal to '0'
.
The login
and password
fields are of type string
.
For description of the params
field see description of
iproto.listen
.
Requested by @ImeevMA in tarantool/tarantool@1247f47.