Я пытаюсь использовать модуль, который добавляет серверную часть AWS Secrets Manager hiera:
https://forge.puppet.com/accenture/hiera_aws_sm
Этот модуль требует aws-sdk-secretsmanager gem, который я установил через 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
... решил проблему.