confd是一个统一配置管理工具,目前仍在开发中,基于本地文件存储的部署方式已经可以用于生产环境中。
Features
- [x] 基础解析:配置文件使用toml格式,模板数据分离
- [x] 多种存储支持:local file、redis、zookeeper
- [x] 两种运行模式:Debug或Daemon
- [x] cli工具:修改store,批量更新配置
- [ ] 更友好的交互方式,比如通过web界面
- [ ] 分离server和client,提供客户端cli或API供拉取指定配置
- [ ] 加密支持:store中存储的配置可加密,防止泄露
Usage
安装
1 | #假设安装路径为/data/server/confd |
使用
1 | . |
confd的使用:
- 首先了解:
- confd的配置可参看config.toml, config.toml里的配置均可通过运行时指定flag来覆盖默认配置。
- confd.toml中指定的配置数据存储为“file”形式,即数据存储在同目录下filestore.toml文件中。
- 根据需要编辑模板,参考example.tmpl,模板中使用的变量目前只支持k/v形式。
- 根据需要编辑meta文件,参考example_1.toml,meta文件指定了生成最终配置文件时需要的模板文件、数据、最终文件地址等。
- 命令
./confd
, 在各个meta文件指定的目的地址生成了需要的配置文件./confd --debug=false
, 默认confd在后台运行,每10分钟重新生成一次全部的配置文件
confd-cli的使用:
confd-cli
是操作confd的命令行程序目前支持的子命令
./confd-cli getall
获取当前所有配置需要的数据
./confd-cli get key1
获取key1现在的值
./confd-cli set key1
value1 设置key1值为value1
./confd-cli delete key1
删除key1