TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

Расширения

Вы можете загрузить подключаемые функции, или расширения, в TDG вместе с конфигурацией приложения. Для этого поместите расширения в корень проекта в директорию extensions.

При применении конфигурации в TDG:

Расширение global.lua

Модуль global.lua используется, чтобы задать в TDG глобальные изменения поведения, например, для настройки пользовательского HTTP-маршрута или функции IPROTO. Код из файла модуля запускается при обновлении конфигурации на всех экземплярах и выполняется вне окружения sandbox.

Чтобы добавить это расширение, выполните следующие действия:

  1. В корневой директории TDG создайте директорию extensions.
  2. Создайте файл модуля global.lua, напишите в нем необходимый код, а затем разместите файл в директории extensions. Модуль должен возвращать функцию init(), которая вызывается при применении конфигурации.
  3. Упакуйте в zip-архив:
    • папку extensions, внутри которой лежит файл модуля;
    • файл конфигурации config.yml.
  4. Загрузите архив в TDG согласно инструкции.

Подключение новых функций

Чтобы подключить новые функции (расширения) к Sandbox API, выполните следующие действия:

  1. В корневой директории TDG создайте директорию extensions/sandbox. На следующем шаге в нее будет добавлен модуль с подключаемыми функциями. Также нужно проследить, чтобы у пользователей были необходимые права для чтения данной директории.

  2. Разместите в директории sandbox файл Lua-модуля, который вы хотите подключить. Модуль при этом должен возвращать объект с определяемыми модулем функциями. Кроме того, в добавленном модуле все используемые встроенные библиотеки должны быть явно подключены с использованием require(). Пример файла с Lua-модулем:

    – ./extensions/sandbox/csv.lua– По умолчанию в TDG не доступен модуль ``csv``return require('csv')
  3. Упакуйте в zip-архив:

    • папку extensions/sandbox, внутри которой лежит файл модуля;
    • файл конфигурации config.yml.
  4. Загрузите архив в TDG согласно инструкции.