Reintroduce `Runtime` class (with amendments)
What does this MR do?
Follow up from https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/8729
This is a revert of !21882 (merged), which was a revert of !20294 (merged).
The original changes have been largely restored, however, with the following amendments:
-
revert to runtime check logic that was applied prior to !20294 (merged) (but keep API intact) -
when multiple or unknown
runtimes are detected in the initializer, track an error into Sentry -
rename app_server?
toweb_server?
(this seems to be the more commonly adopted term) -
detect rspec
as a runtime? -
detect rails runner
as a runtime?
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines - [-] Merge request performance guidelines
-
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
The original MR shipped with issues when running in an omnibus deployment.
How can we make sure this doesn't happen again?
Edited by 🤖 GitLab Bot 🤖