问题标签 [facter]

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 回答
2156 浏览

windows - 傀儡事实,列表软件 Windows

我是 puppet 和 ruby​​ 的新手,只是尝试编写自定义事实,但是......遇到以下问题

我不知道该怎么做,我想列出已安装的程序并搜索一个,如果为 true(find) 则返回它已安装。到目前为止,此示例仅返回 false ....

0 投票
2 回答
194 浏览

amazon-web-services - custom facter which can identify CentOS and Amazon Linux instances

Is there any facter variable available or I can create a custom facter variable to identify the CentOS and Amazon Instances?

I want to install some utils on CentOS and Amazon Linux instances but not able to find a way to do that using puppet.

0 投票
3 回答
771 浏览

ruby - 如何使用 Puppet 和 ruby​​ 打印所有 linux 用户?

我想创建一个返回所有用户的因素。

然后在我的.pp文件中我有这个:

这应该可行,但因素一次只返回一个字母。

所以notify { "$user":}只打印:

然后它崩溃了,因为下一个字母也是“o”(“root”中有两个 o,root 是 /etc/passwd 中声明的第一个用户)。

那么如何打印所有用户呢?

编辑
与编辑:

然后输出是:

所以它似乎仍然没有按预期工作。

0 投票
0 回答
539 浏览

variables - 基于facter的Puppet变量赋值

以下代码不起作用:

我也试过:

我基本上是在尝试根据 CentOS 主要版本为变量赋值。

0 投票
1 回答
983 浏览

puppet - 编译具有 facter/ruby 依赖项的 puppet 脚本时出现未知变量错误

因素——版本 3.0.2(提交 5dc120fa9db4c19150466b1bbd1d0cf42c87c6bd)

木偶——版本 4.2.1

以此为例: https ://serverfault.com/questions/471995/how-do-i-check-if-a-user-exists-in-puppet

我遇到了一些似乎并不常见的问题。如果我:

从 /etc/puppetlabs/code/environments/production/modules/facts/lib/facter/user_exists_dmadmin.rb

并且 site.pp 包含

当我编译目录时

将非常感谢知道错误的原因。

非常感谢

凯文

0 投票
2 回答
909 浏览

linux - 覆盖因子“osfamily”值

我通过从我的模块中调用一个模块(pdxcat/collectd)来扩展它。基本模块更喜欢将 Amazon Linux OSfamily 标识为“Redhat”,但由 puppet 在 Amazon Linux OS 上安装的因子将操作系统报告为“Linux”。

我想通过在调用基本模块之前将 osfamily 的因子值从 Linux 覆盖到 Redhat 来纠正这个错误。

我在 mymodule/lib/facter 中的 osfamily.rb 是

但问题是,我无法覆盖 osfamily 值。即使在从 osfamily.rb 加载事实之后,osfamily 仍然被报告为“Linux”而不是“Redhat”。

我的代码对于像or这样的新值可以正常工作,但对于像osfamilytestoroperatingsystemreleasetest这样的现有值不能。osfamilyoperatingsystemrelease

0 投票
2 回答
1507 浏览

puppet - 安装软件包后应运行自定义事实

我的 php 模块中有一个小的自定义事实

这显然需要安装 php 二进制文件。但是,我注意到在应用目录之前所有的事实都运行一次,所以这个事实在 php 安装之前是无效的。

安装模块有什么方法可以收集信息吗?除了事实之外,是否还有另一种公开这些信息的方式?

更新

我使用这两个事实来确定多个 .so 文件中的哪一个适合安装:

位于 agent/x64 目录中的文件可以是

0 投票
1 回答
718 浏览

puppet - 如何在自定义因子中读取层次值

我想从 hiera 中读取我的自定义因子的值。是否可以 ?

我将根据我的 hiera 值填充一个因子。请查看我的以下代码供您参考。

任何帮助深表感谢。

0 投票
1 回答
1206 浏览

ruby - 在工头智能类参数中使用木偶/事实事实?

如何在工头智能类参数中使用像 ${$::hostname} 这样的 puppet/facter 事实?

我已经尝试过 $hostname 和 $::hostname 以及我能想到的几乎所有变体!我什至浏览过 Google 和 Foreman 的文档和错误报告。肯定有一个简单的答案吗?

0 投票
1 回答
562 浏览

ruby - 如何安排木偶自定义事实每 X 小时执行一次?

我有一个自定义木偶事实(用 ruby​​ 编写),它执行一个简单的 bash 脚本。该脚本检查文件系统中的所有文件是否具有世界可读权限并相应地返回结果。puppet fact 检查脚本的输出,如果脚本输出不为空,则返回“失败”。

问题是脚本是资源密集型的,我不希望它每 30 分钟执行一次(客户端的 puppet.conf:runinternval=1800)。

我尝试过使用“schedule”资源,但由于 puppet 的工作方式,它只会影响我用来评估事实输出的类。在每次 puppet 运行时都会评估 Puppet 事实,而不管其他任何事情。(从而使它们可用于资源)

我还尝试将执行 bash 脚本的代码从事实中移出并移到 puppet 类中,但您似乎无法评估 bash 脚本的输出(使用“exec”类型)并将其存储在变量中(再次,因为 puppet 的工作方式)。

我现在只能尝试使用 Ruby 语言应用某种调度机制,并在实际中实现它。我在 PStore 上阅读了一些内容,现在这似乎是一个不错的方向。

有谁知道我怎样才能让 ruby​​ 脚本只在夜间执行?我不能使用 crontab,因为代码将由 puppet 运行。

puppet 类的代码片段:

傀儡事实的代码片段:

结尾