From 0912579ad1d50beaefad8ccc8f3268dbeae06090 Mon Sep 17 00:00:00 2001 From: strNophix Date: Sat, 5 Mar 2022 13:31:25 +0100 Subject: [PATCH] Migrated to ansible roles --- playbooks/install_loadbalancer.yml | 24 ------------------- playbooks/install_nginx.yml | 20 ---------------- roles/nginx-loadbalancer/meta/main.yml | 10 ++++++++ roles/nginx-loadbalancer/tasks/main.yml | 24 +++++++++++++++++++ .../templates/loadbalancer.cfg.j2 | 0 roles/nginx-webserver/handlers/main.yml | 7 ++++++ roles/nginx-webserver/meta/main.yml | 10 ++++++++ roles/nginx-webserver/tasks/main.yml | 14 +++++++++++ .../nginx-webserver}/templates/index.html.j2 | 0 self_service.sh | 6 ++--- site.yml | 8 +++++++ 11 files changed, 75 insertions(+), 48 deletions(-) delete mode 100644 playbooks/install_loadbalancer.yml delete mode 100644 playbooks/install_nginx.yml create mode 100644 roles/nginx-loadbalancer/meta/main.yml create mode 100644 roles/nginx-loadbalancer/tasks/main.yml rename {playbooks => roles/nginx-loadbalancer}/templates/loadbalancer.cfg.j2 (100%) create mode 100644 roles/nginx-webserver/handlers/main.yml create mode 100644 roles/nginx-webserver/meta/main.yml create mode 100644 roles/nginx-webserver/tasks/main.yml rename {playbooks => roles/nginx-webserver}/templates/index.html.j2 (100%) diff --git a/playbooks/install_loadbalancer.yml b/playbooks/install_loadbalancer.yml deleted file mode 100644 index 6421f3b..0000000 --- a/playbooks/install_loadbalancer.yml +++ /dev/null @@ -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 diff --git a/playbooks/install_nginx.yml b/playbooks/install_nginx.yml deleted file mode 100644 index 43b444f..0000000 --- a/playbooks/install_nginx.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/roles/nginx-loadbalancer/meta/main.yml b/roles/nginx-loadbalancer/meta/main.yml new file mode 100644 index 0000000..46d6641 --- /dev/null +++ b/roles/nginx-loadbalancer/meta/main.yml @@ -0,0 +1,10 @@ +galaxy_info: + author: strNophix + description: Nginx Loadbalancer Role + + license: MIT + min_ansible_version: 2.1 + + galaxy_tags: [] + +dependencies: [] diff --git a/roles/nginx-loadbalancer/tasks/main.yml b/roles/nginx-loadbalancer/tasks/main.yml new file mode 100644 index 0000000..766ef6b --- /dev/null +++ b/roles/nginx-loadbalancer/tasks/main.yml @@ -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 \ No newline at end of file diff --git a/playbooks/templates/loadbalancer.cfg.j2 b/roles/nginx-loadbalancer/templates/loadbalancer.cfg.j2 similarity index 100% rename from playbooks/templates/loadbalancer.cfg.j2 rename to roles/nginx-loadbalancer/templates/loadbalancer.cfg.j2 diff --git a/roles/nginx-webserver/handlers/main.yml b/roles/nginx-webserver/handlers/main.yml new file mode 100644 index 0000000..bc391c7 --- /dev/null +++ b/roles/nginx-webserver/handlers/main.yml @@ -0,0 +1,7 @@ +--- +# handlers file for nginx-webserver +- name: restart nginx + ansible.builtin.service: + name: nginx + state: restarted + become: true \ No newline at end of file diff --git a/roles/nginx-webserver/meta/main.yml b/roles/nginx-webserver/meta/main.yml new file mode 100644 index 0000000..3cc468e --- /dev/null +++ b/roles/nginx-webserver/meta/main.yml @@ -0,0 +1,10 @@ +galaxy_info: + author: strNophix + description: Nginx Webserver Role + + license: MIT + min_ansible_version: 2.1 + + galaxy_tags: [] + +dependencies: [] diff --git a/roles/nginx-webserver/tasks/main.yml b/roles/nginx-webserver/tasks/main.yml new file mode 100644 index 0000000..a97a175 --- /dev/null +++ b/roles/nginx-webserver/tasks/main.yml @@ -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 diff --git a/playbooks/templates/index.html.j2 b/roles/nginx-webserver/templates/index.html.j2 similarity index 100% rename from playbooks/templates/index.html.j2 rename to roles/nginx-webserver/templates/index.html.j2 diff --git a/self_service.sh b/self_service.sh index 390a92e..c248150 100755 --- a/self_service.sh +++ b/self_service.sh @@ -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 diff --git a/site.yml b/site.yml index e69de29..1b0d6cd 100644 --- a/site.yml +++ b/site.yml @@ -0,0 +1,8 @@ +--- +- hosts: webserver + roles: + - nginx-webserver + +- hosts: loadbalancer + roles: + - nginx-loadbalancer