Clarify if we really need to migrate `gitlab-shell` `secret_token` when migrating to Omnibus from source
Migration from Source installation to Omnibus currently has a requirement to migrate gitlab-shell
secret_token
from source to Omnibus according to this documentation: https://docs.gitlab.com/omnibus/update/convert_to_omnibus.html
However, after testing it, it doesn't seem like it is required to copy it from source. We can succesfully push/pull on the Omnibus instance even without bringing the secret from source install.
As long as the secret is the same in the following files, the migrated Omnibus installation is working (we can pull/push from/to it):
/etc/gitlab/gitlab-secrets.json
-
/var/opt/gitlab/gitlab-rails/etc/gitlab_shell_secret
(get populated from/etc/gitlab/gitlab-secrets.json
) -
/opt/gitlab/embedded/service/gitlab-rails/.gitlab_shell_secret
(symlink to/var/opt/gitlab/gitlab-rails/etc/gitlab_shell_secret
) - used by Rails application to validate the requests coming from GitLab Shell or Gitaly to the internal API -
/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret
(symlink to/opt/gitlab/embedded/service/gitlab-rails/.gitlab_shell_secret
) - used by GitLab Shell and Gitaly to authenticate with the GitLab internal API
Why do we actually need to migrate the secret from source if everything seems to work with the secret that we already have generated after the first reconfigure?
Is having the same secret accross all these files enough for a migration to be successful?
- Slack discussion: https://gitlab.slack.com/archives/C1FCTU4BE/p1634027943172000 [internal only]
- Customer ticket: https://gitlab.zendesk.com/agent/tickets/241785 [internal]