Merge pull request #4 from kennydo/use_map

Better Configuration and State Modularity
This commit is contained in:
Erik Johnson 2014-01-06 17:44:13 -08:00
commit 531a68c4b9
5 changed files with 55 additions and 24 deletions

View File

@ -1,7 +1,12 @@
openssh openssh
======= =======
Install and configure an openssh server.
openssh States
------- ------
``openssh``
Install openssh and set up the daemon, install a useful banner as well Installs the ``openssh`` package and service.
``openssh.config``
Installs the configuration file included in this formula (under "openssh/files").
``openssh.banner``
Installs a banner that users see when SSH-ing in.

10
openssh/banner.sls Normal file
View File

@ -0,0 +1,10 @@
{% from "openssh/map.jinja" import openssh with context %}
include:
- openssh
sshd_banner:
file.managed:
- name: {{ openssh.banner }}
- source: {{ openssh.banner_src }}
- template: jinja

12
openssh/config.sls Normal file
View File

@ -0,0 +1,12 @@
{% from "openssh/map.jinja" import openssh with context %}
include:
- openssh
sshd_config:
file.managed:
- name: {{ openssh.sshd_config }}
- source: {{ openssh.sshd_config_src }}
- watch_in:
- service: {{ openssh.service }}

View File

@ -1,25 +1,11 @@
{% from "openssh/map.jinja" import openssh with context %}
openssh: openssh:
pkg: pkg.installed:
- installed - name: {{ openssh.server }}
{% if grains['os_family'] == 'Debian' %}
- name: openssh-server
{% endif %}
service.running: service.running:
- enable: True - enable: True
- name: ssh - name: {{ openssh.service }}
- require: - require:
- pkg: openssh - pkg: {{ openssh.server }}
- file: sshd_banner
- watch:
- file: sshd_config
sshd_config:
file.managed:
- name: /etc/ssh/sshd_config
- source: salt://openssh/files/sshd_config
sshd_banner:
file.managed:
- name: /etc/ssh/banner
- source: salt://openssh/files/banner
- template: jinja

18
openssh/map.jinja Normal file
View File

@ -0,0 +1,18 @@
{% set openssh = salt['grains.filter_by']({
'Debian': {
'server': 'openssh-server',
'service': 'ssh',
'sshd_config': '/etc/ssh/sshd_config',
'sshd_config_src': 'salt://openssh/files/sshd_config',
'banner': '/etc/ssh/banner',
'banner_src': 'salt://openssh/files/banner',
},
'RedHat': {
'server': 'openssh-server',
'service': 'sshd',
'sshd_config': '/etc/ssh/sshd_config',
'sshd_config_src': 'salt://openssh/files/sshd_config',
'banner': '/etc/ssh/banner',
'banner_src': 'salt://openssh/files/banner',
},
}, merge=salt['pillar.get']('openssh:lookup')) %}