|
- {% set defaults = {
- 'baseurl': 'https://github.com/saltstack-formulas',
- 'basedir': '/srv/formulas',
- 'update': False,
- 'options': {
- 'branch': 'master',
- },
- }
- %}
- {% set formulas = salt['pillar.get']('salt_formulas:list', {}) %}
-
- {%- macro formulas_git_opt(env, opt) -%}
- {%- set value = salt['pillar.get']('salt_formulas:git_opts:{0}:{1}'.format(env, opt),
- salt['pillar.get']('salt_formulas:git_opts:default:{0}'.format(opt),
- defaults[opt])) -%}
- {{ value|yaml }}
- {%- endmacro -%}
-
- {%- macro formulas_opts_for_git_latest(env) -%}
- {%- set options = defaults['options'] or {} -%}
- {%- do options.update(salt['pillar.get']('salt_formulas:git_opts:default:options') or {}) -%}
- {%- do options.update(salt['pillar.get']('salt_formulas:git_opts:{0}:options'.format(env)) or {}) -%}
- {{ options|yaml }}
- {%- endmacro -%}
-
- {%- macro formulas_roots(env) -%}
- {%- set value = [] -%}
- {%- for formula in formulas.get(env, []) -%}
- {%- set dir = formula | first if formula is mapping else formula %}
- {%- set basedir = formulas_git_opt(env, 'basedir')|load_yaml -%}
- {%- do value.append('{0}/{1}'.format(basedir, dir)) -%}
- {%- endfor -%}
- {{ value|yaml }}
- {%- endmacro -%}
-
- {# Generate file_roots config merging standard salt config and list of
- enabled formulas #}
- {%- macro file_roots(input) -%}
- {%- set processed_envs = [] -%}
- file_roots:
- {%- for name, roots in input|dictsort -%}
- {%- do processed_envs.append(name) %}
- {{ name }}:
- {%- for dir in roots %}
- - {{ dir }}
- {%- endfor -%}
- {%- for dir in formulas_roots(name)|load_yaml %}
- - {{ dir }}
- {%- endfor -%}
- {%- endfor -%}
- {%- for name in formulas -%}
- {%- if name not in processed_envs %}
- {{ name }}:
- {%- for dir in formulas_roots(name)|load_yaml %}
- - {{ dir }}
- {%- endfor -%}
- {%- endif -%}
- {%- endfor -%}
- {%- endmacro -%}
|