Enterprise Live Migrations Overview
Learn how ELM enables seamless, near-zero-downtime repository migrations to GHEC DR.
What Changed Operationally
Enterprise Live Migrations (ELM) has transitioned from preview to general availability, fundamentally altering the operational landscape for organizations managing on-premise infrastructure. This capability enables near-zero-downtime repository migrations from GitHub Enterprise Server (GHES) to GitHub Enterprise Cloud with Data Residency (GHEC DR). The operational significance of this shift lies in the elimination of the prolonged service interruptions traditionally associated with repository transfers. Previously, moving a repository from a self-hosted appliance to the cloud required a complete cutover that could span days, halting developer productivity and disrupting workflows. With ELM, the cutover window is compressed to minutes. This is achieved through a continuous synchronization mechanism where data flows from the source GHES appliance to the target GHEC DR environment in real-time. Developers can continue to commit, push, and pull changes throughout the process. When the organization is ready to finalize the migration, the system only requires the time necessary to drain any remaining in-flight changes, ensuring that no work is lost and that the transition is seamless from an operational standpoint.
How The Capability Fits Together
The architecture of Enterprise Live Migrations is designed to handle the most demanding repository environments, specifically massive monorepos that push existing tooling to its limits. ELM runs as a dedicated service directly on the GHES appliance, utilizing the GitHub CLI extension (gh elm) to drive the synchronization process. This design allows the migration engine to ingest deep git history, manage large volumes of issues and pull requests, and sustain constant activity without performance degradation. The service continuously syncs data to the target GHEC DR instance, maintaining a consistent state between the two environments. This architecture supports specific GHES versions starting from 3.17.18+, ensuring compatibility with a broad range of current enterprise deployments. By running natively on the appliance, ELM leverages the existing infrastructure to process data streams efficiently, making it a robust solution for complex migration scenarios where traditional methods would fail.
To manage the lifecycle of these migrations, ELM is paired with the GitHub CLI extension, providing a comprehensive interface for configuration and execution. The gh elm extension allows administrators to install credentials, create migration sessions, and monitor the synchronization status through the GHES REST API. This tooling enables granular control over the migration process, from the initial setup to the final cutover. It is important to clarify that ELM is specifically designed for migrations from GHES to GHEC DR and is not a general-purpose data transfer utility. While it is built to handle repositories of any size, its primary operational use case is the transition of large-scale enterprise repositories to the cloud. ELM complements GitHub Enterprise Importer (GEI), offering flexibility to choose the right tool based on the specific size, shape, and activity level of individual repositories. This distinction ensures that users can apply the appropriate tool for their specific migration needs, optimizing both performance and resource utilization.
Operational Impact
Operational Requirements and Prerequisites
Implementing Enterprise Live Migrations (ELM) requires strict adherence to version compatibility and infrastructure prerequisites. The migration service operates as a dedicated agent on the GitHub Enterprise Server (GHES) appliance, meaning the target environment must be running a supported version of the platform. Administrators must verify that their current GHES instance is at least version 3.17.18, 3.18.12, 3.19.9, 3.20.3, 3.21.3, or 3.22.0+. This versioning constraint ensures the underlying service architecture can support the continuous synchronization and data residency requirements of the migration process.
Administrators must also establish the necessary connectivity and service accounts to facilitate the continuous data synchronization. Because ELM runs as a service on the GHES appliance, the target environment—GitHub Enterprise Cloud with Data Residency (GHEC DR)—must be reachable from the source appliance. This requires network configuration that allows the GHES service to communicate with the cloud endpoint. Additionally, the migration process relies on the GitHub CLI extension (gh elm) for lifecycle management. This tool is responsible for configuring credentials, creating migration sessions, and initiating the cutover, meaning administrators must have appropriate permissions to install extensions and manage API interactions within their GitHub organization.
Rollout And Governance Decisions
Governance, Monitoring, and Cutover Strategy
A successful migration strategy using ELM relies on a phased approach that prioritizes the management of large-scale repositories and the minimization of downtime. ELM is purpose-built for the largest monorepos, including those with deep git history, massive volumes of issues and pull requests, and constant activity. Consequently, governance should focus on identifying these high-volume repositories first. While the tool can handle constant activity, administrators should still schedule migrations during maintenance windows to mitigate the risk of conflicts, even though the continuous sync feature allows developers to keep working in their repositories throughout the process.
The final phase of the migration involves the cutover, which is designed to occur in minutes rather than days. Because ELM continuously syncs data from source to target, the cutover is not a bulk transfer event but rather a synchronization drain. Administrators must use the gh elm extension to monitor the synchronization status and initiate the cutover only when the sync is complete. This decision point requires a clear governance protocol to ensure that no critical in-flight changes are lost. Once the cutover is initiated, the remaining in-flight changes are drained, and the repositories are officially moved to the cloud. This approach allows organizations to maintain productivity while achieving a near-zero-downtime transition to the cloud.
Failure Modes And Limits
Operational Constraints and Uncertainty
The operational landscape for Enterprise Live Migrations (ELM) presents specific constraints that organizations must navigate to ensure a successful transition. A primary limitation is the strict version compatibility requirement; ELM is currently supported exclusively for migrations from GitHub Enterprise Server (GHES) versions 3.17.18+, 3.18.12+, 3.19.9+, 3.20.3+, 3.21.3+, and 3.22.0+. Organizations running earlier versions of GHES will be unable to utilize this specific migration pathway, necessitating alternative strategies or upgrades prior to migration. Furthermore, the scope of ELM is strictly defined by its directionality and destination; it is designed to facilitate migrations from GHES to GitHub Enterprise Cloud with Data Residency (GHEC DR). Migrations between other environments or directions are not supported by this service.
Security And Privacy Considerations
Beyond these hard constraints, there are inherent uncertainties regarding the specific performance characteristics of ELM when handling the most extreme repository scenarios. While the service is marketed as "built for the largest monorepos," the documentation does not provide granular details on the theoretical limits regarding repository size, commit depth, or the volume of concurrent issues and pull requests it can process without degradation. This lack of detailed technical specifications leaves room for uncertainty regarding how ELM will behave under extreme workloads, particularly for organizations with massive codebases that push existing tooling to their absolute limits. Without precise benchmarks, administrators must rely on the general assurance that the service is "purpose-built" for these scenarios, rather than empirical data on its ceiling.
Security, Privacy, and Management Considerations
The management of Enterprise Live Migrations introduces a distinct security and privacy profile compared to traditional migration tools. Because ELM runs as a service directly on the GHES appliance, the operational footprint remains localized to the source environment until the final cutover. This architecture minimizes the need for external network exposure during the bulk of the migration process. However, the reliance on the gh elm CLI extension to configure credentials and manage the lifecycle through the GHES REST API requires strict access controls. Organizations must ensure that the accounts and permissions used to run the gh elm extension are appropriately scoped to prevent unauthorized access to the migration configuration or the synchronization targets.
Open Questions
Privacy considerations are also central to the ELM workflow, particularly regarding the continuous synchronization of data. Since ELM continuously syncs data from source to target to enable near-zero-downtime operations, the data residency and protection policies of the target environment (GHEC DR) become critical. Organizations must verify that the target environment meets their data sovereignty and compliance requirements, as the migration process involves the long-term storage of repository data in the cloud. Additionally, the requirement to "drain remaining in-flight changes" during the cutover phase implies a temporary state where data consistency must be carefully managed to prevent data loss or corruption, necessitating a robust rollback plan if the cutover process encounters unexpected errors.
Environment Checklist
To prepare for an Enterprise Live Migration, administrators should verify the following prerequisites:
Environment Checklist
- Confirm that the source GitHub Enterprise Server version meets the supported range (3.17.18+, 3.18.12+, 3.19.9+, 3.20.3+, 3.21.3+, or 3.22.0+).
- Verify that the target destination is configured as GitHub Enterprise Cloud with Data Residency (GHEC DR).
- Install and configure the
gh elmCLI extension on the GHES appliance. - Ensure that the user account running the
gh elmextension possesses the necessary permissions to access the GHES REST API and manage the migration service. - Review the target environment's data residency and compliance policies to ensure alignment with organizational requirements.
Verification and Disclaimer
This article was not lab-tested. The information provided regarding Enterprise Live Migrations is synthesized from release notes and changelogs. Readers must verify all operational constraints, version compatibility requirements, and security configurations against the official GitHub documentation and their specific infrastructure environment before initiating any production migrations.
// source record
Sources
- https://github.com/PowerShell/PowerShell/releases/tag/v7.7.0-preview.4 github.com · checked 02 Sept 2026
- https://github.blog/changelog/2026-09-01-enterprise-live-migrations-from-ghes-to-ghe-com-generally-available github.blog · checked 02 Sept 2026