Gitlab, restore, 401 Unauthorized

Автор: | 16 марта 2022

Встала задача перенести gitlab на новый сервер. Описаний как делать бекап и как его восстанавливать в сети достаточно. Официальная документация тоже достаточно полная. Но я словил один баг, который не описан. Спешу поделиться. Жаль, если Вы прочтете его и будет уже поздно. Главное сохранять оригинальные файлы конфигурации...

Итак.

Весь процесс сводится к тому, что на новый instance нужно поставить gitlab такой же версии, в какой был сделан бекап. Затем заменить файлы конфигураций на новом instance в папке /etc/gitlab файлами со старого сервера. Затем остановить сервисы gitlab , которые взаимодействуют с базой (puma, sidekiq) и после этого восстановить бекап. Сказано сделано. Однако, по старой привычке я сохранил файлы конфигурации оригинальной чистой установки gitlab на новом сервере, все что было в папке /etc/gitlab

Вроде запустились, все красиво заработало. Зарегистрировали раннеров, проверили пайплайны и сделали пуш. Получили ошибку 401 Unauthorized. Причем пулл сделать дает и авторизация проходит нормально. То есть с пользователями все в порядке. Гугл и несколько статей вывели на интересное решение. Нам нужен файл /etc/gitlab/gitlab-secrets.json , после чистой установки на новую машину, который был сохранен по привычке... Нужно взять из него значение поля gitlab_shell -> secret_token и вставить его вместо такого же значения в файле /etc/gitlab/gitlab-secrets.json , который мы перенесли со старого instance . После этого делаем gitlab-ctl reconfigure и радуемся...

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*