Шаблон приложения Tarantool DB для tt CLI¶
Доступно с версии 2.1.0.
Утилита tt CLI поддерживает создание приложения Tarantool DB на основе специального шаблона в команде
tt create.
Для приложений Tarantool DB в tt create используется шаблон tarantool_db.
В результате будет развернут следующий стенд:
- кластер Tarantool 3.x: 2 роутера, 2 набора реплик по 2 реплики. Используются порты 3301-3307; 
- 1 экземпляр TCM, который доступен по адресу http://localhost:8081/. Логин и пароль для входа: - Username: - admin
- Password: - secret
 
- 1 экземпляр etcd, используется порт 2379. 
Изначально будет 1 файл с миграцией: cluster/migrations/scenario/0000001_example.lua.
Новые файлы миграций необходимо добавлять в директорию cluster/migrations/scenario/.
Содержание:
Создание приложения на основе шаблона¶
Чтобы создать приложение myapp на основе шаблона Tarantool DB, используйте следующую команду:
tt create tarantool_db --name myapp
   • Creating application in "/home/vboxuser/tarantooldb/myapp"
   • Using template from /home/vboxuser/tarantooldb/templates/tarantool_db
Bucket count (default: 30000): 300
Use expirationd [y|n] (default: n): n
Use only user "admin" for sharding and replication [y|n] (default: n): 
   • Executing post-hook ./hooks/post-gen.sh
   • Application 'myapp' created successfully
Здесь:
- name– имя приложения. Обязательный параметр. При выполнении команды создается директория с указанным именем.
Модуль expirationd по умолчанию отключен (n).
Чтобы использовать этот модуль, укажите y в строке ввода.
После этого модуль expirationd будет добавлен в конфигурацию и тесты.
Также при выполнении команды по умолчанию создаются три пользователя: admin, replicator, storage.
Чтобы создать вместо них одного пользователя admin, укажите y в строке ввода.
Запуск приложения¶
Для запуска приложения на основе шаблона требуются:
- приложение Docker Compose; 
- установленный Docker-образ Tarantool DB 3.x; 
- Python 3. 
Запустить приложение можно так:
make up
...
All services configured
В результате выполнения команды будет развернут следующий стенд:
- кластер Tarantool DB: - 2 роутера; 
- 2 набора реплик по 2 хранилища. 
 - Для экземпляров кластера используются порты 3301-3307; 
- 1 экземпляр веб-интерфейса Tarantool Cluster Manager (TCM), который доступен по адресу http://localhost:8081/. Логин и пароль для входа: - Username: - admin
- Password: - secret
 
- 1 экземпляр etcd, для которого используется порт 2379. 
Также при запуске создается файл с миграцией cluster/migrations/scenario/0000001_example.lua.
Новые файлы миграций необходимо добавлять в директорию cluster/migrations/scenario/.
Настройка окружения¶
Чтобы настроить окружение, выполните следующие команды:
python3 -m venv venv
source venv/bin/activate
pip3 install -r test/requiremets.txt
Запуск тестов¶
Запустить выполнение тестов можно так:
make test
В тесте test_example.py показаны примеры использования хэлперов для вызова crud-операций и изменения конфигурации:
tdb_client.conn.crud_truncate('data')
tdb_client.conn.crud_insert_object('data', {"id":1, "data": "data"})
...
cfg = cluster_config.Config
cfg['credentials']['users']['new_user'] = {
   "password": "password",
   "roles": [
      "super"
   ],
}
cluster_config.Config = cfg