问题标签 [chef-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
52 浏览

chef-infra - 在厨师中过滤IP

我在我的地方有一个数据中心的设置。所以基本上我正在创建一个logstash conf文件,它将使用过滤器参数来包含数据中心名称

0 投票
1 回答
175 浏览

nginx - 厨师:“厨房融合”不采购新模板

我已经生成了一个新模板,我将使用它来编辑 Nginx conf 文件。nginx.conf.erb 文件是在我的食谱的 Templates 文件夹中创建的,我已经对其进行了编辑以使其按照我的意愿配置 Nginx。在我的食谱中,我添加了以下内容,使其使用我的 nginx.conf.erb 模板更新我的 Nginx conf 文件:

问题是当我运行“厨房收敛”并登录到 vagrant 实例时,我的 Nginx conf 文件(/etc/nginx/conf.d/default.conf)没有更新为我的 nginx.conf.erb 文件的内容. 收敛期间没有错误,并且配方中的其他所有内容似乎都已运行。ChefDK 不会让我在输出中向上滚动足够远以查看发生了什么。关于模板可能没有更新的原因或我可以在哪里找到可以为我提供融合的完整输出的日志的任何建议?

Chef 客户端输出(如下)引用了我想要对 Nginx conf 文件进行的更新,但是当我在收敛后登录时该文件没有更新。

0 投票
1 回答
1009 浏览

chef-infra - 在厨师自定义资源中调用食谱

我有一本my_service带有自定义资源的食谱write_config。该资源是从另一本食谱中调用的node_a

  • my_service/resources/write_config.rb

    /li>
  • 节点食谱食谱node_a/default.rb

    /li>

这工作正常,但我想摆脱calling_cookbook财产。

有没有办法自动获取calling_cookbook名称?

解决方案

(谢谢coderanger!)基本资源template似乎在调用 ( node_a) 食谱 (?) 的上下文中得到评估。

  • my_service/resources/write_config.rb

    /li>
  • 在节点食谱食谱中使用它node_a/default.rb成为单行:

    /li>

整洁的!

0 投票
1 回答
95 浏览

ruby - Chef 模板:使用嵌套对象生成配置文件

我想从Chef模板生成一个配置文件。实现此目的的正确语法是什么Chef 13+

我有一个带有以下子键的数据包:

然后在我的食谱中,我使用模板资源:

然后在模板中:

引用param1和的正确方法是什么param2

0 投票
1 回答
331 浏览

ubuntu-16.04 - 将 chef upstart 模板转换为 systemd

我在 chef-Cookbook 中有一个新贵模板,并希望将其转换为 Systemd,以便在 16.04 中支持它。我已经转换,但由于我的服务器无法正常启动而面临问题。

以下是暴发户脚本 -

Systemd中相同的转换是-

我面临的问题-

  • 节点 js 服务器未运行
  • my_nodejs.service - 服务器 nodejs 已加载:已加载(/etc/systemd/system/my_nodejs.service;已启用;供应商预设:已启用)活动:自 2017 年 12 月 28 日星期四 08:01:14 起失败(结果:退出代码)世界标准时间; 6 秒前 Main PID: 5842 (code=exited, status=64)
  • systemd[1]: my_nodejs.service: 主进程退出,code=exited,status=64/n/a

    systemd[1]: my_nodejs.service: 单元进入失败状态。

    systemd [1]:my_nodejs.service:失败,结果为“退出代码”。

0 投票
0 回答
107 浏览

node.js - 将 chef upstart 模板转换为 ubuntu 16.04 的 systemd

我在 chef-Cookbook 中有一个新贵模板,并希望将其转换为 Systemd,以便在 16.04 中支持它。我已经转换,但由于我的服务器无法正常启动而面临问题。

以下是暴发户脚本 -

Systemd中相同的转换是-

我面临的问题-

  • Node js 服务器未运行 my_nodejs.service - 服务器 nodejs 已加载:已加载(/etc/systemd/system/my_nodejs.service;已启用;供应商预设:已启用)活动:自 2017 年 12 月星期四以来失败(结果:退出代码)- 28 08:01:14 UTC;6 秒前 Main PID: 5842 (code=exited, status=64)

  • systemd[1]: my_nodejs.service: 主进程退出,code=exited,status=64/n/a

  • systemd[1]: my_nodejs.service: 单元进入失败状态。
  • systemd [1]:my_nodejs.service:失败,结果为“退出代码”。
0 投票
1 回答
183 浏览

chef-infra - Chef 模板渲染嵌套对象

我正在尝试在厨师模板中渲染一个 yaml 对象,它工作正常,但正如我们所知,在 yaml 空间中也很重要,因此它正在创建新属性。

其中collection是一个json对象

预期结果是

得到结果

其次,有什么方法可以从 to_yaml 函数中删除 types( !ruby/hash:Mash)吗?---

0 投票
1 回答
352 浏览

ruby - 如何在厨师模板资源中使用空白数组的局部变量

我正在尝试在厨师模板中使用空格数组,如下所示,当我运行厨师客户端执行食谱时出现错误提示:选项变量必须是一种[哈希]!下面是配方文件

运行厨师客户端时出现的错误:

选项变量必须是一种 [Hash]!你通过了“abc_sit”

0 投票
1 回答
487 浏览

chef-infra - 运行厨师模板资源时如何保留现有主机文件

我正在尝试使用 Chef 模板资源将一组新的 FQDN 和 IP 添加到现有的 Windows 主机文件中。我发现当我运行厨师食谱时,它会删除现有的主机文件,然后添加新的更新。我只想将新资源附加到文件的末尾,我在这里做错了action :touch吗?

模板文件 hosts.erb:

配方 windows.rb 文件:

厨房收敛输出文件告诉我主机文件被覆盖而不是更新?为什么?

0 投票
1 回答
36 浏览

chef-infra - 如何让 Chef 出错或至少报告 .erb 模板中缺少的变量?

如果我在 .erb 中有如下一行:

如果 @temp_dir 变量未定义,有没有办法让 Chef 失败或至少报告?

理想情况下,我想在配方顶部进行一次调用,或者在命令行中使用配置选项(我使用的是 chef-client)。

提前谢谢!