1 Star 1 Fork 1

厦门小葱网络科技有限公司 / econf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

1.econf用法

econf [选项] [参数] [选项] [参数] ...

支持选项
-h 打印帮助信息
-v 打印版本信息
-t 模板文件后缀名,默认为.tpl
-c 配置文件后缀名,默认为.conf
-z 全局变量所在zookeeper路径
-i 模板文件所在路径,默认为./
-o 输出文件路径,默认为./

2.工作流程

1.首先加载全局变量,必须配置-z和-f选项中的一项

    a.当配置了-z选项时,从全局变量所在zookeeper路径上加载所有全局变量的值,
      econf加载过程是直接将节点名称作为全局变量名,节点值作为全局变量值
      比如:zookeeper的/global_variables目录下有2个节点:a和b,对应的data分别为valueA和valueB,
      加载完之后,会生成以下两个全局变量:a=valueA;b=valueB;
    
    b.当配置了-f选项时,从全局变量所在的文件加载所有的全局变量,文件格式为json,
      对元素名为全局变量名,元素值为全局变量值,比如:
      {
        "a":"ValueA",
        "b":"ValueB"
      }
      加载完之后,会生成以下两个全局变量:a=valueA;b=valueB;

2.其次递归搜索模板文件所在路径目录及子目录下以模板文件后缀名结尾的文件,读取并
  解析模板文件,按照模板文件里的参数进行目标变量搜索,如果发现时全局变量,则进
  行文本替换,并在输出文件路径对应目录下生成目标文件。

  注意:全局变量在模板中的格式为:${变量名}

  假设有/tmp/sample.tpl的格式如下:
  
  {
    "confa":"${a}",
    "confb":${b}
  },
  生成的输出文件/tmp/sample.conf的内容将是:
  {
    "confa":"valueA",
    "confb":valueB
  }

空文件

简介

一个及其简单的配置管理工具,用于简化配置管理工作量,可以从zk或者文件中读取全局变量,并替换配置模板中的相应变量。 与confd对比,无需事先声明keys,以及输入输出文件,减少了运维工作量 展开 收起
C++
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/gsfw/econf.git
git@gitee.com:gsfw/econf.git
gsfw
econf
econf
master

搜索帮助