Chef - Penyedia Sumber Daya Ringan
Lightweight resource provider (LWRP) menyediakan opsi untuk memperluas daftar sumber daya yang tersedia dengan memperluas fiturnya dan memungkinkan pengguna Chef untuk membuat sumber daya kustom.
Dengan membuat sumber daya kustom, seseorang dapat dengan mudah menulis buku masak karena ia dapat memiliki sumber daya kustom yang diperkaya menggunakan Chef DSL yang membantu membuat kode resep lebih ekspresif.
Dalam komunitas Chef, banyak sumber daya kustom diimplementasikan menggunakan LWRP. Ada banyak contoh kerja LWRP sepertiiptables_rules dan apt_repository.
Metode Kerja
Pastikan salah satu memiliki nama buku masak Testing_resource dan run_list node yang berisi buku masak Testing_resource.
Membangun LWRP
Step 1 - Buat sumber daya khusus di buku masak Testing_resource.
vipin@laptop:~/chef-repo $ subl cookbooks/Testing_resource/resources/default.rb
actions :create, :remove
attribute :title, kind_of: String, default: "World"
attribute :path, kind_of: String, default: "/tmp/greeting.txt"
Step 2 - Buat penyedia sumber daya di buku masak Tesing_resource.
vipin@laptop:~/chef-repo $ subl cookbooks/Testing_resource/provider/default.rb
action :create do
log "Adding '#{new_resource.name}' greeting as #{new_resource.
path}"
file new_resource.path do
content "#{new_resource.name}, #{new_resource.title}!"
action :create
end
action :remove do
Chef::Log.info "Removing '#{new_resource.name}' greeting #{new_resource.path}"
file new_resource.path do
action :delete
end
end
Step 3 - Gunakan sumber daya baru dengan mengedit resep default Testing_resource.
vipin@laptop:~/chef-repo $ subl cookbooks/Tesing_resource/recipes/default.rb
greeting "Ohai" do
title "Chef"
action :create
end
Step 4 - Unggah buku masak yang dimodifikasi ke server Chef.
vipin@laptop:~/chef-repo $ knife cookbook upload greeting
Uploading greeting [0.1.0]
Step 5 - Jalankan Chef-Client di node.
vipin@server:~$ sudo chef-client
...TRUNCATED OUTPUT...
2013-06-28T21:32:54+00:00] INFO: Processing greeting[Ohai] action
create (greeting::default line 9)
[2013-06-28T21:32:54+00:00] INFO: Adding 'Ohai' greeting as /tmp/
greeting.txt
[2013-06-28T21:32:54+00:00] INFO: Processing file[/tmp/greeting.
txt] action create (/srv/chef/file_store/cookbooks/greeting/
providers/default.rb line 7)
[2013-06-28T21:32:54+00:00] INFO: entered create
[2013-06-28T21:32:54+00:00] INFO: file[/tmp/greeting.txt] created
file /tmp/greeting.txt
...TRUNCATED OUTPUT...
Step 6 - Validasi konten file yang dihasilkan.
user@server:~$ cat /tmp/greeting.txt
Ohai, Chef!
Skrip Alur Kerja
LWRP ada di buku masak. Sumber daya khusus ada di dalam buku masak, dan akan tersedia di bawah nama buku masak. Dalam alur kerja, pertama kita mendefinisikan definisi dan kemudian meneruskan atribut ke sumber daya yang akan digunakan di buku resep. Akhirnya, kami menggunakan tindakan dan atribut tersebut dalam resep kami.