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

Как передать несколько массивов в ресурс команды exec в марионетке?

Я хочу развернуть сертификаты в хранилище ключей по умолчанию с помощью марионетки

У меня есть два файла root.crt и intermediateca.crt, которыми управляет марионетка

$alias=[rootca, intermediateca]
  $filecert= ["/var/lib/certs/rootca", "/var/lib/certs/intermediateca.crt"]


'/var/lib/certs/root.crt':
      source => "puppet:///modules/${module_name}/sonarqube/${::env}/var/lib/certs/root.crt",
      mode   => '0644',
      notify => Exec['install_cert'];

    '/var/lib/certs/intermediateca.crt':
      source => "puppet:///modules/${module_name}/sonarqube/${::env}/var/lib/certs/intermediateca.crt",
      mode   => '0644',
      notify => Exec['install_cert'];

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

 exec {
    'install_cert':
      path => "/usr/bin",
      command => "keytool -importcert   -keystore ${keystore} -storepass ${storepass} -noprompt -trustcacerts",
      provider => linux,
      subscribe => File['/var/lib/certs/'],
      refreshonly => true;
  }

Я не уверен, правильно ли это выше или нет. Может кто поможет?