Ошибка при удалении репозитория в GitLab
Если решите как-то реализовать написанное, то все действия вы производите на свой страх и риск!
Недавно в GitLab столкнулся с ошибкой при удалении репозитория:
This project was scheduled for deletion, but failed with the following message: Failed to open TCP connection to 127.0.0.1:5000 (execution expired)
The project visibility may have been made more restrictive if the parent group’s visibility changed while the deletion was scheduled.
Поиски по инету привели к следующему решению. В файле /etc/gitlab/gitlab.rb надо изменить конфиг
gitlab_rails['registry_api_url'] = "http://127.0.0.1:5000"
gitlab_rails['registry_key_path'] = "/var/opt/gitlab/gitlab-rails/certificate.key"
gitlab_rails['registry_issuer'] = "omnibus-gitlab-issuer"
### Settings used by Registry application
registry['enable'] = true
registry['username'] = "registry"
registry['group'] = "registry"
registry['uid'] = nil
registry['gid'] = nil
registry['dir'] = "/var/opt/gitlab/registry"
registry['registry_http_addr'] = "localhost:5000"
registry['debug_addr'] = "localhost:5001"
registry['log_directory'] = "/var/log/gitlab/registry"
registry['env_directory'] = "/opt/gitlab/etc/registry/env"
registry['env'] = {
'SSL_CERT_DIR' => "/opt/gitlab/embedded/ssl/certs/"
}
registry['log_level'] = "info"
registry['log_formatter'] = "text"
#registry['rootcertbundle'] = "/var/opt/gitlab/registry/certificate.crt"
registry['rootcertbundle'] = "/var/opt/gitlab/registry/gitlab-registry.crt"
registry['health_storagedriver_enabled'] = true
registry['storage_delete_enabled'] = true
registry_external_url 'https://registry.gitlab.example.com'
registry_nginx['enable'] = true
registry_nginx['listen_port'] = 4567
После внесения изменений переконфигурируем gitlab и перезапускаем
gitlab-ctl reconfigure gitlab-ctl restart
Также надо добавить правило в IPTables (если его нет и весь лишний трафик блокируется) или туда, где задаются правила
iptables -I INPUT -s 127.0.0.1/32 -j ACCEPT
Или разрешить конкретный порт можно по такому принципу, если нужно более строгое правило. Главное чтобы localhost мог работать запросами внутри сервера.
Категории: Записи по DevOps