Github: https://github.com/sumory/confd
confd是一個統一配置管理工具,目前仍在開發中,基於本地文件存儲的部署方式已經能夠用於生產環境中。linux
你能夠用它:git
統一管理各類配置文件,配置文件模板和數據是分離的,可各自單獨管理github
動態修改配置屬性,而後從新生成相關的配置文件web
提供cli方式修改數據redis
[x] 基礎解析:配置文件使用toml格式,模板數據分離工具
[x] 多種存儲支持:local file、redis、zookeeperui
[x] 兩種運行模式:Debug或Daemon加密
[x] cli工具:修改store,批量更新配置命令行
[ ] 更友好的交互方式,好比經過web界面debug
[ ] 分離server和client,提供客戶端cli或API供拉取指定配置
[ ] 加密支持:store中存儲的配置可加密,防止泄露
安裝
#假設安裝路徑爲/data/server/confd #go get獲取依賴的第三方庫 sh build.sh linux /data/server/confd #執行以上構建腳本後,在docs目錄下生成了安裝所需的文件 #若build.sh增長了參數$2,則默認加載$2/data/config.toml做爲confd運行所需的配置文件 cd docs sh install.sh /data/server/confd cd /data/server/confd #注意修改${path}/data/config.toml裏的ConfDir和ConnectAddr,前綴爲/data/server/confd #而後使用confd、confd-cli便可
使用
. ├── confd ├── confd-cli ├── data │ ├── config.toml │ └── filestore.toml ├── meta │ ├── example_1.toml │ └── example_2.toml └── templates └── example.tmpl
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 |