|
- {%- from "salt/map.jinja" import master,storage with context %}
- {%- if master.enabled %}
-
- {%- if master.pillar.engine == 'salt' %}
-
- include:
- {%- if master.pillar.source.engine == "git" %}
- - git.client
- {%- endif %}
- - salt.master.service
-
- {%- if master.pillar.source.engine == "git" %}
-
- {{ master.pillar.source.address }}:
- git.latest:
- - target: /srv/salt/pillar
- - rev: {{ master.pillar.source.branch }}
- - require:
- - file: /srv/salt/env
- - pkg: git_packages
-
- {%- if master.system is defined %}
-
- /srv/salt/env/{{ master.system.environment }}/top.sls:
- file.symlink:
- - target: /srv/salt/pillar/files_top.sls
- - require:
- - file: /srv/salt/env/{{ master.system.environment }}
-
- {%- endif %}
-
- {%- endif %}
-
- {%- elif master.pillar.engine == 'architect' %}
-
- salt_pillar_architect_package:
- pip.installed:
- - name: architect-client
-
- salt_pillar_architect_package_config_dir:
- file.directory:
- - name: /etc/architect
-
- salt_pillar_architect_package_config_file:
- file.managed:
- - name: /etc/architect/client.yml
- - source: salt://salt/files/architect.yml
- - user: root
- - template: jinja
- - require:
- - file: salt_pillar_architect_package_config_dir
-
- {%- elif master.pillar.engine == 'reclass' %}
-
- include:
- - reclass.storage.data
-
- /srv/salt/reclass/classes/service:
- file.directory:
- - makedirs: true
- - require:
- - file: reclass_data_dir
-
- {%- if master.system is defined %}
-
- {%- for formula_name, formula in master.system.get('formula', {}).iteritems() %}
-
- /srv/salt/reclass/classes/service/{{ formula_name }}:
- file.symlink:
- - makedirs: true
- - target: /srv/salt/env/{{ master.system.environment }}/{{ formula_name }}/metadata/service
- - require:
- - file: /srv/salt/reclass/classes/service
-
- {%- endfor %}
-
- {%- else %}
-
- {%- for environment_name, environment in master.get('environment', {}).iteritems() %}
-
- {%- for formula_name, formula in environment.get('formula', {}).iteritems() %}
-
- {%- if environment_name == master.base_environment %}
-
- /srv/salt/reclass/classes/service/{{ formula_name }}:
- file.symlink:
- - makedirs: true
- {%- if formula.source == 'pkg' %}
- - target: /usr/share/salt-formulas/reclass/service/{{ formula_name }}
- {%- else %}
- - target: /usr/share/salt-formulas/env/_formulas/{{ formula_name }}/metadata/service
- {%- endif %}
- - require:
- - file: /srv/salt/reclass/classes/service
-
- {%- endif %}
-
- {%- endfor %}
-
- {%- endfor %}
-
- {%- endif %}
-
- {%- endif %}
-
- {%- endif %}
|