Skip to content
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

TCM data storages: etcd and Tarantool #4123

Merged
merged 10 commits into from
May 20, 2024
Merged

TCM data storages: etcd and Tarantool #4123

merged 10 commits into from
May 20, 2024

Conversation

p7nov
Copy link
Contributor

@p7nov p7nov commented Apr 4, 2024

Resolves #3904

  • Add a new doc page about TCM data storages
  • Fix several issues in TCM config reference

Deployment: https://docs.d.tarantool.io/en/doc/gh-3904-tcm-data-storage/reference/tooling/tcm/tcm_backend_store/

@p7nov p7nov changed the title TCM data storage: outline TCM data storages: etcd and Tarantool Apr 15, 2024
@p7nov p7nov requested a review from vaintrub May 17, 2024 04:06
@p7nov p7nov requested review from andreyaksenov and removed request for filonenko-mikhail May 17, 2024 07:01
Copy link
Contributor

@andreyaksenov andreyaksenov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, added several minor suggestions

@@ -1040,8 +1040,7 @@ The ``log`` section defines the |tcm| logging parameters.
storage
-------

The ``storage`` section defines the parameters of the configuration storage that
|tcm| uses for connected clusters.
The ``storage`` section defines the parameters of the |tcm| data storage.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

data storage

backend store connection ? I'd also add a link to the Backend store topic.

users, roles, cluster connections, settings, and other objects that you manipulate in |tcm|.
The backend store can be either an etcd or a Tarantool cluster.

Typically, the backend store works independently from |tcm|. For example, it can
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure that typicaly works good here. Maybe, we can say something about reliability to be more specific.


Typically, the backend store works independently from |tcm|. For example, it can
be the same ectd or Tarantool cluster that you use as a :ref:`centralized configuration storage <configuration_etcd>`.
This makes |tcm| stateless: all objects created or modified in its web UI are sent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are sent

Looks like sent is better for requests or smth like this. I'd use save here.

doc/reference/tooling/tcm/tcm_backend_store.rst Outdated Show resolved Hide resolved

To use an etcd cluster as a |tcm| backend store, set the ``storage.provider`` option
to ``etcd`` and specify connection parameters in ``storage.etcd.*`` options.
A minimal etcd configuration includes the storage endpoints:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal etcd configuration

Looks like an https endpoint also requires specifying storage.etcd.tls.* settings. Please double check. If yes, I'd changed all the samples to using http.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, right: local etcd without SSL params works on http.


storage.etcd.embed.enabled: true

To start |tcm| with default settings and an embedded etcd without a YAML configuration,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This way looks simpler than running with YAML config. Shouldn't it be described earlier?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's simple but secondary IMO: first comes the real-life case, and then the simple way for specific and limited use (local testing in this case)

doc/reference/tooling/tcm/tcm_backend_store.rst Outdated Show resolved Hide resolved
doc/reference/tooling/tcm/tcm_backend_store.rst Outdated Show resolved Hide resolved
workdir: node3.etcd


To set up a cluster from embedded Tarantool-based backend stores:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe, it's worth creating separate subsections for etcd and Tarantool examples inside Setting up a cluster of embedded backend stores. But this will add third-level nesting :(.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, no fourth level headings in our docs.

p7nov and others added 3 commits May 20, 2024 11:27
Co-authored-by: Andrey Aksenov <38073144+andreyaksenov@users.noreply.github.com>
@p7nov p7nov merged commit 5b0b30d into latest May 20, 2024
1 check passed
@p7nov p7nov deleted the gh-3904-tcm-data-storage branch May 20, 2024 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[TCM] How-to: TCM backend store
3 participants