替换包装食谱中的模板

2024-03-03

我正在尝试为以下内容写一本包装食谱厨师石墨回购 https://github.com/hw-cookbooks/graphite

在配方carbon.rb中,出现以下几行:

template "#{node['graphite']['base_dir']}/conf/storage-schemas.conf" do
  owner node['apache']['user']
  group node['apache']['group']
end

在 templates/default/storage-schemas.conf 中,有一个 storage-schemas.conf 文件不符合我的喜好。我可以内联编辑文件并实现我想要的效果,但如果我希望能够使我的存储库保持最新状态而不会发生合并冲突,那么这似乎不是一个好的厨师实践。所以我想知道是否可以用包装食谱来解决这个问题。

我的第一个虽然是类似的东西

include_recipe "graphite"
template "#{node['graphite']['base_dir']}/conf/storage-schemas.conf" do
  owner node['apache']['user']
  group node['apache']['group']
end

我将在基本配方完成后重新运行命令,并将我想要的文件放入wrappercookbook/templates/storage-schemas.conf.erb中。这是常见做法吗?感觉不是很干燥,但我想不出更干净的方法。


你已经很接近了。假设您的包装器说明书中有 storage-schemas.conf.erb 文件的修改版本,您可以执行以下操作:

include_recipe "graphite"
begin
  r = resources(:template => "#{node['graphite']['base_dir']}/conf/storage-schemas.conf")
  r.cookbook "my-cookbook"
rescue Chef::Exceptions::ResourceNotFound
  Chef::Log.warn "could not find template to override!"
end

您还可以使用如下行:

r.source "graphite-stuff/my-storage-schemas.conf.erb"

如果您想以不同的方式组织包装食谱中的文件。

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

替换包装食谱中的模板 的相关文章

  • 如何在 Chef 中扩展轻量级提供程序

    我正在创建一堆不同的 Chef 提供程序来部署不同类型的应用程序 厨师的文档扩展轻量级提供程序表明这是可能的 但实际上并没有说明要做什么 该页面表明也许可以调用mixin是需要的 但我不知道我的代码在下面的文件中应该有什么结构 librar
  • Chef Chef-validator.pem 安全性

    您好 我正在异地使用厨师设置一组机器 如果其中一台机器被盗 攻击者可以通过拥有chef validator pem 对我的chef server 或其他节点造成什么损害 他们还可以通过厨师获得哪些其他东西 谢谢 这是最近 Foodfight
  • 捆绑包安装使用不同的 Ruby 版本?

    我尝试使用 Knife solo 在 Vagrant 上安装 Ruby 2 0 0 p353 当我以 root 和 vagrant 身份登录时 ruby v返回 Ruby 2 0 0 p353 然而 当我跑步时bundle install在
  • 如何在厨师中运行具有依赖项的食谱?

    我已经配置了工作站这一步开始使用 操作系统 redhat 6 5 我已经启动了一个节点 我这样修改了一本食谱 myCookbook metadata rb name myCookbook maintainer YOUR COMPANY NA
  • 以非 root 用户身份运行厨师客户端

    我想在我的 Linux 机器上以测试用户身份运行 Chef client 为此 我在 client rb 文件中添加了来自 etc chef client rb 的缓存路径 cache path chef cache 然后我从测试用户 非r
  • Java JDK静默安装指定路径

    我想以静默模式 实际上是使用Chef 安装指定版本的JDK 我的问题是 当我添加 INSTALLDIR 参数时 Java JDK 安装失败 如果没有它 JDK 将安装在默认目录中 C 程序文件 Java or C 程序文件 x86 Java
  • 使用 shell 脚本自动化 VIM 编辑器并更新值(类似于通过 shell 脚本编辑 crontab)

    我正在尝试通过 Shell 脚本自动执行类似于 crontab 编辑的命令的 VI 编辑 但到目前为止对我不起作用 这是 admin 为 true 的最终 json name SQLSRVR admin true json class Ch
  • 在 ruby​​ 类中调用 Knife

    我想围绕刀创建一个很好的包装类 以允许程序以可读的方式运行刀命令 我目前正在尝试使用 Chef gem 中的 Knife rb 文件作为取得成功的指南 但是 我在关闭编辑器时遇到问题 如果我运行以下代码 require chef knife
  • 在 docker 容器中安装 Chef-server

    我一直在尝试在 Docker 容器中安装 Chef Server 但遇到了一些麻烦 我正在运行一个带有最新版本的 Ubuntu 12 04 和最新安装的 Docker 的虚拟机 我运行一个基础 Docker Ubuntu 12 04 容器并
  • Jenkins CI 与 Chef 服务器

    有什么方法可以将 Jenkins 与 Chef Server 集成 以便我可以创建要执行的作业吗 我不想去厨师工作站 我需要在单独的服务器或厨师工作站上安装 jenkins 吗 我可以直接从 Jenkins 控制台执行所有食谱吗 是的 你可
  • 厨师从模板和刀搜索中创建逗号分隔的字符串

    我正在尝试从 Knife 查询创建动态创建的以逗号分隔的 Splunk 索引器列表 数据端口附加到每个主机名 该查询将返回的主机列表提供给模板和相应的 erb 然而 尽管当我聚合到测试 Docker 实例时没有抛出任何错误 但 conf 文
  • 更改正在运行的系统上的 Vagrant 端口转发

    我有一个 Vagrant 系统正在运行 我想对其进行更改 只需更改其中一个转发规则即可 From 这一页 http vagrantup com docs getting started ports html 转发端口在期间应用vagrant
  • 如何检查 Chef 的版本是否满足食谱中的宝石要求?

    Chef Version 包含 Chef gem 的版本号 我想检查它是否满足 gem 要求 gt 10 14在食谱里面 Use Gem Requirement and Gem Version Gem Requirement new gt
  • Chef:是否可以定义使用模板的 Chef 资源,并从另一本说明书中调用它?

    我有一个使用 Chef 模板的资源 并且运行良好 食谱中的其他资源和食谱可以调用此资源 就我而言 我定义了一个 Maven 工件资源 在给定一些 Maven 参数 存储库名称 工件 ID 等 的情况下 您可以从 Nexus maven 存储
  • Chef 客户和验证者

    我试图理解 Chef 客户端和验证器的概念 以及它们与引导过程的关系 根据本文 http docs opscode com server manage clients html 厨师 客户将使用 etc chef validation pe
  • docker 中的 systemctl 错误“无法连接到总线:没有这样的文件或目录”

    我在用Ubuntu 16 04图像与docker在本地测试我的食谱 在做的同时kitchen converge 我收到以下错误 我想通了systemctl无法正常工作 有人可以帮我解决这个问题吗OR还有其他方法可以实现同样的目的吗 2017
  • gitlab-ctl 重新配置:无法确定节点名称

    我确实在 Ubuntu 16 04 4 LTS 上设置了一个新的 GitLab 实例 安装包进展顺利 GitLab 似乎已启动并运行 然后我开始配置实例并设置 SMTP etc gitlab gitlab rb 后来我跑了sudo gitl
  • 厨师兼顾客中途死亡

    最近 我们开始遇到厨师客户在跑步过程中死亡的问题 因为我们在通常进行得更快的跑步列表的各个部分上花费了更多的时间 我使用的是家庭 Wi Fi 而我的同事使用的是工作 Wi Fi 该 Wi Fi 本身也存在一些连接问题 如果在 Chef cl
  • Knife Bootstrap 的 Chef 节点配置问题 - 无法通过服务器进行身份验证

    我正在尝试使用 Knife Bootstrap 设置厨师客户端节点 knife bootstrap nodename x user P passwd sudo 收到以下错误消息 Chef 在尝试创建客户端 nodename url com
  • 如何获取 RightScale 厨师食谱中正在运行的食谱的完整路径?

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

随机推荐

  • .NET 会话不工作

    这是一个奇怪的问题 但希望有人能给我一个想法 我将一些值放入会话中Session Start of the Global asax在我的应用程序中 紧接着Session Start我的基本页OnInit接到电话并尝试使用其中之一Sessio
  • jQuery Datepicker BeforeShowDay 第二个参数

    jQuery datepicker 允许您使用 BeforeShowDay 回调突出显示日期 是否可以向该方法传递第二个参数 selector datepicker beforeShowDay selectedDay function se
  • Rails 3:如何根据Controller的方法创建命名范围?

    In my ApplicationController我有demo mode 方法 返回true当当前登录的用户类型为 demo 时 Post模型有publisher id字段 它指的是Users table User有user type字
  • 对象 # 没有方法“done”

    我试图实现简单的ajax GET 请求 在回调部分我想调用一些函数 代码如下 ajax url ajax pages ajx getcard php id obj value context document body done funct
  • 启动 Rails 服务器 Sidekiq 时出错

    当我尝试启动我的服务器时 rails s 给我以下错误 管理员 rvm gems ruby 1 9 3 p392 gems bundler 1 11 2 lib bundler runtime rb 81 in rescue in bloc
  • java中私有变量的序列化

    我有一个关于序列化的问题 如果我的类有私有变量并且没有 getter 和 setter 那么序列化 API 将如何读取这些变量的值 首先 访问权限是编译时功能 访问在运行时不受控制 这可能会让您感到困惑 但请尝试执行以下操作 创建 A 类的
  • 制作等长向量的列表

    在一个关于SO的问题中 LINK https stackoverflow com questions 10661295 apply a function over groups of columns 一个海报问了一个问题 我给出了一个有效的
  • jQuery .toggle() 显示和隐藏子菜单

    我正在使用这个问题的代码来进行显示 隐藏切换 jQuery toggle 显示和隐藏子菜单 https stackoverflow com questions 9469807 jquery toggle to show and hide a
  • OSX 惯性滚动导致 mousewheel.js 通过最轻微的滚动运动注册多个鼠标滚轮事件

    我正在开发一个非常标准的 Flexslider 实例 柔性滑块 http flexslider woothemes com 与jquery mousewheel js https github com brandonaaron jquery
  • 使用 subversion 将更改提交到与当前签出分支不同的分支

    我一直在处理从开发线检出的代码 发现所做的更改可能是破坏性更改 需要在提交到主开发树之前移动到实验分支 但是 我没有签出实验分支 并且我不想丢失已经进行的更改 有没有办法将工作文件夹中的更改提交到与最初签出的分支不同的分支 您应该从已知的分
  • Three.js中是否有一个容器类型对象来转换一组孩子?

    Three js 中是否有一个容器或节点对象 可以将多个网格添加为子对象 以便它们可以一起转换 一个不可见的容器 允许对组中的所有子对象执行转换 thanks Example http mrdoob github com three js
  • 在单个查询中将行插入到多个表中,从涉及的表中进行选择

    我有两个以下形式的表 即 每个 foo 都链接到一个栏 CREATE TABLE foo id INTEGER PRIMARY KEY x INTEGER NOT NULL y INTEGER NOT NULL bar id INTEGER
  • 如何用下划线模板显示JS对象?

    我想使用下划线模板显示 JS 数据对象 我似乎无法弄清楚如何钻取对象以获取国家 地区名称或其他日期 例如 tarrifType 并使用我的模板显示它 该物体看起来像这样 var items country China tarrifType
  • 如何在 AngularJS 中使用 Web Worker?

    我在用着AngularJS 种子 https github com angular angular seed我想看看 Web Worker 的有效实现 我想让一个简单的 Web Worker 工作以便理解它 但我遇到了功能问题 我的 Web
  • 如何以编程方式从后台恢复 Android Activity

    情况 假设我当前正在启动应用程序 Activity A 一段时间后 我按下 主页 按钮 应用程序 A 进入后台 此时 我开始使用另一个应用程序 B 例如 youtube 等 当前最小化到后台的应用程序 A 中发生了一些事情 在这种情况下发生
  • 如何在 Google 搜索 iframe 上设置自定义宽度?

    我正在尝试使用谷歌搜索我的网站 http www houseofhawkins com search php http www houseofhawkins com search php 它在某些屏幕分辨率下表现不佳 这是谷歌给出的代码 d
  • 编排微服务

    编排微服务的标准模式是什么 如果一个微服务只知道自己的领域 但有一个数据流需要多个服务以某种方式交互 那么该怎么做呢 假设我们有这样的东西 开具发票 Shipment 为了便于论证 我们假设订单发货后 就应该创建发票 在某个地方 有人按下了
  • VBA Excel 的比率条件要求

    我有一个财务数据 表明项目的健康状况 并根据差异填充颜色和字母来指示健康状况 例如 如果方差小于 5 则用字母 G 填充绿色 大于 5 但小于 20 则填充 Y 大于 20 R 我已经使用 if 语句来实现这一点 但是我需要填充整个项目的颜
  • bazel是否支持不同平台上的远程执行?

    具体来说 我想从 Mac 主机对 Windows 工作线程运行测试 评论在不同的机器上运行 bazel 远程执行器测试 https stackoverflow com questions 44354378 running bazel rem
  • 替换包装食谱中的模板

    我正在尝试为以下内容写一本包装食谱厨师石墨回购 https github com hw cookbooks graphite 在配方carbon rb中 出现以下几行 template node graphite base dir conf