У меня есть jar-файл, развернутый в реестре пакетов GitLab, который я пытаюсь добавить в свое приложение Spark. Однако он просто не может авторизоваться в реестре, защищенном паролем.
Я пробовал установить spark.jars.packages и spark.jars.repositories, но даже с жестко запрограммированным токеном он не может авторизоваться правильно. Хотя URL-адрес, который он пытался использовать для получения pom/jar, работает нормально, если его скопировать и использовать непосредственно с помощью Curl.
В поисках решения я наткнулся на этот пост в блоге: https://xebia.com/blog/spark-packages-from-a-password-protected-repository/.
Придумал следующие настройки Ivy:
<ivysettings>
<settings defaultResolver = "default" />
<credentials
host = "private.git.domain.com"
username = "read_only"
passwd = "<TOKEN>"/>
<resolvers>
<ibiblio name = "maven2" m2compatible = "true" />
<ibiblio name = "gitlab" m2compatible = "true"
root = "https://private.git.domain.com/api/v4/projects/<ID>/packages/maven" />
<chain name = "default">
<resolver ref = "maven2" />
<resolver ref = "gitlab" />
</chain>
</resolvers>
</ivysettings>
Но я все равно получаю HTTP response status: 401CLIENT ERROR: Unauthorized, так как кажется, что он не может правильно добавить учетные данные. Область автоматически устанавливается на GitLab Packages Registry.
Удалось ли кому-нибудь этого добиться?





После нескольких других проб и ошибок все заработало с этой настройкой:
<ivysettings>
<settings defaultResolver = "default" />
<credentials
host = "private.git.domain.com"
realm = "GitLab Packages Registry"
username = "read_only"
passwd = "<TOKEN>"/>
<resolvers>
<ibiblio name = "maven2" m2compatible = "true" />
<ibiblio name = "gitlab" m2compatible = "true"
root = "https://private.git.domain.com/api/v4/projects/<ID>/packages/maven" />
<chain name = "default">
<resolver ref = "maven2" />
<resolver ref = "gitlab" />
</chain>
</resolvers>
</ivysettings>
Проблема заключалась в том, что хотя область была установлена автоматически, она также использовалась для получения учетных данных. Таким образом, если область отсутствует в блоке учетных данных, она не может соответствовать хосту (при этом область добавляется автоматически).