diff --git a/templates.md b/templates.md new file mode 100644 index 0000000..9397890 --- /dev/null +++ b/templates.md @@ -0,0 +1,45 @@ +# Templates + +In Ansible dienen Templates dazu, dynamische Konfigurationsdateien zu erstellen, indem sie Variablen und Jinja2-Vorlagen kombinieren. Dies ermöglicht die Anpassung von Konfigurationen basierend auf unterschiedlichen Umgebungen oder Variablenwerten. + +Hier ist ein einfaches Beispiel, wie Templates in einem Ansible-Playbook verwendet werden: + +Angenommen, Sie haben eine Vorlage für die Konfigurationsdatei eines Web-Servers namens `nginx.conf.j2` mit folgendem Inhalt: + +```nginx +server { + listen 80; + server_name {{ server_name }}; + root {{ document_root }}; + index index.html; +} +``` + +In Ihrem Ansible-Playbook können Sie diese Vorlage verwenden, um eine spezifische Konfigurationsdatei für einen Web-Server zu erstellen. Hier ist ein Playbook-Auszug: + +```yaml +--- +- name: Konfiguriere den Web-Server + hosts: webserver + vars: + server_name: example.com + document_root: /var/www/html + + tasks: + - name: Kopiere die nginx-Konfigurationsdatei + template: + src: nginx.conf.j2 + dest: /etc/nginx/sites-available/example.com + notify: + - Restart nginx + + handlers: + - name: Restart nginx + service: + name: nginx + state: restarted +``` + +In diesem Beispiel werden die Variablen `server_name` und `document_root` im Playbook definiert und dann in der Jinja2-Vorlage `nginx.conf.j2` verwendet. Wenn das Playbook ausgeführt wird, erstellt es eine Konfigurationsdatei für den Web-Server mit den angegebenen Werten. + +Das ist eine grundlegende Verwendung von Templates in Ansible. Sie können Templates auch für komplexere Szenarien verwenden, um Konfigurationsdateien für verschiedene Dienste und Hosts zu generieren.