有没有一种方法可以过滤正在同步的插件?我从 forge 下载了一些新模块(puppetboard、puppetdb、python)。这些模块包括插件,它们也只在 puppet master 上需要,我的任何客户端都不需要插件。
不幸的是,这些模块中的 facter 插件导致 puppet 客户端在一些我无法升级到最新版本的 ruby/puppet/facter 的旧系统上失败。这些较旧的系统运行的是旧版软件,如果没有大量令人痛苦的黑客攻击,这些旧版软件就无法在较新的操作系统版本上运行。我的所有其余插件和自定义事实都可以正常工作。所以我想保持插件同步,但排除这些破坏旧系统的事实。
有没有人想出一个部分插件同步的好方法?我在搜索中没有找到任何解决方案。
没有办法过滤插件。
但是正如您在评论中所说,您需要编写事实/类型来处理它们正在运行的操作系统。对于您提前退出的类型和提供者。
对于事实,您可以使用confine。
Puppet 本身不支持过滤要同步的插件列表。
pluginsync_filter
但是,您可以使用CERN的补丁修补 puppet 以支持此功能。之后,您可以通过 Hiera 将这样的模块列入白名单:
注意: AFAIK 这个补丁可能不被公开支持,所以如果你决定使用它,你就得靠你自己了。