Назад | Перейти на главную страницу

Автоматические столбы по имени хоста

У меня проблема с управлением несколькими доменами в одном top.sls файл становится трудным. Как я мог написать top.sls так что он берет только те столбы, которые соответствуют моему имени миньона / имени хоста.

Например:

Текущий pillar/top.sls

base:
    '*':
        - global
    'system.*':
        - system
    'deploy*.*':
        - deploy

    '*.domain1.app':
        - domain1_app
    deploy0.domain1.app:
        - domain1_app.deploy0

Из https://www.reddit.com/r/saltstack/comments/5b4l9v/storing_pillars_specific_to_a_host/ пользователем "dekonnection":

Поместите что-то подобное в свой столб top.sls:

base:
  '*':
  [...stuff that can be shared for multiple hosts defined here...]
  '{{ grains.host }}':
    - ignore_missing: True
    - hosts.{{ grains.host }}

Теперь вы можете написать конкретный <pillar root>/hosts/<hostname>.sls файл для специфичных для хоста настроек для каждого хоста, который в них нуждается, и если хосту не нужно ничего специфического для него, ignore_missing: True позволяет опустить файл.

При необходимости можно сделать то же самое с любыми другими зернами.