Artifactory Не удалось найти модуль с марионеткой-библиотекарем

Я пытаюсь использовать librarian-puppet для извлечения модулей из репозитория Artifactory.

В моем Puppetfile у меня есть что-то вроде:

forge "https://<artifactory_host>/artifactory/api/puppet/<repo_key>" #From artifactory docs

# PuppetLabs Modules
mod 'puppetlabs/stdlib',           '4.24.0'

Я использую команду /usr/local/bin/pdk bundle -- exec librarian-puppet install --no-use-v1-api --verbose

Ошибка, которую я получаю:

[Librarian] Resolving puppetlabs-stdlib (= 4.24.0) <https://<artifactory_host>/artifactory/api/puppet/<repo_key>>
[Librarian]   Checking manifests Unable to find module 'puppetlabs-stdlib' on https://<artifactory_host>/artifactory/api/puppet/<repo_key>
/tmp/tmp.BXyhBoNRiR/.pdk/cache/ruby/2.1.0/gems/librarian-puppet-3.0.0/lib/librarian/puppet/source/forge/repo_v3.rb:44:in `rescue in get_module'
/tmp/tmp.BXyhBoNRiR/.pdk/cache/ruby/2.1.0/gems/librarian-puppet-3.0.0/lib/librarian/puppet/source/forge/repo_v3.rb:41:in `get_module'

Версии:

  • марионетка 3.8.7
  • пдк 1.5.0
  • рубин 2.1.9

Согласно документации на https://www.jfrog.com/confluence/display/RTF/Puppet+Repositories#PuppetRepositories-Usinglibrarian-puppet, кажется, я пытаюсь правильно получить модули с помощью librarian-puppet, но чего-то не хватает.

Спасибо за любую помощь.


person Daniel Serrão    schedule 05.07.2018    source источник


Ответы (2)


Я думаю, что Artifacotry не поддерживает Puppet 3.8.7, это задокументировано в Wiki.

Поддержка кукольной версии

Puppet не поддерживает контекстный путь до версии 4.9.1, мы рекомендуем использовать Artifactory с Puppet версии 4.9.2 и выше. Пожалуйста, смотрите ниже, если вы используете Puppet 4.9.1 и ниже.

person Jainish Shah    schedule 05.07.2018
comment
Привет, Джейниш. Спасибо за ответ. В этом случае смена версии марионетки невозможна. Это значит, что использование библиотекаря-марионетки невозможно? Цель состоит в том, чтобы использовать Puppetfile и получить модули из внутреннего репозитория Artifactory. - person Daniel Serrão; 06.07.2018
comment
Вы можете использовать Nginx для перезаписи URL. Как описано в вики. - person Jainish Shah; 06.07.2018

Официальная документация Artifactory (не вики) рекомендует использовать Puppet 4.9. 2 или новее с Artifactory:

Поддержка версии Puppet

Puppet не поддерживает контекстный путь до версии 4.9.1. Мы рекомендуем использовать Artifactory с Puppet версии 4.9.2 и выше. Пожалуйста, смотрите ниже, если вы используете Puppet 4.9.1 и ниже.

(Подчеркнуто в оригинале.)

Однако, как видно из этого комментария, документы также предлагают обходной путь для использования с более ранними версиями Puppet:

Если вам нужно использовать Puppet 4.9.1 и ниже, вы можете использовать обходной путь, который использует NGINX или Apache для перезаписи всех запросов с /v3/* на /artifactory/api/puppet/<repo-name>/v3/*.

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

person John Bollinger    schedule 06.07.2018