插件支持通过键值对的方式,向运行环境中,注入配置类型的数据。
# 配置变量
plugin.yaml中,提供 envs
标签,用于防止当前插件的环境变量。
除基本的键值对配置外,还提供 secret
选项,用来放置加密类型的变量。
示例如下:
app:
code: demo #name
name: Demo
envs:
- key: API_ID #变量键
value: xxxxxxxx #变量值
- key: API_SECRET
value: xxxxxxxx #secret: true时,放置加密后的字符串
secret: true
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 敏感数据处理
敏感数据,建议通过 加密指令 tplugin-cli encrypt
处理后,配置到 plugin.yaml 的envs
中。
- 数据加密
tplugin-cli encrypt xxxxxx
1
Usage: tplugin-cli encrypt [options] <value>
加密敏感变量
Options:
-h, --help display help for command
1
2
3
4
5
6
2
3
4
5
6
执行加密后返回
✔ 加密完成
密文: Ag88ER4h9r5wisQ8sZH4EuYM8hlQTayV//lDbm89DELX0U0aDw6bV7kaWBhIJviItRkpeXkogDU+/fc/u1+rTtjeEF7X9NB3nrxCxpwD7RNvHeR92XmMDhp0ej8JG8XEuQc5KM9kXgCY9VjljT9CKT0InL8OJ9TGS9G6xtLL/U0=
1
2
3
4
2
3
4
- 保存变量键值对 到 plugin.yaml 并标识加密。
app:
code: demo #name
name: Demo
envs:
- key: API_SECRET
value: KxVhLUjJvO4mzaqfw+u9vvkKO0mHRFSWWVm+dAdxJ+c0/7XKBoTmniWsEX2VLqCC2dxzOXlxSVsXFwCncUFK9X2pEgvWpgBrnJpe9HP1DGTRxBYK26B4zp4kRwSCScM52UaTrOrj4AnH/lfFw56A6yOAsFOR2HXiSJE4QmYFQdU= #secret: true时,放置加密后的字符串
secret: true
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 在插件中正常根据键
key
获取环境变量即可。加密后的内容,在实际运行环境中,会自动解密,不需要再单独处理。
# 环境变量使用
python版本
os.environ.get('API_SECRET')
1
node版本
process.env.API_SECRET
1