负责汇总其他库存源的库存脚本
aggravator的Python项目详细描述
==
加积器
==
图片::https://travis-ci.org/petercb/aggrevator.svg?branch=master
:目标:https://travis ci.org/petercb/aggrevator
…图片::https://coveralls.io/repos/github/petercb/aggrevator/badge.svg?branch=master
:目标:https://coveralls.io/github/petercb/aggrevator?branch=master
安装代码::sh
virtualenv aggrevator
source aggrevator/bin/activate
pip install aggrevator
代码::sh
ansible playbook-i aggrevator/bin/inventory site.yml
可以指定生成
yaml或json)的ces以及将它们合并到其中的密钥路径。
Ntory.
此外,我们还有一些遗留的配置管理系统,其中包含一些关于我们希望导出到ansible的系统的
信息,因此我们不需要在多个地方维护它们。
需要
ansible将摄取的mat,以及可以聚合许多文件
和流的mat。
config format
----
example(etc/config.yaml):
代码::yaml
--
环境:
测试:
包括:
-路径:inventory/test.yaml
-路径:vars/global.yaml
键:all/vars
-路径:secrets/test.yaml
键:all/vars
默认情况下,库存脚本将丢失根配置文件如下:
-`../etc/config.yaml`(相对于"inventory"文件)
-`/etc/aggrevator/config.yaml`
-`/usr/local/etc/aggrevator/config.yaml`
如果在其中一个位置找不到它,则需要使用"-uri`
选项指定它(或设置"inventory_uri"env var)
"include"部分应该是一个字典列表,其中包含
以下键:
path
要摄取的数据的路径,可以是:
-绝对文件路径
-相对文件路径(相对于根config.yaml)
-发出SUP的文件或服务的URLported format
key
如果未指定要合并数据的键,则将其导入数据结构的根中。
format
要接收的流的数据类型(即"yaml"或"json"),如果未指定
,则脚本将尝试gue从文件扩展名
*order*中删除它很重要,因为列表中较低的项将优先于列表中较早指定的项。
merging
----
字典将被合并,列表将被替换。因此,如果两个同名源流中
同一级别的属性是字典,则它们的
内容将被合并。如果它们是列表,则后一个属性将替换前一个属性。
影响脚本
在ansible调用时的执行方式。
`inventory_env`
指定要合并inventory的环境名称,如根配置中
'environments'部分中定义的。
也可以从可执行文件名猜测环境名,因此如果您
创建一个从"prod"到"inventory"bin的符号链接,它将假定要执行的env
称为"prod",除非您重写它。
"inventory"format`
要输出的格式,defaults to yaml in>;0.4
以前仅以json格式输出
`inventory_uri`
到根配置的位置,如果不在标准位置之一
`vault_password_file`
如果不在默认位置
`~/.vault_pass.txt`,则可以是设置为`/dev/null`将禁用对
机密的解密。
用法
----
`inventory[options]`
ansible基于文件的动态库存脚本
选项:
--env text指定要提取库存的平台名称指定要查询库存配置的uri
文件,支持file://和http://[默认值:
/home/peterb-l/git/petercb/aggrevator/venv/etc/config.yaml]
--输出格式[yaml json]指定输出格式[默认值:yaml]
--保险库密码文件路径保险库密码文件,如果设置为/dev/null secret
将禁用解密[默认值:~/.vault_pass.txt]
--将清单信息作为json对象列出打印
--主机文本检索主机变量(未实现)
--createLinks目录在目录中创建指向
每个检索到的平台名称的脚本的符号链接
--显示上游环境列表(如果设置了环境,则显示组)
--帮助显示此消息并退出。
加积器
==
图片::https://travis-ci.org/petercb/aggrevator.svg?branch=master
:目标:https://travis ci.org/petercb/aggrevator
…图片::https://coveralls.io/repos/github/petercb/aggrevator/badge.svg?branch=master
:目标:https://coveralls.io/github/petercb/aggrevator?branch=master
安装代码::sh
virtualenv aggrevator
source aggrevator/bin/activate
pip install aggrevator
代码::sh
ansible playbook-i aggrevator/bin/inventory site.yml
可以指定生成
yaml或json)的ces以及将它们合并到其中的密钥路径。
Ntory.
此外,我们还有一些遗留的配置管理系统,其中包含一些关于我们希望导出到ansible的系统的
信息,因此我们不需要在多个地方维护它们。
需要
ansible将摄取的mat,以及可以聚合许多文件
和流的mat。
config format
----
example(etc/config.yaml):
代码::yaml
--
环境:
测试:
包括:
-路径:inventory/test.yaml
-路径:vars/global.yaml
键:all/vars
-路径:secrets/test.yaml
键:all/vars
默认情况下,库存脚本将丢失根配置文件如下:
-`../etc/config.yaml`(相对于"inventory"文件)
-`/etc/aggrevator/config.yaml`
-`/usr/local/etc/aggrevator/config.yaml`
如果在其中一个位置找不到它,则需要使用"-uri`
选项指定它(或设置"inventory_uri"env var)
"include"部分应该是一个字典列表,其中包含
以下键:
path
要摄取的数据的路径,可以是:
-绝对文件路径
-相对文件路径(相对于根config.yaml)
-发出SUP的文件或服务的URLported format
key
如果未指定要合并数据的键,则将其导入数据结构的根中。
format
要接收的流的数据类型(即"yaml"或"json"),如果未指定
,则脚本将尝试gue从文件扩展名
*order*中删除它很重要,因为列表中较低的项将优先于列表中较早指定的项。
merging
----
字典将被合并,列表将被替换。因此,如果两个同名源流中
同一级别的属性是字典,则它们的
内容将被合并。如果它们是列表,则后一个属性将替换前一个属性。
影响脚本
在ansible调用时的执行方式。
`inventory_env`
指定要合并inventory的环境名称,如根配置中
'environments'部分中定义的。
也可以从可执行文件名猜测环境名,因此如果您
创建一个从"prod"到"inventory"bin的符号链接,它将假定要执行的env
称为"prod",除非您重写它。
"inventory"format`
要输出的格式,defaults to yaml in>;0.4
以前仅以json格式输出
`inventory_uri`
到根配置的位置,如果不在标准位置之一
`vault_password_file`
如果不在默认位置
`~/.vault_pass.txt`,则可以是设置为`/dev/null`将禁用对
机密的解密。
用法
----
`inventory[options]`
ansible基于文件的动态库存脚本
选项:
--env text指定要提取库存的平台名称指定要查询库存配置的uri
文件,支持file://和http://[默认值:
/home/peterb-l/git/petercb/aggrevator/venv/etc/config.yaml]
--输出格式[yaml json]指定输出格式[默认值:yaml]
--保险库密码文件路径保险库密码文件,如果设置为/dev/null secret
将禁用解密[默认值:~/.vault_pass.txt]
--将清单信息作为json对象列出打印
--主机文本检索主机变量(未实现)
--createLinks目录在目录中创建指向
每个检索到的平台名称的脚本的符号链接
--显示上游环境列表(如果设置了环境,则显示组)
--帮助显示此消息并退出。