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

Марионетка 4.10 Regex

Я пытаюсь добавить слой типа к нашему бэкэнду hiera, чтобы веб-серверы могли получить общую конфигурацию, базы данных - общую конфигурацию и т. Д.

Наша схема имени хоста - [env] [номер] .domain.tld

где [env] и [number] необязательны. [env] может быть одним из prod, stage, dev или test. [число] - любая цифра 0–9.

Я пытаюсь извлечь из имени хоста и использовать его в hiera.

Вот что я использую для установки глобального $ hosttype в марионетке: $hosttype = regsubst($fqdn, '(.+?)(?=(dev)|(stg)|(test)|(prod)|(\d)|(\.))', '\1')

Это извлекает fqdn, а не только. Регулярное выражение работает на rubular.com, но puppet 4.10 находится на ruby ​​2.1.x, а rubular - на 2.5.7. Я новичок в марионетке, спасибо за терпение.