同じキーの下に複数のインクルードがあることについてのドキュメントには何も見つかりませんでしたが、試してみると、ルートキーの下に最後のインクルードキーしかありませんでした。
例えば:
/srv/pillar/top.sls
base:
'*':
- ports
cat /srv/pillar/ports/init.sls
include:
- ports.frontend:
key: ports
- ports.backend:
key: ports
/srv/pillar/ports/backend.sls
service1: 10000
service2: 10001
/srv/pillar/ports/frontend.sls
web1: 8000
web2: 8001
結果として salt '*' pillar.items
他のキーがない場合は次のようになります:
ports:
----------
service1:
10000
service2:
10001
望ましい結果は次のようになります。
ports:
web1:
8000
web2:
8001
service1:
10000
service2:
10001
これが私が見つけたスキームです。
つまり、すべてのサブファイルSを含む中間ファイルKを持つことになります。1 ... nしたがって、ファイルKをインクルードするときは、そのkey
引数を指定し、指定されたキーの下にすべてのサブファイルを配置します。
/srv/pillar/ports/backend.sls
service1: 10000
service2: 10001
/srv/pillar/ports/frontend.sls
web1: 8000
web2: 8001
/srv/pillar/ports/all_ports.sls
include:
- ports.frontend
- ports.backend
/srv/pillar/ports/init.sls
include:
- ports.all_ports:
key: ports
/srv/pillar/top.sls
base:
'*':
- ports
これにより、ピラーキーports
は次のようになります。
ports:
web1: 8000
web2: 8001
service1: 10000
service2: 10001
[〜#〜] update [〜#〜]
Marcoの提案に従って、不適切なコロンを修正しました。