Document Zero Downtime Upgrades Support with GitLab Chart
## Overview
Currently, there is no [documented path for performing zero downtime upgrades (ZDU) with the GitLab Chart](https://docs.gitlab.com/charts/installation/upgrade/) for cloud native deployments. This epic aims to officially support and document zero downtime upgrades for all Chart users, with the goal of making this capability generally available and, where possible, automatable with GET Ansible for additional convenience.
## Background
Zero downtime upgrades have been [discussed internally](https://gitlab.com/gitlab-com/gl-infra/software-delivery/framework/software-delivery-framework-issue-tracker/-/issues/88) with manual steps identified, but the process has not been:
- Formally tested and validated
- Documented for external customer use
- Evaluated for automation potential
Previous discussions (see referenced issue) identified that Rails components (Puma & Sidekiq) in the Cloud Native GitLab (CNG) can follow patterns similar to Omnibus ZDU approaches, but this needs proper validation and documentation.
This is technically doable - GitLab.com, Dedicated, and Operator v1 all achieve ZDU in some form with the Charts. A part of this effort is to review these to determine what can be generalized and documented for broader customer use.
## Goals
1. **Review Existing ZDU Implementations** - Document how Operator v1, GitLab.com and GitLab Dedicated currently perform zero downtime upgrades
2. **Assess Generalizability** - Determine which processes and tooling can be adapted for general Chart users
3. **Document Manual ZDU Process** - Create comprehensive documentation for performing zero downtime upgrades with the GitLab Chart
4. **Validate ZDU Stability** - Test and confirm that connections remain stable across all entry points during upgrades
5. ~~Enable Automation - Evaluate and implement automation of ZDU steps in GET Ansible scripts where feasible~~ Moved to [follow up Epic](https://gitlab.com/groups/gitlab-com/gl-infra/software-delivery/-/work_items/27).
## Potential Blockers
- Gitaly on Kubernetes is planned to enter GA in FY27Q1 but ZDU is not currently supported (see [gitaly#6934](https://gitlab.com/gitlab-org/gitaly/-/issues/6934)). Documentation will need to clearly state this limitation if it's not addressed in time.
- Process may not be automatable in GET depending on complexity and manual intervention requirements
## DRI
@nwestbury
---
<!-- STATUS NOTE START -->
## Status 2026-02-03
:clock1: **total hours spent this week by all contributors**: 8h
[Merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/4744) has now been merged and all work is completed and this item can be closed.
_Copied from https://gitlab.com/groups/gitlab-com/gl-infra/software-delivery/-/epics/16#note_3053394834_
<!-- STATUS NOTE END -->
epic