Переменные и секреты

Переменные и секретыCommunity Edition+

Введение

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

Отличия от .env

ХарактеристикаФайл .envДинамически настраиваемые переменные и секреты
Место храненияХранятся в файле .env в корневой директории проектаХранятся в таблице environmentVariables в базе данных
Метод загрузкиЗагружаются в process.env через инструменты вроде dotenv при запуске приложенияДинамически считываются и загружаются в app.environment при запуске приложения
Метод измененияТребуется прямое редактирование файла; изменения вступают в силу только после перезапуска приложенияПоддерживается изменение во время работы; изменения вступают в силу сразу после перезагрузки конфигурации приложения
Изоляция окруженийДля каждого окружения (разработка, тестирование, продуктив) нужен отдельный файл .envДля каждого окружения (разработка, тестирование, продуктив) отдельно поддерживаются данные в таблице environmentVariables
Подходящие сценарииПодходит для фиксированных статических конфигураций, например основной базы данных приложенияПодходит для динамических конфигураций, которые часто меняются или связаны с бизнес-логикой, например внешние базы данных, параметры файлового хранилища и т. д.

Установка

Встроенный плагин, отдельная установка не требуется.

Использование

Переиспользование данных конфигурации

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

20250102181045

Хранение чувствительных данных

Хранение конфигураций внешних баз данных, ключей облачного файлового хранилища и т. д.

20250102103513

Изоляция конфигурации окружений

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

Например, параметры сервисов хранения файлов могут отличаться между окружениями разработки и производственной:

Среда разработки

FILE_STORAGE_OSS_BASE_URL=dev-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=dev-storage

Производственная среда

FILE_STORAGE_OSS_BASE_URL=prod-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=prod-storage

Управление переменными окружения

20250102155314

Добавление переменных окружения

  • Поддерживается добавление по одной и пакетно.
  • Поддерживается хранение в открытом и зашифрованном виде.

20250102155509

Одиночное добавление

20250102155731

Пакетное добавление

20250102155258

Примечания

Перезапуск приложения

После изменения или удаления переменных окружения сверху появится уведомление о перезапуске приложения. Изменения вступят в силу только после перезапуска.

20250102155007

Зашифрованное хранение

Зашифрованные данные переменных окружения используют симметричное шифрование AES. Закрытый ключ для шифрования и расшифровки хранится в директории storage. Храните его безопасно: при утере или перезаписи зашифрованные данные расшифровать будет невозможно.

./storage/environment-variables/<app-name>/aes_key.dat

Поддерживаемые плагины для переменных окружения

Действие: пользовательский запрос

20250102180751

Аутентификация: CAS

20250102160129

Аутентификация: DingTalk

20250102160205

Аутентификация: LDAP

20250102160312

Аутентификация: OIDC

20250102160426

Аутентификация: SAML

20250102160652

Аутентификация: WeCom

20250102160758

Источник данных: внешняя MariaDB

20250102160935

Источник данных: внешний MySQL

20250102173602

Источник данных: внешний Oracle

20250102174153

Источник данных: внешний PostgreSQL

20250102175630

Источник данных: внешний SQL Server

20250102175814

Источник данных: KingbaseES

20250102175951

Источник данных: REST API

20250102180109

Файловое хранилище: локальное

20250102161114

Файловое хранилище: Aliyun OSS

20250102161404

Файловое хранилище: Amazon S3

20250102163730

Файловое хранилище: Tencent COS

20250102173109

Файловое хранилище: S3 Pro

Не адаптировано

Карта: AMap

20250102163803

Карта: Google

20250102171524

Настройки электронной почты

Не адаптировано

Уведомление: электронная почта

20250102164059

Публичные формы

20250102163849

Системные настройки

20250102164139

Верификация: Aliyun SMS

20250102164247

Верификация: Tencent SMS

20250102165814

Рабочий процесс

20250102180537