+A couple of other components are also deployed in parallel to manage the monitoring, an additional ingress controller and cert-manager.
+The applications are available in the `k8s-clusters-conf repository <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/tree/master/argocd/applications/gitlab-staging>`__.
+
+Important components
+~~~~~~~~~~~~~~~~~~~~
+
+- The gitlab transactional data is stored on a couple of kubernetes PVs associated to their relative Azure volumes
+
+.. code:: bash
+
+ kubectl -n gitlab-system get pv 17:36:19
+ NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
+By default, the operator use a `Delete` reclaim policy which is risky. After the initial installation, it was manually changed to switch to a `Retain` policy
+
+- The gitlab assets (attachments, container registry data, ...) are stored in a dedicated object storage account
+
+Backups
+-------
+
+<Not yet available>
+
+.. note:: The backup will be stored on a minio instance installed on the Rocquencourt infrastructure.
+ see `#4645 <https://gitlab.softwareheritage.org/infra/sysadm-environment/-/issues/4645>`__
+
+Upgrades
+--------
+
+An upgrade of gitlab is done in two major steps (**always test in staging before upgrading the production environment**)
+
+It's important to follow the operatore releases to not be more than 3 minor versions late, or the migration will not be supported be the operator.
+
+- Step 1 `Upgrade the operator <https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/blob/master/doc/operator_upgrades.md>`__
+
+ - Check the last `gitlab operator release <https://gitlab.com/gitlab-org/cloud-native/gitlab-operator/-/releases>`__ and the chart versions mapping
+ - Update the operator version in the `application declaration <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/blob/master/argocd/applications/gitlab-staging/gitlab-operator.yaml>`__. `Example of upgrade <https://gitlab.softwareheritage.org/infra/ci-cd/k8s-clusters-conf/-/commit/1a349433d45623128deabe7ca4ca57b740e16cba>`__
+ - Commit and push the change.
+ - Wait a couple of minutes to let ArgoCD applies the change
+ - A restart of the operator pod should happen (check the gitlab-controller-manager pod).
+ - Something like this should be visible in the operator logs: