Browse Source

Added support for downloading formulas from multiple baseurls into the same environment.

tags/v0.57.0
Thomas Larsen 8 years ago
parent
commit
d1cbec3fe2
3 changed files with 13 additions and 8 deletions
  1. +7
    -5
      pillar.example
  2. +3
    -1
      salt/formulas.jinja
  3. +3
    -2
      salt/formulas.sls

+ 7
- 5
pillar.example View File

# List of formulas to enable in each environment # List of formulas to enable in each environment
list: list:
base: base:
- salt-formula
- postfix-formula
https://github.com/saltstack-formulas:
- salt-formula
- postfix-formula
dev: dev:
- salt-formula
- postfix-formula
- openssh-formula
https://github.com/saltstack-formulas
- salt-formula
- postfix-formula
- openssh-formula

+ 3
- 1
salt/formulas.jinja View File



{%- macro formulas_roots(env) -%} {%- macro formulas_roots(env) -%}
{%- set value = [] -%} {%- set value = [] -%}
{%- for dir in formulas.get(env, []) -%}
{%- for repo,f_name in formulas.get(env, {}).items() -%}
{%- for dir in f_name -%}
{%- set basedir = formulas_git_opt(env, 'basedir')|load_yaml -%} {%- set basedir = formulas_git_opt(env, 'basedir')|load_yaml -%}
{%- do value.append('{0}/{1}'.format(basedir, dir)) -%} {%- do value.append('{0}/{1}'.format(basedir, dir)) -%}
{%- endfor -%} {%- endfor -%}
{%- endfor -%}
{{ value|yaml }} {{ value|yaml }}
{%- endmacro -%} {%- endmacro -%}



+ 3
- 2
salt/formulas.sls View File

{% from "salt/formulas.jinja" import formulas_git_opt with context %} {% from "salt/formulas.jinja" import formulas_git_opt with context %}


# Loop over all formulas listed in pillar data # Loop over all formulas listed in pillar data
{% for env, entries in salt['pillar.get']('salt_formulas:list', {}).items() %}
{% for env, elements in salt['pillar.get']('salt_formulas:list', {}).items() %}
{% for baseurl, entries in elements.items() %}
{% for entry in entries %} {% for entry in entries %}


{% set basedir = formulas_git_opt(env, 'basedir')|load_yaml %} {% set basedir = formulas_git_opt(env, 'basedir')|load_yaml %}
{% if gitdir not in processed_gitdirs %} {% if gitdir not in processed_gitdirs %}
{% do processed_gitdirs.append(gitdir) %} {% do processed_gitdirs.append(gitdir) %}
{% set options = formulas_git_opt(env, 'options')|load_yaml %} {% set options = formulas_git_opt(env, 'options')|load_yaml %}
{% set baseurl = formulas_git_opt(env, 'baseurl')|load_yaml %}
{{ gitdir }}: {{ gitdir }}:
git.latest: git.latest:
- name: {{ baseurl }}/{{ entry }}.git - name: {{ baseurl }}/{{ entry }}.git


{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
{% endfor %}

Loading…
Cancel
Save