Refactor task nginx

* Use varable for nginx_root
* Check for existence of site configuration before enabling
* Check conditions
* Add tags
This commit is contained in:
Tobias Stein 2022-05-04 22:06:16 +02:00
parent 38ba272331
commit 55bade1f8e
2 changed files with 35 additions and 6 deletions

View File

@ -25,7 +25,7 @@
autoindex on;
}
}
dest: "/etc/nginx/sites-available/hw4f-fai"
dest: "{{ nginx_site_available }}"
mode: '0644'
owner: root
group: root
@ -34,11 +34,32 @@
- nginx
- nginx_site_available
- name: "Enable nginx site 'hw4f-fai'"
- name: "Check nginx availability of '{{ nginx_site_available }}'"
ansible.builtin.stat:
path: "{{ nginx_site_available }}"
register: nginx_site_available_stat
tags:
- nginx
- nginx_site_available_stat
- name: "Debug variable 'nginx_site_available_stat'"
ansible.builtin.debug:
var: nginx_site_available_stat
when:
- nginx_site_available_stat.stat is defined
tags:
- nginx
- nginx_site_available_stat
- name: "Enable nginx site '{{ nginx_site_available }}'"
ansible.builtin.file:
src: "/etc/nginx/sites-available/hw4f-fai"
dest: "/etc/nginx/sites-available/hw4f-fai"
src: "{{ nginx_site_available }}"
dest: "{{ nginx_site_enabled }}"
state: link
when:
- nginx_site_available_stat.stat.exists is defined
- nginx_site_available_stat.stat.exists
- nginx_site_available_stat.stat.isreg
notify: restart nginx
tags:
- nginx
@ -52,14 +73,20 @@
<title>Hardware for Future - PXE Environment</title>
</head>
<body>
<p>This mirror is part of the <a href="https://hardwareforfuture.de/">Hardware for Future</a> project</p>
<p>This mirror is part of the project
<a href="https://hardwareforfuture.de/">
Hardware for Future</a>
</p>
<p>Restart the computer and boot into PXE to install Ubuntu.</p>
</body>
</html>
dest: "/var/www/html/index.html"
dest: "{{ nginx_root }}/index.html"
mode: "0644"
owner: root
group: root
tags:
- nginx
- nginx_html
- name: "Ensure http server is running"
ansible.builtin.service:

View File

@ -4,6 +4,8 @@
server_net: "{{ server_ip |regex_replace('.[0-9]+$', '') }}"
nginx_root: "/var/www/html"
nginx_site_available: "/etc/nginx/sites-available/{{ ansible_hostname }}.conf"
nginx_site_enabled: "/etc/nginx/sites-enabled/{{ ansible_hostname }}.conf"
fai_download_dir: "{{ nginx_root + '/' + http_mirror_fai_path_prefix }}"
ipxe_download_dir: "{{ nginx_root + '/' + http_mirror_ipxe_path_prefix }}"
fai_squashfs_path: "{{ fai_download_dir }}/{{ fai_squashfs_file }}"