-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tarantool config storage #4056
Tarantool config storage #4056
Conversation
8dc9157
to
12f10f9
Compare
f8e49d2
to
3219f51
Compare
b16f435
to
462dedd
Compare
053bebe
to
5e7e9e3
Compare
5e7e9e3
to
4262a0b
Compare
4262a0b
to
4c38036
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job; some notes from my side regarding lack of explanations for some conceptual and specific things.
doc/concepts/configuration.rst
Outdated
|
||
Tarantool enables you to store configuration data in one reliable place using `etcd <https://etcd.io/>`_. | ||
Tarantool enables you to store configuration data in one reliable place, for example, a Tarantool or etcd-based configuration storage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are not for example
- they are exact two supported ways of centralized config. Let's explain this clear from the start.
|
||
.. literalinclude:: /code_snippets/snippets/config/instances.enabled/etcd/config.yaml | ||
3. Configure a connection to the storage by providing a local YAML configuration with an endpoint address and key prefix in the ``config`` section: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: there can also be other connection parameters, maybe say it in a more general wording?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sample shows this minimum configuration and works more like a demo version of a centralized storage.
@@ -1,94 +1,228 @@ | |||
.. _configuration_etcd: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we change this anchor to reflect the new content?
|
||
Tarantool enables you to store configuration data in one place using a Tarantool or etcd-based storage. | ||
With a :ref:`local YAML configuration <configuration_file>`, you need to make sure that all cluster instances use identical configuration files: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really like the explanation about the YAML file and the diagram with files on this page. Its a practical information for those who use local file config, while this page is not for them.
I think the proper place for the first diagram is the Configuration in a file section.
The centralized diagram can be used both on the general Configuration (Centralized section) page and here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the top block Configuration servers
is left-aligned? I think the pic will look better with this block centered.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To keep the space for the potential diagram with TCM/tt/other tools (for example, tarantool_config_centralized_tcm.png
, which is not used yet).
|
||
.. _centralized_configuration_storage_tarantool_interact: | ||
|
||
Interacting with the storage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why this section is here. I expected the section about setting up etcd storage right here.
This content seems relevant after at least one config is published to the storage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- dropped the
Interacting with the storage
andWatching configuration updates
sections - moved the net.box-related content to a reference page
- created a new
Publishing configuration using the ‘config’ module
section that acts as an entry point for theconfig.storage
API
Publishing a cluster's configuration to etcd | ||
-------------------------------------------- | ||
Publishing a cluster's configuration | ||
------------------------------------ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An intro sentence about ways to publish?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope, section names are self-explanatory and the intro won't add any additional info.
|
||
.. code-block:: console | ||
|
||
$ tt cluster publish "http://localhost:2379/example" instances.enabled/app/cluster.yaml | ||
$ tt cluster publish "http://localhost:2379/myapp" source.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that credentials are required in most cases, so let's maybe show them to save readers some time on reading the tt cluster reference?
|
||
|
||
.. _etcd_publishing_configuration_etcdctl: | ||
.. _centralized_configuration_storage_publish_config_etcdctl: | ||
|
||
Publishing configuration using etcdctl | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This maybe obvious but I'd start this section from an intro that it's only for etcd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because in the previous section we said that there is no difference for tt between etcd and Tarantool storage :)
Somebody can be confused.
Configuring connection to a storage | ||
----------------------------------- | ||
|
||
To use a centralized cluster's configuration, you need to provide connection settings in a local configuration file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is where I would put a thought from your intro: despite we are talking about the centralized config, it's the reader's job to keep these files consistent and available on all cluster hosts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This reads as centralized cluster's. Maybe rephrase to
To use a configuration from a centralized storage for your cluster...
?
de3c76c
to
fd572a0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved; just a couple more questions.
Tarantool-based storage | ||
~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
To make a replica set act as a configuration storage, use the built-in ``config.storage`` :ref:`role <configuration_reference_roles_options>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this replicaset be used for storing data at the same time? If not, this should be stated explicitly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think, it can - it's just a regular replica set.
Configuring connection to a storage | ||
----------------------------------- | ||
|
||
To use a centralized cluster's configuration, you need to provide connection settings in a local configuration file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This reads as centralized cluster's. Maybe rephrase to
To use a configuration from a centralized storage for your cluster...
?
fd572a0
to
3ffa4fd
Compare
Updated topics:
Configuration overview
.New and updated samples used in topics and reference pages:
etcd
) to this folder and renamed it toconfig_etcd
.etcd_full
sample. The updatedconfig_etcd
sample now includes additional settings (auth and timeout).etcd_config_storage.sh
script for quick setting up a protected etcd storage.tarantool_config_storage
sample that shows how to set up a Tarantool-based storage.config_storage
sample that shows how to connect to the Tarantool-based storage.source.yaml
file to a tt environment directory. Can be used to testtt cluster publish
.What's new in 3.0:
literalinclude
settings in a sample inside Centralized configuration (EE).Reference:
config.storage
API.