Geo: store clone URLs in GeoNode for the GeoLogCursor replication

What does this MR do?

  • Adds a clone URL to the GeoNode table
  • When a new GeoNode is created and marked as primary, it reads current configuration and saves to GeoNode
  • Adds an initializer to update the clone URL if different from the one stored in the primary GeoNode

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

The clone URL can be drastically different from the node's external_url. It can have different host and use non-standard port:

gitlab_rails['gitlab_ssh_host'] = ''
gitlab_rails['gitlab_shell_ssh_port'] = 22

See #2536 (closed) for more information.

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #2536 (closed)

Edited by Gabriel Mazetto

Merge request reports