presentation: directory structure of a cookbook

This commit is contained in:
Jörg Thalheim 2014-02-15 17:36:34 +01:00
parent ce551a0cc9
commit 2f372c8db9

View File

@ -147,12 +147,54 @@ Note:
### Chef-Einführung: Aufbau eines Cookbook ### Chef-Einführung: Aufbau eines Cookbook
- Attribute
- Recipes ```bash
- Templates ▾ modules-0.2.0/
- Definitions ▾ attributes/
- Providers default.rb
- Resources ▾ files/
▾ default/
modules-load.conf
modules-load_header
▸ libraries/
▾ providers/
default.rb
multi.rb
▾ recipes/
config.rb
default.rb
install_attributes.rb
▾ resources/
default.rb
multi.rb
▾ templates/
▾ default/
modules.conf.erb
metadata.json
metadata.rb
Rakefile
README.md
```
Note:
- Hier ein Beispiel, wie ein cookbook aufgebaut ist.
- modules cookbook: Linux Kernel Module nachladen, maintained auf github
- Verzeichnisstruktur vorgeben - Vorteil man findet sich in neuen Cookbooks
sofort zu recht
- Für das entwickeln: Editor mit Verzeichnisfunktion empfohlen
- hier nochmal kurz ein paar wichtige Verzeichnisse:
- attributes: setzt Standartwerte für das Cookbook, können von Roles/Nodes
oder anderen Cookbooks überschrieben werden
- resourcen & providers: Chef liefert schon eine Menge sinnvoller Resourcen
mit, man kann in seinem cookbooks weitere erstellen, in diesem Fall -
modules resource mit der man in anderen cookbooks bestimmte kernel module laden
kann
- recipies: enthält die genannten Recipies, wenn man nichts an gibt wirdei
default.rb geladen
- files: Im files-Verzeichnis kann man statische Konfigurations-Dateien ablegen
- templates: meistens jedoch will Konfigurationsdateien dynamisch
generieren - in templates kann man mithilfe von ERB generieren,
vergleichbar mit erzeugen von Webseiten, gleich ein Beispiel dazu
### Chef-Einführung: Code-Beispiel ### Chef-Einführung: Code-Beispiel