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

Как указать переменные по умолчанию для импортированных ролей Ansible Galaxy?

При написании пользовательской роли для сценария Ansible можно указать значения по умолчанию. Я хотел бы сделать то же самое при использовании роли из Ansible Galaxy («менеджер пакетов» Ansible).

Например, при использовании популярных роль Redis, Я бы хотел указать значение по умолчанию redis_version, так что любой, кто импортирует эту роль, получит то же самое.

Без централизации я бы поместил версию redis в раздел переменных в каждом учебнике при использовании роли. Это не идеально. Я могу думать о других способах:

Какая лучшая практика?

Выясните, где определить переменную, и не усложняйте ее. Приоритет переменной: куда мне поместить переменную?

Например, group_vars вместе с playbook. Или из динамического инвентаря. Еще много мест для размещения переменных.

Если вы хотите, чтобы пользователю нужно было импортировать только роль без переменных в их игре или инвентаре, рассмотрите возможность разветвления роли и изменения значения по умолчанию. Теперь вы должны поддерживать это, что является недостатком. Я бы предпочел свои переменные в пьесе, это всего несколько строк.