
同じキーの下に複数の include があることについてはドキュメントで何も見つけられませんでしたが、試してみると、ルート キーの下に最後の include キーだけが含まれるようになりました。
例えば:
/srv/pillar/top.sls
base:
'*':
- ports
/srv/pillar/ports/init.sls を cat します。
include:
- ports.frontend:
key: ports
- ports.backend:
key: ports
/srv/pillar/ports/backend.sls
service1: 10000
service2: 10001
/srv/pillar/ports/フロントエンド.sls
web1: 8000
web2: 8001
salt '*' pillar.items
他のキーがない場合の結果は次のようになります。
ports:
----------
service1:
10000
service2:
10001
望ましい結果は次のようになります。
ports:
web1:
8000
web2:
8001
service1:
10000
service2:
10001
答え1
これが私にとってうまくいく方法を見つけました。
結局、すべてのサブファイル S 1...nを含む中間ファイル K が必要になります。そのため、ファイル K を含めるときは、そのkey
引数を指定して、指定されたキーの下にあるすべてのサブファイルを含めます。
/srv/pillar/ports/backend.sls
service1: 10000
service2: 10001
/srv/pillar/ports/フロントエンド.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
アップデート
marco の提案に従って不適切なコロンを修正しました。