Table of Contents

04. [20p] Design patterns

Package / File / Service

In multe situatii, Puppet este folosit pentru a ne asigura ca un anumit serviciu de sistem este instalat, pornit si are configuratia corecta.

Implementarea se poate realiza folosind trei resurse:

Intre primele doua avem o relatie de tip “before / require”, iar intre ultimele doua o relatie de tip “notify / subscribe”.

Creati urmatorul manifest care implementeaza acest design pattern pentru serviciul SSH, apoi aplicati manifestul.

package { 'openssh-server':
  ensure => present,
}
->
file { '/etc/ssh/sshd_config':
  ensure => file,
  mode   => 600,
  source => '/root/examples/sshd_config',
}
~>
service { 'sshd':
  ensure     => running,
  enable     => true, 
}

Modificati diverse stari ale tripletului “package / file / service”, apoi reaplicati manifestul. De exemplu:

Exercitiu - Apache

Creati un manifest de tip “package / file / service” pentru serviciul Apache.

Fisierul de configurare trebuie sa aiba ca sursa o copie a fisierului actual.

In CentOS, pachetul pentrul serverul Apache se numeste httpd, iar fisierul de configurare se afla in /etc/httpd/conf/httpd.conf