问题标签 [databags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vagrant - Chef:如何从加密的数据包中设置用户密码
我使用 Chef with kitchen (1.5.0) 和 vagrant (1.8.1) 来管理用户与新服务器的一致性。我的用户食谱如下所示:
未加密的数据包是我明文配置密码的地方。然后我用刀命令 加密了数据包。
这行得通,但这似乎是解决设置密码问题的一种非常肮脏的方法。我必须这样做,因为用户块的密码指令只接受影子密码,并且只能通过使用openssl命令生成。
有没有一种更简洁的方法来获取影子密码,而无需使用生成密码的openssl命令?
ruby - data_bag_item 检索单个键值
我今天刚开始和厨师一起玩,我无法理解的一件事是我如何使用数据包将多个键值存储在一个项目中(1 个包 > 1 个项目 > 多个键值)并且能够在配方中一一调用它们。
如果数据包中的目录存在,这是一个删除目录的简单测试。
显然,我没有正确使用索引,但我根本不擅长红宝石,直到几周前我才知道红宝石是什么......所有的谷歌搜索都指向我在多个项目上大量使用的例子一个键值,这不是我想要实现的。databag 是 installvar itemID 是 testbag,我要检索的键是 testdir。
ruby - 将主令牌存储在 Chef 数据包中
我正在使用执行资源在 Chef 中生成主令牌,如下所示:
我想将此命令的输出存储在数据包中。
请让我知道我需要哪些步骤来设置加密数据包,然后将上述执行资源的输出存储到该数据包中。
我是数据包的新手,对它一无所知。
json - Chef 数据包 (JSON):如何使用包含多个项目的一个文件
我试图只使用我的数据包中的一个文件来包含多个项目(特别是对于用户食谱)。所有示例都显示了孤立的 JSON 对象。如何将多个文件存储在一个文件中?
我试过了
和
和
我越来越:
我正在使用chef-solo -z
chef-solo-search 食谱。
我不能从一个文件中传递一组项目吗?
chef-infra - 从属性文件访问 Chef 数据包
有没有办法从default.rb
属性文件中访问 Chef 数据包?
我的用例是我需要将操作系统环境变量的集合表示为最终传递给模板的属性散列。其中一些环境变量是我存储在加密数据包中的凭据。不幸的是,Chef 不允许我从属性文件中访问配方 DSL,因此data_bag_item
我通常使用的方法不可用。
提前致谢。
apache-pig - 如何将 Bag 转换为 pig 中的字段
我有一个来自 UDF 的数据作为包输出:({( http://www.myurl.com 1000 1000)}) 我如何从这个包中生成 3 个不同的字段作为 url、高度、宽度。
ruby - 试图了解 chef_vault 和 ruby 集合
我是 Ruby 和 Chef 的新手,我无法理解如何从数据包 (chef_vault) 中获取嵌套元素。我认为这更像是一个基本的 Ruby 问题,但不确定是否有点特定于 Chef。
我创建了这个保险库:
这是我在我的食谱中尝试从中取出嵌套元素时注意到的:
现在我在控制台中看到:
最初我试过test_vault['KEY1']['SUBKEY2']
这给了我一个错误。我的问题是,为什么我必须test_vault['KEY1'][0]['SUBKEY2']
用 [0] 做我要索引的内容?
chef-infra - 如何刷新 Chef Vault 的客户端列表并删除与搜索查询不匹配的节点?
我有一个 search_query 的 chef_vault role:myrole
。
我希望厨师服务器定期刷新保险库的搜索查询,添加新节点并删除不再应用角色的任何节点。
为了测试这一点,将角色应用于节点并运行:
该节点出现在保管库客户端列表中。然后我从节点中删除了该角色并再次运行该命令,但该节点仍出现在保管库客户端列表中。我还尝试使用 --clean 开关来执行此命令,但这并没有从客户端列表中删除该节点,它似乎不适用于刷新命令。
带有 clean 开关的保管库更新命令有效,但我必须将搜索查询硬编码到其中,我只想刷新已应用于保管库项目的搜索查询。
cloud - Chef-vault - 不使用 create 命令创建保管库,而是创建简单的数据包
我正在尝试使用以下命令创建一个 chef-vault 来存储一些密码:
其中 revrecpass.json 包含:
我有 3 个客户:
但是现在在尝试访问保险库时,它说没有保险库:
什么都不返回。
和 :
尝试刷新:(说保险库不存在)
试图重新创建:(说已经存在)
我无法弄清楚,这里有什么问题?有没有人遇到过类似的问题或任何建议将不胜感激。
chef-infra - 在刀 ssh 时将 CLI 参数传递给厨师客户端
我正在尝试使用厨师自动化应用程序部署。
我准备了通用的食谱(基于输入属性值工作)来部署 API。我将所有属性都保存在我的属性文件夹中。
这里面临的问题是,如果我将包版本号保留在属性文件中,我就能够成功部署包。实际上,每次触发 CD 管道时,包号都会更改。我正在考虑使用 chef-client CLI 功能将参数作为带有 -j 选项的 JSON 文件传递。
问题是我不想在每次触发 CD 管道时触摸我的食谱来更新包版本,因为如果我更新我的食谱中的任何内容,我必须再次运行 CI 以进行食谱验证,同时我不能在每个节点(范围从 50 - 500 个服务器)中保留一个文件,并在 Chef-client 被触发之前远程更新版本。
请帮助我找到一种将参数远程传递给knife ssh的方法。或解决此问题的任何其他解决方案。非常感谢您提前。