SaltStack-Säule umfasst unter demselben Schlüssel

SaltStack-Säule umfasst unter demselben Schlüssel

Ich konnte in der Dokumentation nichts darüber finden, dass mehrere Includes unter demselben Schlüssel vorhanden sind, aber als ich es probierte, landete ich nur bei den letzten Include-Schlüsseln unter dem Root-Schlüssel.

Zum Beispiel:

/srv/pillar/top.sls

base:
  '*':
    - ports

Katze /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

Das Ergebnis salt '*' pillar.itemsohne weitere Schlüssel sieht folgendermaßen aus:

ports:
    ----------
    service1:
        10000
    service2:
        10001

Das gewünschte Ergebnis würde wie folgt aussehen:

ports:
    web1:
        8000
    web2:
        8001
    service1:
        10000
    service2:
        10001

Antwort1

Hier ist das Schema, das ich gefunden habe und das für mich funktioniert.

Es läuft darauf hinaus, eine Zwischendatei K zu haben, die alle Unterdateien S1 ...n enthält . Wenn ich also die Datei K einschließe, gebe ich ihr keyArgument an, wobei alle Unterdateien unter dem angegebenen Schlüssel liegen.

/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

Das Ergebnis ist ein Säulenschlüssel, der portswie folgt aussieht:

ports:
  web1: 8000
  web2: 8001
  service1: 10000
  service2: 10001

AKTUALISIEREN

Ich habe unangemessene Doppelpunkte wie von Marco vorgeschlagen korrigiert.

verwandte Informationen