Столб SaltStack включает в себя тот же ключ

Столб 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

решение1

Вот схема, которую я нашел и которая работает для меня.

Все сводится к наличию промежуточного файла K, который включает все подфайлы S 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

ОБНОВЛЯТЬ

Я исправил неуместные двоеточия, как предложил Марко.

Связанный контент