问题标签 [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.
ruby - 在 CHEF 配方中使用数据包
我一直在努力解决这个问题一个多星期。有没有人可以帮我解决这个问题。
我有一个数据包mongo,数据包的内容是:
我想遍历数据包,以便在 MongoDB 中创建用户。这就是我想出的(以及更多徒劳的尝试)
上面脚本的输出是;
- 日志[打印记录: db.createUser( { user: 'firstuser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] 动作写入
- 日志[打印记录: db.createUser( { user: 'seconduser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] 动作写入
- 日志[打印记录: db.createUser( { user: 'thirduser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] 动作写入
- 日志[打印记录: db.createUser( { user: '', pwd: '', roles: [ { role: '', db: '' } ] } ) ] 动作写入
看看第 4 行,它包含一个空记录。似乎循环也使用(“id”:“users”)。有没有办法过滤掉这个条目?
为了证明这一点,我添加了 "id": "users", "password": "123" 这导致了 2 个额外的空记录。
所以,我需要过滤掉:(“id”:“users”)。我怎样才能做到这一点?
chef-infra - 是否可以从 Chef 配方中设置数据包值?
是否可以从厨师食谱中设置数据包值?我需要从一个特定节点收集一些信息,然后与另一个节点共享。我想在食谱里面做,而不是用刀手动做。
chef-infra - 如何在 Chef 中使用数据包为用户创建 ssh 密钥
全部,
我有一个正在使用 Chef 中的食谱创建的用户。如何使用 Chef 中的数据包为用户创建 ssh 密钥。
default.rb 中的配方是,
linux - Chef 运行时未使用 Chef DataBag 值
有一个简单的 DataBag,类似于:
这是一个现有的数据包,但我不得不更换它,因为最初创建它的人离开了,并且刀抱怨数据包没有使用我的密钥加密。
这就是我创建数据包的方式
但是现在食谱没有从新创建的数据包中获取值。
还有其他需要采取的步骤吗?当我通过 ChefManage 网站查看数据包时,我确实注意到数据包中有一个“auth_keys”,在那里我看到了一个“客户端”(节点)列表,但该列表很短,并且不包含我想要的节点要使用的数据包,也许这是问题所在?
我将不胜感激任何帮助。
ruby - 如何读取厨师食谱中的加密数据包?
我正在尝试从厨师食谱中读取加密数据包,但遇到了一些问题。
我以这种方式创造了秘密
如您所见,我将加密版本放在单独的数据包中以进行测试。生成的数据包是这样的:
然后我正在使用这个片段处理我的食谱:
当我尝试使用此食谱运行厨房时,出现此错误:
Stacktrace 本身并没有真正的帮助:
我知道这个秘密是正确的(如果我打印出来它包含与我的秘密文件完全相同的值)并且数据包是正确的(如果我尝试使用search( :test, "id:poweruser").first
我会获得加密的值)
我可以尝试获取有关错误的更多信息并解决它?
谢谢,米歇尔。
chef-infra - 厨师数据包搜索返回 0 个项目,即使项目存在
当我们从 Knife 工作站运行以下命令时,
刀搜索 data_bag_name id:data_bag_item_id 它返回 0 个项目,即使项目存在于 Chef 服务器中。如果我们做knife data bag show data_bag_name data_bag_item_id 它显示数据包项。
这在食谱中也不起作用。可能是什么问题?
ruby-on-rails - 使用 Chef 和数据包为 iptables 创建 ipset
我有点坚持使用数据包使用 Chef 为 iptables 实现 ipsets。我知道你可能会说这个解决方案并不优雅和理想,但相信我,我有自己的理由。我想要达到的目标;我需要创建 ip 集“allowed_subnet”以供将来与 iptables 一起使用以将某些 ip 地址列入白名单。“允许”的 IP 地址在数据包中。不幸的是,我找不到 Chef 支持 ipset 资源,所以我必须使用执行。如果我错了,请纠正我。
对,我有IP列表的数据包:
数据包名称等于“id”。
我有我的默认配方文件 default.rb 我在其中添加了以下代码:
现在,我的问题是:如何使用“execute”和“ipset”linux 命令将数据包中的 IP 地址添加到 ip set“allowed_subnet”。
这是模板“ipset.erb”的内容:
顺便说一句,我不确定这个模板是否正确,这是以前的管理员遗留下来的。如果有人可以帮助我并指出正确的文档,我将非常感激,这些文档可以在未来帮助我,因为我的动物园里有很多这样的继承物。我试图通过阅读 Chef 官方文档找到如何做到这一点,但我想这超出了 Chef 本身和更多 Ruby 的东西。
chef-infra - 如何区分不同节点的数据包项?
一个基本的数据包结构是:/data_bags/[data bag name]/[data bag items]
假设我想在一个名为 users 的数据包中为我所有节点的所有可能的管理员创建一个数据包。IE
现在,node1
我只想拥有admin1 and admin3
,node2
我想拥有admin2
,并且admin3
作为我的管理员。
如何以可以为每个不同节点指定或拆分数据包项的方式分离或构造我的配置?
我的一个想法是我们是否可以做这样的事情。
我是厨师的初学者,所以如果我想要的是愚蠢的并且应该以其他方式处理,我很感激任何信息可以为我指明正确的方向。
chef-infra - 如何在knife.rb配置文件中指定数据包路径?
我有特定于不同客户的数据包,如下所示:
因此,client1
并且client2
拥有一组不同的项目和用户,但作为开发人员,最好将所有配置都放在文件夹下。我处理它们,然后当它们准备好生产时,我想将它们推送到厨师服务器以配置节点。但knife.rb
希望所有数据包都在一个文件夹下,即/data_bags
. 如果我可以这样指定数据包路径,那将是完美的:
我的目标是在不同的文件夹中安排或组织不同的数据包集合,并通过knife.rb指定我要使用的包路径
有没有办法指定数据包的路径?
amazon-web-services - 如何将节点添加到可以访问 Chef 服务器上的数据包的客户端列表中?
我想要/需要我的一个节点来访问我的厨师服务器上的数据包。目的是获取解密的 ssh 密钥,以便我可以从私人仓库克隆。我一直在尝试很多变化
但我没有看到该节点出现在具有访问权限的客户端列表中。
我在此命令中做错了什么或需要做什么才能使其正常工作?我一直在关注本指南,但我没有使用角色。