Множественный запуск туннелей
В проектах где нужно опубликовать несколько сервисов, может потребоваться запустить сразу несколько туннелей.
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
tuna start --help
Конфигурация
Вы можете описать все туннели в глобальном конфигурационном файле или локальном (только для секции tunnels).
Ес ли текущем каталоге найден локальный файл по имени .tuna.yml, то он переопределяет секцию tunnels из глобального.
Так вы можете создать .tuna.yml в корне репозитория и это сразу будет работать для всех разработчиков в команде.
Путь к локальному файлу можно переопределить с помощью флага --tunnels-file или переменной окружения TUNA_START_TUNNELS_FILE к команде tuna start.
tuna start --tunnels-file=/ваш/путь/.tuna.yml web
Пример конфигурации, где описан запуск четырех туннелей:
---
tunnels:
web:
commandLine: tuna http localhost:5173 --subdomain=web
tags: [frontend, ui]
api:
commandLine: tuna http 8080 --subdomain=api
tags: [backend, api]
postgres:
commandLine: tuna tcp 5432 --port=postgres
tags: backend
redis:
commandLine: tuna tcp 6379 --port=redis
tags: frontend
Из чего состоит каждый сервис на примере пер вого:
web:
commandLine: tuna http localhost:5173 --subdomain=web
tags: [frontend, ui]
web- имя туннеля, должно быть уникальным в списке всех туннелейcommandLine- команда для создания туннеляtags- необязательное поле, может содержать строку или список строк. Тегами можно определять запуск части туннелей.
Запуск
За запуск отвечает команда tuna start, можно разделять запуск в зависимости от потребностей.
По имени сервиса
Запустить туннель только для сервиса api:
tuna start api
Запустить туннель только для api и postgres:
tuna start api postgres
Передать имя можно и в переменной окружения TUNA_START:
export TUNA_START="api"
tuna start
По тегу
Запустить все туннели с тегом frontend:
tuna start --tags=frontend
Запустить все туннели с тегом frontend или backend:
tuna start --tags=frontend,backend
Передать tags можно и в переменной окружения TUNA_START_TAGS:
export TUNA_START_TAGS="frontend"
tuna start
Все сразу
Запустить все описанные туннели:
tuna start --all
Или с переменной окружения TUNA_START_ALL:
export TUNA_START_ALL=true
tuna start