Compare commits

...

5 Commits

Author SHA1 Message Date
b38ad00f9f
Include vhosts.d
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-02-05 03:14:47 +01:00
945f2958e3
fix(opensuse): pkgrepo.absent TypeError
Repository can only be removed by name, other fields cause del_repo() to
fail.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-02-05 03:14:46 +01:00
b4804e40fe
feat(opensuse): optional openSUSE devel repository
All modern openSUSE releases (Leap 15.x, Tumbleweed) ship nginx in the
default repositories. The devel repository should not be used unless the
user knows what they are doing.

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-02-05 03:14:46 +01:00
78d4f26c8f
fix(opensuse): update to openSUSE Leap >= 15.4
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-02-05 03:14:43 +01:00
23df36ded9
feat(servers_config): enable configs by default
Don't require `enabled: true` - helps distributions without
separate available/enabled directories and prevents error:
"Rendering SLS 'production:nginx.servers' failed: Jinja variable 'list
object' has no attribute 'enabled'"

Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
2023-02-04 14:49:28 +01:00
4 changed files with 31 additions and 13 deletions

View File

@ -72,7 +72,8 @@
'server_use_symlink': False,
'pid_file': '/run/nginx.pid',
'gpg_check': True,
'gpg_key': 'http://download.opensuse.org/repositories/server:/http/openSUSE_{{ grains.osrelease }}/repodata/repomd.xml.key',
'gpg_key': 'http://download.opensuse.org/repositories/server:/http/{{ grains.osrelease }}/repodata/repomd.xml.key',
'gpg_autoimport': True,
'openssl_package': 'openssl',
},
'Arch': {
@ -115,6 +116,7 @@
'install_from_ppa': False,
'install_from_repo': False,
'install_from_phusionpassenger': False,
'install_from_opensuse_devel': False,
'check_config_before_apply': False,
'ppa_version': 'stable',
'source_version': '1.10.0',
@ -152,7 +154,7 @@
'include': [
'mime.types',
'conf.d/*.conf',
'sites-enabled/*',
'vhosts.d/*.conf',
],
},
},

View File

@ -11,18 +11,27 @@
{% set from_official = true %}
{% set from_ppa = false %}
{% set from_phusionpassenger = false %}
{% set from_opensuse_devel = false %}
{% elif nginx.install_from_ppa %}
{% set from_official = false %}
{% set from_ppa = true %}
{% set from_phusionpassenger = false %}
{% set from_opensuse_devel = false %}
{% elif nginx.install_from_phusionpassenger %}
{% set from_official = false %}
{% set from_ppa = false %}
{% set from_phusionpassenger = true %}
{% set from_opensuse_devel = false %}
{% elif nginx.install_from_opensuse_devel %}
{% set from_official = false %}
{% set from_ppa = false %}
{% set from_phusionpassenger = false %}
{% set from_opensuse_devel = true %}
{% else %}
{% set from_official = false %}
{% set from_ppa = false %}
{% set from_phusionpassenger = false %}
{% set from_opensuse_devel = false %}
{%- endif %}
{%- set resource_repo_managed = 'file' if grains.os_family == 'Debian' else 'pkgrepo' %}
@ -136,18 +145,19 @@ nginx_phusionpassenger_repo:
{% if grains.os_family == 'Suse' or grains.os == 'SUSE' %}
nginx_zypp_repo:
pkgrepo:
{%- if from_official %}
- managed
{%- else %}
- absent
{%- endif %}
- name: server_http
{%- if from_opensuse_devel %}
- managed
- humanname: server_http
- baseurl: 'http://download.opensuse.org/repositories/server:/http/openSUSE_13.2/'
- baseurl: 'http://download.opensuse.org/repositories/server:/http/{{ grains.osrelease }}/'
- enabled: True
- autorefresh: True
- gpgcheck: {{ nginx.lookup.gpg_check }}
- gpgkey: {{ nginx.lookup.gpg_key }}
- gpgautoimport: {{ nginx.lookup.gpg_autoimport }}
{%- else %}
- absent
{%- endif %}
- require_in:
- pkg: nginx_install
- watch_in:

View File

@ -101,6 +101,7 @@ nginx_server_available_dir:
# Managed enabled/disabled state for servers
{% for server, settings in nginx.servers.managed.items() %}
{% set server_enabled = settings.enabled | default(True) %}
{% set conf_state_id = 'server_conf_' ~ loop.index0 %}
{% if 'deleted' in settings and settings.deleted %}
{{ conf_state_id }}:
@ -108,7 +109,7 @@ nginx_server_available_dir:
- name: {{ server_curpath(server) }}
{% do server_states.append(conf_state_id) %}
{% else %}
{% if settings.enabled == True %}
{% if server_enabled == True %}
{{ conf_state_id }}:
file.managed:
{{ sls_block(nginx.servers.managed_opts) }}
@ -142,7 +143,7 @@ nginx_server_available_dir:
{% endif %}
{% endif %}
{% if settings.enabled != None %}
{% if settings.enabled is defined and server_enabled != None %}
{% set status_state_id = 'server_state_' ~ loop.index0 %}
{%- set enabled_dir = path_join(server, nginx.servers.managed.get(server).get('enabled_dir', nginx.lookup.server_enabled)) -%}
{%- set available_dir = path_join(server, nginx.servers.managed.get(server).get('available_dir', nginx.lookup.server_available)) -%}
@ -151,9 +152,9 @@ nginx_server_available_dir:
{% if 'deleted' in settings and settings.deleted %}
{{ manage_status(server, False, True) }}
{% else %}
{{ manage_status(server, settings.enabled, False) }}
{{ manage_status(server, server_enabled, False) }}
{% endif %}
{% if settings.enabled == True %}
{% if server_enabled == True %}
- require:
- file: {{ conf_state_id }}
{% endif %}

View File

@ -24,6 +24,10 @@ nginx:
# each build accordingly ( https://launchpad.net/~nginx )
ppa_version: 'stable'
# Use openSUSE devel (server:http) repository to install nginx.
# If not set, the server_http repository will be removed if it exists.
install_from_opensuse_devel: false
# Source install
source_version: '1.10.0'
source_hash: ''
@ -198,8 +202,9 @@ nginx:
# relative filename of server file
# (defaults to '/etc/nginx/sites-available/mysite')
mysite:
# may be true, false, or None where true is enabled, false, disabled,
# may be true, false, or None where true is enabled, false is disabled,
# and None indicates no action
# true without ".disabled" management if not specified
enabled: true
# This let's you add dependencies on other resources being applied for a