问题标签 [hiera]
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.
yaml - 你能用 Hiera 在 yaml 文件中散列一个数组吗
我正在尝试使用 puppet 使用 puppetlabs-mysql 模块创建具有一组权限的 mysql 用户
我的 yaml 看起来像这样:
然后我使用 hiera_hash 函数对 mysqlgrants 进行操作。当权限值是一个数组时会出错,但当权限值只是单个值时很好,例如 ['ALL']。有谁知道为什么?
谢谢,杰森
puppet - Puppet:无法获取 hiera 变量
我已经使用 hiera 几个星期了,直到几天前我开始收到这种消息时,一切都运行良好:
错误:无法从远程服务器检索目录:服务器上的错误 400:在任何 Hiera 数据文件中找不到数据项 nom,并且节点 d0puppetclient.victor-buck.com 上没有提供默认值
警告:不在失败的目录上使用缓存
错误:无法检索目录;跳过跑步
因此,我尝试进行一个非常简单的测试,以检查问题是否来自我上次的代码更改,并且我仍然收到此消息。我再也无法获得 hiera 变量了。在我做的测试下面:
hiera.yaml:
网站.pp:
测试.pp:
test.txt.erb:
关于解决这个问题的任何想法?我认为这可能是文件访问权限问题,所以我尝试授予对某些文件755
的访问权限()但它不起作用......
php - PuPHPet Vagrant 创建符号链接
我使用 PuPHPet 为 PHP 项目 ( https://puphpet.com/#create ) 创建了 Puppet 配置。我读过它使用 Hiera,但我真的不太熟悉 Puppet/Hiera 语法。
我想创建一个从同步文件夹到我的 Web 根目录的符号链接。我发现了如何使用 Puppet 进行操作,但我不知道它如何适合我的配置文件:
http://puppetcookbook.com/posts/creating-a-symlink.html
在 Hiera 中是否有一些技巧可以做到这一点?似乎 Hiera 使用 YAML 文件来配置所有内容。抱歉,如果我在这里完全遗漏了一些明显的东西。
例如,我的 config.yml 中有这个
我希望 /var/www/mysite 成为 /var/project/web 的符号链接。
我想我总是可以创建一个 exec-once shell 脚本来执行此操作,但希望有一种方法可以将其放入配置中。
puppet - hiera 处理 erb 模板中的未定义变量
我开始将 hiera 用于环境或机器特定的变量,但是当找不到变量时我面临一个问题。期望的行为是不应包含在模板中。我做了以下事情:在我的清单代码中
在 erb 模板中我有:
根据这里的文档,最安全的是在 nil 上进行测试。我尝试了几种变体,但没有一个起作用。
有人可以帮忙吗?
ruby - 如何从 Puppet 函数中读取 Hiera 值?
我必须编写一个函数,该函数将按顺序执行以下操作来读取变量的值:
- 检查是否定义了因子变量。如果不,
- 从 Hiera 读取变量的值。如果不,
- 使用默认值。
我已经设法在我的 Puppet 脚本中使用这个 if 条件来做到这一点。
但是我想避免为我希望以这种方式解析的每个变量重复这个 if 条件,因此想到编写一个新的 Puppet 函数,该函数get_args('foo', 'default_value')
将返回我的值
- 一个事实事实,如果它存在,
- 层次变量,或
- 刚回来
default_value
。
我知道我可以用来lookupvar
从 ruby 函数中读取事实事实。如何从我的 Puppet ruby 函数中读取 hiera 变量?
puppet - hiera合并不起作用
我正在尝试实现 hiera 合并。hier 是我的 hiera.yaml
然后我有:common.yaml
和 fqdn/some.host.yaml
跑步
和
所以“blablahost”采用 common.yaml 并应用“a”和“b”类.. 但 fqdn=some.host 应该应用 a,b,c,d.. 而不仅仅是 c,d ...什么是我做错了吗?
问候
puppet - 找不到 Hiera 后端时退出 Puppet
我正在使用无主木偶。我的情况是我正在使用一个名为hiera-regex
. 使用它的过程是你必须已经hiera-regex
安装在你的目标机器上。
如果由于某种原因hiera-regex
未安装,hiera 仍会在层次结构中查找密钥并开始使用它不应该在存在的情况下使用的密钥hiera-regex
。理想情况下,我希望 Puppet 在找不到hiera-regex
后端安装时退出。但截至目前,Puppet 只打印一个 notice(),它很容易被遗漏,并且会使您的节点处于不需要的状态。
如果未安装后端 hiera 配置为使用,是否可以以某种方式将 Puppet/hiera 配置为完全不继续进行无主设置?
这是我的 hiera.yaml 文件:
inheritance - Puppet & Hiera 层次结构和类名
Hiera 中的“calling_class”查找变量让我头疼。
给定这样的 hiera 配置:
Puppet 中的 role.pp 具有以下内容:
并roles/role::app.yaml
带有以下内容:
我希望看到这样的东西:
但这就是我得到的:
似乎当一个类被继承(或包含,以任何一种方式发生)时,Hiera 中的“calling_class”被设置为继承的类,而不是进行继承的类。我是否遗漏了什么,或者这就是 Hiera 应该工作的方式?我认为继承一个类会将其设置scope.source.name
为子类,而不是父类。
ruby - 禁用 Hiera 调试日志记录
我正在使用 Hiera(ruby 库,而不是命令行工具或 puppet 集成)从现有的一组 Hiera YAML(我们确实用于 puppet)中检索数据,以便在 Capistrano 中使用。我能够按预期工作......但我似乎无法摆脱似乎是默认的调试输出:
目前这只是一个烦恼,但扩展输出(我已经修剪了上面的输出)使日志记录相当嘈杂,我希望能够摆脱它。
templates - 如何在本地使用 hiera 数据测试模板?
我正在尝试找出一种方法来获取 erb 模板文件并使用 hiera 数据(甚至来自单个 yaml 文件),然后仅使用模板生成具有替换值的文件。
你有没有尝试过这样的事情?我的第一个想法是编写一个 ruby 脚本,但也许有一个更简单的解决方案。
提前致谢。
编辑:由于可能不清楚,让我解释一下用例。
我希望开发人员可以对所有应用程序配置进行模板化和提交,并且我想为他们提供一种自动方式,在不使用 puppet 的情况下将这些模板填充到他们的本地机器(笔记本电脑)上。额外的好处是在实际提交模板之前对其进行验证。