After you set up the database replication and configure the Geo nodes, use your closest GitLab site as you would do with the primary one.
You can push directly to a secondary site (for both HTTP, SSH including Git LFS), and the request will be proxied to the primary site instead (introduced in GitLab 11.3).
Example of the output you will see when pushing to a secondary site:
$ git push remote: remote: This request to a Geo secondary node will be forwarded to the remote: Geo primary node: remote: remote: ssh://email@example.com/user/repo.git remote: Everything up-to-date
user:password@URL. Instead, you can use a
.netrcfile for Unix-like operating systems or
_netrcfor Windows. In that case, the credentials will be stored as a plain text. If you’re looking for a more secure way to store credentials, you can use Git Credential Storage.
Go modules can be pulled from secondary sites, with a number of limitations:
- Git configuration (using
insteadOf) is needed to fetch data from the Geo secondary site.
- For private projects, authentication details need to be specified in
Read more in the
working with projects
go get documentation.