Puppet

過濾人偶外掛同步

  • September 16, 2021

有沒有一種方法可以過濾正在同步的外掛?我從 forge 下載了一些新模組(puppetboard、puppetdb、python)。這些模組包括外掛,它們也只在 puppet master 上需要,我的任何客戶端都不需要外掛。

不幸的是,這些模組中的 facter 外掛導致 puppet 客戶端在一些我無法升級到最新版本的 ruby​​/puppet/facter 的舊系統上失敗。這些較舊的系統執行的是舊版軟體,如果沒有大量令人痛苦的黑客攻擊,這些舊版軟體就無法在較新的作業系統版本上執行。我的所有其餘外掛和自定義事實都可以正常工作。所以我想保持外掛同步,但排除這些破壞舊系統的事實。

有沒有人想出一個部分外掛同步的好方法?我在搜尋中沒有找到任何解決方案。

沒有辦法過濾外掛。

但是正如您在評論中所說,您需要編寫事實/類型來處理它們正在執行的作業系統。對於您提前退出的類型和提供者。

對於事實,您可以使用confine

Puppet 本身不支持過濾要同步的外掛列表。

pluginsync_filter但是,您可以使用CERN的更新檔修補 puppet 以支持此功能。

之後,您可以通過 Hiera 將這樣的模組列入白名單:

pluginsync_filter_enable: true
pluginsync_filter:
  - whitelisted
  - module
  - names

注意: AFAIK 這個更新檔可能不被公開支持,所以如果你決定使用它,你就得靠自己了。

引用自:https://serverfault.com/questions/580925