问题标签 [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.

0 投票
1 回答
145 浏览

ruby - 通过数据包进行厨师延迟属性分配

所以我有点咸菜。我有一个加密的数据包来存储 LDAP 密码。在我的节点运行列表中,我的一个配方将密钥安装到我的客户端机器上。在我有问题的食谱中,我有一个助手(在 /libraries 中)从 AD 中提取数据(使用 LDAP)。问题是,在初始编译阶段之后,我找不到延迟节点属性分配的方法。

以这行代码为例:

我试图通过添加由我的帮助函数“get_sam”返回的数组来覆盖属性,该函数返回一个数组,但它需要在编译阶段之后运行,因为文件“/etc/chef/secret/yp_chefserver”在收敛之前不存在我的运行列表。

所以我的问题是:有没有办法在执行阶段通过 data_bag_items 分配节点属性?

我尝试过的一些事情:

这不起作用,因为自定义资源 ruby​​_block 没有方法“data_bag_item”。我试过在我的“chef_server”自定义资源中使用惰性属性,但同样的问题。

我也尝试直接在我的辅助模块中完成归因,但是由于辅助模块在 exec 阶段之前编译,因此在分配变量时文件不存在。

如果有人想知道,这是有问题的辅助函数,它从 LDAP 中提取 SamAccountName 以将管理员用户分配给我的厨师服务器。:

0 投票
0 回答
34 浏览

java - 我们可以用数据包中的值初始化一个全局最终变量吗

我必须安排一个带有@Scheduled Annotation 的方法,它只接受一个常量变量作为参数。但我希望从数据包初始化这个常量,而不是硬编码它。有没有办法做到这一点?

我可以给你计时器,它可以工作,但我想知道这是否可能。我尝试在 PostConstruct 注释中初始化变量,但它也不起作用,因为最终变量必须在声明时初始化

需要避免硬编码变量 t。

0 投票
1 回答
152 浏览

chef-infra - [chef]:查看节点上所有可用的数据包

在我们的组织中,开发人员被授予拥有食谱的所有权。这些食谱最初是由操作人员编写的。我是一个 Java 人,而不是厨师/红宝石/操作专家。我的任务是调试食谱未从正确的数据包中读取的问题。

是否可以列出厨师节点上的所有可用数据包?我尝试过这样的事情,但它需要很长时间。

我正在查看的代码是:

当 chef-client 在节点上运行时,它是否将所有 data_bag json 文件组合成 1 个数据结构。在编写食谱时,我是否必须指定要加载的 data_bag?

更新:

在我将搜索限制在厨师的目录之后,这个命令运行得非常快:

谢谢。