Приложения
Представьте: у вас есть внутренний сервис — админка, staging, Grafana, внутренний API — и вы хотите дать к нему доступ только нужным людям, из нужных стран, с подтверждением через корпоративный SSO. Приложения в Tuna решают именно эту задачу.
Приложения — это защищённый reverse proxy, который проверяет каждый входящий запрос: кто пользователь, как он аутентифицировался, откуда пришёл и имеет ли право видеть запрашиваемый путь.

Что можно сделать:
- закрыть любой веб-сервис авторизацией за пару минут, без измене ний в коде самого сервиса;
- гранулярно разграничить доступ — например,
/admin/*только для администраторов из России, а/api/healthоткрыть без аутентификации; - подключить корпоративный SSO (Google, Yandex, GitHub, GitLab, VK, любой OIDC-совместимый провайдер);
- требовать MFA или ручное одобрение администратора для чувствительных операций;
- опубликовать сервис без публичного IP через туннель — достаточно запустить одну команду;
- выдать машинный доступ через сервисные токены для CI/CD, мониторинга и автоматизации.
Режимы работы
При создании приложения нужно выбрать, как Tuna будет доставлять трафик до вашего сервиса.
Прокси
Tuna нода обращается к upstream напрямую по URL. Этот режим подходит, когда сервис уже доступен по сети — запущен в Kubernetes, в облачной VM или просто в той же сети, что и нода.
Можно указать несколько upstream-адресов — трафик будет распределяться по весам. Например, при весах 3 и 1 первый upstream получит 75% запросов, второй — 25%.
Туннель
Бэкенд сам подключается к Tuna через клиент-агент. Идеальный вариант, когда сервис без публичного IP — за NAT, на dev-машине или в корпоративной сети.
После создания приложения в режиме туннеля на странице деталей появится готовая команда:
tuna app <имя> --url=http://127.0.0.1:8080
Запустите её на машине с сервисом — клиент установит исходящее соединение к ноде, и приложение станет доступно через защищённый домен.
Для быстрой проверки без реального бэкенда добавьте флаг --hello-world — Tuna запустит встроенный тестовый сервер.
Создание приложения
This section is available to the Founder, Owners and Administrators.
Перейдите в раздел Приложения и нажмите + Добавить приложение.
| Поле | Описание |
|---|---|
| Имя | Уникальное имя внутри команды, будет использоваться в CLI |
| Режим | Прокси или Туннель |
| Upstreams | Адреса бэкенда — только для режима Прокси |
| Домен | Домен, через который приложение будет доступно пользователям |
Основные параметры
После создания откроется страница деталей приложения с основными настройками.
- Дл ительность сессии — сколько живёт сессия после входа. По истечении пользователь проходит логин заново. По умолчанию — 24 часа.
- Таймаут неактивности — сессия сгорает, если пользователь не делал запросов дольше указанного времени. По умолчанию отключено.
Провайдеры
Здесь выбираются способы входа в приложение. Можно комбинировать несколько вариантов — пользователь увидит их все на странице входа.
- Email OTP — пользователь вводит email и получает одноразовый код. Удобно для внешних подрядчиков и разовых доступов.
- Аккаунты tuna.am — вход через личный аккаунт на tuna.am.
- Провайдеры команды — внешние Identity Provider (Google, Yandex, GitHub, GitLab, VK, любой OIDC), настроенные на странице Провайдеры. Снимите галочку «Все провайдеры команды», чтобы выбрать конкретные.
Обзор
Блок Обзор на странице деталей наглядно визуализирует текущую конфигурацию: слева — кто может войти, в центре — через какие политики проходит запрос, справа — куда направляется трафик.
Это удобный способ одним взглядом убедиться, что всё настроено как задумано.
Страница входа
Когда пользователь открывает защищённое приложение без активной сессии, он попадает на страницу входа. Набор кнопок формируется автоматически из подключённых провайдеров.
Если в команде настроены внешние провайдеры, каждый из них отображается отдельной кнопкой «Войти через ...»:
Внешний вид страницы входа можно кастомизировать — добавить логотип через настройки приложения.
Пользовательский каталог
Участники команды видят все доступные им приложения в виде карточек на странице Приложения. Клик по карточке открывает приложение в новой вкладке.
В боковом меню пользователю также доступны Запросы доступа и Сессии — для управления собственными запросами и активными сессиями.
Аудит
Все действия с прил ожениями записываются в аудит-лог: создание и изменение приложений, входы пользователей, одобрения и отклонения запросов доступа, отзыв сессий. Каждое событие содержит детали — кто, когда, откуда и что именно произошло.
