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
=======
Install and configure an openssh server.
openssh
-------
Install openssh and set up the daemon, install a useful banner as well
States
------
``openssh``
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:
pkg:
- installed
{% if grains['os_family'] == 'Debian' %}
- name: openssh-server
{% endif %}
pkg.installed:
- name: {{ openssh.server }}
service.running:
- enable: True
- name: ssh
- name: {{ openssh.service }}
- require:
- pkg: openssh
- file: sshd_banner
- watch:
- file: sshd_config
- pkg: {{ openssh.server }}
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')) %}