
No pude encontrar nada en la documentación sobre tener múltiples inclusiones bajo la misma clave, pero cuando lo probé, terminé solo con la última clave de inclusión bajo la clave raíz.
Por ejemplo:
/srv/pillar/top.sls
base:
'*':
- ports
gato /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
El resultado de salt '*' pillar.items
carecer de otras claves se ve así:
ports:
----------
service1:
10000
service2:
10001
El resultado deseado se vería así:
ports:
web1:
8000
web2:
8001
service1:
10000
service2:
10001
Respuesta1
Aquí está el esquema que encontré que funciona para mí.
Todo se reduce a tener un archivo intermediario K que incluye todos los subarchivos S 1...n , por lo que cuando incluyo el archivo K, especifico su key
argumento, teniendo todos los subarchivos bajo la clave especificada.
/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
Esto dará como resultado una clave de pilar ports
con este aspecto:
ports:
web1: 8000
web2: 8001
service1: 10000
service2: 10001
ACTUALIZAR
Corregí los dos puntos inapropiados según lo sugerido por marco.