rack-timeout should be moved out of puma group
Summary
rack-timeout gem is under puma group in Gemfile, https://gitlab.com/gitlab-org/gitlab/-/blob/0d2bff46a6bfaef4bc7c759251a6911bd9164b9e/Gemfile#L175
but https://gitlab.com/gitlab-org/gitlab/-/blob/0d2bff46a6bfaef4bc7c759251a6911bd9164b9e/lib/api/api.rb#L106 uses it even when we are using unicorn. So it should be moved out of puma group.
Steps to reproduce
If you remove the puma group from Gemfile, Gemfile.lock will not have rack-timeout and rake db:migrate fail with error
NameError: uninitialized constant Rack::Timeout
/usr/share/gitlab/lib/api/api.rb:106:in `<class:API>'
/usr/share/gitlab/lib/api/api.rb:4:in `<module:API>'
/usr/share/gitlab/lib/api/api.rb:3:in `<top (required)>'
/usr/share/rubygems-integration/all/gems/activesupport-6.0.3.1/lib/active_support/dependencies/interlock.rb:14:in `block in loading'
/usr/share/rubygems-integration/all/gems/activesupport-6.0.3.1/lib/active_support/concurrency/share_lock.rb:151:in `exclusive'
/usr/share/rubygems-integration/all/gems/activesupport-6.0.3.1/lib/active_support/dependencies/interlock.rb:13:in `loading'
Example Project
(If possible, please create an example project here on GitLab.com that exhibits the problematic behavior, and link to it here in the bug report)
(If you are using an older version of GitLab, this will also determine whether the bug is fixed in a more recent version)
What is the current bug behavior?
rack-timeout is under puma group in Gemfile
What is the expected correct behavior?
It should be outside puma group.
Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's tough to read otherwise.)
Output of checks
(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)