Puppet (moduly)
V minulé kapitole bylo demonstrováno vytvoření jednoduchého manifestu, pro práci se souborem /etc/hosts
.
Chceme-li sofistikovanější údržbu tohoto souboru, je je lepší vytvořit samostatný modul. A tento modul do třídy basic vložit přes direktivu include. Jelikož má jít o modul pro údržbu souborů /etc/hosts
, tak pro název modulu použiju stejné jméno a rovnou provedu úpravu souboru /etc/puppet/manifests/node.pp
class basic {
include hosts
}
node "master.felk.cvut.cz" {
include basic
}
|
Kde jsou moduly uloženy?
Všechny moduly má Puppet uloženy v adresáři /etc/puppet/modules
. Jméno modulu, které natahuje direktiva include je relevantní názvu podadresáře.
Tento poadresář kromě povinného adresáře manifests
může obsahovat ještě další adresáře:
- files
- ve kterém jsou soubory, které bude puppet distribuovat beze změn (ssh klíče, výchozí konfigurační soubory atp.)
- templates
- do kterého se ukládají šablony konfiguračních souborů, což jsou soubory s příponou .erb
Vůbec nevadí pokud zůstane některý těchto adresářů z nich prázdný, takže můžeme všechny tři adresáře vytvořit najednou:
root@master~# mkdir -p /etc/puppet/modules/<jméno modulu>/{files,manifests,templates}
|
Výchozím souborem modulu pak je soubor <code>init.pp</code>, ve kterém je modul inicializován jako třída.