@@ -8,6 +8,7 @@ Tarantool-based applications.
8
8
9
9
## Contents
10
10
11
+ * [ Intro] ( #intro )
11
12
* [ Getting started] ( #getting-started )
12
13
* [ Installation] ( #installation )
13
14
* [ Build from source] ( #build-from-source )
@@ -28,6 +29,60 @@ Tarantool-based applications.
28
29
* [ Setting Tarantool configuration parameters via environment variables] ( #setting-tarantool-configuration-parameters-via-environment-variables )
29
30
* [ Commands] ( #commands )
30
31
32
+ ## Intro
33
+
34
+ ` tt ` is tarantool's instance and environment management utility and is used to develop, deploy, run and operate applications.
35
+
36
+ One of the basic concepts that ` tt ` introduces is "environment". The "environment" is
37
+ an isolated workspace for the tarantool application suite.
38
+ [ ` tt.yaml ` configuration file] ( #configuration ) defines the root and configuration of
39
+ the * environment* . When ` tt ` is installed from a repository by a package manager (` apt ` ,
40
+ ` rpm ` , ...) a "system" config file (` /etc/tarantool/tt.yaml ` ) is included which forms
41
+ the "system" environment - the case when ` tt ` replaces the
42
+ [ ` tarantoolctl ` ] ( https://github.com/tarantool/tt/blob/master/doc/examples.md#transition-from-tarantoolctl-to-tt ) .
43
+ In case we want to form a local environment (very convenient during development), we
44
+ use a "local" ` tt.yaml ` generated with the [ ` tt init ` ] ( #creating-tt-environment )
45
+ command. In this way, the user/developer can have a large number of different
46
+ "environments" in the system in which different versions of both ` tarantool ` /` tt ` and
47
+ the applications being developed will be used.
48
+
49
+ The example of a typical "environment":
50
+
51
+ ``` mermaid
52
+
53
+ C4Component
54
+
55
+ Container_Boundary(env, "Environment") {
56
+ Component(cfg, "tt.yaml")
57
+
58
+ Container(bin, "bin", "tt, tt-ee, tarantool, tarantool-ee")
59
+ Container(modules, "modules", "ext_module_1, ext_module_2")
60
+ Container(locrep, "LocalRepos", "distfiles, rocks")
61
+ Container_Boundary(enabled, "instances.enabled") {
62
+ Component(app1, "app.lua")
63
+ Container(app2, "app2", "init.lua, ...")
64
+ Container(multi_inst_app, "multi instances app", "instances.yml, ...")
65
+ }
66
+ Container_Boundary(var, "var") {
67
+ Container_Boundary(run, "run") {
68
+ Container(app_run, "app_name", "app_name.pid, app_name.socket")
69
+ }
70
+ Container_Boundary(log, "log") {
71
+ Container(app_log, "app_name", "app_name.log")
72
+ }
73
+ Container_Boundary(lib, "lib") {
74
+ Container(app_lib, "app_name", "xxx.snap, xxx.xlog")
75
+ }
76
+ }
77
+ }
78
+
79
+ UpdateElementStyle(env, $borderColor="#6AA3E9")
80
+ UpdateElementStyle(enabled, $borderColor="#6AA3E9")
81
+ UpdateElementStyle(var, $borderColor="#6AA3E9")
82
+ UpdateElementStyle(run, $borderColor="#6AA3E9")
83
+ UpdateElementStyle(log, $borderColor="#6AA3E9")
84
+ UpdateElementStyle(lib, $borderColor="#6AA3E9")
85
+ ```
31
86
32
87
## Getting started
33
88
0 commit comments