SaltStackの柱は同じキーの下に含まれる

SaltStackの柱は同じキーの下に含まれる

同じキーの下に複数の 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 の提案に従って不適切なコロンを修正しました。

関連情報