Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Puppet + Ruby DSL

Puppet + Ruby DSL

Short talk in Polish on Puppet and it's Ruby DSL

Avatar for Mateusz Lenik

Mateusz Lenik

May 23, 2012
Tweet

More Decks by Mateusz Lenik

Other Decks in Technology

Transcript

  1. • Mateusz Lenik • @_mlen, github.com/mlen • student III roku

    Informatyki na PWr • użytkownik Ruby od 2010 • uczestnik GSoC 2012 @PuppetLabs
  2. • podstawa dla Puppet Enterprise • ponad 350 modułów +

    PuppetForge • konieczność własnego zarządzanie serwerem konfiguracji Puppet OpenSource
  3. • kod wykonywany na serwerze • deklaratywny • jawne zależności

    • template’y ERB • Puppet DSL • kod wykonywany na kliencie • deklaratywny • ukryte zależności • kiepska obsługa template’ów • CFEngine syntax Puppet vs CFEngine
  4. • kod wykonywany na serwerze • deklaratywny • jawne zależności

    • template’y ERB • Puppet DSL • kod wykonywany na kliencie • deklaratywny • ukryte zależności • template’y ERB • It’s Ruby! Puppet vs Chef
  5. • nie da się w nim zrobić wszystkiego • ograniczone

    instrukcje sterujące • specyficzna składnia “<|| ||>”
  6. class foo ($param = "value") { notice($param) } node "default"

    { class { "foo": param => "foo" } } Parametry
  7. hostclass :foo, :arguments => {"param" => AST::String.new(:value => "value")} do

    notice [scope.lookupvar("param")] end node "default" do create_resource :class, :foo, :param => "foo" end Parametry
  8. hostclass :foo, :arguments => {:param => "value"} do notice params[:param]

    end node "default" do use :foo, :param => "foo" end Parametry
  9. Q&A