diff --git a/pillar.example b/pillar.example index 614cc7d..8d06db4 100644 --- a/pillar.example +++ b/pillar.example @@ -38,6 +38,10 @@ salt: debug: False disable_ssl: False + api: + # Installs the latest version of cherrpy/tornado from pip. + use_pip: True + # salt minion config: minion: diff --git a/salt/api.sls b/salt/api.sls index 9c1fa13..3314a26 100644 --- a/salt/api.sls +++ b/salt/api.sls @@ -2,12 +2,15 @@ {% from "salt/map.jinja" import salt_settings with context %} -include: - - salt.master - - pip.extensions - {%- set cfg_salt = pillar.get('salt', {}) %} {%- set cfg_master = cfg_salt.get('master', {}) %} +{%- set use_pip = salt['pillar.get']('salt:api:use_pip', False) %} + +include: + - salt.master +{%- if use_pip %} + - pip.extensions +{%- endif %} salt_api_install: pkg.installed: @@ -15,20 +18,31 @@ salt_api_install: service.running: - name: {{ salt_settings.get('api_service', 'salt-api') }} - require: +{%- if use_pip %} {%- if 'rest_cherrypy' in cfg_master %} - pip: salt_api_cherrypy -{% elif 'rest_tornado' in cfg_master %} +{%- elif 'rest_tornado' in cfg_master %} - pip: salt_api_tornado -{% endif %} +{%- endif %} +{%- else %} # if use_pip +{%- if 'rest_cherrypy' in cfg_master %} + - pkg: salt_api_cherrypy +{%- elif 'rest_tornado' in cfg_master %} + - pkg: salt_api_tornado +{%- endif %} +{%- endif %} - watch: - pkg: salt-master - file: salt-master +{%- if use_pip %} {%- if 'rest_cherrypy' in cfg_master %} salt_api_cherrypy: - pkg.purged: - - name: {{ salt_settings['python-cherrypy'] }} - pip.installed: + pkg: + - purged + - name: {{ salt_settings['python_cherrypy'] }} + pip: + - installed - name: cherrypy - require: - pkg: salt_api_cherrypy @@ -37,11 +51,30 @@ salt_api_cherrypy: {%- if 'rest_tornado' in cfg_master %} salt_api_tornado: - pkg.purged: - - name: {{ salt_settings['python-tornado'] }} - pip.installed: + pkg: + - purged + - name: {{ salt_settings['python_tornado'] }} + pip: + - installed - name: tornado - require: - pkg: salt_api_tornado - pkg: pip_extensions {% endif %} + +{%- else %} # if use_pip + +{% if 'rest_cherrypy' in cfg_master %} +salt_api_cherrypy: + pkg: + - installed + - name: {{ salt_settings['python_cherrypy'] }} +{% endif %} + +{% if 'rest_tornado' in cfg_master %} +salt_api_tornado: + pkg: + - installed + - name: {{ salt_settings['python_tornado'] }} +{% endif %} +{%- endif %} diff --git a/salt/defaults.yaml b/salt/defaults.yaml index 2c61f12..4b4562c 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -18,8 +18,8 @@ salt: salt_api: salt-api salt_ssh: salt-ssh - python-cherrypy: python-cherrypy - python-tornado: python-tornado + python_cherrypy: python-cherrypy + python_tornado: python-tornado master: gitfs_provider: gitpython