Puppet - Wie benutze ich den Facter ? (Beispiel IPv6 für dynamische Interfaces)

Diese Software sammelt Informationen über das System und leitet sie in einem Puppet-Lauf an den
Puppet-Master weiter. Aufgrund der gesammelten Facts kann der Master aus dem im Vorfeld definierten Manifest einen dynamischen Katalog erzeugen.
Der Katalog wird wiederum auf dem Agent ausgeführt, der anhand der Facter-Informationen die richtigen
Befehle absetzt. Facter ermitttelt eine Menge Tatsachen über Betriebssystem, Hardware, Software,
Netzwerk und so weiter. Wer noch mehr Informationen braucht, kann eigene Custom Facts definieren.

Diesen Code kann man in einem Modul oder direkt im Manifest benutzen.

if $facts[‘networking’][‘interfaces’][‘bat-spr’][‘ip6’] == ‘2a03:2260:300f:42::f0’ {
# address is set, nothing happens.
}
else {
exec { ‘sprockhoevel_activate_ipv6’:
command => ‘/bin/ip -6 addr add 2a03:2260:300f:42::f0/64 dev bat-spr’
}
}

Mehr Informationen zum Facter und den Infos die man bekommen kann.
https://puppet.com/docs/facter/3.9/core_facts.html

PS: Leider sind Einrückungen im Code nicht sichtbar hier :frowning: