Omnibus deployments with older installed package levels for PostgreSQL only

What does this MR do?

This MR effectively proposes a pattern for deploying GitLab that we would then support.

It arises from a discussion about PostgreSQL extensions causing issues with zero-downtime updates for PostgreSQL and a ticket a large premium customer (SF,ZD - internal links) raised.

They were surprised to discover minor updates to PostgreSQL had occurred, and that there was then a mismatch between on-disk PostgreSQL and in-memory.

I raised #5815 and suggested:

If customers are using Omnibus as a distribution of PostgreSQL, and running a VM with just the database server on it, could they run an older Omnibus version than the rest of their fleet? Treat Omnibus purely as a distribution mechanism for PostgreSQL. Similar to how customers with external PostgreSQL may not do anything about upgrading it until or unless GitLab requires a major update.

Which I summarised as:

One random thought I introduce on there .. would upgrading Omnibus on a dedicated postgresql server be necessary if they accept the risks around bugs and security. (ie: just use it as a distribution of postgresql)

and @ibaum commented:

We really only enforce versions for major version upgrades, so as long as they track that, they will be fine (well, except for running a vulnerable db 😄). They could even run db only nodes using the omnibus-gitlab package, so they could still use our tooling when they are ready to upgrade.

In proposing this, I've restricted it to single-node installations of PostgreSQL.

Related issues

Author's checklist (required)

Do not add the ~"feature", frontend, backend, ~"bug", or database labels if you are only updating documentation. These labels will cause the MR to be added to code verification QA issues.

When applicable:

Review checklist

All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Documentation Guidelines and Style Guide.

1. Primary Reviewer

  • Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.

2. Technical Writer

  • Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable DevOps stage.

3. Maintainer

  1. Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review.
  2. Ensure a release milestone is set.
  3. If there has not been a technical writer review, create an issue for one using the Doc Review template.
Edited by Ben Prescott (ex-GitLab)

Merge request reports

Loading