env
Высокобезопасная Go-библиотека для управления переменными окружения с поддержкой .env, JSON, YAML, потокобезопасностью, журналом аудита и безопасным хранением.
Ключевые возможности
- Многоформатная поддержка — автоопределение
.env, JSON, YAML - Типобезопасность — автоматическое преобразование типов и валидация
- Потокобезопасность — потокобезопасный конкурентный доступ через сегментированные блокировки
- Безопасное хранение — блокировка памяти для чувствительных значений, автоочистка
- Журнал аудита — полное отслеживание операций
- Подстановка переменных — поддержка синтаксиса
${VAR} - Маппинг структур — привязка конфигурации на основе тегов
Навигация по сценариям
Не знаете, с чего начать? Выберите по своей задаче:
| Я хочу... | Куда смотреть |
|---|---|
| Быстро начать за 5 минут | Быстрый старт |
| Безопасно хранить пароли, ключи | Обзор безопасности → SecureValue |
| Предотвратить выгрузку чувствительных данных на диск | Блокировка памяти |
| Безопасно обрабатывать чувствительные данные в логах | Маскирование данных |
| Смаппировать переменные окружения на struct | Маппинг структур |
| Загружать файлы конфигурации JSON/YAML | Многоформатная конфигурация |
| Настроить ссылки и переиспользование переменных | Подстановка переменных |
| Сериализовать/экспортировать конфигурацию | Сериализация |
| Записывать журнал безопасности | Журнал аудита |
| Обрабатывать и сопоставлять ошибки | Обработка ошибок |
| Писать модульные тесты | Сценарии тестирования |
| Расширить собственным форматом файлов | Пользовательский парсер |
| Проверка безопасности перед продакшеном | Контрольный список для продакшена |
| Просмотреть часто используемые фрагменты кода | Шпаргалка |
| Найти ответы на частые вопросы | FAQ |
Обзор основных возможностей
| Возможность | Описание |
|---|---|
| Преобразование типов | GetString, GetInt, GetBool, GetDuration, GetSlice |
| Маппинг структур | Привязка конфигурации на основе тегов |
| Безопасное хранение | Защита чувствительных значений в памяти |
| Многоформатная загрузка | .env, JSON, YAML |
Быстрая навигация
Введение
- Быстрый старт - руководство за 5 минут
- Шпаргалка - частые фрагменты кода
Справочник API
- Функции пакета - полная документация API
- Loader - методы загрузчика
- SecureValue - обработка безопасных значений
Безопасность
- Обзор безопасности - архитектура безопасности и лучшие практики