Chef属性与数据包

Min*_*ark 21 attributes chef-infra databags

我是Chef的新手,在阅读完文档后,我仍然无法理解何时使用属性以及何时使用数据包.

应将哪种数据存储为属性,以及应将哪种数据存储在数据包中?

谢谢

Dra*_*ter 24

这得看情况.虽然数据包和属性都包含数据,但它们之间的主要区别在于,在运行配方时属性会作为节点属性公开,但您没有清楚地了解使用了哪些数据包(除非您在运行列表).

我个人在属性中存储的是:

  • 安装,创建某些内容(文件,程序)的路径
  • 软件版本
  • 网址,端口(从服务器上下载等等)
  • 用户名

在数据包中:

  • 所有无法曝光的东西 - 加密数据包(私钥,密码)
  • 用户属性(名称,shell,密码哈希,公钥,注释等)
  • 一些其他配置,更像是对象,但不是简单的字符串或数字数据,这对节点本身并不重要.

关于最后一点:一个例子是maven存储库列表.存储库具有属性:名称,URL,策略等.对于节点来说,配置什么存储库并不重要 - 重要的是它已经安装了maven.另一个例子是用户,只有可用的用户名在属性中.所有其他数据都在数据包中,虽然它可以暴露 - 没有秘密数据.