統一配置管理工具confd

confd

Github: https://github.com/sumory/confd
confd是一個統一配置管理工具,目前仍在開發中,基於本地文件存儲的部署方式已經能夠用於生產環境中。linux

你能夠用它:git

  • 統一管理各類配置文件,配置文件模板和數據是分離的,可各自單獨管理github

  • 動態修改配置屬性,而後從新生成相關的配置文件web

  • 提供cli方式修改數據redis

Features
  • [x] 基礎解析:配置文件使用toml格式,模板數據分離工具

  • [x] 多種存儲支持:local file、redis、zookeeperui

  • [x] 兩種運行模式:Debug或Daemon加密

  • [x] cli工具:修改store,批量更新配置命令行

  • [ ] 更友好的交互方式,好比經過web界面debug

  • [ ] 分離server和client,提供客戶端cli或API供拉取指定配置

  • [ ] 加密支持:store中存儲的配置可加密,防止泄露

Usage

安裝

#假設安裝路徑爲/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
相關文章
相關標籤/搜索