Работа в CLI
Обзор
С помощью консольного клиента tuna можно получать секреты, автоматически конфигурировать текущую среду или передавать конфигурацию в env нужного приложения.
Для получения секретов через консольное приложение tuna или API необходим API-ключ пользователя или Сервисный ключ конфигурации. При локальной разработке удобнее использовать глобальные API-ключи пользователя, но для работы в CI/CD, Production и других общих средах мы настоятельно рекомендуем использовать Сервисный ключ конфигурации.
Почему tuna secrets лучше direnv при локальной разработке?
direnv - прекрасная утилита для локальной конфигурации, но она всё таки заставляет следить за локальным файлом .env и если на Production появились новые переменные, вы можете не сразу узнать об этом и потратить часы на бессмысленную отладку. В tuna secrets предусмотрена автоматическая синхронизация секретов, что значительно упрощает этот процесс.
Почему tuna secrets лучше Gitlab/Github/Bitbucket Variables?
На самом деле причина тут та же, что и с direnv. Например, у вас есть специальный проект предназначенный для сборки и публикации приложения с помощью goreleaser и он может требовать множество ключей и токенов для разных внешних интеграций, при этом для разных окружений и использовать для этого Gitlab/Github/Bitbucket Variables неудобно, а ещё неудобнее следить за этим, плюс сложность в разграничении прав. В tuna secrets доступ к окружениям регулируется RBAC и вы можете точечно распределять доступ только нужным людям/роботам/скриптам. А обновив секрет или добавив новый, он сразу начнёт работать в CI.
Авторизация
Для доступа к секретам понадобится Се рвисный ключ определённой конфигурации или пользовательский API-ключ. Его можно передать через флаг --api-key, переменную окружения TUNA_API_KEY или сохранить в конфиг файл tuna config save-api-key <your-key>
Download
Чтобы получить секреты нужно выполнить команду:
tuna secrets download
Через дополнительные флаги или переменные окружения можно определить настройки, вроде проекта и конфигурации.