Skip to content

Commit 324b0b8

Browse files
committed
refactor(pillar): store defaults into yaml files
1 parent 6c4f78b commit 324b0b8

File tree

3 files changed

+174
-168
lines changed

3 files changed

+174
-168
lines changed

nginx/defaults.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# -*- coding: utf-8 -*-
2+
# vim: ft=yaml
3+
---
4+
nginx:
5+
lookup: {}
6+
install_from_source: false
7+
install_from_ppa: false
8+
install_from_repo: false
9+
install_from_phusionpassenger: false
10+
ppa_version: stable
11+
source_version: 1.10.0
12+
source_hash: 8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d
13+
source:
14+
opts: {}
15+
package:
16+
opts: {}
17+
service:
18+
enable: true
19+
opts: {}
20+
certificates_path: /etc/nginx/ssl
21+
dh_param: {}
22+
certificates: {}
23+
server:
24+
opts: {}
25+
config:
26+
worker_processes: auto
27+
events:
28+
worker_connections: 512
29+
http:
30+
sendfile: 'on'
31+
tcp_nopush: 'on'
32+
tcp_nodelay: 'on'
33+
keepalive_timeout: 65
34+
types_hash_max_size: 2048
35+
default_type: application/octet-stream
36+
access_log: /var/log/nginx/access.log
37+
error_log: /var/log/nginx/error.log
38+
gzip: 'off'
39+
gzip_disable: '"msie6"'
40+
include:
41+
- mime.types
42+
- conf.d/*.conf
43+
- sites-enabled/*
44+
servers:
45+
disabled_postfix: .disabled
46+
symlink_opts: {}
47+
rename_opts: {}
48+
managed_opts:
49+
makedirs: true
50+
dir_opts:
51+
makedirs: true
52+
managed: {}
53+
purge_servers_config: false
54+
passenger:
55+
passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
56+
passenger_ruby: /usr/bin/ruby

nginx/map.jinja

Lines changed: 8 additions & 168 deletions
Original file line numberDiff line numberDiff line change
@@ -6,174 +6,14 @@
66

77
{%- set tplroot = tpldir.split('/')[0] %}
88
{% set pillar_namespace = salt['pillar.get']('{}:pillar:namespace'.format(tplroot), tplroot) %}
9-
{% set nginx = salt['pillar.get'](pillar_namespace, {
10-
'lookup': salt['grains.filter_by']({
11-
'Debian': {
12-
'package': 'nginx',
13-
'passenger_package': 'passenger',
14-
'passenger_config_file': '/etc/nginx/conf.d/passenger.conf',
15-
'service': 'nginx',
16-
'webuser': 'www-data',
17-
'conf_file': '/etc/nginx/nginx.conf',
18-
'server_available': '/etc/nginx/sites-available',
19-
'server_enabled': '/etc/nginx/sites-enabled',
20-
'snippets_dir': '/etc/nginx/snippets',
21-
'server_use_symlink': True,
22-
'pid_file': '/run/nginx.pid',
23-
'openssl_package': 'openssl',
24-
},
25-
'CentOS': {
26-
'package': 'nginx',
27-
'passenger_package': 'passenger',
28-
'passenger_config_file': '/etc/nginx/conf.d/passenger.conf',
29-
'service': 'nginx',
30-
'webuser': 'nginx',
31-
'conf_file': '/etc/nginx/nginx.conf',
32-
'server_available': '/etc/nginx/conf.d',
33-
'server_enabled': '/etc/nginx/conf.d',
34-
'snippets_dir': '/etc/nginx/snippets',
35-
'server_use_symlink': False,
36-
'pid_file': '/run/nginx.pid',
37-
'rh_os_releasever': '$releasever',
38-
'gpg_check': False,
39-
'gpg_key': 'http://nginx.org/keys/nginx_signing.key',
40-
'openssl_package': 'openssl',
41-
},
42-
'RedHat': {
43-
'package': 'nginx',
44-
'passenger_package': 'passenger',
45-
'passenger_config_file': '/etc/nginx/conf.d/passenger.conf',
46-
'service': 'nginx',
47-
'webuser': 'nginx',
48-
'conf_file': '/etc/nginx/nginx.conf',
49-
'server_available': '/etc/nginx/conf.d',
50-
'server_enabled': '/etc/nginx/conf.d',
51-
'snippets_dir': '/etc/nginx/snippets',
52-
'server_use_symlink': False,
53-
'pid_file': '/run/nginx.pid',
54-
'rh_os_releasever': '$releasever',
55-
'gpg_check': False,
56-
'gpg_key': 'http://nginx.org/keys/nginx_signing.key',
57-
'passenger': {
58-
'passenger_root': '/usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini',
59-
'passenger_instance_registry_dir': ' /var/run/passenger-instreg',
60-
'passenger_ruby': '/usr/bin/ruby',
61-
},
62-
'openssl_package': 'openssl',
63-
},
64-
'Suse': {
65-
'package': 'nginx',
66-
'service': 'nginx',
67-
'webuser': 'nginx',
68-
'conf_file': '/etc/nginx/nginx.conf',
69-
'server_available': '/etc/nginx/vhosts.d',
70-
'server_enabled': '/etc/nginx/vhosts.d',
71-
'snippets_dir': '/etc/nginx/snippets',
72-
'server_use_symlink': False,
73-
'pid_file': '/run/nginx.pid',
74-
'gpg_check': True,
75-
'gpg_key': 'http://download.opensuse.org/repositories/server:/http/openSUSE_{{ grains.osrelease }}/repodata/repomd.xml.key',
76-
'openssl_package': 'openssl',
77-
},
78-
'Arch': {
79-
'package': 'nginx',
80-
'service': 'nginx',
81-
'webuser': 'http',
82-
'conf_file': '/etc/nginx/nginx.conf',
83-
'server_available': '/etc/nginx/sites-available',
84-
'server_enabled': '/etc/nginx/sites-enabled',
85-
'snippets_dir': '/etc/nginx/snippets',
86-
'server_use_symlink': True,
87-
'openssl_package': 'openssl',
88-
},
89-
'Gentoo': {
90-
'package': 'www-servers/nginx',
91-
'service': 'nginx',
92-
'webuser': 'nginx',
93-
'conf_file': '/etc/nginx/nginx.conf',
94-
'server_available': '/etc/nginx/sites-available',
95-
'server_enabled': '/etc/nginx/sites-enabled',
96-
'snippets_dir': '/etc/nginx/snippets',
97-
'server_use_symlink': True,
98-
'openssl_package': 'dev-libs/openssl',
99-
},
100-
'FreeBSD': {
101-
'package': 'nginx',
102-
'passenger_package': 'passenger',
103-
'service': 'nginx',
104-
'webuser': 'www',
105-
'conf_file': '/usr/local/etc/nginx/nginx.conf',
106-
'server_available': '/usr/local/etc/nginx/sites-available',
107-
'server_enabled': '/usr/local/etc/nginx/sites-enabled',
108-
'snippets_dir': '/usr/local/etc/nginx/snippets',
109-
'server_use_symlink': True,
110-
'pid_file': '/var/run/nginx.pid',
111-
},
112-
}, default='Debian' ),
113-
'install_from_source': False,
114-
'install_from_ppa': False,
115-
'install_from_repo': False,
116-
'install_from_phusionpassenger': False,
117-
'ppa_version': 'stable',
118-
'source_version': '1.10.0',
119-
'source_hash': '8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d',
120-
'source': {
121-
'opts': {},
122-
},
123-
'package': {
124-
'opts': {},
125-
},
126-
'service': {
127-
'enable': True,
128-
'opts': {},
129-
},
130-
'certificates_path': '/etc/nginx/ssl',
131-
'dh_param': {},
132-
'certificates': {},
133-
'server': {
134-
'opts': {},
135-
'config': {
136-
'worker_processes': 'auto',
137-
'events': {
138-
'worker_connections': 512,
139-
},
140-
'http': {
141-
'sendfile': 'on',
142-
'tcp_nopush': 'on',
143-
'tcp_nodelay': 'on',
144-
'keepalive_timeout': '65',
145-
'types_hash_max_size': '2048',
146-
'default_type': 'application/octet-stream',
147-
'access_log': '/var/log/nginx/access.log',
148-
'error_log': '/var/log/nginx/error.log',
149-
'gzip': 'off',
150-
'gzip_disable': '"msie6"',
151-
'include': [
152-
'mime.types',
153-
'conf.d/*.conf',
154-
'sites-enabled/*',
155-
],
156-
},
157-
},
158-
},
159-
'servers': {
160-
'disabled_postfix': '.disabled',
161-
'symlink_opts': {},
162-
'rename_opts': {},
163-
'managed_opts': {
164-
'makedirs': True,
165-
},
166-
'dir_opts': {
167-
'makedirs': True,
168-
},
169-
'managed': {},
170-
'purge_servers_config': False,
171-
},
172-
'passenger': {
173-
'passenger_root': '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini',
174-
'passenger_ruby': '/usr/bin/ruby',
175-
},
176-
}, merge=True) %}
9+
10+
{% import_yaml tplroot ~ "/defaults.yaml" as defaults %}
11+
{% import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
12+
13+
{% set osfamily = salt['grains.filter_by'](osfamilymap, grain='os_family') or {} %}
14+
{% do salt['defaults.merge'](defaults.nginx, osfamily) %}
15+
16+
{% set nginx = salt['pillar.get'](pillar_namespace, default=defaults.nginx, merge=True) %}
17717

17818
{% if 'user' not in nginx.server.config %}
17919
{% do nginx.server.config.update({

nginx/osfamilymap.yaml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# -*- coding: utf-8 -*-
2+
# vim: ft=yaml
3+
---
4+
Debian:
5+
lookup:
6+
package: nginx
7+
passenger_package: passenger
8+
passenger_config_file: /etc/nginx/conf.d/passenger.conf
9+
service: nginx
10+
webuser: www-data
11+
conf_file: /etc/nginx/nginx.conf
12+
server_available: /etc/nginx/sites-available
13+
server_enabled: /etc/nginx/sites-enabled
14+
snippets_dir: /etc/nginx/snippets
15+
server_use_symlink: true
16+
pid_file: /run/nginx.pid
17+
openssl_package: openssl
18+
19+
CentOS:
20+
lookup:
21+
package: nginx
22+
passenger_package: passenger
23+
passenger_config_file: /etc/nginx/conf.d/passenger.conf
24+
service: nginx
25+
webuser: nginx
26+
conf_file: /etc/nginx/nginx.conf
27+
server_available: /etc/nginx/conf.d
28+
server_enabled: /etc/nginx/conf.d
29+
snippets_dir: /etc/nginx/snippets
30+
server_use_symlink: false
31+
pid_file: /run/nginx.pid
32+
rh_os_releasever: $releasever
33+
gpg_check: false
34+
gpg_key: http://nginx.org/keys/nginx_signing.key
35+
openssl_package: openssl
36+
37+
RedHat:
38+
lookup:
39+
package: nginx
40+
passenger_package: passenger
41+
passenger_config_file: /etc/nginx/conf.d/passenger.conf
42+
service: nginx
43+
webuser: nginx
44+
conf_file: /etc/nginx/nginx.conf
45+
server_available: /etc/nginx/conf.d
46+
server_enabled: /etc/nginx/conf.d
47+
snippets_dir: /etc/nginx/snippets
48+
server_use_symlink: false
49+
pid_file: /run/nginx.pid
50+
rh_os_releasever: $releasever
51+
gpg_check: false
52+
gpg_key: http://nginx.org/keys/nginx_signing.key
53+
passenger:
54+
passenger_root: /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini
55+
passenger_instance_registry_dir: /var/run/passenger-instreg
56+
passenger_ruby: /usr/bin/ruby
57+
openssl_package: openssl
58+
59+
Suse:
60+
lookup:
61+
package: nginx
62+
service: nginx
63+
webuser: nginx
64+
conf_file: /etc/nginx/nginx.conf
65+
server_available: /etc/nginx/vhosts.d
66+
server_enabled: /etc/nginx/vhosts.d
67+
snippets_dir: /etc/nginx/snippets
68+
server_use_symlink: false
69+
pid_file: /run/nginx.pid
70+
gpg_check: true
71+
gpg_key: "http://download.opensuse.org/repositories/server:/http/openSUSE_\
72+
{{ grains.osrelease }}/repodata/repomd.xml.key"
73+
openssl_package: openssl
74+
75+
Arch:
76+
lookup:
77+
package: nginx
78+
service: nginx
79+
webuser: http
80+
conf_file: /etc/nginx/nginx.conf
81+
server_available: /etc/nginx/sites-available
82+
server_enabled: /etc/nginx/sites-enabled
83+
snippets_dir: /etc/nginx/snippets
84+
server_use_symlink: true
85+
openssl_package: openssl
86+
87+
Gentoo:
88+
lookup:
89+
package: www-servers/nginx
90+
service: nginx
91+
webuser: nginx
92+
conf_file: /etc/nginx/nginx.conf
93+
server_available: /etc/nginx/sites-available
94+
server_enabled: /etc/nginx/sites-enabled
95+
snippets_dir: /etc/nginx/snippets
96+
server_use_symlink: true
97+
openssl_package: dev-libs/openssl
98+
99+
FreeBSD:
100+
lookup:
101+
package: nginx
102+
passenger_package: passenger
103+
service: nginx
104+
webuser: www
105+
conf_file: /usr/local/etc/nginx/nginx.conf
106+
server_available: /usr/local/etc/nginx/sites-available
107+
server_enabled: /usr/local/etc/nginx/sites-enabled
108+
snippets_dir: /usr/local/etc/nginx/snippets
109+
server_use_symlink: true
110+
pid_file: /var/run/nginx.pid

0 commit comments

Comments
 (0)