Skip to content

Geo: Proxy Git fetch/clone over SSH via Gitlab Shell

Release notes

Problem to solve

Move proxying of Git clone and fetch operations over SSH from secondary Geo sites to primary currently handle via rails to Gitlab shell.

The current proxying implementation suffers from some shortcomings where we see certain git options fails. e.g #391980

We have changed the proxying of git push workflow to go via the Gitlab shell. It will be beneficial for both the push and pull workflows to be consolidated and work via Gitlab shell.

While it may be possible to fix shortcomings of the pull/fetch/clone operations in the current implementation it would be better to have a single proxying workflow via Gitlab shell and have one place where fixes need to be applied in the future.

Intended users

User experience goal

No change to existing developer experience. Git fetch/pull/clone requests are transparently proxied from the secondary Geo site to the primary when needed.

Proposal

Move git fetch/pull/clone proxying workflow to the Gitlab shell to follow a similar workflow to proxied git push operations.

Permissions and Security

Permissions and security should mirror existing scope.

Documentation

Update developer documentation to related to Geo proxying https://docs.gitlab.com/ee/development/geo/proxying.html

Availability & Testing

Testing should cover all git fetch/pull/operations and options such as --depth, --deepen, --sparse etc.. If certain options are found to be unsupported we should document them as limitations.

Available Tier

  • Premium/Silver
  • Ultimate/Gold

Feature Usage Metrics

TBD

What does success look like, and how can we measure that?

We see a seemless transition to the new proxying workflow. In future will see fewer discrepancies between supported git operations and proxied operations.

Is this a cross-stage feature?

No

What is the competitive advantage or differentiation for this feature?

None. This is an enhancement to an existing feature.

Links / references

Edited by Sampath Ranasinghe