Puppet Template (epp)

Puppet kann mit Templates (Embedded Puppet) arbeiten. Hier ein kleiner Test:

In das Arbeitsverzeichnis wechseln:

cd /etc/puppetlabs/code/environments/production/modules/apache/templates

Datei ‘test.yaml’:

---
servername: puppet.ru
port: 8081
docroot: /srv/www/htdocs/puppet.ru

Datei ‘vhost.epp’:

<%| $servername, $port, $docroot |-%>
<VirtualHost <%= $servername %>:<%= $port %>>
  DocumentRoot "<%= $docroot %>"
  ServerName <%= $servername %>
  <Directory "<%= $docroot %>">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Kompilieren des Templates:

puppet epp render --values-file test.yaml vhost.epp

Ergebnis:

<VirtualHost puppet.ru:8081>
  DocumentRoot "/srv/www/htdocs/puppet.ru"
  ServerName puppet.ru
  <Directory "/srv/www/htdocs/puppet.ru">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>