gitlab-settings is used to configure some settings in GitLab. One of those settings is home_page_url which defines the Redirect to this URL when not logged in.. For a better user experience non-logged-in users are redirected to /explore instead of the login page.
During GitLab failovers this url changes because the hostname changes. This requires additional manual steps to gitlab-settings and the instances.
The sre.gitlab.failover cookbook uses the gitlab-restore.sh script which already updates the home_page_url:
echo "ApplicationSetting.last.update(home_page_url: '${GITLAB_URL}explore')" | /usr/bin/gitlab-rails console && break || sleep 15So this setting should be removed from gitlab-settings and managed entirely by puppet and the cookbook. This also reduces the number of settings files in gitlab-settings, because all production and replica hosts could share the same config file.