chef-infra - Chef 自定义资源是否应该使用属性作为默认属性值?

标签 chef-infra

Chef 自定义资源是否应该使用 Chef 属性作为默认属性值?我可以在这里看到几个选项:

  1. 拥有一本纯库 Recipe ,仅包含自定义资源(或 LWRP),这些资源只能由使用 Chef DSL 编写菜谱的人进行配置。
  2. 拥有一本库说明书,其中属性的默认值可以来自 Chef 属性。这允许用户在 Chef 服务器上设置某些值,只要有一个菜谱使用相关资源即可。
  3. 有一本提供自定义资源的 Recipe ,但有一个使用 Chef 属性来填充所有值的默认 Recipe 。即只有配方使用这些属性。在这种情况下,菜谱(和属性)可以放在一本单独的 Recipe 中,但将其全部放在一本 Recipe 中似乎很方便。

这里的最佳实践是什么?

最佳答案

我选择选项 3:https://github.com/poise/poise-monit/blob/master/chef/recipes/default.rb#L17-L22

如果必须是真正全局的东西,我有时会直接在资源或提供程序中使用节点属性,但我只能想到少数情况。

关于chef-infra - Chef 自定义资源是否应该使用属性作为默认属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35060661/

相关文章:

nginx - 将 nginx 模块与 chef nginx Recipe 一起使用

tomcat - 从chef supermarket下载的tomcat cookbook如何运行?

ruby - Chef - Dir.exists? guard 将符号链接(symbolic link)视为目录

基于 Elasticsearch 文件的索引模板未显示在 "/_template"API 调用中

ruby - block 看不到方法( Chef 资源)

chef-infra - Terraform:配置 Chef

chef-infra - 替代 Chef/Puppet/Jenkins 将指令集从服务器推送到客户端,反之亦然?

configuration - 如何在不更改 Recipe 的情况下使用 Chef_solo 设置 vagrant

amazon-web-services - AWS、Packer、Vagrant 和 Chef 它们如何协同工作?

nginx - Chef Recipe 在 ohai 未定义方法 `[]' 上失败,无 :NilClass