Skip to content

Commit 0cb98cb

Browse files
committed
doc: add Intro to README
1 parent 8ec8a2f commit 0cb98cb

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Tarantool-based applications.
88

99
## Contents
1010

11+
* [Intro](#intro)
1112
* [Getting started](#getting-started)
1213
* [Installation](#installation)
1314
* [Build from source](#build-from-source)
@@ -28,6 +29,60 @@ Tarantool-based applications.
2829
* [Setting Tarantool configuration parameters via environment variables](#setting-tarantool-configuration-parameters-via-environment-variables)
2930
* [Commands](#commands)
3031

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+
```
3186

3287
## Getting started
3388

0 commit comments

Comments
 (0)