Skip to content
Snippets Groups Projects
  1. Aug 23, 2023
    • Alexander Turenko's avatar
      test/config: fix password format in etcd example · 7aceb82b
      Alexander Turenko authored
      The instance config schema was changed in commit 4bb1eb0e ("config:
      remove hashes from credentials.password"), but an example of a config
      for etcd was not updated.
      
      The example is tested on Tarantool EE, so we should update it to fix the
      testing failure.
      
      Part of #8967
      
      NO_DOC=It is a fix of the testing problem.
      NO_CHANGELOG=see NO_DOC
      NO_TEST=It is a fix of a test in fact.
      7aceb82b
    • Mergen Imeev's avatar
      config: introduce example for sharding · 6cfb54f7
      Mergen Imeev authored
      Follow-up #9007
      
      NO_DOC=Will be described when full support for vshard is introduced.
      NO_CHANGELOG=Addition of an example.
      6cfb54f7
  2. Aug 21, 2023
    • Gleb Kashkin's avatar
      config: remove hashes from credentials.password · 4bb1eb0e
      Gleb Kashkin authored
      In the initial credentials schema, the hashes were supposed to give a
      way to have passwords out of plain-text config file.
      Later, it was decided to remove this feature, because this way of
      authorisation is inferior to the one with auth service and tokens,
      but the latter is out of scope for current config development.
      This patch removes `credentials.password.{sha1,sha256}` and moves
      plain password from `credentials.password.plain` to `credentials.password`.
      
      Part of #8967
      
      NO_DOC=tarantool/doc#3544 links the most actual schema,
             no need to update the issue.
      NO_CHANGELOG=removed feature was not released yet
      4bb1eb0e
  3. Jul 04, 2023
    • Alexander Turenko's avatar
      config: restrict iproto.advertise.client validation · ce9a6109
      Alexander Turenko authored
      The following syntax variants are fobidden now:
      
      * user@
      * user:pass@
      * user@host:port
      * user:pass@host:port
      
      Only host:port is allowed (inet URI or unix socket URI).
      
      The idea is that we shouldn't distribute login/password information
      using the configuration, so it is better to explicitly forbid such
      usage of the option.
      
      Closes #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      ce9a6109
    • Alexander Turenko's avatar
      config: add replicaset.failover = "election" · 6b3eb60c
      Alexander Turenko authored
      This failover mode enables automatic leader election on a replicaset.
      Assigning a leader manually (`leader` option) and assigning RO/RW mode
      (`database.mode` option) are forbidden in this failover mode.
      
      Configuration example:
      
      ```yaml
      replication:
        failover: election         # !!
      
      groups:
        group-001:
          replicasets:
            replicaset-001:
              instances:
                instance-001: {}
                instance-002: {}
                instance-003: {}
      ```
      
      All the replicaset instances are so called candidates by default: they
      can vote for a leader, they can be elected as a leader. However, it is
      possible to set `replicaset.election_mode` to 'voter', 'off' or
      'manual'. See more detailed description in the box_cfg applier comments
      in the code and in the box.cfg() options documentation [1].
      
      Note: Unlike box.cfg()'s option 'election_mode', the
      replication.election_mode = "off" forces the instance to be read-only
      (if failover = "election" is enabled). box.cfg() call has no cluster
      configuration and it doesn't know, whether the given replicaset is
      managed by the built-in election algorithm or an external coordinator.
      
      The election failover may be used to improve cluster's availability.
      
      [1]: https://www.tarantool.io/en/doc/latest/reference/configuration/#cfg-replication-election-mode
      
      Part of #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      6b3eb60c
    • Alexander Turenko's avatar
      config: add replicaset.failover = "manual" · 4fab39bb
      Alexander Turenko authored
      This failover mode allows to set a leader for a replicaset by its
      instance name instead of per-instance database.mode option. For example:
      
      ```yaml
      replication:
        failover: manual           # !!
      
      groups:
        group-001:
          replicasets:
            replicaset-001:
              leader: instance-001 # !!
              instances:
                instance-001: {}
                instance-002: {}
                instance-003: {}
      ```
      
      The "manual" failover mode doesn't allow several leaders in a
      replicaset. If it is desired, use the "off" failover mode.
      
      The "manual" mode doesn't perform a proper leader switching at the
      moment. An administrator should resign the old leader (by unsetting the
      leader option or setting it to `null`), wait till all the data arrives
      to the upcoming leader and then configure it as the new leader.
      
      The proper leader switching is subject of a future work. Also, the next
      commit will add replicaset.failover = "election", which handles such
      problems.
      
      Part of #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      4fab39bb
    • Alexander Turenko's avatar
      config: start singleton instance in RW by default · 8ee2b0d8
      Alexander Turenko authored
      Enabling read-write by default is unsafe for an instance in a replicaset
      with more than one instance. The only meaningful default here is
      read-only.
      
      On the other hand, a signleton instance (the only one in its replicaset)
      almost always started in the read-write mode in practice.
      
      Let's use these values as defaults for these situations.
      
      The name of the option is changed from `rw` (boolean) to `mode` (enum
      with allowed values `'ro'` and `'rw'`). We agreed on the enum after a
      long controversy whether it should be `ro` or `rw`.
      
      Part of #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      8ee2b0d8
    • Alexander Turenko's avatar
      config: split iproto.advertise to several options · 345d52b8
      Alexander Turenko authored
      In brief:
      
      * client -- for external clients
      * peer -- for connections within the cluster, in particular for replicas
      * sharding -- for routers and a rebalancer
      
      See the instance_config.lua file for the details.
      
      Part of #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      345d52b8
    • Alexander Turenko's avatar
      config: accept user[:pass]@ in iproto.advertise · b3beba61
      Alexander Turenko authored
      The following new syntax variants are introduced for `iproto.advertise`.
      
      * `user@` -- use the given user, a password from the `credentials`
        section and `host:port` from `iproto.listen`
      * `user:pass@` -- use the given user and password, use `host:port` from
        `iproto.listen`
      * `user@host:port` -- use the given user, host and port, use a password
        from the `credentials` section
      
      It allows to don't repeat the same information in different places of
      the config.
      
      The `test_no_advertise_*` test cases are generalized: now the same
      boilerplate code is used for these and new cases.
      
      The `test.luatest_helpers.server` util gains ability to parse all the
      new `iproto.advertise` variants.
      
      The replicaset and etcd configuration examples are updated to use the
      `user@` syntax.
      
      Part of #8810
      
      NO_DOC=the old behavior was not released, the documentation request will
             be registered manually
      NO_CHANGELOG=see NO_DOC
      b3beba61
  4. Jun 22, 2023
    • Mergen Imeev's avatar
      config: add configuration examples · a2ad2709
      Mergen Imeev authored
      This patch adds configuration examples. Although the configuration
      module will be introduced later, the examples can already be tested
      using the instance_config and cluster_config modules.
      
      Closes #8778
      
      NO_DOC=will be added later
      NO_CHANGELOG=will be added later
      a2ad2709
  5. Jun 19, 2023
    • Igor Munkin's avatar
      main: introduce new CLI options for config module · 9db7d6c9
      Igor Munkin authored
      
      There are two new options introduced in Tarantool CLI:
      * --name (-n) to specify instance name to be started. The option can be
        omitted in case TT_INSTANCE_NAME environment variable is set.
      * --config (-c) to specify the path to the config file. If the option
        is not set the value of TT_CONFIG environment variable is considered.
      
      Closes #8613
      
      Co-authored-by: default avatarSergey Bronnikov <sergeyb@tarantool.org>
      
      @TarantoolBot document
      Title: introduce new CLI options for conf module
      
      There are two new options introduced in Tarantool CLI:
      * --name (-n) to specify instance name to be started. The option can be
        omitted in case TT_INSTANCE_NAME environment variable is set.
      * --config (-c) to specify the path to the config file. If the option
        is not set the value of TT_CONFIG environment variable is considered.
      9db7d6c9
  6. May 03, 2023
  7. Feb 27, 2023
  8. Aug 24, 2022
  9. Aug 09, 2022
  10. Oct 11, 2021
  11. Sep 14, 2021
  12. Apr 21, 2021
  13. Mar 25, 2021
  14. Feb 12, 2021
  15. Jan 21, 2021
  16. Dec 22, 2020
  17. Mar 26, 2020
  18. Jan 10, 2020
  19. Aug 06, 2019
    • Vladimir Davydov's avatar
      rfc: vylog ups and downs · 27436b40
      Vladimir Davydov authored
      As per request by Kostja, commit an RFC document with a brief history of
      the vinyl metadata log infrastructure, issues it was intended to solve,
      problems we are facing now, and possible ways to solve them.
      27436b40
  20. Jul 11, 2019
  21. Feb 22, 2019
  22. Feb 12, 2019
  23. Feb 11, 2019
    • Konstantin Belyavskiy's avatar
      replication: do not fetch records twice · ae938677
      Konstantin Belyavskiy authored
      This is a draft paper covering following topics:
      1. Draft protocol for discovering and maintaining network topology
      in case of large arbitrary network.
      2. List of required changes to support this feature.
      3. Open questions and alternatives.
      
      Changes in V2:
      Based or Vlad's review
      1. Rewrite couple sections to make it more clear.
      2. Clarify with more details and add examples.
      3. Fixed error.
      
      RFC for #3294
      ae938677
  24. Jul 02, 2018
  25. Jun 29, 2018
  26. Apr 06, 2018
    • Konstantin Osipov's avatar
      rfc: add rfc template · 51411a7a
      Konstantin Osipov authored
      Introducing a formal, trackable process for server enhancement.
      
      Before working on a complex feature, please write an RFC document,
      describing what and how you see changed, and get it approved.
      
      All historical RFCs are kept in doc/rfc.
      51411a7a
  27. Sep 19, 2017
  28. Sep 12, 2017
  29. Apr 05, 2017
  30. Jul 05, 2016
  31. Jul 04, 2016
Loading