Biến và Secret

Giới thiệu

Cấu hình và quản lý tập trung biến môi trường và secret, dùng cho lưu trữ dữ liệu nhạy cảm, tái sử dụng cấu hình dữ liệu, cô lập cấu hình environment...

Sự khác biệt với .env

Đặc tínhFile .envBiến môi trường và Secret cấu hình động
Vị trí lưu trữLưu trữ trong file .env ở thư mục gốc dự ánLưu trữ trong table environmentVariables của database
Cách loadQua các tool như dotenv load vào process.env khi application khởi độngĐọc động, load vào app.environment khi application khởi động
Cách sửa đổiCần chỉnh sửa file trực tiếp, sau khi sửa cần khởi động lại application mới có hiệu lựcHỗ trợ sửa đổi tại runtime, sau khi sửa chỉ cần reload cấu hình application là được
Cô lập environmentMỗi environment (development, test, production) cần duy trì file .env riêngMỗi environment (development, test, production) cần duy trì dữ liệu của table environmentVariables riêng
Tình huống áp dụngPhù hợp với cấu hình tĩnh cố định, như thông tin database chính của applicationPhù hợp với cấu hình động cần điều chỉnh thường xuyên hoặc gắn với business logic, như database bên ngoài, file storage...

Cài đặt

Plugin tích hợp sẵn, không cần cài đặt riêng.

Mục đích

Tái sử dụng cấu hình dữ liệu

Ví dụ workflow ở nhiều nơi cần Node email, đều cần cấu hình SMTP, có thể lưu cấu hình SMTP chung vào biến môi trường.

20250102181045

Lưu trữ dữ liệu nhạy cảm

Lưu trữ thông tin cấu hình của các database bên ngoài, secret của cloud file storage...

20250102103513

Cô lập cấu hình environment

Trong các environment khác nhau như phát triển software, kiểm thử và production, sử dụng chiến lược quản lý cấu hình độc lập để đảm bảo cấu hình và dữ liệu của mỗi environment không can thiệp lẫn nhau. Mỗi environment có cài đặt, biến và resource độc lập riêng, điều này có thể tránh xung đột giữa environment phát triển, kiểm thử và production, đồng thời đảm bảo hệ thống chạy đúng như mong đợi trong mỗi environment.

Ví dụ, dịch vụ file storage, cấu hình của environment phát triển và environment production có thể khác nhau, như sau:

Environment phát triển

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

Environment production

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

Quản lý biến môi trường

20250102155314

Thêm biến môi trường

  • Hỗ trợ thêm đơn lẻ và hàng loạt
  • Hỗ trợ plain text và mã hóa

20250102155509

Thêm đơn lẻ

20250102155731

Thêm hàng loạt

20250102155258

Lưu ý

Khởi động lại application

Sau khi sửa đổi hoặc xóa biến môi trường, sẽ xuất hiện thông báo khởi động lại application ở trên cùng, biến môi trường đã thay đổi chỉ có hiệu lực sau khi khởi động lại.

20250102155007

Lưu trữ mã hóa

Dữ liệu mã hóa của biến môi trường sử dụng mã hóa đối xứng AES, PRIVATE KEY mã hóa và giải mã được lưu trong storage, vui lòng giữ kỹ, nếu mất hoặc ghi đè, dữ liệu mã hóa sẽ không thể giải mã.

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

Các plugin hiện hỗ trợ biến môi trường

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

Chưa thích ứng

Map: AMap

20250102163803

Map: Google

20250102171524

Email settings

Chưa thích ứng

Notification: Email

20250102164059

Public forms

20250102163849

System settings

20250102164139

Verification: Aliyun SMS

20250102164247

Verification: Tencent SMS

20250102165814

Workflow

20250102180537