From 1307bc4804da92dfb8ef302f5d757b26c4cb78e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 15 Feb 2014 20:14:07 +0100 Subject: [PATCH] presentation: add code samples --- presentation/presentation.md | 41 +++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/presentation/presentation.md b/presentation/presentation.md index ecbb5c0..dad9116 100644 --- a/presentation/presentation.md +++ b/presentation/presentation.md @@ -189,16 +189,51 @@ Note: 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 + - recipies: enthält die genannten Recipies, wenn man nichts an gibt wird die default.rb geladen - - files: Im files-Verzeichnis kann man statische Konfigurations-Dateien ablegen + - files: Im files-Verzeichnis können statische Konfigurations-Dateien abgelegt werden - templates: meistens jedoch will Konfigurationsdateien dynamisch - generieren - in templates kann man mithilfe von ERB generieren, + generieren - dazu mit Templates man mithilfe mit der Markupsprache ERB generieren, vergleichbar mit erzeugen von Webseiten, gleich ein Beispiel dazu ### Chef-Einführung: Code-Beispiel +```ruby +# attributes/default.rb +default.ntp.subnets = ["::1", "127.0.0.1"] +default.ntp.server = "de.pool.ntp.org" +``` + +```ruby +# recipies/default.rb +package 'ntp' + +service "ntp" do + service_name "ntp" + action [:enable, :start] +end + +template "/etc/ntp.conf" do + owner "root" + group "root" + source "ntp.conf.erb" + notifies :restart, "service[ntp]" +end +``` + +```ruby +# templates/default/ntp.conf.erb +# Crontab for <%= @node.name %> managed by Chef. Changes will be overwritten. +server <%= @node.ntp.server %> + +restrict default noquery nopeer +<% @node.ntp.subnets.each do |net| -%> + restrict <%= net %> +<% end -%> + +driftfile /var/lib/ntp/ntp.drift +``` ## Testing