Geo glossary

  • Tier: Premium, Ultimate
  • Offering: GitLab Self-Managed

We are updating the Geo documentation, user interface and commands to reflect these changes. Not all pages comply with these definitions yet.

These are the defined terms to describe all aspects of Geo. Using a set of clearly defined terms helps us to communicate efficiently and avoids confusion. The language on this page aims to be ubiquitous and as simple as possible.

Main terms

We provide example diagrams and statements to demonstrate correct usage of terms.

TermDefinitionScopeDiscouraged synonyms
NodeAn individual server that runs GitLab either with a specific role or as a whole (for example a Rails application node). In a cloud context this can be a specific machine type.GitLabinstance, server
SiteOne or a collection of nodes running a single GitLab application. A site can be single-node or multi-node.GitLabdeployment, installation instance
Single-node siteA specific configuration of GitLab that uses exactly one node.GitLabsingle-server, single-instance
Multi-node siteA specific configuration of GitLab that uses more than one node.GitLabmulti-server, multi-instance, high availability
Primary siteA GitLab site whose data is being replicated by at least one secondary site. There can only be a single primary site.Geo-specificGeo deployment, Primary node
Secondary siteA GitLab site that is configured to replicate the data of a primary site. There can be one or more secondary sites.Geo-specificGeo deployment, Secondary node
Geo deploymentA collection of two or more GitLab sites with exactly one primary site being replicated by one or more secondary sites.Geo-specific
Reference architectureA specified configuration of GitLab based on Requests per Second or user count, possibly including multiple nodes and multiple sites.GitLab
PromotingChanging the role of a site from secondary to primary.Geo-specific
DemotingChanging the role of a site from primary to secondary.Geo-specific
FailoverThe entire process that shifts users from a primary Site to a secondary site. This includes promoting a secondary, but contains other parts as well. For example, scheduling maintenance.Geo-specific
ReplicationAlso called “synchronization”. The uni-directional process that updates a resource on a secondary site to match the resource on the primary site.Geo-specific
Replication slotThe PostgreSQL replication feature that ensures a persistent connection point with the database, and tracks which WAL segments are still needed by standby servers. It can be helpful to name replication slots to match the geo_node_name of a site, but this is not required.PostgreSQL
VerificationThe process of comparing the data that exist on a primary site to the data replicated to a secondary site. Used to ensure integrity of replicated data.Geo-specific
Unified URLA single external URL used for all Geo sites. Allows requests to be routed to either the primary Geo site or any secondary Geo sites.Geo-specific
Geo proxyingA mechanism where secondary Geo sites transparently forward operations to the primary site, except for certain operations that can be handled locally by the secondary sites.Geo-specific
BlobGeo-related data type which can be replicated to cover various GitLab components.Geo-specificfile

Replicator terms

Geo uses replicators to replicate data of individual GitLab components between primary and secondary sites. They define how the individual data types of these components have to be processed and verified. For example, data of the GitLab container registry has to be handled differently than CI job artifacts. Some components may have more than one replicator which are potentially also named differently. As such, the following table describes the replicator names and to which GitLab component they belong.

The same replicator names are also visible in the Geo section of the Admin area or when using Geo-related console commands.

Geo replicator nameGitLab component name
Ci Secure FilesCI Secure Files
Container RepositoriesContainer registry
Dependency Proxy BlobsDependency Proxy Images
Dependency Proxy ManifestsDependency Proxy Images
Design Management RepositoriesProject designs repository
Group Wiki RepositoriesGroup wiki repository
Job ArtifactsCI job artifacts
Lfs ObjectsLFS objects
Merge Request DiffsExternal merge request diffs
Package FilesPackage registry
Pages DeploymentsPages
Pipeline ArtifactsPipeline artifacts
Project RepositoriesProject repository
Project Wiki RepositoriesProject wiki repository
Snippet RepositoriesPersonal Snippets and Project Snippets
Terraform State VersionsVersioned Terraform State
UploadsUser uploads

Examples

Single-node site

Single-node site
GitLab node

Multi-node site

Multi-node site
Application node
Database node
Gitaly node

Geo deployment - Single-node sites

This Geo deployment has a single-node primary site, a single-node secondary site:

Geo deployment
Primary site, single-node
GitLab node
Secondary site 1, single-node
GitLab node

Geo deployment - Multi-node sites

This Geo deployment has a multi-node primary site, a multi-node secondary site:

Geo deployment
Primary site, multi-node
Application node
Database node
Secondary site 1, multi-node
Application node
Database node

Geo deployment - Mixed sites

This Geo deployment has a multi-node primary site, a multi-node secondary site and another single-node secondary site:

Geo deployment
Primary site, multi-node
Application node
Database node
Gitaly node
Secondary site 1, multi-node
Application node
Database node
Secondary site 2, single-node
Single GitLab node