El pilar SaltStack se incluye bajo la misma clave

El pilar SaltStack se incluye bajo la misma clave

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.itemscarecer 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 keyargumento, 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 portscon este aspecto:

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

ACTUALIZAR

Corregí los dos puntos inapropiados según lo sugerido por marco.

información relacionada