调用 LWRP 时的 Cookbook 名称前缀

2024-05-12

Summary

我可以使用外部说明书中的 LWRP 而不添加说明书名称前缀吗?例如,如果mycookbook包含mylwrp资源 我该怎么做?

include_recipe 'mycookbook' # Contains "mylwrp"
mylwrp "frobulator" do
   frobulations 42
end

Details

我写了一个LWRP,它的名字是mycookbook_mylwrp因为图书馆食谱使用正常的资源/提供者布局,如下所示

mycookbook/
├── providers
│   └── mylwrp.rb
└── resources
    └── mylwrp.rb

是否有可能

  • 将 LWRP 保留在mycookbook食谱
  • 使用 LWRP 而不添加前缀mycookbook name (mycookbook_mylwrp)

我意识到我可以创建一本全新的食谱并将其命名为“mylwrp”并使用默认提供程序,如下所示

mylwrp/
├── providers
│   └── default.rb
└── resources
    └── default.rb

但随后我必须为我想以这种方式使用的每个 LWRP 制作专门的食谱。


一种选择是使用 HWRP。这些进入libraries目录而不是resources and providers。如果你走那条路,我会调查一下poise库,它允许您以与 LWRP 相同的技巧编写 HWRP。

话虽如此,你正在做的事情绝对超出了常规。社区习惯于将自定义提供程序命名为与声明它们的说明书相匹配。如果您想与社区分享这本食谱,您将会引起一些混乱。即使您只在内部使用它,它也会使您带入团队的任何新成员的学习曲线变得陡峭。因此,除非您有充分的理由这样做,否则我强烈建议您避免这样做。

另一方面,如果您确实有令人信服的理由,我建议您分享它,以便我们都能从您的想法中受益。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 LWRP 时的 Cookbook 名称前缀 的相关文章

  • 厨师食谱在 ohai 未定义方法“[]”上失败,因为 nil:NilClass

    我正在编写一本厨师食谱 在我的流浪盒子上设置一个带有 nginx postgresql 和 unicorn 的普通 ubuntu 12 04 2 但是我遇到了 nginx 的麻烦 有一个例外 undefined method for nil
  • 如何查看节点安装的软件包版本?

    我正在调整 Apache 食谱以与 2 4 Apache 一起使用 Opscode Cookbook 目前失败 因为它正在生成带有 LockFile 关键字的 conf 文件 该关键字被排除在 Apache 2 4 关键字列表之外 我想制定
  • 如何使用Chef设置环境变量?

    有一个与此类似的问题 但无法使其正常工作 我想简单地设置一个环境变量 然后使用它 execute start zookeeper do cwd opt zookeeper 3 4 5 bin command zkServer sh star
  • Chef Chef-validator.pem 安全性

    您好 我正在异地使用厨师设置一组机器 如果其中一台机器被盗 攻击者可以通过拥有chef validator pem 对我的chef server 或其他节点造成什么损害 他们还可以通过厨师获得哪些其他东西 谢谢 这是最近 Foodfight
  • 使用 Chef 在 Windows 节点上挂载 Windows 共享

    我正在尝试将文件从 Windows 共享复制到我的节点的缓存 显然没有办法从remote file 做到这一点 所以我的替代想法是尝试将Windows 共享安装到本地驱动器并通过文件资源访问我需要的文件 然而 即使 Chef 告诉我挂载成功
  • 如何在厨师中运行具有依赖项的食谱?

    我已经配置了工作站这一步开始使用 操作系统 redhat 6 5 我已经启动了一个节点 我这样修改了一本食谱 myCookbook metadata rb name myCookbook maintainer YOUR COMPANY NA
  • 厨师食谱 - 重新加载路径

    我刚刚使用 Chef Cookbook 安装了 Java 并为所有用户更新了 PATH 环境变量 将新文件添加到 etc profile d 是否可以告诉厨师重新加载 PATH 变量 当我做这样的事情时 execute java check
  • 有没有办法将资源的属性解析延迟到“执行”阶段?

    我有两个 LWRP 第一个涉及创建磁盘卷 对其进行格式化并将其安装在虚拟机上 我们将此称为资源cloud volume 第二个资源 它的作用并不重要 需要新格式化卷的 UUID 这是必需的属性 我们将调用此资源foobar 资源cloud
  • 通过 Chef 部署时出现 git 错误

    我正在尝试通过 Chef 代码部署 Rails 应用程序 食谱包含代码 deploy revision testapp do repo REPO URL ssh wrapper home ubuntu ssh chef ssh deploy
  • Vagrant 来测试厨师食谱 - 但如何处理私人 git

    我使用 vagrant 来测试我的厨师食谱 问题是我已经克隆了我的私人存储库并且机器没有被认证 我如何自动对 boostrap Chef 进行 git 身份验证 我正在使用 vagrant ubuntu 11 10 with Chef Th
  • Chef ruby​​ gem 安装程序失败

    我尝试通过 Chef 在 CentOS VM 上设置 cassandra 但失败并出现以下错误 我努力了清除捆绑包缓存 https stackoverflow com questions 10575679 bundle update fai
  • 在 docker 容器中安装 Chef-server

    我一直在尝试在 Docker 容器中安装 Chef Server 但遇到了一些麻烦 我正在运行一个带有最新版本的 Ubuntu 12 04 和最新安装的 Docker 的虚拟机 我运行一个基础 Docker Ubuntu 12 04 容器并
  • 如何检查目录是否是厨师中的符号链接

    我只想删除不是 symlnik 的目录 directory var www html do action delete only if end 所选答案不适用于 Windows 或 Bash 为默认解释器的系统 您应该使用跨平台的 Ruby
  • 厨师服务器 WebUI 不工作

    我已经下载并安装了chef server core 12 xDPKG 封装已开启ubuntu 13 x chef server ctl reconfigure运行成功 但是当我尝试 URL 时http chef example com我收到
  • 如何使用 ChefSpec 测试我的 LWRP?

    我创建了自定义 LWRP 但是当我运行ChefSpec https github com sethvargo chefspec单元测试 它不知道我的 LWRP 操作 这是我的resource actions install uninstal
  • 如何安装knife-ec2插件?

    OSX 10 9 2 ruby v ruby 2 0 0p247 2013 06 27 revision 41674 universal x86 64 darwin13 knife v Chef 11 10 4 当我跑步时 knife ec
  • 在vagrant box上创建虚拟主机

    我正在尝试设置一个基于 Chef 提供的 vagrant 的开发环境 我使用 Apache 使用 Chef 创建了一个环境 并且可以通过端口转发从我的主机访问 Web 服务器 我想让我的流浪盒包含多个虚拟主机 并且通过共享文件夹 我将定义不
  • 如何获取 RightScale 厨师食谱中正在运行的食谱的完整路径?

    从我当前正在执行的食谱食谱中 我想访问它在我的执行机器上的 当前 位置 我需要它来访问它的缓存目录结构 我有一种感觉它位于 node 内部的某个地方 但我根本找不到有关其结构的任何文档 有什么建议吗 Thanks 刚刚通过检查 run co
  • 使用“magic_shell”食谱更新 $PATH

    我创建了两本食谱 java kevin 和 maven kevin 食谱 java kevin recipes default rb node default user vagrant node default user home home
  • 人们如何测试 opsworks 食谱?

    我在 nginx 上使用我目前使用 Capistrano 的乘客对铁路应用程序的动态配置实例进行了相当复杂的部署 我正在尝试自动化 Opsworks 上从创建堆栈 层 实例和动态应用程序部署的整个过程 现有的 Opsworks 食谱都无法满

随机推荐