Множественный запуск туннелей
В проектах где нужно опубликовать несколько сервисов, может потребоваться запустить сразу несколько туннелей.
Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:
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