tree e5314d9e879c3e718b70226279ab77c5354d4e13
parent 06eb1e5e539187f21be2174eb92d2caa6690e1b2
parent 62df1677dba0b0272d89e768680ac038d8edeaac
author Fabio Ponciroli <ponch78@gmail.com> 1680077368 +0200
committer Fabio Ponciroli <ponch78@gmail.com> 1680077393 +0200

Merge branch 'stable-3.6' into stable-3.7

* stable-3.6:
  Set the config files after Gerrit init step
  Make sure project is indexed after creation
  Allow creation of new projects
  Introduce concept of permanent failure
  Document need for Access Database capability
  Do not try to delete inexistent refs
  Make variable used by constructor final
  Stream events listener should respect excluded refs param
  Stream events listener should respect `remote.NAME.projects` param
  Remove unnecessary test
  Add ref deletion functionality to the StreamEventsListener
  Add guard clauses to improve readability
  Use Gerrit 3.5.5 in example setup
  Return empty list when prefix is not matched in suggest
  Add metric to count when ref size is larger that maxApiPayloadSize
  Improve fetch logging by adding replication task id and refs list
  Change the base docker image in the broker topology.
  Update docker http/broker topologies.
  Listen to GitBatchRefUpdateListener for a set of events
  Pull-replication does not require DELETE refs permissions.
  Move Gerrit init and reindexing steps to entrypoint.sh.
  Fix init step for pull-replication.
  Add init step for pull-replication
  Add example using broker notification (Kafka)
  Set correct 3.6 broker version
  Set correct 3.5 broker version
  Give execute permission to entrypoint.sh
  Remove unused env variables
  Expose debug ports in Gerrit
  Do no update Gerrit rpm
  Remove /a from fetch url in replication.config.template
  Add docker-compose to spinup test environment

Updated Dockerfile to latest Gerrit version (3.7.2)

Change-Id: I55b5c3fb31588f963335e6eeda058a24487be415
