Конфигурация
Основной артефакт, определяющий окружение tt и различные аспекты его работы – это конфигурационный файл.
Его можно создать с помощью команды tt init. В режиме
запуска по умолчанию файл создается в текущем каталоге, который
становится корнем окружения.
По умолчанию конфигурационный файл называется tt.yaml и находится в корневом каталоге окружения tt.
Расположение зависит от режима запуска.
Имя и расположение конфигурационного файла можно задать явно следующими способами:
- Глобальный параметр
-c/--cfg. - Переменная окружения
TT_CLI_CFG.
Переменная TT_CLI_CFG имеет более низкий приоритет, чем параметр --cfg.
Конфигурационный файл tt - это YAML-файл со следующей структурой:
env:instances_enabled: path/to/available/applicationsbin_dir: path/to/bin_dirinc_dir: path/to/inc_dirrestart_on_failure: booltarantoolctl_layout: boolmodules:directory: path/to/modules/dirapp:run_dir: path/to/run_dirlog_dir: path/to/log_dirwal_dir: path/to/wal_dirvinyl_dir: path/to/vinyl_dirmemtx_dir: path/to/memtx_dirrepo:rocks: path/to/rocksdistfiles: path/to/installee:credential_path: path/to/filetemplates:- path: path/to/app/templates1- path: path/to/app/templates2
-
instances_enabled- каталог, в котором хранятся экземпляры. Значение по умолчанию:instances.enabled. -
bin_dir- каталог для хранения исполняемых файлов. Значение по умолчанию:bin. -
inc_dir- базовый каталог для хранения заголовочных файлов. Они помещаются в подкаталогincludeвнутри указанного каталога. Значение по умолчанию:include. -
restart_on_failure– перезапуск экземпляра при сбое:trueилиfalse. Значение по умолчанию:false. -
tarantoolctl_layout– использование структуры файлов, совместимой с устаревшей утилитойtarantoolctl: управляющие сокеты,.pid-файлы, файлы журналов. Значение по умолчанию:false.
directory– каталог, в котором хранятся внешние модули.
run_dir– каталог для рабочих артефактов экземпляра, таких как консольные сокеты или PID-файлы. Значение по умолчанию:var/run.log_dir– каталог для хранения файлов журналов. Значение по умолчанию:var/log.wal_dir– каталог для хранения файлов журнала упреждающей записи (.xlog). Значение по умолчанию:var/lib.memtx_dir- каталог, в котором memtx хранит файлы снимков (.snap). Значение по умолчанию:var/lib.vinyl_dir- каталог для хранения файлов или подкаталогов vinyl. Значение по умолчанию:var/lib.
-
rocks- каталог для хранения файлов rock-пакетов. -
distfiles- каталог для хранения установочных файлов.
-
credential_path- путь к файлу с учетными данными, используемыми для загрузки Tarantool Enterprise Edition (учетные данные клиентской зоны Tarantool). Файл должен содержать имя пользователя и пароль, каждый на отдельной строке. Пример приведен в описании команды tt install.
path– путь к шаблонам приложений, используемым для создания приложений с помощью команды tt create. Может быть указан более одного раза.
Режим запуска tt определяет рабочий каталог и способ поиска конфигурационного файла. Существует три режима запуска:
default(по умолчанию);system(системный);local(локальный).
Глобальный параметр: нет
Конфигурационный файл: поиск выполняется от текущего каталога до корневого.
Если файл не найден, он берется из /etc/tarantool.
Рабочий каталог: каталог, в котором найден конфигурационный файл.
Глобальный параметр: --system или -S
Конфигурационный файл: берется из /etc/tarantool.
Рабочий каталог: текущий каталог.
Глобальный параметр: --local=DIRECTORY или -L=DIRECTORY
Конфигурационный файл: поиск выполняется от указанного каталога до корневого.
Если файл не найден, он берется из /etc/tarantool.
Рабочий каталог: указанный каталог. Если в рабочем каталоге найдены
исполняемые файлы tarantool или tt, они будут использованы.
Конфигурация tt и структура каталогов приложений были изменены в версии 2.0. При использовании tt 1.* для
перехода на tt 2.0 или более позднюю версию выполните следующие шаги:
-
Обновите конфигурационный файл tt. В tt 2.0 в конфигурационный файл внесены следующие изменения:
- Корневая секция
ttудалена. Её дочерние секции –app,repo,modulesи другие - перенесены на верхний уровень. - Параметры конфигурации окружения перенесены из секции
appв новую секциюenv. Это параметрыinstances.enabled,bin_dir,inc_dirиrestart_on_failure. - Пути в секции
appтеперь задаются относительно каталога приложения вinstances.enabled, а не относительно корня окружения. Для создания конфигурационного файла с новой структурой и значениями параметров по умолчанию можно использовать команду tt init.
- Корневая секция
-
Переместите артефакты приложений. В
tt1.* артефакты приложений (журналы, снимки, pid-файлы и другие файлы) создавались в каталогеvarвнутри корня окружения. Начиная сtt2.0 эти артефакты создаются в каталогеvarвнутри каталога приложения, то естьinstances.enabled/<имя-приложения>. Структура каталога приложения выглядит так:instances.enabled/app/├── init.lua├── instances.yaml└── var├── lib│ ├── instance1│ └── instance2├── log│ ├── instance1│ └── instance2└── run├── instance1└── instance2Чтобы продолжить использовать существующие артефакты приложений после перехода с
tt1.*:- Создайте каталог
varвнутри каталога приложения. - Создайте каталоги
lib,logиrunвнутриvar. - Переместите каталоги с артефактами экземпляров из старого каталога
varв новые каталогиvarв каталогах приложений.
- Создайте каталог
-
Переместите файлы, к которым обращается код приложения. Рабочий каталог процессов экземпляра изменен с рабочего каталога
ttна каталог приложения внутриinstances.enabled. Если приложение обращается к файлам по относительным путям, переместите соответствующие файлы или измените код приложения.