roles:zeitbild_frontend_dali-and-nginx
This commit is contained in:
parent
839d65c2e2
commit
cf34edb95b
4 changed files with 90 additions and 0 deletions
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"var_zeitbild_frontend_dali_and_nginx_domain": "zeitbild.example.org",
|
||||
"var_zeitbild_frontend_dali_and_nginx_path": "/opt/dali",
|
||||
"var_zeitbild_frontend_dali_and_nginx_tls_mode": "force"
|
||||
}
|
35
roles/zeitbild_frontend_dali-and-nginx/tasks/main.json
Normal file
35
roles/zeitbild_frontend_dali-and-nginx/tasks/main.json
Normal file
|
@ -0,0 +1,35 @@
|
|||
[
|
||||
{
|
||||
"name": "deactivate default site",
|
||||
"become": true,
|
||||
"ansible.builtin.file": {
|
||||
"state": "absent",
|
||||
"dest": "/etc/nginx/sites-enabled/default"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "emplace configuration | data",
|
||||
"become": true,
|
||||
"ansible.builtin.template": {
|
||||
"src": "conf.j2",
|
||||
"dest": "/etc/nginx/sites-available/{{var_zeitbild_frontend_dali_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "emplace configuration | link",
|
||||
"become": true,
|
||||
"ansible.builtin.file": {
|
||||
"state": "link",
|
||||
"src": "/etc/nginx/sites-available/{{var_zeitbild_frontend_dali_and_nginx_domain}}",
|
||||
"dest": "/etc/nginx/sites-enabled/{{var_zeitbild_frontend_dali_and_nginx_domain}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "restart nginx",
|
||||
"become": true,
|
||||
"ansible.builtin.systemd_service": {
|
||||
"state": "restarted",
|
||||
"name": "nginx"
|
||||
}
|
||||
}
|
||||
]
|
31
roles/zeitbild_frontend_dali-and-nginx/templates/conf.j2
Normal file
31
roles/zeitbild_frontend_dali-and-nginx/templates/conf.j2
Normal file
|
@ -0,0 +1,31 @@
|
|||
{% macro zeitbild_frontend_dali_common() %}
|
||||
root {{var_zeitbild_frontend_dali_and_nginx_path}};
|
||||
{% endmacro %}
|
||||
|
||||
server {
|
||||
server_name {{var_zeitbild_frontend_dali_and_nginx_domain}};
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
{% if (var_zeitbild_frontend_dali_and_nginx_tls_mode == 'force') %}
|
||||
return 301 https://$http_host$request_uri;
|
||||
{% else %}
|
||||
{{ zeitbild_frontend_dali_common() }}
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
{% if (var_zeitbild_frontend_dali_and_nginx_tls_mode != 'disable') %}
|
||||
server {
|
||||
server_name {{var_zeitbild_frontend_dali_and_nginx_domain}};
|
||||
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
|
||||
ssl_certificate_key /etc/ssl/private/{{var_zeitbild_frontend_dali_and_nginx_domain}}.pem;
|
||||
ssl_certificate /etc/ssl/fullchains/{{var_zeitbild_frontend_dali_and_nginx_domain}}.pem;
|
||||
include /etc/nginx/ssl-hardening.conf;
|
||||
|
||||
{{ zeitbild_frontend_dali_common() }}
|
||||
}
|
||||
{% endif %}
|
19
roles/zeitbild_frontend_dali-and-nginx/vardef.json
Normal file
19
roles/zeitbild_frontend_dali-and-nginx/vardef.json
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"domain": {
|
||||
"mandatory": false,
|
||||
"type": "string"
|
||||
},
|
||||
"port": {
|
||||
"mandatory": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"tls_mode": {
|
||||
"mandatory": false,
|
||||
"type": "string",
|
||||
"options": [
|
||||
"disable",
|
||||
"enable",
|
||||
"force"
|
||||
]
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue