|
1 | | -{## Start with defaults from defaults.yaml ##} |
2 | | -{% import_yaml "openssh/defaults.yaml" as default_settings %} |
3 | | - |
4 | | -{## |
5 | | -Setup variable using grains['os_family'] based logic, only add key:values here |
6 | | -that differ from whats in defaults.yaml |
7 | | -##} |
8 | | -{% set os_family_map = salt['grains.filter_by']({ |
9 | | - 'Arch': { |
10 | | - 'server': 'openssh', |
11 | | - 'client': 'openssh', |
12 | | - 'service': 'sshd', |
13 | | - 'dig_pkg': 'bind-tools', |
14 | | - }, |
15 | | - 'Debian': { |
16 | | - 'server': 'openssh-server', |
17 | | - 'client': 'openssh-client', |
18 | | - 'service': 'ssh', |
19 | | - }, |
20 | | - 'FreeBSD': { |
21 | | - 'service': 'sshd', |
22 | | - 'dig_pkg': 'bind-tools', |
23 | | - 'sshd_config_group': 'wheel', |
24 | | - 'ssh_config_group': 'wheel', |
25 | | - }, |
26 | | - 'OpenBSD': { |
27 | | - 'service': 'sshd', |
28 | | - 'sshd_config_group': 'wheel', |
29 | | - 'ssh_config_group': 'wheel', |
30 | | - }, |
31 | | - 'Gentoo': { |
32 | | - 'server': 'net-misc/openssh', |
33 | | - 'client': 'net-misc/openssh', |
34 | | - 'service': 'sshd', |
35 | | - 'dig_pkg': 'net-dns/bind-tools', |
36 | | - }, |
37 | | - 'RedHat': { |
38 | | - 'server': 'openssh-server', |
39 | | - 'client': 'openssh-clients', |
40 | | - 'service': 'sshd', |
41 | | - 'dig_pkg': 'bind-utils', |
42 | | - }, |
43 | | - 'Suse': { |
44 | | - 'server': 'openssh', |
45 | | - 'client': 'openssh', |
46 | | - 'service': 'sshd', |
47 | | - 'dig_pkg': 'bind-utils', |
48 | | - }, |
49 | | - 'Solaris': { |
50 | | - 'service': 'network/ssh', |
51 | | - 'sshd_config_group': 'root', |
52 | | - 'ssh_config_group': 'root', |
53 | | - 'dig_pkg': 'bind', |
54 | | - 'sshd_binary': '/usr/lib/ssh/sshd', |
55 | | - }, |
56 | | - } |
57 | | - , grain="os_family" |
58 | | - , merge=salt['pillar.get']('openssh:lookup')) |
59 | | -%} |
60 | | - |
61 | | -{## Merge the flavor_map to the default settings ##} |
62 | | -{% do default_settings.openssh.update(os_family_map) %} |
63 | | - |
64 | | -{## Merge in openssh:lookup pillar ##} |
65 | | -{% set openssh = salt['pillar.get']( |
66 | | - 'openssh', |
67 | | - default=default_settings.openssh, |
68 | | - merge=True |
69 | | - ) |
70 | | -%} |
71 | | - |
72 | | -{% set os_family_map = salt['grains.filter_by']({ |
73 | | - 'FreeBSD': { |
74 | | - 'Subsystem': 'sftp /usr/libexec/sftp-server', |
75 | | - }, |
76 | | - 'OpenBSD': { |
77 | | - 'Subsystem': 'sftp /usr/libexec/sftp-server', |
78 | | - }, |
79 | | - 'Suse': { |
80 | | - 'Subsystem': 'sftp /usr/lib/ssh/sftp-server', |
81 | | - }, |
82 | | - 'Arch': { |
83 | | - 'Subsystem': 'sftp /usr/lib/ssh/sftp-server', |
84 | | - }, |
85 | | - 'Debian': { |
86 | | - 'Subsystem': 'sftp /usr/lib/openssh/sftp-server', |
87 | | - }, |
88 | | - 'RedHat': { |
89 | | - 'Subsystem': 'sftp /usr/libexec/openssh/sftp-server', |
90 | | - }, |
91 | | - 'Solaris': { |
92 | | - 'Subsystem': 'sftp internal-sftp', |
93 | | - }, |
94 | | - 'default': {} |
95 | | - } |
96 | | - , grain="os_family" |
97 | | - , merge=salt['pillar.get']('sshd_config:lookup')) |
98 | | -%} |
99 | | - |
100 | | -{% set os_finger_map = salt['grains.filter_by']({ |
101 | | - 'CentOS-6': { |
102 | | - }, |
103 | | - 'default': {} |
104 | | - } |
105 | | - , grain="osfinger" |
106 | | - , merge=salt['pillar.get']('sshd_config:lookup')) |
107 | | -%} |
108 | | - |
109 | | - |
110 | | -{## Merge the flavor_map to the default settings ##} |
111 | | -{% do default_settings.sshd_config.update(os_family_map) %} |
112 | | -{% do default_settings.sshd_config.update(os_finger_map) %} |
113 | | - |
114 | | -{## Merge in sshd_config:lookup pillar ##} |
115 | | -{% set sshd_config = salt['pillar.get']( |
116 | | - 'sshd_config', |
117 | | - default=default_settings.sshd_config, |
118 | | - merge=True |
119 | | - ) |
120 | | -%} |
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +# vim: ft=jinja |
| 3 | + |
| 4 | +{## Start imports as ##} |
| 5 | +{% import_yaml 'openssh/defaults.yaml' as default_settings %} |
| 6 | +{% import_yaml 'openssh/osfamilymap.yaml' as osfamilymap %} |
| 7 | +{% import_yaml 'openssh/osmap.yaml' as osmap %} |
| 8 | +{% import_yaml 'openssh/osfingermap.yaml' as osfingermap %} |
| 9 | + |
| 10 | +{% set defaults = salt['grains.filter_by'](default_settings, |
| 11 | + default='default', |
| 12 | + merge=salt['grains.filter_by'](osfamilymap, grain='os_family', |
| 13 | + merge=salt['grains.filter_by'](osmap, grain='os', |
| 14 | + merge=salt['grains.filter_by'](osfingermap, grain='osfinger') |
| 15 | + ) |
| 16 | + ) |
| 17 | +) %} |
| 18 | + |
| 19 | +{## merge the openssh pillar ##} |
| 20 | +{% set openssh = salt['pillar.get']('openssh', default=defaults['openssh'], merge=True) %} |
| 21 | +{% set ssh_config = salt['pillar.get']('ssh_config', default=defaults['ssh_config'], merge=True) %} |
| 22 | +{% set sshd_config = salt['pillar.get']('sshd_config', default=defaults['sshd_config'], merge=True) %} |
0 commit comments