Added Kitchen tests and Travis
diff --git a/.kitchen.yml b/.kitchen.yml
new file mode 100644
index 0000000..8519c96
--- /dev/null
+++ b/.kitchen.yml
@@ -0,0 +1,68 @@
+---
+driver:
+ name: docker
+ hostname: nginx.ci.local
+ use_sudo: false
+
+provisioner:
+ name: salt_solo
+ salt_install: bootstrap
+ salt_bootstrap_url: https://bootstrap.saltstack.com
+ salt_version: latest
+ require_chef: false
+ log_level: error
+ formula: nginx
+ grains:
+ noservices: True
+ state_top:
+ base:
+ "*":
+ - nginx
+ pillars:
+ top.sls:
+ base:
+ "*":
+ - nginx
+
+verifier:
+ name: inspec
+ sudo: true
+
+platforms:
+ - name: <%=ENV['PLATFORM'] || 'ubuntu-xenial'%>
+ driver_config:
+ image: <%=ENV['PLATFORM'] || 'trevorj/salty-whales:xenial'%>
+ platform: ubuntu
+
+suites:
+
+ - name: horizon_no_ssl
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/horizon_no_ssl.sls
+
+ - name: horizon_with_ssl
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/horizon_with_ssl.sls
+
+ - name: proxy
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/proxy.sls
+
+ - name: redirect
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/redirect.sls
+
+ - name: static
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/static.sls
+
+ - name: stats
+ provisioner:
+ pillars-from-files:
+ nginx.sls: tests/pillar/stats.sls
+# vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..7a77247
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,39 @@
+sudo: required
+services:
+ - docker
+
+install:
+ - pip install PyYAML
+ - pip install virtualenv
+ - |
+ test -e Gemfile || cat <<EOF > Gemfile
+ source 'https://rubygems.org'
+ gem 'rake'
+ gem 'test-kitchen'
+ gem 'kitchen-docker'
+ gem 'kitchen-inspec'
+ gem 'inspec'
+ gem 'kitchen-salt', :git => 'https://github.com/salt-formulas/kitchen-salt.git'
+ - bundle install
+
+env:
+ - PLATFORM=trevorj/salty-whales:trusty
+ - PLATFORM=trevorj/salty-whales:xenial
+
+before_script:
+ - set -o pipefail
+ - make test | tail
+
+script:
+ - test ! -e .kitchen.yml || bundle exec kitchen test -t tests/integration
+
+notifications:
+ webhooks:
+ urls:
+ - https://webhooks.gitter.im/e/6123573504759330786b
+ on_success: change # options: [always|never|change] default: always
+ on_failure: never # options: [always|never|change] default: always
+ on_start: never # options: [always|never|change] default: always
+ on_cancel: never # options: [always|never|change] default: always
+ on_error: never # options: [always|never|change] default: always
+ email: false
diff --git a/README.rst b/README.rst
index 70d19d7..291aeae 100644
--- a/README.rst
+++ b/README.rst
@@ -241,7 +241,7 @@
Nginx stats server (required by collectd nginx plugin)
-.. code-block::
+.. code-block:: yaml
nginx:
server:
diff --git a/nginx/server/sites.sls b/nginx/server/sites.sls
index 8137e03..209368d 100644
--- a/nginx/server/sites.sls
+++ b/nginx/server/sites.sls
@@ -75,6 +75,8 @@
{% endif %}
+{%- if grains.get('virtual_subtype', None) not in ['Docker', 'LXC'] %}
+
sites-available-{{ site_name }}:
file.managed:
- name: {{ server.vhost_dir }}/{{ site.type }}_{{ site.name }}.conf
@@ -97,13 +99,15 @@
- defaults:
site_name: "{{ site_name }}"
+
+
{%- if grains.os_family == 'Debian' %}
sites-enabled-{{ site_name }}:
file.symlink:
- name: /etc/nginx/sites-enabled/{{ site.type }}_{{ site.name }}.conf
- target: {{ server.vhost_dir }}/{{ site.type }}_{{ site.name }}.conf
{%- endif %}
-
+{%- endif %}
{%- else %}
{{ server.vhost_dir }}/{{ site.type }}_{{ site.name }}.conf: