调用 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 名称前缀 的相关文章

  • 如何使用 Knife 编辑 ec2 节点的 Chef 属性

    我想使用编辑 ec2 节点的 node dataknife node命令 我可以使用以下命令手动执行此操作 knife node edit NODE NAME它将生成一个我需要编辑的 json name NODE 1 3 chef envi
  • 从 ruby​​ 内部加密数据包,无需依赖 Knife

    目前要加密数据包 我必须这样做 system knife data bag from file TemporaryEncrypting enc file path secret file Secret Key Path 这不起作用 因为 K
  • 厨师食谱中使用了哪些 ruby​​ 功能?

    我刚开始使用 Chef 对 ruby 不太了解 我无法理解食谱中使用的语言语法 比如说 我在食谱中的recipes default rb 中创建一个目录 如下所示 directory home test mydir do owner tes
  • 通过 Chef 部署时出现 git 错误

    我正在尝试通过 Chef 代码部署 Rails 应用程序 食谱包含代码 deploy revision testapp do repo REPO URL ssh wrapper home ubuntu ssh chef ssh deploy
  • 访问 ruby​​ 块内的厨师资源

    我一直试图在厨师文档和谷歌中找到这个问题的答案 但我一无所获 我还不是一个红宝石爱好者 所以这个问题的答案可能源于我用 为 Chef 准备足够的红宝石 来解决这个问题 这就是我想做的 在我的deploy资源 在before migrate属
  • Chef - 如何编写包含用于“执行”的 DSL 的自定义资源

    我写了一个厨师definition发布到我们的聊天服务器 由于不再推荐定义 我如何将其重写为资源 我对如何使用 事件 方式触发代码特别感兴趣 File chat definitions post rb define chat post do
  • Windows 命令行 tar “无法连接到 d:解析失败” 使用 Chef Knife

    使用 Windows 命令行并安装了 cygwin chef 和 ruby 当尝试时 knife cookbook site install mysql 返回以下错误 Begin output of tar zxvf D path to c
  • Windows 食谱中的 Chef NOT_IF 和 ONLY_IF 验证问题

    我正在运行这个简单的配方块来在 IIS 中创建一个 Web 应用程序 powershell script create site my site do code New webapppool name My Web App New Webs
  • 如何检查目录是否是厨师中的符号链接

    我只想删除不是 symlnik 的目录 directory var www html do action delete only if end 所选答案不适用于 Windows 或 Bash 为默认解释器的系统 您应该使用跨平台的 Ruby
  • 如何通过 Chef 在 Tomcat 7 食谱上上传 WAR 文件?

    我正在尝试在由 CHEF 上的食谱安装的 Tomcat 7 上部署一个 War 文件 但是 我在任何论坛上都找不到我的问题的答案 我不知道该怎么做 我使用的是 Ubuntu 服务器 12 10 我正在使用的食谱是https github c
  • 厨师服务器 WebUI 不工作

    我已经下载并安装了chef server core 12 xDPKG 封装已开启ubuntu 13 x chef server ctl reconfigure运行成功 但是当我尝试 URL 时http chef example com我收到
  • 仍然可以在节点 run_list 中指定确切的食谱版本吗?

    我的笔记中有这样的内容 run list recipe email protected cdn cgi l email protection 可以明确指定在节点 run list 中使用的说明书版本 但我无法让它工作 也找不到任何文档来说明
  • 如何使用 ChefSpec 测试我的 LWRP?

    我创建了自定义 LWRP 但是当我运行ChefSpec https github com sethvargo chefspec单元测试 它不知道我的 LWRP 操作 这是我的resource actions install uninstal
  • 在 Chef 中使用属性

    刚刚开始使用chef最近 我发现属性存储在一个名为的大型整体哈希中node可在您的食谱和模板中使用 似乎有多种定义属性的方法 直接在食谱本身中 在属性文件下 例如attributes default rb 在传递给的 JSON 对象中che
  • 人们如何测试 opsworks 食谱?

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

    我已经安装了 sensu 和厨师社区食谱 但是 sensu客户端无法连接到服务器 导致rabbitmq连接错误 尝试连接时消息超时 这是详细的客户端日志 来自 sensu client log 的日志 timestamp 2014 07 0
  • 开始使用 Chef,并在部署时运行 Composer 安装

    我们希望部署一些Laravel4 http laravel com使用 OpsWorks 在亚马逊上基于 PHP 应用程序 这需要满足以下条件 从 git 抓取代码 从 getcomposer com 下载composer phar Run
  • 使用knife ec2插件在VPC私有子网中创建虚拟机

    尽管我已经写了相当多的 Chef 文章 但我对 AWS VPC 和管理网络流量 尤其是堡垒主机 还相当陌生 使用 Knife ec2 插件 我希望能够从我的开发人员工作站动态创建和引导虚拟机 VM 应能够存在于我的 VPC 的公有子网或私有
  • Chef 服务器安装问题

    我一直在尝试使用本指南在我的 CentOS 6 5 机器上安装 Chef 服务器 chef server core 12 1 0 1 el6 x86 64 rpm http docs chef io server install serve
  • Chef - 使用动态变量创建模板?

    我在厨师食谱上遇到了一些挑战 我是厨师新手 所以请耐心等待 第 1 步 我的厨师食谱安装 Ruby Passenger 然后与 Nginx 一起编译 Passenger nginx 模块 Install passenger and ngin

随机推荐