Skip to content

Commit 0f6ca8f

Browse files
committed
Add TCM cluster connecting and configuration
1 parent 7fb9492 commit 0f6ca8f

File tree

7 files changed

+264
-8
lines changed

7 files changed

+264
-8
lines changed

doc/reference/tooling/tcm/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@
33
Tarantool Cluster Manager
44
=========================
55

6+
.. ee_note_tcm_start
7+
68
.. admonition:: Enterprise Edition
79
:class: fact
810

911
|tcm_full_name| is a part of the `Enterprise Edition <https://www.tarantool.io/compare/>`_.
1012

13+
.. ee_note_tcm_end
14+
1115
|tcm_full_name| (|tcm|) is a web-based visual tool for configuring, managing, and
1216
monitoring Tarantool EE clusters. It provides a GUI for working with clusters
1317
and individual instances, from monitoring their state to executing commands interactively
@@ -31,6 +35,8 @@ to read data. LDAP authorization is supported as well.
3135
.. toctree::
3236
:maxdepth: 1
3337

38+
tcm_connect_clusters
39+
tcm_cluster_config
3440
tcm_access_control
3541
tcm_audit_log
3642
tcm_configuration

doc/reference/tooling/tcm/tcm_access_control.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
Access control
44
==============
55

6-
.. admonition:: Enterprise Edition
7-
:class: fact
8-
9-
|tcm_full_name| is a part of the `Enterprise Edition <https://www.tarantool.io/compare/>`_.
6+
.. include:: index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
109

1110
|tcm_full_name| features a role-based access control system. It enables flexible
1211
management of access to |tcm| functions, connected clusters, and stored data.

doc/reference/tooling/tcm/tcm_audit_log.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
Audit log
44
=========
55

6-
.. admonition:: Enterprise Edition
7-
:class: fact
8-
9-
|tcm_full_name| is a part of the `Enterprise Edition <https://www.tarantool.io/compare/>`_.
6+
.. include:: index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
109

1110
|tcm_full_name| provides the audit logging functionality for tracking user activity
1211
and security-related events, such as:
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
.. _tcm_configuring_clusters:
2+
3+
Configuring clusters
4+
====================
5+
6+
.. include:: index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
10+
|tcm_full_name| features a built-in text editor for Tarantool EE cluster configurations.
11+
12+
When you :ref:`connect a cluster <tcm_connect_cluster>` to |tcm|, it gains access
13+
to the cluster's centralized configuration storage: an etcd or a Tarantool cluster.
14+
|tcm| has both read and write access to the cluster configuration. This enables
15+
the configuration editor to work in two ways:
16+
17+
* If a configuration already exists, the editor shows its current state.
18+
* When you change the configuration in the editor and apply changes, they
19+
are sent to the configuration storage.
20+
21+
To learn how to write Tarantool cluster configurations, see :ref:`configuration`.
22+
23+
.. _tcm_configuring_clusters_manage:
24+
25+
Managing a cluster's configuration
26+
----------------------------------
27+
28+
The configuration editor is available on the **Cluster** > **Configuration** page.
29+
30+
To start managing a cluster's configuration, select this cluster in the **Cluster**
31+
drop-down and go to the **Configuration** page.
32+
33+
A cluster configuration in |tcm| can consist of one or multiple YAML files.
34+
When there are multiple files, they are all considered parts of a single cluster
35+
configuration. You can use this for structuring big cluster configurations.
36+
All files that form the configuration of a cluster are listed on the left side
37+
of the **Cluster configuration** page.
38+
39+
To add a cluster configuration file, click the plus icon (**+**) below the page title.
40+
41+
To open a configuration file in the editor, click its name in the file list.
42+
43+
To delete a cluster configuration file, click the **Delete** button beside the filename.
44+
45+
To download a cluster configuration file, click the **Download** button beside the filename.
46+
47+
.. warning::
48+
49+
All configuration changes are discarded when you leave the **Cluster configuration** page.
50+
:ref:`Save <tcm_configuring_clusters_save>` the configuration if you want to continue
51+
editing it later or :ref:`apply <tcm_configuring_clusters_apply>` it
52+
to start using it on the cluster.
53+
54+
.. _tcm_configuring_clusters_save:
55+
56+
Saving a configuration draft
57+
----------------------------
58+
59+
|tcm| can store configurations drafts. If you want to leave an unfinished configuration
60+
and return to it later, save it in |tcm|. Saving applies to whole cluster configurations:
61+
it records the edits of all files, file additions, and file deletions.
62+
63+
To save a cluster configuration draft after editing, click **Save** in the **Cluster configuration** page.
64+
65+
All unsaved changes are discarded when you leave the **Cluster configuration** page.
66+
67+
If you have a saved configuration draft, you can reset the changes for each of its
68+
files individually. A reset returns the file into the state that is currently used
69+
by a cluster (that is, saved in the configuration storage). If you reset a newly
70+
added file, it is deleted.
71+
72+
To reset an saved configuration file, click the **Reset** button beside the filename.
73+
74+
75+
.. _tcm_configuring_clusters_apply:
76+
77+
Applying a configuration
78+
------------------------
79+
80+
When you finish editing a configuration and it's ready to use, apply the updated
81+
configuration to the cluster. To apply a cluster configuration, click **Apply**
82+
on the **Cluster configuration** page. This sends the new configuration to the cluster
83+
configuration storage, and it comes into effect upon the cluster configuration reload.
84+
85+

doc/reference/tooling/tcm/tcm_configuration.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Configuration
44
=============
55

6+
7+
.. include:: index.rst
8+
:start-after: ee_note_tcm_start
9+
:end-before: ee_note_tcm_end
10+
611
.. TODO: write specific configuration tutorials for http, security, logging, and so on. (https://github.com/tarantool/doc/issues/3545)
712
813
This topic describes how to configure |tcm_full_name|. For the complete

doc/reference/tooling/tcm/tcm_configuration_reference.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
Configuration reference
44
=======================
55

6+
.. include:: index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
610
This topic describes :ref:`configuration parameters <tcm_configuration>` of |tcm_full_name|.
711

812
There are the following groups of |tcm| configuration parameters:
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
.. _tcm_connect_clusters:
2+
3+
Сonnecting clusters
4+
===================
5+
6+
.. include:: index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
10+
|tcm_full_name| works with clusters that:
11+
12+
* run on Tarantool EE 3.0 or later
13+
* use :ref:`centralized configuration <configuration>` stored in etcd or another Tarantool cluster.
14+
15+
A single |tcm| installation can have multiple connected clusters. A connection to
16+
|tcm| doesn't affect the cluster's functioning. You can connect a cluster to any number
17+
of different |tcm| installations, or disconnect from them on the fly.
18+
19+
There are two ways to add a cluster to |tcm|:
20+
21+
- Connect an existing cluster.
22+
- Add a new cluster and :ref:`write its configuration <tcm_cluster_config>` from scratch in the |tcm| web UI.
23+
24+
.. note::
25+
26+
In the latter case, you need to deploy Tarantool and start the cluster
27+
instances using the :ref:`tt-cli` or another suitable way.
28+
29+
.. _tcm_connect_clusters_parameters:
30+
31+
Connection parameters
32+
---------------------
33+
34+
When connecting a cluster to |tcm|, you need to provide two sets of connection parameters:
35+
for the cluster instances and for the centralized configuration storage.
36+
37+
Configuration storage connection
38+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39+
40+
The cluster configuration can be stored in either an :ref:`etcd <configuration_etcd>`
41+
cluster or a separate Tarantool-based storage. In both cases, the following connection
42+
parameters are required:
43+
44+
* A key prefix used to identify the cluster in the configuration storage.
45+
A prefix must be unique for each cluster in storage.
46+
* URIs of all instances of the configuration storage.
47+
* The credentials for accessing the configuration storage: an `etcd user <https://etcd.io/docs/v3.5/op-guide/authentication/rbac/>`__
48+
or a :ref:`Tarantool user <authentication>` and .
49+
50+
Additionally, if SSL or TLS encryption is enabled for the configuration storage,
51+
provide the corresponding encryption configuration: keys, certificates, and other
52+
parameters. For the complete list of parameters, consult the `etcd documentation <https://etcd.io/docs/v3.5/op-guide/configuration/#security>`__
53+
or Tarantool :ref:`enterprise-iproto-encryption`.
54+
55+
Cluster connection
56+
~~~~~~~~~~~~~~~~~~
57+
58+
For interaction with the cluster instances, |tcm| needs the following access parameters:
59+
60+
* A :ref:`Tarantool user <authentication>` that exists in the cluster and their password.
61+
* An :ref:`SSL configuration <enterprise-iproto-encryption>` if the traffic encryption
62+
is enabled on the cluster.
63+
64+
Managing connected clusters
65+
---------------------------
66+
67+
Administrators can add new clusters, edit, and remove existing ones from |tcm|.
68+
69+
Connected clusters are listed on the **Clusters** page.
70+
71+
.. _tcm_connect_clusters_connect_preconf:
72+
73+
Connecting a pre-configured cluster
74+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75+
76+
If you already have a cluster and want connect it to |tcm|,
77+
follow these steps:
78+
79+
#. Go to **Clusters** and click **Add**.
80+
#. Fill in the general cluster information:
81+
82+
* Specify an arbitrary name.
83+
* Optionally, provide a description and select a color to mark this cluster in |tcm|.
84+
* Optionally, enter the URLs of cluster instances.
85+
86+
#. Provide the details of the cluster configuration storage:
87+
88+
* Storage type: **etcd** or **tarantool**.
89+
* The **Prefix** specified in the cluster configuration.
90+
* The URIs of the configuration storage instances.
91+
* The credentials for accessing the configuration storage.
92+
* The SSL/TLS parameters if the connection encryption is enabled on the storage.
93+
94+
#. Provide the credentials for accessing the cluster: a Tarantool user's name, their password,
95+
and SSL parameters in case :ref:`traffic encryption <enterprise-iproto-encryption>`
96+
is enabled on the cluster.
97+
98+
.. _tcm_connect_clusters_connect_new:
99+
100+
Adding a new cluster
101+
~~~~~~~~~~~~~~~~~~~~
102+
103+
If you don't have a cluster yet, you can add one in |tcm| and write its configuration
104+
from scratch using the :ref:`built-in configuration editor <tcm_configuring_clusters>`.
105+
106+
.. important::
107+
108+
When adding a new cluster, you need to have a storage for its configuration up
109+
and running so that |tcm| can connect to it. Cluster instances can be deployed later.
110+
111+
To add a new cluster:
112+
113+
#. Go to **Clusters** and click **Add**.
114+
#. Fill in the general cluster information:
115+
116+
* Specify an arbitrary name.
117+
* Optionally, provide a description and select a color to mark this cluster in |tcm|.
118+
* Optionally, enter the URLs of cluster instances.
119+
120+
#. Select the type of the cluster configuration storage: **etcd** or **tarantool**.
121+
#. Define a unique **Prefix** for identifying this cluster in the configuration storage.
122+
#. Provide the connection details for the cluster configuration storage:
123+
124+
* The URIs of configuration storage instances.
125+
* The credentials for accessing the configuration storage.
126+
* The SSL/TLS parameters if the connection encryption is enabled on the storage.
127+
128+
#. Provide the cluster credentials: a username, a password, and SSL parameters in
129+
case :ref:`traffic encryption <enterprise-iproto-encryption>` is enabled on
130+
the cluster.
131+
132+
Once you add the cluster:
133+
134+
* Set up the cluster configuration using the |tcm| :ref:`configuration editor <tcm_configuring_clusters>`.
135+
* Deploy Tarantool on the cluster nodes using the :ref:`tt-cli` or other suitable tools.
136+
* Start the cluster using the :ref:`tt-cli` or other suitable tools.
137+
138+
.. _tcm_connect_clusters_edit:
139+
140+
Editing a connected cluster
141+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
142+
143+
To edit a connected cluster, go to **Clusters** and click **Edit** in the **Actions**
144+
menu of the corresponding table row.
145+
146+
.. _tcm_connect_clusters_disconnect:
147+
148+
Disconnecting a cluster
149+
~~~~~~~~~~~~~~~~~~~~~~~
150+
151+
To disconnect a cluster from |tcm|, go to **Clusters** and click **Disconnect**
152+
in the **Actions** menu of the corresponding table row.
153+
154+
.. note::
155+
156+
Disconnecting a cluster does not affect its functioning. The only
157+
thing that is changed is that it's no longer shown in |tcm|.
158+
You can connect this cluster again at any time.

0 commit comments

Comments
 (0)