Introduction to Ansible Transcripts
Chapter: Deployments
Lecture: Enhancing Our Playbook and Let's Encrypt

Login or purchase this course to watch this video and the rest of the course contents.
0:00 We need to improve our Ansible playbook and get our domain set up cause right now if we try to go to
0:08 nothing happens and that's to be expected. Cause there is no application currently running and engine.exe is not configured
0:14 to handle responding to this domain name. Let's start modifying our Ansible playbook. You can either take the playbook
0:20 that you've been working with so far or if you go into the book and video code examples repository, intro Ansible
0:28 you can copy configuring servers chapter as a starting point for what we're going to work on in this chapter. Let's actually copy Configuring Servers
0:38 to a new folder name, named flask-deploy because we're going to deploy an example flask application. Move in to the flask-deploy directory
0:48 this will be our starting point for chapter seven. I still have all our variables and roles from the
0:53 previous chapter, let's start off by going under web server. First thing we're going to want to do is make sure
1:01 that we have the Let's Encrypt package installed. You can copy the same lines that we had for entering Nginx installed
1:13 and use the Let's Encrypt package. We'll also want to create a directory for Let's Encrypt. Use the file module for this and with the file module
1:28 we can say state is equal to a directory. Alright, let's run this as our first modification to our playbook.
1:38 Now one step you may or may not have to take if you are working with your existing playbook you'll have your public and private keys already in there.
1:44 If you don't, and you just copied the directory out of the Git repository, you will need to either create public/private keys
1:51 or use the ones that you are already working with. We're going to copy public/private keys from our server config directory used last chapter.
2:03 Now we'll be able to kick off our playbook and it'll use the private key to log into our servers. Okay, so the issue here is that
2:11 we have permission denied, we did not use become:yes in our playbook, let's modify that task for create Let's Encrypt directory
2:25 so that we are using our superuser privileges just as we did with the other tasks. Okay so now we should have the Let's Encrypt package
2:40 installed on our web server only. We can go ahead, upgrading our web server configuration to HTTPS.

Talk Python's Mastodon Michael Kennedy's Mastodon