2015-07-15 17:14:39 +07:00
---
- hosts : all
2015-07-15 21:26:27 +07:00
pre_tasks :
2016-03-05 21:46:54 +07:00
- name : INCLUDE | Pre_tasks related to OS version
include : "includes/pre_{{ ansible_distribution }}.yml"
2016-01-21 21:34:18 +07:00
- name : FILE | Create an internal SSL dir
2017-10-26 20:47:30 +07:00
file :
path : "{{ int_ansible_ssl_dir }}"
state : directory
2016-01-21 21:34:18 +07:00
- name : COPY | Deploy test certificate
2017-10-26 20:47:30 +07:00
copy :
src : "file/test.crt"
dest : "{{ int_ansible_ssl_dir }}/test.crt"
2016-01-21 21:34:18 +07:00
- name : COPY | Deploy test key
2017-10-26 20:47:30 +07:00
copy :
src : "file/test.key"
dest : "{{ int_ansible_ssl_dir }}/test.key"
2017-10-27 20:27:16 +07:00
- name : LINEINFILE | Add all hosts in /etc/hosts
lineinfile :
line : "127.0.2.1\t{% for s in nginx_sites %}{% if s.name is string %}{{ s.name }}{% else %}{% for n in s.name %}{{ n }} {% endfor %}{% endif %} {% if s.redirect_from is defined %}{% for rf in s.redirect_from %}{{ rf }} {% endfor %}{% endif %}{% endfor %}"
regexp : '^127\.0\.2'
dest : "/etc/hosts"
unsafe_writes : yes
2017-06-14 23:00:30 +07:00
2015-07-15 20:18:51 +07:00
vars :
2016-01-21 21:34:18 +07:00
# Internal vars
int_ansible_ssl_dir : '/etc/ansible-ssl'
# Role vars
2016-03-05 21:07:39 +07:00
nginx_worker_processes : 1 # Ansible+FreeBSD can't detect CPU number
2016-08-11 02:29:03 +07:00
nginx_apt_package : 'nginx-extras'
2017-12-15 01:41:05 +07:00
nginx_dyn_modules : [ 'http_geoip' , 'http_headers_more' ]
2015-10-08 23:21:40 +07:00
nginx_upstreams :
- name : 'test'
servers :
2015-10-09 22:54:07 +07:00
- path : '127.0.0.1:80'
2015-10-08 23:21:40 +07:00
max_conns : 150
weight : 10
down : false
2016-05-11 22:21:52 +07:00
- name : 'test-absent'
servers :
- path : '127.0.0.1:80'
max_conns : 150
weight : 10
down : false
state : 'absent'
2015-12-03 22:32:08 +07:00
nginx_htpasswd :
- name : 'hello'
description : 'Please login!'
users :
- name : 'hx'
password : 'asdfg'
state : 'absent'
- name : 'hanx'
password : 'qwerty'
2016-01-21 21:16:21 +07:00
- name : 'nagios'
description : 'Please login to Nagios!'
users :
- name : 'nagiosadmin'
password : 'nagios'
2015-12-03 22:32:08 +07:00
- name : 'deleteme'
description : 'Please login!'
users : [ ]
state : 'absent'
2017-12-03 04:22:28 +07:00
nginx_acmesh : true
nginx_acmesh_test : true
2016-01-12 00:20:42 +07:00
nginx_ssl_pairs :
2017-12-03 04:22:28 +07:00
- name : '{{ ngrok.stdout }}'
acme : true
acme_port : 8888
2016-01-12 23:26:30 +07:00
- name : 'test-ssl-predeployed.local'
2016-01-21 21:34:18 +07:00
dest_key : "{{ int_ansible_ssl_dir }}/test.key"
dest_cert : "{{ int_ansible_ssl_dir }}/test.crt"
2016-01-12 00:20:42 +07:00
- name : 'test-ssl.local'
key : |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAvavrJWFp3Al2VwRgKx+4Y2mbRRvoxvyd2pyN0xMJ/tCJscaG
8s60v6WZ9FcCOeMkSI2DXsk4z7pbQdQn0h2GDr/5MOJkPAVWSWEN46tpaLZ3v0zp
88ZIbnEk1G0PsdFuW/pnLsakPlAMrl1VArFsV6YsatLt30UIYYcRO97StkoOehCx
A5w+XqtfHZeQZ0/DS81633gwYUcMuSTUFZ60r7ge1/m77DTSKg3rTVk5sebP8cjS
+aWHvxP/GyvvDsT+3gjRJx2/5O3JkfH0zaOsaU2Avj0PR0c5rhynrNO/l1k+GJJB
cbBrM+yA8Ofzp4oXUrCfaIq3RuL3Pd+khcKsiwIDAQABAoIBAQCPpAMQ7BUfbosQ
m1+5SOx7XR8Z12kSSX3CcY12rJSFRakB2TeZ6rE38lIFmV82N67iw0kaH4nGx3sU
/3aoyXMc+IXfX5RJYEFYkQfTw5ywkH9fgQAsfZ2dBlK+DVo1cEYDoj9CTW1VQ4pX
Ape+0l8agd5hiBxdWgpe0ctbbARnx584viLiA/iPBDNxKi9zEYw+WP7hSj5QWahr
a09tubcC4L6tjvv8CoZTRSKfCW64vWRDvE6vmA+zJN9Arc1WTYzF1KO1Gybwf8h7
stJb191smAgGDFhKo0j58ncyAnrS1k4mapm86QQhlfIA6DKvvC0qm3KdQns5b7HM
PyzW0hwBAoGBAO2mTVTOsziom9vtBwM0nRMMEgynR2X3EKMJz2mjcCf66f1F+aQ5
DvQFM2V8S2s1nGnPh8NKKZ8DxW1NKuR4qx82zeAXpUs9ibHxOnw4YRC485zqc2Wt
fSO1OEDYeKyzWP1nGGtCntYUXzJnWn/wz0mBGKzLKTuLwyFIKx1b7bybAoGBAMxR
N +lT57rX6d4GUqcgNOuWMZ/D8egnE5+hsoiFnHOisRLOgUgBBSy4rwAZx+rdHYT+
RO11L1PLYEzyvnO0f13R+N7aqKwNXDSzZGA+jb4pjkVidIC2smG/JYKJH5Z+kakw
mwMKP0wdRZJsCaMgScHmWJS8d6Ox/XJJoWrTWTbRAoGAWJlEgVaiaIArwz1F/QLz
gHNik0cWDkSi9jWlFxwwpycbbypUXM5M7dq2g6JoN6sACk6trbgLdlYgl5RKZm06
VuPGs0H9hOSHXkix5jfasDJT2G9r4D9ixRo9w6cwriobBjYWW3612tgzeYYgrkwn
655uhZUkZSfA8rqGIGbyZfsCgYAf5WH8G+wmIATTc1s92epJCOZwUY+XNVp75itP
4sPczX4lOHW4PuiG5cH0GxI5mRE9rNAn3c5on2xGNvMCbyAfDmNyruH8Eg3d8E9w
MvO/xw79x/P2EA9i8QszCKMUxGeK6RqZ6+SbxkoRJKqQe77n9UTI228179hoGhSH
77ySsQKBgQC8SSZn6a8PpSIIFXB9WCFMwfGFYbUz0wvpaeZP8GKx3BEzMeJqSUaJ
hrQgpwQXkueeamlCQcvV3AUCoBRWTYRLDrWiUIXuIgikDWBFp6TBvTnVRI7iktly
fNED7jXOSjJqnFmdkZlAI5V8dM++mVYVykJD6jcaVRQvxqFLrhSaRg==
-----END RSA PRIVATE KEY-----
cert : |
-----BEGIN CERTIFICATE-----
MIIDBTCCAe2gAwIBAgIJALKJfbk5vuieMA0GCSqGSIb3DQEBBQUAMBkxFzAVBgNV
BAMMDnRlc3Qtc3NsLmxvY2FsMB4XDTE2MDExMTE2NDI0NFoXDTI2MDEwODE2NDI0
NFowGTEXMBUGA1UEAwwOdGVzdC1zc2wubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQC9q+slYWncCXZXBGArH7hjaZtFG+jG/J3anI3TEwn+0Imx
xobyzrS/pZn0VwI54yRIjYNeyTjPultB1CfSHYYOv/kw4mQ8BVZJYQ3jq2lotne/
TOnzxkhucSTUbQ+x0W5b+mcuxqQ+UAyuXVUCsWxXpixq0u3fRQhhhxE73tK2Sg56
ELEDnD5eq18dl5BnT8NLzXrfeDBhRwy5JNQVnrSvuB7X+bvsNNIqDetNWTmx5s/x
yNL5pYe/E/8bK+8OxP7eCNEnHb/k7cmR8fTNo6xpTYC+PQ9HRzmuHKes07+XWT4Y
kkFxsGsz7IDw5/OnihdSsJ9oirdG4vc936SFwqyLAgMBAAGjUDBOMB0GA1UdDgQW
BBRaSF1L+ivPhmIVGQjtviBqZWDS9DAfBgNVHSMEGDAWgBRaSF1L+ivPhmIVGQjt
viBqZWDS9DAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCjrgB9+Zuq
Rx7T2mRUl4jf75dLabuBQD0ePALTtvNyBSghhzSr90mE7GlFOYAv0JsmEa3R1LVF
wLPIdrIhNHpt7hN0PkhUlfgmxBnRSCfhpiq4xxsDVFM7ehtDz4+dv1LUDMXo07+E
f24g9aqmypiFzHisUQrYIhtQmHxRpKyGp6kDAW9qNxg6k/Um00aHdYfuD9ER4ksR
f8Hto7f+vssKxCRY2OZXqq13PxEwC5+hgAUkTdrycA/moXFuHJi3lCnCND7sSzvG
tXBggOusyFZFC4bs2m+V+Z+RN+tK2c/c0nq5HR8MV5HwIm4Z8GoT2/0BfJ00cgWL
lVz0gDBfdH8f
-----END CERTIFICATE-----
2015-12-09 23:06:59 +07:00
nginx_custom_http :
- 'add_header X-ansible 1;'
2016-10-12 23:13:59 +07:00
- 'geoip_country /usr/share/GeoIP/GeoIP.dat;'
- 'map $geoip_country_code $allowed_country {'
- ' default yes;'
- ' MA no;'
- ' DZ no;'
- ' TN no;'
- '}'
2017-04-25 17:27:08 +07:00
nginx_default_site : 'first-test'
nginx_default_site_ssl : 'test-ssl-predeployed.local'
2017-10-03 22:38:06 +07:00
nginx_sites :
2015-07-30 18:02:21 +07:00
- name :
- 'test.local'
- 'test-alias.local'
- 'test2-alias.local'
template : '_base'
2016-03-04 22:38:40 +07:00
filename : 'first-test'
2015-10-15 21:21:36 +07:00
override_try_files : '$uri $uri index.htm index.html'
2016-03-15 16:51:14 +07:00
headers :
2016-03-15 21:30:22 +07:00
'X-Frame-Options' : 'deny always'
2016-03-15 16:51:14 +07:00
'X-ansible-default' : '1'
2015-10-19 14:39:51 +07:00
manage_local_content : false
2016-10-07 15:50:05 +07:00
use_error_log : true
2015-09-09 22:44:53 +07:00
more :
2015-09-21 16:47:49 +07:00
- 'autoindex off;'
2015-07-31 05:38:16 +07:00
location :
'/test' :
- 'return 403;'
'/gunther' :
- 'return 404;'
2016-02-09 22:57:13 +07:00
'/status' :
- 'stub_status on;'
- 'access_log off;'
- 'allow 127.0.0.1;'
- 'deny all;'
2015-12-03 22:32:08 +07:00
- name : 'test-htpasswd.local'
template : '_base'
location :
'/hello' :
- htpasswd : 'hello'
2017-03-08 17:10:14 +07:00
'/public' :
- htpasswd : false
2016-11-25 17:33:20 +07:00
use_error_log : true
2015-12-03 22:32:08 +07:00
- name : 'test-htpasswd-all.local'
template : '_base'
htpasswd : 'hello'
2015-11-03 20:31:50 +07:00
- name : 'test-location.local'
template : '_base'
location :
'/' :
- 'alias /var/tmp;'
2016-11-23 17:43:13 +07:00
'/a' :
- 'alias /var/tmp;'
'/b' :
- 'alias /var/tmp;'
'/c' :
- 'alias /var/tmp;'
location_order :
- '/'
- '/a'
- '/b'
- '/c'
2015-10-22 15:25:30 +07:00
- name : 'test-php.local'
2017-10-26 15:59:24 +07:00
php_version : "{{ nginx_php.1.version if nginx_php.1 is defined else nginx_php.0.version }}"
2015-09-21 16:47:49 +07:00
upstream_params :
- 'fastcgi_param FOO bar;'
2015-07-30 20:53:45 +07:00
redirect_from :
- 'www.test-php.local'
2015-07-30 18:02:21 +07:00
template : '_php'
2016-03-05 23:26:05 +07:00
use_error_log : true
use_access_log : true
2015-11-02 22:30:46 +07:00
- name : 'test-php-index.local'
template : '_php_index'
2017-11-27 19:33:41 +07:00
- name : 'test-php-index2.local'
template : '_php_index2'
2015-10-22 15:25:30 +07:00
- name : 'test-proxy.local'
2015-10-09 19:31:01 +07:00
listen :
- 8080
2015-10-08 23:21:40 +07:00
template : '_proxy'
upstream_name : 'test'
2016-03-15 23:15:46 +07:00
headers :
'X-proxyfied' : '1'
2015-10-22 15:25:30 +07:00
- name : 'deleted.local'
2016-12-07 13:48:32 +07:00
state : 'absent'
2015-12-01 21:46:57 +07:00
- name : 'redirect-to.local'
redirect_to : 'http://test.local'
2015-12-23 23:37:58 +07:00
- name : 'backuppc.local'
template : '_backuppc'
htpasswd : 'hello'
2016-01-15 21:48:18 +07:00
- name : 'nagios3.local'
template : '_nagios3'
2016-01-21 21:16:21 +07:00
htpasswd : 'nagios'
2016-01-12 00:20:42 +07:00
- name : 'test-ssl.local'
proto : [ 'http' , 'https' ]
template : '_base'
2016-01-12 23:26:30 +07:00
- name : 'test-ssl-predeployed.local'
proto : [ 'http' , 'https' ]
template : '_base'
ssl_name : 'test-ssl-predeployed.local'
2016-03-15 23:15:46 +07:00
headers :
'X-ansible-default' : '1'
2016-03-15 18:16:57 +07:00
ssl_template : false
2016-03-15 01:20:08 +07:00
- name : 'test-ssl-redirect.local'
proto : [ 'https' ]
template : '_base'
ssl_name : 'test-ssl.local'
redirect_https : true
2017-04-13 19:21:14 +07:00
- name :
- 'test-ssl-redirect-many.local'
- 'test-ssl-redirect-many2.local'
2017-04-13 20:16:53 +07:00
listen_ssl : [ 8443 ]
2017-04-13 19:21:14 +07:00
proto : [ 'https' ]
template : '_base'
ssl_name : 'test-ssl.local'
redirect_https : true
2017-01-03 17:16:28 +07:00
- name : 'test-ssl-proxy-protocol.local'
proto : [ 'http' , 'https' ]
2017-01-03 18:07:31 +07:00
listen : [ 80 , 20080 ]
listen_ssl : [ 443 , 20443 ]
http_proxy_protocol_port : [ 20080 ]
https_proxy_protocol_port : [ 20443 ]
2017-01-03 17:16:28 +07:00
template : '_base'
ssl_name : 'test-ssl.local'
2017-12-03 04:22:28 +07:00
- name : '{{ ngrok.stdout }}'
proto : [ 'http' , 'https' ]
template : '_base'
ssl_name : '{{ ngrok.stdout }}'
headers :
'X-acme' : '1'
2017-06-05 21:21:47 +07:00
nginx_dh_length : 1024
2015-07-15 17:14:39 +07:00
roles :
- ../../
2015-07-15 22:24:50 +07:00
post_tasks :
2016-01-21 21:34:18 +07:00
# --------------------------------
# Apps
# --------------------------------
2016-03-05 21:46:54 +07:00
- name : INCLUDE | Post_tasks related to OS version
include : "includes/post_{{ ansible_distribution }}.yml"
2017-06-14 23:00:30 +07:00
2016-01-21 21:34:18 +07:00
# --------------------------------
# Deploy index files
# --------------------------------
2015-07-16 21:24:44 +07:00
- name : -- Add PHP file --
2017-10-26 20:47:30 +07:00
copy :
dest : "{{ nginx_root }}/{{ item }}/public/index.php"
content : "<?php phpinfo();"
2017-06-14 23:00:30 +07:00
with_items :
- 'test-php.local'
- 'test-php-index.local'
2017-11-27 19:33:41 +07:00
- 'test-php-index2.local'
2017-06-14 23:00:30 +07:00
2015-07-16 21:24:44 +07:00
- name : -- Add HTML file --
2017-10-26 20:47:30 +07:00
copy :
dest : "{{ item }}/index.html"
content : "Index HTML test OK\n"
2017-06-14 23:00:30 +07:00
with_items :
- '{{ nginx_root }}/first-test/public'
- '/var/tmp'
- '{{ nginx_root }}/test-htpasswd-all.local/public'
- '{{ nginx_root }}/test-ssl.local/public'
- '{{ nginx_root }}/test-ssl-predeployed.local/public'
- '{{ nginx_root }}/test-ssl-proxy-protocol.local/public'
2017-12-03 04:22:28 +07:00
- '{{ nginx_root }}/{{ ngrok.stdout }}/public'
2017-06-14 23:00:30 +07:00
2016-03-05 21:36:25 +07:00
- name : -- Create directory --
2017-10-26 20:47:30 +07:00
file :
path : "{{ nginx_root }}/test-htpasswd.local/public/hello"
state : directory
2017-06-14 23:00:30 +07:00
2016-03-05 21:36:25 +07:00
- name : -- Add HTML file hello --
2017-10-26 20:47:30 +07:00
copy :
dest : "{{ nginx_root }}/test-htpasswd.local/public/hello/index.html"
content : "hello\n"
2017-06-14 23:00:30 +07:00
2016-01-21 21:34:18 +07:00
# --------------------------------
2016-11-29 20:32:27 +07:00
# Test custom facts
# --------------------------------
- name : -- CHECK FACTS --
assert :
2017-04-25 17:27:08 +07:00
that : "'{{ ansible_local.nginx.fact_nginx_sites[0].name[0] }}' == 'test.local'"
2016-11-29 20:32:27 +07:00
# --------------------------------
2017-04-25 17:27:08 +07:00
# Simple sites tests
2016-01-21 21:34:18 +07:00
# --------------------------------
2017-04-25 17:27:08 +07:00
- name : -- VERIFY SITES --
2017-10-27 20:27:16 +07:00
uri :
url : "http://{{ item | nginx_site_name }}{% if item.listen is defined %}:{{ item.listen[0] }}{% endif %}/"
status_code : '200,301,302,401,403'
follow_redirects : none
2017-04-25 17:27:08 +07:00
with_items : "{{ nginx_sites }}"
2016-08-30 16:06:38 +07:00
when : item.state is undefined or item.state != "absent"
2015-07-15 22:24:50 +07:00
changed_when : false
2017-06-14 23:00:30 +07:00
2015-11-02 22:30:46 +07:00
- name : -- VERIFY FORBIDDEN --
2017-10-27 20:27:16 +07:00
uri :
url : "http://test-php-index.local/phpinfo.php"
status_code : 403
2017-06-14 23:00:30 +07:00
2017-04-25 17:27:08 +07:00
- name : -- VERIFY REDIRECT SITES --
2017-10-27 20:27:16 +07:00
uri :
url : "http://{{ item.redirect_from[0] }}/"
status_code : 301
follow_redirects : none
2017-04-25 17:27:08 +07:00
with_items : "{{ nginx_sites }}"
2016-08-30 16:06:38 +07:00
when : item.redirect_from is defined and (item.state is undefined or item.state != "absent")
2015-08-04 17:26:38 +07:00
changed_when : false
2016-01-21 21:34:18 +07:00
2016-01-21 23:54:24 +07:00
# --------------------------------
# PHP
# --------------------------------
2017-10-26 15:59:24 +07:00
- name : -- VERIFY PHP SITES --
2017-10-27 20:27:16 +07:00
uri :
url : "http://{{ item.name}}/"
return_content : yes
2016-08-09 21:02:09 +07:00
register : p
2017-10-26 15:59:24 +07:00
with_items : "{{ nginx_sites }}"
when : >
item.template is defined and
2017-11-27 19:33:41 +07:00
(item.template == '_php' or item.template == '_php_index' or item.template == '_php_index2')
2017-10-27 20:27:16 +07:00
failed_when : p.content.find('PHP Version ' + item.php_version if 'php_version' in item else nginx_php.0.version) == -1
2016-08-09 21:02:09 +07:00
2017-11-27 19:33:41 +07:00
- name : -- VERIFY INDEX2 --
uri :
url : "http://test-php-index2.local/lorem.php?ipsum=sit&dolor=amet"
return_content : yes
register : p2
failed_when : p2.content.find('PHP Version') == -1
2016-01-21 21:34:18 +07:00
# --------------------------------
# Basic Auth
# --------------------------------
2017-10-27 20:27:16 +07:00
- name : -- VERIFY AUTH BASIC NONE --
uri :
url : "http://test-htpasswd.local/hello/"
status_code : 401
- name : -- VERIFY AUTH BASIC FAIL --
uri :
url : "http://test-htpasswd.local/hello/"
status_code : 401
user : "fail"
password : "fail"
force_basic_auth : yes
- name : -- VERIFY AUTH BASIC OK --
uri :
url : "http://test-htpasswd.local/hello/"
user : "hanx"
password : "qwerty"
force_basic_auth : yes
- name : -- VERIFY AUTH BASIC FAIL GLOBAL --
uri :
url : "http://test-htpasswd-all.local/"
status_code : 401
user : "fail"
password : "fail"
force_basic_auth : yes
- name : -- VERIFY AUTH BASIC OK GLOBAL --
uri :
url : "http://test-htpasswd-all.local/"
user : "hanx"
password : "qwerty"
force_basic_auth : yes
2016-01-21 21:34:18 +07:00
# --------------------------------
# BackupPC
# --------------------------------
2015-12-23 23:37:58 +07:00
- name : -- VERIFY BACKUPPC --
2017-10-27 20:27:16 +07:00
uri :
url : "http://backuppc.local/"
user : "hanx"
password : "qwerty"
force_basic_auth : yes
return_content : yes
2015-12-23 23:37:58 +07:00
register : authbpc
2016-03-06 00:34:04 +07:00
when : ansible_distribution != 'FreeBSD'
2017-10-27 20:27:16 +07:00
failed_when : authbpc.content.find('BackupPC Server Status') == -1
2016-01-21 21:16:21 +07:00
# --------------------------------
2017-07-27 19:25:22 +07:00
# Nagios (not avaiblable on Debian >= 9)
2016-01-21 21:16:21 +07:00
# --------------------------------
2017-07-27 19:25:22 +07:00
- block :
2017-06-14 23:00:30 +07:00
2017-07-27 19:25:22 +07:00
- name : -- VERIFY NAGIOS3 PHP --
2017-10-27 20:27:16 +07:00
uri :
url : "http://nagios3.local/side.php"
user : "nagiosadmin"
password : "nagios"
force_basic_auth : yes
return_content : yes
2017-07-27 19:25:22 +07:00
register : nagios_php
2017-10-27 20:27:16 +07:00
failed_when : nagios_php.content.find('Nagios Core') == -1
2017-07-27 19:25:22 +07:00
- name : -- VERIFY NAGIOS3 CGI --
2017-10-27 20:27:16 +07:00
uri :
url : "http://nagios3.local/cgi-bin{% if ansible_distribution == 'Debian' %}/nagios3{% endif %}/summary.cgi"
user : "nagiosadmin"
password : "nagios"
force_basic_auth : yes
return_content : yes
2017-07-27 19:25:22 +07:00
register : nagios_cgi
2017-10-27 20:27:16 +07:00
failed_when : nagios_cgi.content.find('Nagios Event Summary') == -1
2017-07-27 19:25:22 +07:00
2017-10-26 15:59:24 +07:00
when : ansible_distribution_major_version | version_compare('9', 'lt')
2016-01-21 23:08:01 +07:00
2017-10-27 20:27:16 +07:00
2016-08-11 14:38:09 +07:00
# --------------------------------
# Owncloud
# --------------------------------
2016-08-25 23:17:32 +07:00
# - block:
# - name: -- VERIFY OWNCLOUD --
# command: "curl -H 'Host: owncloud.local' http://127.0.0.1/"
# changed_when: false
# register: ownsimple
# failed_when: ownsimple.stdout.find('ownCloud') == -1
# - name: -- VERIFY OWNCLOUD JS (FROM PHP)--
# command: "curl -H 'Host: owncloud.local' http://127.0.0.1/index.php/core/js/oc.js"
# changed_when: false
# register: ownjsphp
# failed_when: ownjsphp.stdout.find('var oc_debug=false') == -1
# - name: -- VERIFY OWNCLOUD JS --
# command: "curl -H 'Host: owncloud.local' http://127.0.0.1/core/js/js.js"
# changed_when: false
# register: ownjs
# failed_when: ownjs.stdout.find('var oc_debug') == -1
# when: ansible_distribution != 'FreeBSD'
2016-08-11 14:38:09 +07:00
2016-01-21 23:08:01 +07:00
# --------------------------------
# SSL
# --------------------------------
2016-01-12 00:20:42 +07:00
- name : -- VERIFY SSL --
2017-10-27 20:27:16 +07:00
uri :
url : "https://{{ item }}/"
return_content : yes
validate_certs : no
2016-01-21 21:34:18 +07:00
register : sslok
2017-10-27 20:27:16 +07:00
failed_when : sslok.content.find('Index HTML test OK') == -1
2016-01-12 23:26:30 +07:00
with_items :
- 'test-ssl-predeployed.local'
- 'test-ssl.local'
2017-12-03 04:22:28 +07:00
- '{{ ngrok.stdout }}'
2017-06-14 23:00:30 +07:00
2016-03-15 01:20:08 +07:00
- name : -- VERIFY SSL REDIRECT --
2017-10-27 20:27:16 +07:00
uri :
url : "http://{{ item.name }}/"
validate_certs : no
status_code : 301
return_content : yes
follow_redirects : none
2016-03-15 01:20:08 +07:00
register : sslredirok
2017-10-27 20:27:16 +07:00
failed_when : '"https://%s%s" % (item.name, ":" + item.port if item.port is defined else "") not in sslredirok.location'
2016-03-15 01:20:08 +07:00
with_items :
2017-04-13 20:16:53 +07:00
- name : 'test-ssl-redirect.local'
- name : 'test-ssl-redirect-many.local'
port : '8443'
- name : 'test-ssl-redirect-many2.local'
port : '8443'
2016-01-12 00:20:42 +07:00
2016-01-21 23:08:01 +07:00
# --------------------------------
2017-04-25 17:27:08 +07:00
# Default sites
2016-01-21 23:08:01 +07:00
# --------------------------------
2017-04-25 17:27:08 +07:00
- name : -- VERIFY DEFAULT SITE --
2017-10-27 20:27:16 +07:00
uri :
url : 'http://127.0.0.1/'
return_content : yes
2016-01-21 23:08:01 +07:00
register : vdefault
failed_when : >
2017-10-27 20:27:16 +07:00
vdefault.content.find('Index HTML test OK') == -1 or
vdefault.x_ansible_default is not defined
- name : -- VERIFY DEFAULT SITE + STUB STATUS--
uri :
url : 'http://127.0.0.1/status'
return_content : yes
register : vdefault_status
failed_when : >
vdefault_status.content.find('Active connections') == -1 or
vdefault_status.x_ansible_default is not defined
2017-06-14 23:00:30 +07:00
2017-04-25 17:27:08 +07:00
- name : -- VERIFY DEFAULT SSL SITE --
2017-10-27 20:27:16 +07:00
uri :
url : 'https://127.0.0.1/'
return_content : yes
validate_certs : no
register : vdefault
2016-01-21 23:08:01 +07:00
failed_when : >
2017-10-27 20:27:16 +07:00
vdefault.content.find('Index HTML test OK') == -1 or
vdefault.x_ansible_default is not defined
2017-06-14 23:00:30 +07:00
2017-04-25 17:27:08 +07:00
- name : -- VERIFY NOT DEFAULT SITE --
2017-10-27 20:27:16 +07:00
uri :
url : 'http://test-php.local/'
return_content : yes
2016-01-21 23:08:01 +07:00
register : vphp
2017-10-27 20:27:16 +07:00
failed_when : vphp.x_ansible_default is defined
2017-06-14 23:00:30 +07:00
2017-04-25 17:27:08 +07:00
- name : -- VERIFY NOT DEFAULT SSL SITE --
2017-10-27 20:27:16 +07:00
uri :
url : 'https://test-ssl.local/'
return_content : yes
validate_certs : no
2016-01-21 23:08:01 +07:00
register : notdefaultssl
2017-10-27 20:27:16 +07:00
failed_when : notdefaultssl.x_ansible_default is defined
2016-03-05 17:29:37 +07:00
# --------------------------------
# Check HTTP2
# --------------------------------
2016-03-09 01:37:39 +07:00
- name : SHELL | Check HTTP2
shell : nghttp -nv https://localhost 2> /dev/null | grep -q h2
args :
executable : /bin/sh
changed_when : false
when : nginx_auto_config_httpv2 and 'http_v2' in nginx_modules