Mamy dwa różne środowiska, dev i produkcję, zarządzane przez pojedynczy serwer Salt. coś takiego:Jak uniknąć powtórzenia się w stanach solnych?
base:
'dev-*':
- users-dev
'prod-*':
- users-prod
user-dev
i users-prod
stany są niemal tak samo, jak ten:
{% for user, data in pillar['users-dev'].items() %}
{{ user }}-user:
user.present:
<...something...>
{{ user }}_ssh_auth:
ssh_auth.present:
<...something...>
{% endfor %}
Nie chcieliśmy powielać kodu więc nasz początkowy pomysł żeby zrobić coś takiego :
{% users = pillar['users'].items() %}
include:
- users-common
a następnie odwołać się do users
w users-common
, ale to nie działa bec Prawidłowa składnia Jinji to set users = pillar['users'].items()
i nie była przeznaczona do pracy w różnych stanach solnych.
Pytanie brzmi, jak to zrobić właściwie?