web-dev-qa-db-ja.com

SaltStackの柱には同じキーの下に含まれています

同じキーの下に複数のインクルードがあることについてのドキュメントには何も見つかりませんでしたが、試してみると、ルートキーの下に最後のインクルードキーしかありませんでした。

例えば:

/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
2
LavaScornedOven

これが私が見つけたスキームです。

つまり、すべてのサブファイル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の提案に従って、不適切なコロンを修正しました。

4
LavaScornedOven