Разбор json в файле Pupp.pp?

Некоторое время я использовал Puppet для поддержки нескольких веток с R10K.

Я обнаружил, что у меня слишком много веток:

-product1-alpha
-product1-beta
-product1-stable
-product2-alpha
...

В настоящее время каждый продукт имеет версии пакета, указанные для каждой ветви:

$specific_packages = [
  'packageA=1.0.1',
  'packageB=1.5.6',
  'packageC=1.8.5',
]

package {
  $specific_packages: ensure => installed,
}

Я пытаюсь переписать нашу настройку, чтобы у нас были только ветки:

-product1
-product2
...

Затем загрузите пакеты на основе нового факта $facts['update_group'],

В /etc/puppetlabs/code/files/packages/ на сервере кукол я добавил (alpha.json, beta.json, ...) файлы в этом формате:

{
  "packageA": "1.0.1",
  "packageB": "1.5.6",
  "packageC": "1.8.5"
}

Как я могу сделать запрос JSON в моем pp файл так, чтобы каждый:

$specific_packages = [
  'packageA',
  'packageB',
  'packageC',
]

Смотрит puppet:///files/packages/($update_group).json и добавляет =version перед запуском:

package {
  $specific_packages: ensure => installed,
}

Таким образом, я могу указать разные пакеты для разных продуктов, но все они будут взяты из нескольких глобальных списков версий пакетов.

0 ответов

Другие вопросы по тегам