開発環境と本番環境という 2 つの異なる環境があり、単一の Salt サーバーによって管理されています。このようなもの:
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
ますusers-common
が、適切な Jinja 構文がset users = pillar['users'].items()
あり、Salt 状態が含まれている間で機能することを意図していなかったため、これは機能しませんでした。
それで、問題はそれを適切に行う方法ですか?