Wir haben zwei verschiedene Umgebungen, Entwicklung und Produktion, die von einem einzigen Salt Server verwaltet werden. Etwas wie folgt aus:Wie vermeide ich mich in Salzstaaten zu wiederholen?
base:
'dev-*':
- users-dev
'prod-*':
- users-prod
user-dev
und users-prod
Zustände sind so ziemlich das gleiche, wie folgt aus:
{% for user, data in pillar['users-dev'].items() %}
{{ user }}-user:
user.present:
<...something...>
{{ user }}_ssh_auth:
ssh_auth.present:
<...something...>
{% endfor %}
Wir wollten nicht den Code so unsere ursprüngliche Idee kopieren war, so etwas zu tun :
{% users = pillar['users'].items() %}
include:
- users-common
und dann zu users
in users-common
, Bezug zu nehmen, aber diese bec hat nicht funktioniert ause die richtige Jinja-Syntax war set users = pillar['users'].items()
und das war nicht beabsichtigt, über Salt Staaten zu arbeiten umfasst.
Also, die Frage ist, wie man es richtig macht?