{% set websites = ['news', 'planet', 'search', 'www', 'yast', '101', 'monitor', 'debuginfod', 'get', 'universe'] %}
include:
- role.common.nginx
nginx:
ng:
servers:
managed:
{% for website in websites %}
{{ website }}.opensuse.org.conf:
config:
- map $sent_http_content_type $expires:
- text/css: 7d
- image/x-icon: 90d
- ~application/: 28d
- ~font/: 28d
- ~text/: 1d
- ~image/: 28d
- server:
- server_name: {{ website }}.opensuse.org
- listen:
- 80
{% if website == 'news' %}
- default_server
{% endif %}
- root: /srv/www/vhosts/{{ website }}.opensuse.org
- gzip_vary: 'on'
- gzip_min_length: 1000
- gzip_comp_level: 5
- gzip_types:
- text/plain
- text/xml text/x-js
- application/json
- text/css
- application/x-javascript
- application/javascript
- expires: $expires
- location ~ /\.svn:
- return: 404
- location ~ /\.git:
- return: 404
- location /:
- index:
- index.html
- index.htm
- try_files:
- $uri
- $uri/index.html
- $uri.html
- =404
{% if website == 'news' %}
- if ($args ~* "feed=rss2"):
- set: $args ""
- rewrite: ^.*$ https://news.opensuse.org/feed.xml redirect
- rewrite: ^/feed/$ https://news.opensuse.org/feed.xml redirect
- rewrite: ^.*/feed/$ https://news.opensuse.org/feed.xml redirect
- rewrite: ^/feed$ https://news.opensuse.org/feed.xml redirect
{% endif %}
{% if website == 'planet' %}
- rewrite: ^/global/$ / redirect
- location ~ /tw(|/.*)$:
- rewrite: ^/tw(.*)$ /zh_TW$1 redirect
- location ~ /gr(|/.*)$:
- rewrite: ^/gr(.*)$ /el$1 redirect
{% endif %}
- location ~* \.(?:ttf|otf|eot|woff)$:
- add_header: Access-Control-Allow-Origin "*"
- location ~* \.(?:xml)$:
- add_header: Access-Control-Allow-Origin "*"
- charset: utf-8
- error_page: 405 = $uri
- error_page: 405 =200 $uri
- error_page: 500 502 503 504 /50x.html
- location = /50x.html:
- root: /srv/www/htdocs
- access_log: /var/log/nginx/{{ website }}.access.log combined
- error_log: /var/log/nginx/{{ website }}.error.log
enabled: True
{% endfor %}
profile:
web_jekyll:
ssh_pubkey: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINNg3043py2Oe/LfLU0+mE+ehe7gI3e2QajbSUI6p4Zm web_jekyll@salt'
websites: {{ websites }}
postfix:
aliases:
web_jekyll: root