Chef infra 如何在knife.rb配置文件中指定数据包路径?

Chef infra 如何在knife.rb配置文件中指定数据包路径?,chef-infra,knife,databags,Chef Infra,Knife,Databags,我有针对不同客户的数据包,如下所示: /data_bags/client1/users/.... /data_bags/client1/projects/.... /data_bags/client2/users/... /data_bags/client2/projects/... 因此,client1和client2有一组不同的项目和用户,但作为开发人员,最好将所有配置都放在文件夹下。我处理它们,然后当它们准备好生产时,我想将它们推送到chef服务器以提供节点。但是knife.rb希望所有

我有针对不同客户的数据包,如下所示:

/data_bags/client1/users/....
/data_bags/client1/projects/....
/data_bags/client2/users/...
/data_bags/client2/projects/...
因此,
client1
client2
有一组不同的项目和用户,但作为开发人员,最好将所有配置都放在文件夹下。我处理它们,然后当它们准备好生产时,我想将它们推送到chef服务器以提供节点。但是
knife.rb
希望所有数据包都在一个文件夹下,即
/data\u bags
。如果我可以指定一个数据包路径,这将是完美的:

cookbook_path            ["#{current_dir}/../cookbooks", "#{current_dir}/../other-cookbooks"]
databag_path            "#{current_dir}/../data_bags/client1"
我的目标是在不同的文件夹中安排或组织不同的数据包收集,并指定我希望通过knife.rb使用的数据包路径


是否有办法指定数据包的路径?

为什么?你的目标是什么?IIRC,您必须始终提供数据包的
.json
文件的路径。你不能仅仅通过数据包名称和项目来访问它(在磁盘上)。这会适得其反,数据包将被上传到chef服务器,或者如果你试图细分chef repo路径,你将进入一个可怕的混乱状态。chef repo或多或少地模拟了通过API访问chef服务器对象的内部路径(例如/data/for databags、/role/for roles)。总之,在开始这个问题之前,请等待前面的问题得到回答,其中一个问题是另一个问题的后续问题。@Tensibai,好的,但您能否详细说明
数据包将上载到厨师服务器,或者如果您试图细分厨师休息路径,您将进入一个可怕的混乱状态
?我不明白你的意思。你仍然可以按照你的意愿将项目存储在不同的文件中,一旦进入chef服务器,你将只有一对可访问的数据包名称和数据包项目名称,路径将丢失,并且只能在版本控制中服务来安排事情。因此,用于访问数据的配方代码将与您的回购布局不匹配,您将腾出时间查找哪个项目是什么,回购布局应为
/data\u bags//.json
,因此您将在配方中调用的
data\u bag\u项目(,)
与存储库中的布局之间进行匹配。@Tensibai,没问题,我不想上传所有不同的数据包集合,我只想指定一个对一个客户端有效的数据包路径。为什么?你的目标是什么?IIRC,您必须始终提供数据包的
.json
文件的路径。你不能仅仅通过数据包名称和项目来访问它(在磁盘上)。这会适得其反,数据包将被上传到chef服务器,或者如果你试图细分chef repo路径,你将进入一个可怕的混乱状态。chef repo或多或少地模拟了通过API访问chef服务器对象的内部路径(例如/data/for databags、/role/for roles)。总之,在开始这个问题之前,请等待前面的问题得到回答,其中一个问题是另一个问题的后续问题。@Tensibai,好的,但您能否详细说明
数据包将上载到厨师服务器,或者如果您试图细分厨师休息路径,您将进入一个可怕的混乱状态
?我不明白你的意思。你仍然可以按照你的意愿将项目存储在不同的文件中,一旦进入chef服务器,你将只有一对可访问的数据包名称和数据包项目名称,路径将丢失,并且只能在版本控制中服务来安排事情。因此,用于访问数据的配方代码将与您的回购布局不匹配,您将腾出时间查找哪个项目是什么,回购布局应为
/data\u bags//.json
,因此您将在配方中调用的
data\u bag\u项目(,)
与存储库中的布局之间进行匹配。@Tensibai,没问题,我不想上传所有不同的数据包集合,我只想指定一个对一个客户端有效的数据包路径。