Migrated to ansible roles

This commit is contained in:
strNophix 2022-03-05 13:31:25 +01:00
parent 67efc68362
commit 0912579ad1
11 changed files with 75 additions and 48 deletions

View File

@ -1,24 +0,0 @@
- hosts: loadbalancer
tasks:
- name: Install nginx
package:
name: nginx
state: present
update_cache: yes
become: true
- name: Move config to vm
ansible.builtin.template:
src: ./templates/loadbalancer.cfg.j2
dest: /etc/nginx/sites-available/nginx.cfg
become: true
- name: Enable loadbalancer config
file:
src: /etc/nginx/sites-available/nginx.cfg
dest: /etc/nginx/sites-enabled/default
state: link
become: true
- name: Restart nginx
service:
name: nginx
state: restarted
become: true

View File

@ -1,20 +0,0 @@
- hosts: webserver
become: true
tasks:
- name: Install nginx
package:
name: nginx
state: present
update_cache: yes
notify: restart nginx
- name: Copy over index.html
ansible.builtin.template:
src: ./templates/index.html.j2
dest: /var/www/html/index.html
become: true
handlers:
- name: restart nginx
ansible.builtin.service:
name: nginx
state: restarted

View File

@ -0,0 +1,10 @@
galaxy_info:
author: strNophix
description: Nginx Loadbalancer Role
license: MIT
min_ansible_version: 2.1
galaxy_tags: []
dependencies: []

View File

@ -0,0 +1,24 @@
---
# tasks file for nginx-loadbalancer
- name: Install nginx
package:
name: nginx
state: present
update_cache: yes
become: true
- name: Move config to vm
ansible.builtin.template:
src: ./templates/loadbalancer.cfg.j2
dest: /etc/nginx/sites-available/nginx.cfg
become: true
- name: Enable loadbalancer config
file:
src: /etc/nginx/sites-available/nginx.cfg
dest: /etc/nginx/sites-enabled/default
state: link
become: true
- name: Restart nginx
service:
name: nginx
state: restarted
become: true

View File

@ -0,0 +1,7 @@
---
# handlers file for nginx-webserver
- name: restart nginx
ansible.builtin.service:
name: nginx
state: restarted
become: true

View File

@ -0,0 +1,10 @@
galaxy_info:
author: strNophix
description: Nginx Webserver Role
license: MIT
min_ansible_version: 2.1
galaxy_tags: []
dependencies: []

View File

@ -0,0 +1,14 @@
---
# tasks file for nginx-webserver
- name: Install nginx
package:
name: nginx
state: present
update_cache: yes
become: true
notify: restart nginx
- name: Copy over index.html
ansible.builtin.template:
src: ./templates/index.html.j2
dest: /var/www/html/index.html
become: true

View File

@ -42,8 +42,6 @@ write_inventory_group "loadbalancer" $ipOffset $numLoadbalancers
mkdir -p ./.ssh/
ssh-keygen -t rsa -b 2048 -f ./.ssh/id_rsa
ln -s $(realpath ../../playbooks) ./
# Provision and configure machines
vagrant up
ansible-playbook ./playbooks/install_nginx.yml
ansible-playbook ./playbooks/install_loadbalancer.yml
ansible-playbook ../../site.yml

View File

@ -0,0 +1,8 @@
---
- hosts: webserver
roles:
- nginx-webserver
- hosts: loadbalancer
roles:
- nginx-loadbalancer