Commit 86721f6b authored by Ash McKenzie's avatar Ash McKenzie

Geo: Add push to secondary support for EE 11.3.x

parent ef250e65
...@@ -16,7 +16,7 @@ query. ...@@ -16,7 +16,7 @@ query.
## Can I git push to a secondary node? ## Can I git push to a secondary node?
Yes, you can push changes to a **secondary** node. The push will be proxied to the **primary** node. Yes! Pushing directly to a **secondary** node (for both HTTP and SSH, including git-lfs) was [introduced](https://about.gitlab.com/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
## How long does it take to have a commit replicated to a secondary node? ## How long does it take to have a commit replicated to a secondary node?
......
...@@ -62,7 +62,9 @@ Keep in mind that: ...@@ -62,7 +62,9 @@ Keep in mind that:
- Secondary nodes talk to the primary node to: - Secondary nodes talk to the primary node to:
- Get user data for logins (API). - Get user data for logins (API).
- Replicate repositories, LFS Objects, and Attachments (HTTPS + JWT). - Replicate repositories, LFS Objects, and Attachments (HTTPS + JWT).
- Since GitLab Premium 10.0, the primary node no longer talks to secondary nodes to notify for changes (API). - Since GitLab Premium 10.0, the **primary** node no longer talks to **secondary** nodes to notify for changes (API).
- Pushing directly to a **secondary** node (for both HTTP and SSH, including git-lfs) was [introduced](https://about.gitlab.com/2018/09/22/gitlab-11-3-released/) in [GitLab Premium](https://about.gitlab.com/pricing/#self-managed) 11.3.
- There are [limitations](#current-limitations) in the current implementation.
### Architecture ### Architecture
...@@ -221,10 +223,7 @@ For more information on tuning Geo, see [Tuning Geo](tuning.md). ...@@ -221,10 +223,7 @@ For more information on tuning Geo, see [Tuning Geo](tuning.md).
CAUTION: **Caution:** CAUTION: **Caution:**
This list of limitations only reflects the latest version of GitLab. If you are using an older version, extra limitations may be in place. This list of limitations only reflects the latest version of GitLab. If you are using an older version, extra limitations may be in place.
- Pushing code to a secondary node redirects the request to the primary node instead of handling it directly [gitlab-ee#1381](https://gitlab.com/gitlab-org/gitlab-ee/issues/1381): - Pushing directly to a **secondary** node redirects (for HTTP) or proxies (for SSH) the request to the **primary** node instead of [handling it directly](https://gitlab.com/gitlab-org/gitlab-ee/issues/1381), except when using Git over HTTP with credentials embedded within the URI. For example, `https://user:password@secondary.tld`.
- Push via HTTP and SSH supported.
- Git LFS also supported.
- The primary node has to be online for OAuth login to happen. Existing sessions and Git are not affected.
- The installation takes multiple manual steps that together can take about an hour depending on circumstances. We are working on improving this experience. See [gitlab-org/omnibus-gitlab#2978](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2978) for details. - The installation takes multiple manual steps that together can take about an hour depending on circumstances. We are working on improving this experience. See [gitlab-org/omnibus-gitlab#2978](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2978) for details.
- Real-time updates of issues/merge requests (for example, via long polling) doesn't work on the secondary node. - Real-time updates of issues/merge requests (for example, via long polling) doesn't work on the secondary node.
- [Selective synchronization](configuration.md#selective-synchronization) applies only to files and repositories. Other datasets are replicated to the secondary node in full, making it inappropriate for use as an access control mechanism. - [Selective synchronization](configuration.md#selective-synchronization) applies only to files and repositories. Other datasets are replicated to the secondary node in full, making it inappropriate for use as an access control mechanism.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment