Шаблон приложения Tarantool DB для tt CLI | Tdb
Руководство пользователя Шаблон приложения Tarantool DB для tt CLI

Шаблон приложения 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 2.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
Found what you were looking for?
Feedback