tarantool / tarantool/tarantool

config: add deprecation mechanism

Open
#12,033 0 comments 0 reactions 1 assignee View on GitHub

@mandesero is already working on this.

Since Mar 31, 2026.

config feature
Dominant language
Lua
Stars
3.7k
Forks
419
Avg merge
1d 23h
Merged PRs (30d)
88

Description

During #12030 we came across a fact that some of the configuration options (i.e. SSL options) are not well-designed and are likely to be removed/reworked in the future. Probably, it will be handy to have some facilities to deprecate some of the configuration options and handle it.

ssl_key_file = enterprise_edition(schema.scalar({
    type = 'string',
    deprecated = {
        since = {'3.3.4', '3.4.2', '3.5.1'},
        see = 'iproto.ssl',
        msg = 'These SSL options are used both for the server and for all of the ' ..
              'clients which makes them unsuitable to configure different keys ' ..
              'and certificates for the peers to use for connecting.',
    },
})),

The following information would be used to conform a description and issue an alert. In that case the alert should be raised.

- type: warning
  message: `iproto.listen.*.params.ssl_key_file` is deprecated since 3.3.4, 3.4.2, 3.5.1. These options are used both for the server and for all of the clients which makes them unsuitable to configure different keys and certificates for the peers to use for connecting. Consider using `iproto.ssl` instead.
  timestamp: 2025-11-17T14:37:34.649557+0300

A point to think is that it possibly deserves a separate compat option allowing to issue an error instead of the warning.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.