attributes - 为什么在 Chef 中使用普通属性(attribute.set[..])?

标签 attributes persistence chef-infra persistent-storage

我正在研究一个厨师实现,有时在过去的地方使用了 attribute.set,attribute.default 会这样做。为了解决这个问题,我对 Chef 属性优先范式非常熟悉。我知道“正常”属性(使用 attribute.set[] 分配)在厨师客户端运行之间持续存在。

这让我想知道使用 attribute.set 的常见和最佳方法是什么?我不明白在 Chef 客户端运行之间的节点上保留属性分配的值(value)?

最佳答案

使用场所node.set当您需要某种状态但不能(轻松)将其存储在系统中时。这在自生成数据库密码中很常见。您需要将它存储在某个地方,通常是因为其他节点需要密码,但数据库本身只存储散列值,因此您无法从那里检索它。使用节点对象作为有状态存储为您提供了一个放置数据的地方。

也因为我不得不说,像这样存储密码是非常不安全的,请不要。

关于attributes - 为什么在 Chef 中使用普通属性(attribute.set[..])?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560474/

相关文章:

javascript - 包含 javascript 属性的对象的appendChild

java - 在运行时检查 Java EE 服务器正在使用哪个持久性提供程序?

chef-infra - 无法在 Chef 中使用not_if

jpa - 无法回滚JPA事务; javax.persistence.PersistenceException : unexpected error when rollbacking"exceptions?

ruby - Vagrant with Chef - 配置 VM 时出错

ruby - 大厨 Ruby 挖掘出错误的参数数量

ruby-on-rails - Rails ActiveRecord 有条件地保护属性不被修改

java - 如何在Java中获取文件的 "details"

php - WooCommerce 通过属性查询获取产品

serialization - EJB。当我使用 var List 调用 session Bean 时,抛出 : this javax. ejb.EJBException : java. rmi.MarshalException