Variable dan Secret

Pengantar

Mengkonfigurasi dan mengelola environment variable dan secret secara terpusat, untuk penyimpanan data sensitif, reuse data konfigurasi, isolasi konfigurasi environment, dll.

Perbedaan dengan .env

FiturFile .envEnvironment variable dan secret yang dikonfigurasi dinamis
Lokasi penyimpananDisimpan di file .env di root direktori proyekDisimpan di tabel environmentVariables database
Cara loadingDimuat ke process.env saat startup aplikasi melalui tool seperti dotenvDibaca secara dinamis, dimuat ke app.environment saat startup aplikasi
Cara modifikasiPerlu mengedit file langsung, perlu restart aplikasi setelah modifikasiMendukung modifikasi saat runtime, setelah modifikasi cukup reload konfigurasi aplikasi
Isolasi environmentSetiap environment (development, testing, production) perlu memelihara file .env terpisahSetiap environment (development, testing, production) perlu memelihara data tabel environmentVariables terpisah
Skenario penggunaanCocok untuk konfigurasi statis tetap, seperti informasi database utama aplikasiCocok untuk konfigurasi dinamis yang sering disesuaikan atau terikat dengan logika bisnis, seperti database eksternal, file storage, dll

Instalasi

Plugin built-in, tidak perlu diinstal terpisah.

Penggunaan

Reuse Data Konfigurasi

Contohnya beberapa lokasi di workflow membutuhkan node email dan perlu konfigurasi SMTP, Anda dapat menyimpan konfigurasi SMTP umum ke environment variable.

20250102181045

Penyimpanan Data Sensitif

Penyimpanan data seperti informasi konfigurasi database eksternal, secret cloud file storage, dll.

20250102103513

Isolasi Konfigurasi Environment

Dalam environment software development, testing, dan production yang berbeda, gunakan strategi manajemen konfigurasi independen untuk memastikan konfigurasi dan data setiap environment tidak saling mengganggu. Setiap environment memiliki settings, variable, dan resource independen masing-masing, sehingga dapat menghindari konflik antara environment development, testing, dan production, sekaligus memastikan sistem dapat berjalan sesuai harapan di setiap environment.

Contohnya, untuk file storage service, konfigurasi development environment dan production environment mungkin berbeda, seperti berikut:

Environment development

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

Manajemen Environment Variable

20250102155314

Menambahkan Environment Variable

  • Mendukung penambahan single dan batch
  • Mendukung plain text dan encryption

20250102155509

Penambahan single

20250102155731

Penambahan batch

20250102155258

Perhatian

Restart Aplikasi

Setelah modifikasi atau penghapusan environment variable, akan muncul prompt restart aplikasi di bagian atas. Setelah restart, environment variable yang diubah baru akan berlaku.

20250102155007

Penyimpanan Encrypted

Data encrypted dari environment variable menggunakan AES symmetric encryption, PRIVATE KEY untuk encrypt/decrypt disimpan di storage, mohon disimpan dengan baik. Jika hilang atau ditulis ulang, data yang di-encrypt tidak akan dapat di-decrypt.

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

Plugin yang Saat Ini Mendukung Environment Variable

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

Belum di-adapt

Map: AMap

20250102163803

Map: Google

20250102171524

Email settings

Belum di-adapt

Notification: Email

20250102164059

Public forms

20250102163849

System settings

20250102164139

Verification: Aliyun SMS

20250102164247

Verification: Tencent SMS

20250102165814

Workflow

20250102180537