10
우리는 하나의 솔트 서버로 관리되는 dev와 production의 두 가지 환경을 가지고 있습니다. 이 같은 뭔가 :솔트 스테이트에서 반복되는 것을 피하는 방법은 무엇입니까?
base:
'dev-*':
- users-dev
'prod-*':
- users-prod
user-dev
및 users-prod
상태는 다음과 같이 거의 동일합니다
{% for user, data in pillar['users-dev'].items() %}
{{ user }}-user:
user.present:
<...something...>
{{ user }}_ssh_auth:
ssh_auth.present:
<...something...>
{% endfor %}
우리는 코드를 복제하고 싶지 않았다 그래서 우리의 초기 아이디어는 이런 일을 할 수 있었다 : 다음
{% users = pillar['users'].items() %}
include:
- users-common
및
는users-common
에
users
을 참조하는, 그러나 이것은 벡 작동하지 않았다 적절한 Jinja 구문은
set users = pillar['users'].items()
이었고 이것은 Salt states includes에서 작동하도록 의도되지 않았습니다.
그럼 어떻게해야 제대로 할 수 있습니까?