Наша платформа для разработчиков продолжает развиваться и сегодня я расскажу о новой функционале - Секреты. Сервис секретов предназначен для хранения настроек к вашим приложениям, которые вы запускаете - локально, в CI/CD или в своих тестовых и продуктовых окружениях. Он является отличной альтернативой .env файлам и переменным окружениям в CI/CD системах.

Что это такое и кому оно нужно?

Если пройтись по фактам, то Секреты — это:

  • Единый источник конфигурации для локальной разработки, CI/CD, staging и production сред.

  • Удобный интерфейс управления — через веб, CLI и API.

  • Поддержка RBAC, комментариев, напоминаний и аудита изменений.

  • Гибкая работа с проектами, окружениями и конфигурациями.

  • Все секреты шифруются, ключи не хранятся в базе. Утечка БД не приведёт к раскрытию данных.

Для кого:

  1. Разработчикам — для упрощения настройки окружений и сокращения "магических" значений в коде.

  2. DevOps-инженерам — для централизации и автоматизации конфигураций.

  3. Командам — для безопасного и контролируемого совместного доступа к конфиденциальным данным.

? Ключевые возможности

Мы внедрили структуру, позволяющую эффективно управлять секретами. В этом ролике вы увидите небольшой обзор возможностей:

VK плеер, если YouTube не работает ⬇️

Привычная иерархия: проектыокруженияконфигурации.

Мы придерживаемся общепринятой структуры, поэтому хранение секретов разделяется по проектам, внутри проектов есть окружения, а внутри окружений конфигурации основные или дочерние. Внутри конфигураций сосредоточенно множество функций работы непосредственно с секретами и доступом к ним, аудит и прочее. При работе в Команде, в разделе с ролями появляется возможность гранулярно распределять доступ участников к нужным окружениям в проектах.

Что ещё есть в секретах?

  • Дублирование конфигураций - создавайте уникальные конфигурации для каждого пользователя.

  • Типы переменных — можно указать тип bool, int и др.

  • Генератор и комментарии — удобное добавление и аннотация секретов.

  • Напоминания — email-уведомления о необходимости обновить секрет.

  • Сравнение окружений — находите различия между конфигурациями.

  • Скрытие секретов — исключите из сравнения уникальные прод-переменные.

  • Сервисные ключи — API-ключи на чтение/запись для конкретной конфигурации.

  • Ограничение по IP — контроль доступа по CIDR.

  • История изменений — полный аудит всех действий.

⚙️ Работа в CLI

Естественно консольный клиент tuna полностью интегрирован:

    • tuna secrets download — Получение секретов с возможностью сохранения в файл (jsonyamlenv) или вывода в stdout.

    • tuna secrets setup — Настройка каталога для конфигурации области действия.

    • tuna secrets run — Автоматическая конфигурация приложения с передачей переменных окружения непосредственно процессу. А с указанием флага --watch, перезапуск приложения будет автоматический, при изменении секрета в личном кабинете.

    VK плеер, если YouTube не работает ⬇️

    ?️ Управление доступом и безопасность

    • Шифрование — Все секреты шифруются внешним ключём и в случае компроминтации нашей базы данных, ваши секркты останутся анонимными.

    • RBAC в команде — Предоставляйте доступ к окружениям точечно по пользователям.

    • Сервисные ключи — Выпускайте уникальные ключи для конкретных конфигураций с ограничением на чтение или чтение и запись. Идеально подходит для использования в CI/CD.

    • Разрешенные IP адреса и подсети — Ограничивайте доступ к секретам, указывая разрешенные IP адреса и подсети в формате CIDR.

    • История изменений — Полный аудит всех действий и изменений внутри конфигураций позволяет отслеживать, кто и когда изменил секреты.


    На этом у меня всё, спасибо что дочитали до конца ?

    Тут я хочу напомнить, что Tuna - это платформа для разработчиков и их команд, нацеленная на ускорение разработки, упрощение командного взаимодействия и безопасностью.

    Контакты

    Более подробно все функции описаны у нас в документации по веб интерфейсу и консольному клиенту, а также множество примеров, надеюсь вам понравится работать с tuna.

    Если возникли вопросы, можете задать их нам по почте info@tuna.am, тут в коментариях или нашем чате в telegram.

    Комментарии (4)


    1. opusmode
      12.05.2025 11:54

      Прикольно. Сам в апреле начал пилить что-то подобное для внутряка. Может рассмотрю ваше. У меня несколько иная логика и несколько иной подход, но очень много схожего внутри


      1. jidckii Автор
        12.05.2025 11:54

        А можете поделиться, что у вас за логика? Может есть какие-то фишки которые нужны, а у нас ещё нет.


        1. opusmode
          12.05.2025 11:54

          Просто заточено под нас.

          У вас cli с туннелем, а у меня редактирование и просмотр только через UI, а получение готового файла через API.

          Т.е я могу отправить запрос вида /env/mysite/prod и получить нужное мне.

          Ну плюс внешний oauth, своя проверка доступов, использование redis/valkey и pg, плюс fallback на sqlite (т.е я могу запустить приложение локально, даже просто из контейнера и мне не нужно больше ничего), при этом при обнаружении pg база будет смигрирована из sqlite.

          Из минусов - я получаю только чистый текстовик, без json или yaml формата, так как они мне сейчас просто не нужны.

          Фишки может и есть, но задачи разные - я хочу маленький и удобный инструмент, с понятной логикой, чтобы не тащить волт или конжур, а у вас продукт на широкую аудиторию.


    1. dersoverflow
      12.05.2025 11:54

      и снова каша из топора...

      Сервис секретов предназначен для хранения настроек к вашим приложениям

      Дано. Для "повышения безопасности", вы храните в СервисеСекретов "настройки" для приложений.
      Вопрос: Где вы храните "настройки" для самого СервисаСекретов?

      заходи и бери, что хочешь??