Skip to content

[Config] Storing configuration in 'etcd' #3658

Closed
@andreyaksenov

Description

@andreyaksenov

Product: Tarantool
Since: 3.0
Root document: https://docs.d.tarantool.io/en/doc/3.0-config/concepts/configuration/configuration_etcd/

SME: @ Totktonada

Details

Create a guide that shows how to store Tarantool config in etcd.
See the Хранение конфигурации в etcd section here: https://www.notion.so/tarantool/Getting-Started-with-3-0-03d461efc01c43dd9e09f2bc4903717b

Notes from @ Totktonada:

  • The idea of a centralized configuration available in Tarantool EE (https://github.com/tarantool/tarantool-ee/issues/476).
  • Etcd source: content of the etcd keys (yaml), how the keys are searched, priority of the keys, how the keys are merged.
  • Etcd source: config.reload option and when the configuration is reloaded.
  • Recipe: how to work with etcd.
  • Recipe: how to start an instance without a local file config in EE (configure etcd source from env variables).

Schema

https://github.com/tarantool/tarantool/blob/d79e7a3c05fb6d8d638e989093d82293f2f894b2/src/box/lua/config/instance_config.lua#L394

Tests

https://github.com/tarantool/tarantool/blob/d79e7a3c05fb6d8d638e989093d82293f2f894b2/test/config-luatest/instance_config_schema_test.lua#L88

Environment variables

tarantool --help-env-list | grep TT_CONFIG
| TT_CONFIG                                   | string         | nil                                           | Community Edition  |
| TT_CONFIG_ETCD_ENDPOINTS                    | array          | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_HTTP_REQUEST_TIMEOUT         | number         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_HTTP_REQUEST_UNIX_SOCKET     | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_PASSWORD                     | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_PREFIX                       | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_SSL_CA_FILE                  | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_SSL_CA_PATH                  | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_SSL_SSL_KEY                  | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_SSL_VERIFY_HOST              | boolean        | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_SSL_VERIFY_PEER              | boolean        | nil                                           | Enterprise Edition |
| TT_CONFIG_ETCD_USERNAME                     | string         | nil                                           | Enterprise Edition |
| TT_CONFIG_RELOAD                            | string         | auto                                          | Community Edition  |
| TT_CONFIG_VERSION                           | string         | nil                                           | Community Edition  |

Examples in other docs

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions