Introduction to Ansible Transcripts
Chapter: Data
Lecture: What are Templates?
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
Variables in our playbooks are useful for more than just customizing our tasks and roles. We can also use them to create output files using templates.
0:09
Templates are Jinja2 files that contain boilerplate text that you combine with variables to produce certain output.
0:15
For example, if you want to create a configuration file for your Nginx web server if you want to configure a Postgres database
0:22
to lock it down against unauthorized access or if you just want to have text file with instructions that are customized to each server
0:28
so that if someone logs in they'll understand more about the server when they read that file. As always it helps to take a look an example.
0:34
So here's what we're going to do in this video to learn how to use templates. We already have the following playbook. This is our first playbook
0:40
and we're going to add a couple of new files. First one is going to be right template which will have a new task using the template module
0:46
to output a template onto a remote server. And then we have our template itself which will be under the templates directory
0:51
which is a peer of the tasks directory in a role. So we separate out our templates from our tasks we can reuse the templates across different tasks
1:00
if we want to. We typically use the .j2 extension for templates because they're in the Jinja2 template engine format. However that's not required.
1:08
The files can be named whatever you want. I'll use j2 in all these videos for clarity. All right, let's add these files to our playbook.