Я пытаюсь использовать модуль, который добавляет серверную часть AWS Secrets Manager hiera:
https://forge.puppet.com / accenture / hiera_aws_sm
Для этого модуля требуется гем aws-sdk-secretsmanager , который я установил через puppetserver:
$ sudo puppetserver gem install aws-sdk-secretsmanager
Я также вижу этот гем в списке на puppetserver:
$ sudo puppetserver gem list
*** LOCAL GEMS ***
<trimmed>
aws-sdk-schemas (1.6.0)
aws-sdk-secretsmanager (1.40.0, 1.39.0)
aws-sdk-securityhub (1.29.0)
<trimmed>
Сам модуль содержит следующая строка для импорта драгоценного камня:
require 'aws-sdk-secretsmanager'
Когда я пытаюсь запустить тест агента ...
$ sudo puppet agent --test
... когда этот модуль пытается запустить, я получаю следующую ошибку (после комментирования некоторой обфускации обработки ошибок модуль добавил ):
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.LoadError: (LoadError) no such file to load -- aws-sdk-secretsmanager
Я не могу понять, почему экземпляр jruby puppetserver не может загрузить драгоценный камень, так как он появляется в списке и немного упирается в его отладку.
Оказывается, эта проблема возникла из-за того, что каким-то образом было установлено несколько версий aws-sdk-secretsmanager
:
$ sudo puppetserver gem list
*** LOCAL GEMS ***
<trimmed>
aws-sdk-secretsmanager (1.40.0, 1.39.0)
<trimmed>
Выполняется...
$ sudo puppetserver gem uninstall aws-sdk-secretsmanager
... приняв приглашение удалить все установленные версии, а затем запустив...
$ sudo puppetserver gem install aws-sdk-secretsmanager
... решил проблему.