Reject HEAD requests to info/refs endpoint

In production, we see high error rates due to clients attempting to use
the dumb Git HTTP protocol with HEAD /foo/bar.git/info/refs
endpoint. This isn't supported and causes Error 500s because Workhorse
doesn't send along its secret because it's not proxying this request.

Closes #54579
152 jobs for sh-reject-info-refs-head-requests in 83 minutes and 14 seconds (queued for 8 seconds)
Status Job ID Name Coverage
  Build
manual #180502158
gitlab-org allowed to fail manual
review-docs-deploy-manual
 
  Prepare
passed #180502162
gitlab-org docker
build-qa-image

00:04:15

passed #180502160
gitlab-org
compile-assets

00:07:31

passed #180502159
gitlab-org
retrieve-tests-metadata

00:00:26

passed #180502161
gitlab-org
setup-test-env

00:05:10

 
  Test
passed #180502332
allowed to fail
code_quality

00:09:43

passed #180502164
danger-review

00:02:09

passed #180502319
gitlab-org
db:check-schema-pg

00:01:56

passed #180502318
gitlab-org
db:migrate:reset-mysql

00:03:31

passed #180502317
gitlab-org
db:migrate:reset-pg

00:03:06

passed #180502326
gitlab-org
db:rollback-mysql

00:03:13

passed #180502324
gitlab-org
db:rollback-pg

00:02:42

passed #180502334
allowed to fail
dependency_scanning

00:04:31

passed #180502314
gitlab-org
docs lint

00:02:20

passed #180502315
gitlab-org
downtime_check

00:01:44

passed #180502316
gitlab-org
ee_compat_check

00:03:03

passed #180502329
docker gitlab-org
gitlab:assets:compile

00:11:35

passed #180502328
gitlab-org
gitlab:setup-mysql

00:07:39

passed #180502327
gitlab-org
gitlab:setup-pg

00:04:39

passed #180502340
gitlab-org
gitlab_git_test

00:00:28

passed #180502331
gitlab-org
jest

00:10:02

passed #180502330
gitlab-org
karma

00:10:49

58.72%
passed #180502322
gitlab-org
migration:path-mysql

00:12:34

passed #180502320
gitlab-org
migration:path-pg

00:12:06

passed #180502341
gitlab-org
no_ee_check

00:00:32

manual #180502163
allowed to fail manual
package-and-qa
passed #180502338
gitlab-org
qa-frontend-node:10

00:07:26

passed #180502337
gitlab-org
qa-frontend-node:8

00:08:28

passed #180502339
gitlab-org allowed to fail
qa-frontend-node:latest

00:08:21

passed #180502335
gitlab-org
qa:internal

00:03:12

passed #180502336
gitlab-org
qa:selectors

00:02:42

passed #180564086
review-build-cng

00:18:46

failed #180527886
gitlab-org allowed to fail
review-deploy

00:01:39

failed #180525260
docker gitlab-org allowed to fail
review-performance

00:11:31

manual #180502345
gitlab-org docker allowed to fail manual
review-qa-all
failed #180512127
docker gitlab-org allowed to fail
review-qa-smoke

00:24:27

manual #180502350
gitlab-org allowed to fail manual
review-stop
passed #180502245
gitlab-org
rspec-mysql 1/50

00:12:32

passed #180502259
gitlab-org
rspec-mysql 10/50

00:20:03

passed #180502260
gitlab-org
rspec-mysql 11/50

00:19:16

passed #180502261
gitlab-org
rspec-mysql 12/50

00:18:12

passed #180502263
gitlab-org
rspec-mysql 13/50

00:18:47

passed #180502264
gitlab-org
rspec-mysql 14/50

00:16:25

passed #180502266
gitlab-org
rspec-mysql 15/50

00:13:57

passed #180502267
gitlab-org
rspec-mysql 16/50

00:16:34

passed #180502269
gitlab-org
rspec-mysql 17/50

00:14:03

passed #180502270
gitlab-org
rspec-mysql 18/50

00:17:56

passed #180502271
gitlab-org
rspec-mysql 19/50

00:21:21

passed #180502247
gitlab-org
rspec-mysql 2/50

00:14:00

passed #180502272
gitlab-org
rspec-mysql 20/50

00:16:17

passed #180502273
gitlab-org
rspec-mysql 21/50

00:21:06

passed #180502274
gitlab-org
rspec-mysql 22/50

00:16:11

passed #180502275
gitlab-org
rspec-mysql 23/50

00:26:03

passed #180502276
gitlab-org
rspec-mysql 24/50

00:17:01

passed #180502277
gitlab-org
rspec-mysql 25/50

00:16:40

passed #180502278
gitlab-org
rspec-mysql 26/50

00:17:46

passed #180502279
gitlab-org
rspec-mysql 27/50

00:18:20

passed #180502280
gitlab-org
rspec-mysql 28/50

00:17:42

passed #180502281
gitlab-org
rspec-mysql 29/50

00:21:09

passed #180502248
gitlab-org
rspec-mysql 3/50

00:19:18

passed #180502283
gitlab-org
rspec-mysql 30/50

00:15:52

passed #180502284
gitlab-org
rspec-mysql 31/50

00:18:10

passed #180502285
gitlab-org
rspec-mysql 32/50

00:15:25

passed #180502286
gitlab-org
rspec-mysql 33/50

00:19:04

passed #180502287
gitlab-org
rspec-mysql 34/50

00:23:02

passed #180502288
gitlab-org
rspec-mysql 35/50

00:16:05

passed #180502289
gitlab-org
rspec-mysql 36/50

00:16:43

passed #180502290
gitlab-org
rspec-mysql 37/50

00:18:55

passed #180502292
gitlab-org
rspec-mysql 38/50

00:16:55

passed #180502293
gitlab-org
rspec-mysql 39/50

00:17:13

passed #180502250
gitlab-org
rspec-mysql 4/50

00:26:19

passed #180502295
gitlab-org
rspec-mysql 40/50

00:16:14

passed #180502297
gitlab-org
rspec-mysql 41/50

00:21:07

passed #180502298
gitlab-org
rspec-mysql 42/50

00:19:10

passed #180502299
gitlab-org
rspec-mysql 43/50

00:18:34

passed #180502300
gitlab-org
rspec-mysql 44/50

00:18:43

passed #180502301
gitlab-org
rspec-mysql 45/50

00:17:03

passed #180502302
gitlab-org
rspec-mysql 46/50

00:19:54

passed #180502304
gitlab-org
rspec-mysql 47/50

00:13:38

passed #180502307
gitlab-org
rspec-mysql 48/50

00:17:36

passed #180502308
gitlab-org
rspec-mysql 49/50

00:17:46

passed #180502253
gitlab-org
rspec-mysql 5/50

00:16:55

passed #180502309
gitlab-org
rspec-mysql 50/50

00:16:17

passed #180502254
gitlab-org
rspec-mysql 6/50

00:18:44

passed #180502255
gitlab-org
rspec-mysql 7/50

00:15:12

passed #180502257
gitlab-org
rspec-mysql 8/50

00:15:20

passed #180502258
gitlab-org
rspec-mysql 9/50

00:19:07

failed #180502311
gitlab-org allowed to fail
rspec-mysql-quarantine

00:20:33

passed #180502165
gitlab-org
rspec-pg 1/50

00:12:39

passed #180502175
gitlab-org
rspec-pg 10/50

00:22:54

passed #180502176
gitlab-org
rspec-pg 11/50

00:20:20

passed #180502177
gitlab-org
rspec-pg 12/50

00:14:57

passed #180502178
gitlab-org
rspec-pg 13/50

00:19:52

passed #180502179
gitlab-org
rspec-pg 14/50

00:13:30

passed #180502180
gitlab-org
rspec-pg 15/50

00:14:37

passed #180502183
gitlab-org
rspec-pg 16/50

00:16:32

passed #180502185
gitlab-org
rspec-pg 17/50

00:14:41

passed #180502186
gitlab-org
rspec-pg 18/50

00:19:41

passed #180502188
gitlab-org
rspec-pg 19/50

00:14:21

passed #180502166
gitlab-org
rspec-pg 2/50

00:13:33

passed #180502190
gitlab-org
rspec-pg 20/50

00:16:29

passed #180502192
gitlab-org
rspec-pg 21/50

00:19:18

passed #180502195
gitlab-org
rspec-pg 22/50

00:16:51

passed #180502197
gitlab-org
rspec-pg 23/50

00:22:23

passed #180502200
gitlab-org
rspec-pg 24/50

00:17:08

passed #180502203
gitlab-org
rspec-pg 25/50

00:13:44

passed #180502206
gitlab-org
rspec-pg 26/50

00:16:30

passed #180502208
gitlab-org
rspec-pg 27/50

00:22:44

passed #180502211
gitlab-org
rspec-pg 28/50

00:18:04

passed #180502215
gitlab-org
rspec-pg 29/50

00:15:45

passed #180502167
gitlab-org
rspec-pg 3/50

00:15:52

passed #180502218
gitlab-org
rspec-pg 30/50

00:16:09

passed #180502220
gitlab-org
rspec-pg 31/50

00:15:34

passed #180502222
gitlab-org
rspec-pg 32/50

00:20:11

passed #180502225
gitlab-org
rspec-pg 33/50

00:21:11

passed #180502226
gitlab-org
rspec-pg 34/50

00:16:51

passed #180502227
gitlab-org
rspec-pg 35/50

00:16:22

passed #180502228
gitlab-org
rspec-pg 36/50

00:15:27

passed #180502229
gitlab-org
rspec-pg 37/50

00:18:06

passed #180502230
gitlab-org
rspec-pg 38/50

00:19:21

passed #180502231
gitlab-org
rspec-pg 39/50

00:16:11

passed #180502168
gitlab-org
rspec-pg 4/50

00:20:15

passed #180502232
gitlab-org
rspec-pg 40/50

00:17:44

passed #180502233
gitlab-org
rspec-pg 41/50

00:20:18

passed #180502235
gitlab-org
rspec-pg 42/50

00:18:25

passed #180502236
gitlab-org
rspec-pg 43/50

00:17:47

passed #180502237
gitlab-org
rspec-pg 44/50

00:18:51

passed #180502238
gitlab-org
rspec-pg 45/50

00:20:00

passed #180502239
gitlab-org
rspec-pg 46/50

00:19:13

passed #180502240
gitlab-org
rspec-pg 47/50

00:12:51

passed #180502241
gitlab-org
rspec-pg 48/50

00:16:34

passed #180502242
gitlab-org
rspec-pg 49/50

00:20:48

passed #180502169
gitlab-org
rspec-pg 5/50

00:16:09

passed #180502243
gitlab-org
rspec-pg 50/50

00:16:11

passed #180502170
gitlab-org
rspec-pg 6/50

00:22:00

passed #180502171
gitlab-org
rspec-pg 7/50

00:14:01

passed #180502172
gitlab-org
rspec-pg 8/50

00:15:17

passed #180502173
gitlab-org
rspec-pg 9/50

00:17:18

failed #180502310
gitlab-org allowed to fail
rspec-pg-quarantine

00:11:37

failed #180518473
allowed to fail
sast

00:24:58

passed #180502312
gitlab-org
static-analysis

00:16:21

failed #180502342
review-build-cng

00:22:17

failed #180502343
gitlab-org allowed to fail
review-deploy

00:34:00

failed #180522816
gitlab-org allowed to fail
review-deploy

00:11:48

failed #180502347
gitlab-org docker allowed to fail
review-performance

00:39:51

failed #180502344
gitlab-org docker allowed to fail
review-qa-smoke

00:11:54

failed #180502333
allowed to fail
sast

00:24:54

 
  Post Test
passed #180502355
gitlab-org
coverage

00:05:11

95.23%
passed #180502353
gitlab-org allowed to fail
flaky-examples-check

00:01:59

passed #180502358
gitlab-org
jsdoc

00:01:39

passed #180502357
gitlab-org
lint:javascript:report

00:00:39

 
  Post Cleanup
manual #180502360
gitlab-org allowed to fail manual
review-docs-cleanup
 
Name Stage Failure
failed
rspec-pg-quarantine Test
knapsack/: found 3 matching files                  
rspec_flaky/: found 2 matching files

rspec_profiling/: found 1 matching files

tmp/capybara/: found 9 matching files

Uploading artifacts to coordinator... ok
id=180502310 responseStatus=201 Created token=9s6VSsm3
Uploading artifacts...
WARNING: junit_rspec.xml: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1
failed
rspec-mysql-quarantine Test
knapsack/: found 3 matching files                  
rspec_flaky/: found 2 matching files

rspec_profiling/: found 1 matching files

tmp/capybara/: found 21 matching files

Uploading artifacts to coordinator... ok
id=180502311 responseStatus=201 Created token=-85GDLtr
Uploading artifacts...
WARNING: junit_rspec.xml: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1
failed
review-qa-smoke Test
  /home/qa/qa/scenario/bootable.rb:14:in `launch!'
bin/qa:7:in `<top (required)>'
Running after script...
$ date
Tue Mar 19 19:09:43 UTC 2019
Uploading artifacts...
./qa/gitlab-qa-run-*: found 2 matching files
Uploading artifacts to coordinator... ok
id=180512127 responseStatus=201 Created token=ULhLtcxV
ERROR: Job failed: exit code 1
failed
review-deploy Test
Error: release review-sh-reject-y26sim failed: object is being deleted: persistentvolumeclaims "review-sh-reject-y26sim-postgresql" already exists

real 0m46.281s
user 0m11.217s
sys 0m0.942s
Running after script...
$ date
Tue Mar 19 19:19:44 UTC 2019
ERROR: Job failed: exit code 1
failed
sast Test
2019/03/19 19:21:46 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
2019/03/19 19:21:46 Timeout when running the analyzer
Running after script...
$ date
Tue Mar 19 19:21:48 UTC 2019
Uploading artifacts...
WARNING: gl-sast-report.json: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1
failed
review-performance Test
[2019-03-19 19:23:37] INFO: HTML stored in /sitespeed.io/sitespeed-results
[2019-03-19 19:23:37] INFO: Finished analysing https://gitlab-review-sh-reject-y26sim.ce.gitlab-review.app
Running after script...
$ date
Tue Mar 19 19:23:38 UTC 2019
Uploading artifacts...
WARNING: performance.json: no matching files
ERROR: No files to upload
ERROR: Job failed: exit code 1