Error 500 on /admin/push_rule on Geo secondary

Summary

ActiveRecord::StatementInvalid (PG::ReadOnlySqlTransaction: ERROR:  cannot execute INSERT in a read-only transaction
: INSERT INTO "push_rules" ("is_sample", "created_at", "updated_at") VALUES ('t', '2017-11-21 11:57:33.661484', '2017-11-21 11:57:33.661484') RETURNING "id"):
  config/initializers/active_record_locking.rb:12:in `_create_record'
  lib/gitlab/i18n.rb:47:in `with_locale'
  lib/gitlab/i18n.rb:53:in `with_user_locale'
  app/controllers/application_controller.rb:331:in `set_locale'
  lib/gitlab/middleware/multipart.rb:93:in `call'
  lib/gitlab/request_profiler/middleware.rb:14:in `call'
  lib/gitlab/jira/middleware.rb:15:in `call'
  lib/gitlab/middleware/go.rb:18:in `call'
  lib/gitlab/etag_caching/middleware.rb:11:in `call'
  lib/gitlab/middleware/read_only.rb:31:in `call'
  lib/gitlab/request_context.rb:18:in `call'
  lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'

Steps to reproduce

Visit /admin/push_rule on Geo secondary.

What is the current bug behavior?

Error 500.

What is the expected correct behavior?

Shows "Push Rules".