gitlab: как сделать импорт данных из очень старого gitlab?

Уважаемые господа,

я оказался в странной и смешной ситуации...

У меня есть админский доступ к очень старому гитлабу. Точнее, к его веб-интерфейсу. имя пользователя - root.

я переношу "контент" на новый гитлаб.

У Гитлаба есть прекрасные средства для этого, начиная с руководства по backup-restore

Задача становится немного более интересной, когда выясняется, что ssh-доступа у меня нет (машинка в облаке, ssh-порт отмаплен, но, видимо, пользователю root запрещена аутентификация через ssh по паролю. наверное, это даже логично, я видел, что иногда так делают)

На самом деле, наcтоящего джедая это не должно останавливать. Через браузер я зайти могу, средства экспорта проектов - работают, так что почти всё хорошо.

Но некотрые вещи я хотел бы сделать автоматом. Например, импорт групп из старого гитлаба.

Для этого на гитлабе делается персональный токен, и я его сделал.

Но! Вторым смешным обстоятельством является то, что все сертификаты на старом гитлабе - самоподписанные, то есть, self-signed. (я сужу об этом по тексту ошибки). Поэтому, когда я на своём "новом" гитлабе пытаюсь выполнить импорт групп со "старого", то я получаю ошибку

    Unable to connect to server: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

Выглядит это примерно так:

gitlab certificate error

И вот теперь вопрос:

что можно сделать в этой совершенно дурацкой ситуации?

я прошерстил весь файл /etc/config/gitlab.rb в поисках какого томеста, где можноотключить проверку сертификатов при импорте. Или вообще отключить проверку ssl сертификатов. я гуглил - в основном попадаются советы насчет export GIT_SSL_NO_VERIFY=1- ну, тоесть, как в git отключить проверку сертификатов. Как её отключить для gitlab - непонятно...

Спасибо заранее за советы!

PS. Для полноты картины я добавил картинку - как браузер ругается на сертификаты:

как браузер ругается на сертификаты

Продолжение.

Уважаемые господа, я очень ценю Ваши советы, и стараюсь сделать всё, что можно. Но, кажется, я всё таки зашел в тупик.

Как пишут в документации, которую посоветовал user7860670, нужно в директорию полодить и сертификат, и ключ:

    To set the location of ssl certificates create 
    /etc/gitlab/ssl directory, place the .crt and .key files 
    in the directory and specify the following configuration

Но, нигде я не нашел инфы о том, как сохранить не только сертификат, но и приватный ключ, находясь просто на странице в браузере, которая показывает ошибку, с этим сертификатом связанную.

Вот на несколько строк выше - ошибка. Вот окно экспорта:

no key

Как видите, при этом не экспортируется ключ. Видимо, ключ находится на машине, на которой установден сертификат, и "не выходит за её пределы". Во всяком случае, во всех местах, которые я смотрел про экспорт ключей - было написано, что нужно это процесс выполнять на той машине, на которой генерировались и устанавливались самоподписанные сертификаты.

Если я где то ошибся - напишите мне об этом? Спасибо!

Продолжение истории.

Сегодня я получил доступ к ssh "старого" гитлаба.

Взял оттуда файл сертификата, файл ключей, перенёс это на новый гитлаб, выдал "правильные" права на файл ключей и внёс изменения в конфигурацию nginx'а на новом гитлабе.

При этом ничего не изменилось.

я проверил, наверное, раз двадцать. За это время я мог руками перенести все группы несколько раз подряд. Но меня уже просто бесит: я не понимаю, что же я делаю не так? Почему, черт побери, при наличии на двух серверах самоподписанных сертификатов, при конфигурировании nginx'а в соотсветствии с документацией - я не могу заставить два гитлаба общаться друг с другом? может, всё таки в сертификате проблема?

Вот конфиг nginx'а на "новом" сервере:

    nginx['redirect_http_to_https'] = true
    nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
    nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"

Вот ошибка, которая появляется у меня в хроме при попытке сделать импорт групп:

    Unable to connect to server: 
    SSL_connect returned=1 errno=0 state=error: 
    certificate verify failed (self signed certificate)

Вот как это выглядит в браузере:

ошибка с сертификатом

Сертификат, выпущенный на сайт ww.example.com, даже после попытки импортировать его в браузер - показывается как не-валидный:

невалидный сертификат

Не могли бы Вы направить меня, все таки, в нужную сторону? с какой стороны подойти к этой проблеме - сертификат новый сделать, как то по другому nginx сконфигурировать? Потому что проблема явно не в одном месте, и, самое главное, я никогда в с таким количеством проблем одновременнно не сталкивался.


Ответы (0 шт):