
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.items
ohne 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 key
Argument 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 ports
wie folgt aussieht:
ports:
web1: 8000
web2: 8001
service1: 10000
service2: 10001
AKTUALISIEREN
Ich habe unangemessene Doppelpunkte wie von Marco vorgeschlagen korrigiert.