变量和密钥

介绍

集中配置和管理环境变量和密钥,用于敏感数据存储、配置数据重用、环境配置隔离等。

.env 的区别

特性.env 文件动态配置的环境变量和密钥
存储位置存储在项目根目录的 .env 文件中存储在数据库 environmentVariables 表里
加载方式通过 dotenv 等工具在应用启动时加载到 process.env动态读取,在应用启动时加载到 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 对称加密,加解密的 PRIVATE KEY 存储在 storage 里,请妥善保管,丢失或重写,加密的数据将无法解密。

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

目前支持环境变量的插件

Action: Custom request

20250102180751

Auth: CAS

20250102160129

Auth: DingTalk

20250102160205

Auth: LDAP

20250102160312

Auth: OIDC

20250102160426

Auth: SAML

20250102160652

Auth: WeCom

20250102160758

Data source: External MariaDB

20250102160935

Data source: External MySQL

20250102173602

Data source: External Oracle

20250102174153

Data source: External PostgreSQL

20250102175630

Data source: External SQL Server

20250102175814

Data source: KingbaseES

20250102175951

Data source: REST API

20250102180109

File storage: Local

20250102161114

File storage: Aliyun OSS

20250102161404

File storage: Amazon S3

20250102163730

File storage: Tencent COS

20250102173109

File storage: S3 Pro

未适配

Map: AMap

20250102163803

Map: Google

20250102171524

Email settings

未适配

Notification: Email

20250102164059

Public forms

20250102163849

System settings

20250102164139

Verification: Aliyun SMS

20250102164247

Verification: Tencent SMS

20250102165814

Workflow

20250102180537